-
-
-
Tổng tiền thanh toán:
-
Thương hiệu: (Đang cập nhật ...) Loại: (Đang cập nhật ...)
Sau khi hoàn thành:
học viên đã có nền tảng để xây dựng hệ thống Drone có khả năng cảm nhận môi trường xung quanh.
Bài 12 đưa hệ thống lên một cấp độ mới:
Drone không chỉ biết mình đang bay như thế nào và đang ở đâu, mà còn có thể sử dụng cảm biến để phát hiện vật cản và camera để quan sát, phân tích hình ảnh.
Sau bài học, học viên có thể:
Ở Bài 11, Drone có thể thực hiện:
A → B
Nhưng nếu xuất hiện vật cản:
A ───────────────→ B
█
█ Vật cản
█
Drone cần phát hiện:
Phía trước có vật cản hay không?
Nếu có, hệ thống phải đưa ra quyết định:
Phát hiện vật cản
↓
Giảm tốc / Dừng
↓
Đánh giá hướng khác
↓
Tránh vật cản
↓
Tiếp tục nhiệm vụ
Trong bài học có thể chia thành hai nhóm:
Ví dụ:
Nhiệm vụ:
Đo vật thể cách Drone bao xa.
Nhiệm vụ:
Thu nhận hình ảnh của môi trường.
Hai loại cảm biến có nhiệm vụ khác nhau nhưng có thể kết hợp với nhau.
Ví dụ sử dụng cảm biến ToF hoặc cảm biến siêu âm.
Mô hình:
Drone
│
│ khoảng cách
↓
████████
Vật cản
Cảm biến trả về:
Distance = 120 cm
ESP32 có thể sử dụng dữ liệu này để quyết định.
Ví dụ:
Distance > 150 cm
→ Bình thường
50 cm < Distance ≤ 150 cm
→ Cảnh báo
Distance ≤ 50 cm
→ Vật cản gần
Khi:
Distance ≤ Safety Distance
Drone có thể:
Giảm tốc
hoặc:
Hover
hoặc:
Thực hiện thuật toán tránh vật cản
Giá trị thực tế phải được xác định theo kích thước Drone, tốc độ bay và loại cảm biến.
Thuật toán cơ bản:
Đọc cảm biến
↓
Distance
↓
Distance < Threshold?
↓
┌──┴──┐
Không Có
↓ ↓
Bay Dừng /
bình giảm tốc
thường
Ví dụ:
if (distance < safetyDistance) {
stopDrone();
}
else {
continueFlight();
}
Đây là phiên bản đơn giản nhất.
Nếu chỉ có cảm biến phía trước:
Drone
↓
Sensor
↓
Vật cản
Drone chỉ biết phía trước có gì.
Nếu muốn xây dựng hệ thống tốt hơn, có thể bố trí:
FRONT
↑
│
┌──────┴──────┐
│ DRONE │
└─────────────┘
↑ ↑ ↑
Left ↓ Right
Có thể sử dụng nhiều cảm biến để đánh giá:
Camera cung cấp dữ liệu dạng hình ảnh:
Camera
↓
Frame hình ảnh
↓
ESP32 / Bộ xử lý
↓
Xử lý hình ảnh
↓
Thông tin
Ví dụ camera có thể phát hiện:
Camera chỉ cung cấp ảnh.
Hệ thống cần biến ảnh thành thông tin có thể sử dụng.
Ví dụ:
Ảnh
↓
Tiền xử lý
↓
Lọc
↓
Phân vùng
↓
Tìm đặc điểm
↓
Kết quả
Ví dụ Drone nhìn thấy một vùng màu đỏ.
Chương trình có thể:
Camera
↓
Ảnh RGB
↓
Chuyển HSV
↓
Xác định vùng màu đỏ
↓
Tính tâm vùng đỏ
↓
Điều khiển Drone
Đây là hai khái niệm khác nhau.
Ví dụ:
Tìm vùng màu đỏ trong ảnh.
Ví dụ:
Xác định trong ảnh có người, xe hoặc vật thể cụ thể.
Nhận dạng đối tượng thường yêu cầu thuật toán hoặc mô hình học máy phức tạp hơn.
Ví dụ Drone cần tìm vật thể màu đỏ.
Quy trình:
Camera
↓
Ảnh
↓
Chuyển không gian màu
↓
Đặt ngưỡng màu
↓
Tạo Mask
↓
Tìm vùng màu
↓
Tìm tâm vật thể
Kết quả có thể là:
Object Center = (x, y)
Từ đó Drone biết vật thể đang nằm:
Ví dụ camera phát hiện vật thể lệch sang trái:
Camera
↓
█ vật thể
Nếu vật thể nằm lệch khỏi tâm ảnh, hệ thống có thể tạo lệnh điều chỉnh.
Mô hình:
Camera
↓
Object Detection
↓
Object Position
↓
Image Error
↓
Controller
↓
Roll / Pitch / Yaw
↓
Motor Mixing
Đây là nền tảng của Visual Feedback Control.
Giả sử tâm ảnh:
Image Center = 160
Tâm vật thể:
Object Center = 120
Sai số:
Error = 120 - 160
= -40
Drone biết vật thể đang lệch về một phía.
Bộ điều khiển có thể sử dụng sai số này để điều chỉnh hướng.
Đây là nội dung quan trọng nhất của bài.
Camera cho biết:
Vật thể nằm ở đâu trong hình ảnh?
Cảm biến khoảng cách cho biết:
Vật thể cách Drone bao xa?
Kết hợp:
┌── Camera
│
Drone ───────┤
│
└── Distance Sensor
↓
Sensor Fusion
↓
Decision
↓
Flight Control
Ví dụ:
Camera:
Vật thể ở chính giữa
Distance:
0,8 m
Hệ thống có thể quyết định:
→ Có vật thể phía trước
→ Khoảng cách gần
→ Giảm tốc / dừng
Đọc khoảng cách
↓
Có vật cản?
┌───┴───┐
Không Có
↓ ↓
Tiếp tục Dừng
bay ↓
Kiểm tra trái/phải
↓
Chọn hướng an toàn
↓
Tránh vật cản
↓
Tiếp tục nhiệm vụ
Đây là thuật toán giáo dục đơn giản.
Trong hệ thống thực tế, thuật toán tránh vật cản cần xét thêm tốc độ, quán tính, vùng an toàn và khả năng định vị.
Ở Bài 11:
A → B
Ở Bài 12:
A → B
↓
Phát hiện vật cản
↓
Tránh
↓
Tiếp tục
↓
B
Có thể hình dung:
A ●───────────→ B
█
█
█
Vật cản
↓
A ●───────┐
│
└────────→ B
Đây là bước chuyển từ Navigation cơ bản sang Navigation có nhận biết môi trường.
Trong giáo dục STEM, camera trên Drone có thể dùng cho:
Camera → phát hiện → theo dõi
Camera → nhận diện màu → điều khiển
Camera → phát hiện đường → điều hướng
Camera → phát hiện vật thể → tránh
Camera → nhận diện marker → xác định hướng/vị trí
Đây là kiến thức quan trọng đối với học viên.
ESP32 có thể thực hiện nhiều tác vụ xử lý dữ liệu và hình ảnh ở mức phù hợp, nhưng tài nguyên tính toán vẫn hạn chế so với máy tính hoặc các nền tảng AI chuyên dụng.
Các bài toán nặng như:
có thể cần bộ xử lý mạnh hơn.
Có thể mở rộng hệ thống bằng:
Camera
↓
ESP32
↓
Wi-Fi
↓
Máy tính / Edge Computer
↓
Xử lý hình ảnh
↓
Lệnh điều khiển
↓
Drone
Một mô hình nghiên cứu có thể:
CAMERA
│
↓
Xử lý hình ảnh
│
↓
Nhận biết
│
↓
┌───────┴───────┐
│ │
↓ ↓
Khoảng cách Vị trí ảnh
│ │
└───────┬───────┘
↓
Decision Logic
↓
Flight Controller
↓
PID
↓
Motor Mixing
↓
M1 M2 M3 M4
Đây là kiến trúc nền tảng để phát triển Drone thông minh.
Học viên kết nối cảm biến khoảng cách với ESP32.
Yêu cầu:
Đọc Distance
↓
Serial Monitor
↓
Hiển thị cm
Thử nghiệm:
10 cm
20 cm
50 cm
100 cm
150 cm
Ghi lại sai số đo.
Thiết lập:
Safety Distance = 50 cm
Logic:
if (distance < 50) {
stopDrone();
}
Mục tiêu:
Khi vật thể tiến gần dưới khoảng cách an toàn, hệ thống phát lệnh dừng.
Camera quan sát một vật thể có màu xác định.
Học viên thực hiện:
Camera
↓
Capture Image
↓
Tìm màu
↓
Tạo Mask
↓
Tìm vùng vật thể
↓
Tính tâm
Kết quả:
Object X
Object Y
Hiển thị lên màn hình hoặc Serial Monitor.
Kết hợp:
Camera
+
Distance Sensor
Ví dụ:
Camera:
Vật thể ở giữa ảnh
Distance:
40 cm
Thuật toán:
Phát hiện vật thể
↓
Khoảng cách < 50 cm
↓
Dừng Drone
Nếu:
Distance > 50 cm
có thể tiếp tục tiến về phía trước tùy logic của bài thực hành.
Một bài nâng cao:
Camera
↓
Phát hiện vật thể
↓
Tìm tâm vật thể
↓
Tính sai số X
↓
Điều khiển Yaw/Roll
↓
Giữ vật thể gần tâm ảnh
Mục tiêu:
Drone cố gắng giữ đối tượng nằm gần trung tâm khung hình.
Đây là bước đầu của Visual Tracking.
Có thể xây dựng:
Camera
+
Distance Sensor
↓
Obstacle Detection
↓
Decision
↓
Left / Right / Stop
↓
Flight Controller
Ví dụ:
Trước = 30 cm
Trái = 100 cm
Phải = 60 cm
Thuật toán có thể đánh giá:
Phía trước: Không an toàn
Bên trái: Khoảng trống lớn hơn
Bên phải: Khoảng trống nhỏ hơn
Sau đó đưa ra quyết định tránh theo logic được thiết kế.
☐ Đọc được khoảng cách
☐ Kiểm tra sai số
☐ Thiết lập ngưỡng an toàn
☐ Camera hoạt động
☐ Nhận được hình ảnh
☐ Xác định được vùng quan tâm
☐ Tìm được vị trí vật thể
☐ Phát hiện vật cản
☐ Dừng Drone
☐ Xác định hướng tránh
☐ Tiếp tục nhiệm vụ
☐ Thử thuật toán trước khi bay
☐ Có Manual Override
☐ Có giới hạn tốc độ
☐ Kiểm tra cảm biến trước khi thử nghiệm
Sau Bài 12, học viên cần hiểu được:
CAMERA
↓
Hình ảnh
↓
Xử lý
↓
Thông tin môi trường
↓
┌───────────────┐
│ │
↓ ↓
Vật thể Khoảng cách
│ │
└───────┬───────┘
↓
Decision
↓
Flight Controller
↓
PID
↓
Motor Mixing
↓
Drone
Sau 4 bài nâng cao:
Nạp chương trình ESP32
→ Học viên biết đưa firmware vào hệ thống.
Hiệu chỉnh Drone
→ Hiểu MPU6050, PID, Roll/Pitch/Yaw và Motor Mixing.
Bay tự động A → B
→ Drone bắt đầu thực hiện nhiệm vụ theo tọa độ và thuật toán.
Camera + cảm biến khoảng cách + xử lý hình ảnh
→ Drone bắt đầu nhận biết môi trường và phản ứng với những gì nó quan sát được.
Chuỗi kiến thức hoàn chỉnh:
ESP32
↓
Cảm biến
↓
Điều khiển
↓
PID
↓
Navigation
↓
Camera
↓
Xử lý hình ảnh
↓
Nhận biết môi trường
↓
Ra quyết định
↓
Drone tự động
Mục tiêu cuối cùng của chuỗi bài học không chỉ là làm cho Drone bay được, mà giúp học viên hiểu cách xây dựng một hệ thống Robot bay có khả năng CẢM NHẬN → PHÂN TÍCH → RA QUYẾT ĐỊNH → ĐIỀU KHIỂN.