Tổng quan - Robot dò đường | Trường Đại học Bách khoa Hà Nội
Phản ứng: Robot dò đường phản ứng bằng cách gửi các tín hiệu đầu ra đến các thiết bị thực thi, như động cơ, servo và các thiết bị khác. Các tín hiệu đầu ra này có thể là chuyển động, âm thanh, ánh sáng hoặc các thông tin khác về trạng thái của robot. Tài liệu được sưu tầm, giúp bạn ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!
Môn: Cấu trúc dữ liệu và giải thuật (ET2100)
Trường: Đại học Bách Khoa Hà Nội
Thông tin:
Tác giả:
Preview text:
Thực hành Robot dò đường 1. Giới thiệu Hình 1: Alphabot[1]
Hình 2: Các thành phần trên bo mạch của Alphabot[1]
1.1 Giới thiệu về robot dò đường
Robot dò đường là một loại robot có thể tự động di chuyển trong môi trường không xác định
hoặc động, sử dụng các cảm biến và động cơ của nó. Nguyên tắc hoạt động của robot dò
đường dựa trên ba bước cơ bản: nhận, xử lý và phản ứng.
- Nhận: Robot dò đường nhận được các tín hiệu đầu vào từ các cảm biến, như camera,
lidar, GPS, bộ la bàn, gia tốc kế, con quay hồi chuyển và các cảm biến khác. Các tín
hiệu đầu vào này có thể là hình ảnh, vị trí, hướng, tốc độ, khoảng cách hoặc các thông
tin khác về môi trường xung quanh robot.
- Xử lý: Robot dò đường xử lý các tín hiệu đầu vào bằng vi điều khiển, máy tính hoặc
các thiết bị điện tử khác. Robot dò đường sử dụng các thuật toán, ngôn ngữ lập trình
và dữ liệu để phân tích, so sánh, tính toán và quyết định các hành động phù hợp với
mục tiêu được giao. Robot dò đường có thể xây dựng và cập nhật bản đồ của môi
trường xung quanh, xác định vị trí và hướng của mình trong bản đồ, tìm kiếm và lựa
chọn đường đi tối ưu từ vị trí hiện tại đến mục tiêu mong muốn.
- Phản ứng: Robot dò đường phản ứng bằng cách gửi các tín hiệu đầu ra đến các thiết
bị thực thi, như động cơ, servo và các thiết bị khác. Các tín hiệu đầu ra này có thể là
chuyển động, âm thanh, ánh sáng hoặc các thông tin khác về trạng thái của robot. 1.2 Giới thiệu Alphabot
Alphabot (Hình 1) là một loại robot học tập được thiết kế dựa trên nền tảng Arduino, có thể
được lập trình để thực hiện nhiều chức năng khác nhau như điều khiển từ xa, tránh vật cản,
theo dõi đường kẻ, nhận diện màu sắc. Cấu trúc của Alphabot bao gồm các thành phần sau:
- Một mạch Arduino Uno R3 là bộ vi điều khiển trung tâm của robot, có thể kết nối với
máy tính hoặc các mô-đun khác qua cổng USB hoặc Bluetoot.
- Một mạch mở rộng Alphabot Arduino Shield là một mạch phụ trợ cho Arduino Uno
R3, có chức năng cấp nguồn, điều khiển động cơ, giao tiếp với các cảm biến và mô-đun khác.
- Hai động cơ DC với bánh xe cao su là phần chuyển động của robot, có thể điều chỉnh
tốc độ và hướng bằng cách sử dụng các hàm analogWrite và digitalWrite trong Arduino.
- Một bánh xe xoay 360 độ ở phía sau của robot, giúp robot duy trì sự cân bằng và linh hoạt khi di chuyển.
- Một mô-đun camera OV7670 là một camera nhỏ gắn trên robot, có thể chụp ảnh hoặc
quay video với độ phân giải 640x480 pixel, và truyền dữ liệu qua giao thức I2C.
- Một mô-đun Bluetooth HC-06 là một thiết bị không dây cho phép robot kết nối với
máy tính hoặc điện thoại thông qua Bluetooth, và nhận các lệnh điều khiển từ xa.
- Một mô-đun cảm biến khoảng cách siêu âm HC-SR04 là một thiết bị giúp robot đo
khoảng cách đến các vật thể xung quanh bằng cách phát ra và nhận lại các xung siêu âm.
- Một mô-đun cảm biến theo dõi đường kẻ TCRT5000 là một thiết bị giúp robot nhận
biết được đường kẻ trắng hoặc đen trên nền đen hoặc trắng, bằng cách sử dụng ánh sáng hồng ngoại.
- Một mô-đun cảm biến nhận diện màu sắc TCS3200 là một thiết bị giúp robot phát hiện
được màu sắc của các vật thể, bằng cách sử dụng ánh sáng trắng và các bộ lọc màu. 2. Mục đích học phần
- Lập trình một robot có thể tự động di chuyển hoặc di chuyển theo đường đi xác định trước.
- Hiểu được các nguyên lý cơ bản và các bước cần thiết trong lập trình robot dò đường.
- Làm quen với các phần cứng và phần mềm liên quan đến robot dò đường, như Raspberry
Pi, Arduino, ROS, Gazebo, OpenCV và các cảm biến khác.
- Sáng tạo và phát triển các ứng dụng của robot dò đường trong các lĩnh vực khác nhau, như
quân sự, nông nghiệp, y tế, giáo dục, giải trí và nhiều lĩnh vực khác. 3. Chuẩn bị
- Chuẩn bị phần cứng Alphabot, bao gồm khung xe, bánh xe, động cơ, pin, Kit Arduino Uno
(DFRduino UNO v3.0 (R3)), cảm biến khoảng cách (Cảm biến vật cản hồng ngoại LM393),
cảm biến theo dõi đường và các linh phụ kiện khác.
- Lắp ráp phần cứng Alphabot theo hướng dẫn của nhà sản xuất: AlphaBot-User-Manual.pdf.
- Cài đặt phần mềm Arduino IDE 2.1.0 (Integrated Development Environment) trên máy tính
để lập trình và nạp chương trình lên Arduino.
- Cài đặt các thư viện Arduino liên quan đến Alphabot, như AFMotor (cho động cơ),
TRSensors (cho cảm biến theo dõi đường) và các thư viện khác. 4. Đánh giá
Lớp được chia thành các nhóm, mỗi nhóm tối đa 4 thành viên. Mỗi nhóm nộp 02 bản báo cáo
cho 2 bài thực hành và quay 02 video khi robot thực hiện 2 bài thực hành, 02 file code của 2 bài thực hành:
- Tên báo cáo: “Tên nhóm_ Mã lớp_Infrared_Line_Tracking_BTHx”.
- Nội dung báo cáo: Hình ảnh chụp robot của các nhóm, giới thiệu về robot và các bước
lập trình robot dò đường, bảng giá trị các cảm biến dò đường khi đặt trên vạch kẻ và đặt ngoài vạch kẻ.
Các tiêu chí để đánh giá lập trình robot dò đường:
- Mức độ hoàn thành các bước cơ bản trong lập trình robot dò đường, bao gồm thu thập và
xử lý dữ liệu cảm biến, xây dựng và cập nhật bản đồ, xác định vị trí và hướng, tìm kiếm và lựa
chọn đường đi, điều khiển chuyển động.
- Mức độ sáng tạo và phát triển các ứng dụng của robot dò đường trong các lĩnh vực khác
nhau, bao gồm thiết kế giao diện người dùng, tích hợp các chức năng bổ sung, tối ưu hóa hiệu
suất và tiết kiệm năng lượng.
- Mức độ tuân thủ các nguyên tắc và chuẩn mực trong lập trình robot dò đường, bao gồm viết
code rõ ràng và có chú thích, sử dụng các thư viện và công cụ hỗ trợ phù hợp, kiểm tra và sửa
lỗi code, tuân thủ các quy định về an toàn và bảo mật.
Các tài nguyên cần thiết
Toàn bộ các bài lab thực hành đã có sẵn trong các ví dụ của bộ thư viện Soict IoT
Labs. Xem hướng dẫn sử dụng công cụ lập trình, hướng dẫn cài đặt thư viện,nạp mã nguồn tại link
neittien0110/Soict_IoT_Labs: Practice exercises for the subject Introduce to ICT (github.com)
Biên dịch và nạp chương trình với Arduino IDE phiên bản Desktop: http://arduino.vn/bai-
viet/402-huong-dan-nap-chuong-trinh-don-gian-cho-arduino-uno-r3
Biên dịch và nạp chương trình với Arduino IDE online: http://arduino.vn/tutorial/1333-lap-trinh-
arduino-tren-may-voi-arduino-create-su-thay-tam-thoi-cho-codebender
Video giới thiệu Arduino UNO phổ biến ở VN:
https://www.youtube.com/watch?v=k6BBEwRP4JE