Thiết kế, chế tạo và lập trình robot tham gia ABU Robocon 2027
Facebook page cuộc thi:
https://www.facebook.com/RoboconVietnamVTV
Chủ đề và luật thi: https://aburobocon2027.id/theme/
Tải file theme lên chat GPT hỏi "Hướng dẫn các bước cụ thể để thiết kế robot tham gia cuộc thi Robocon trên "
Nghiên cứu luật chơi và phân tích chiến thuật
Phân tích sa bàn và nhiệm vụ: Tìm hiểu kích thước, các mức độ của sân đấu, vị trí các khu vực (vùng xuất phát, khu vực khối, cột trụ trung tâm). [1]
Phân chia nhiệm vụ cho hệ thống robot: Xây dựng phương án phối hợp giữa Robot Vận chuyển (TR - Transport Robot) và Robot Xây dựng (BR - Building Robot) để tối ưu hóa thời gian và điểm số trong trận đấu 3 phút. [1, 2]
2. Thiết kế và chế tạo cơ khí (Mechanical Design)
Thiết kế khung gầm (Chassis): Nghiên cứu ứng dụng các hệ thống bánh chuyển động linh hoạt như bánh Mecanum hoặc Swerve Drive để robot di chuyển đa hướng với tốc độ cao và chính xác.
Cơ cấu chấp hành (Actuators): Thiết kế cơ cấu kẹp, nâng hạ, tay gắp hoặc hệ thống băng tải để nhận, vận chuyển các khối vật liệu và đặt, dựng cấu trúc lên trụ trung tâm. [1, 2]
Tính toán độ bền vật liệu: Lựa chọn vật liệu (nhôm hợp kim, composite, nhựa kỹ thuật) để đảm bảo trọng lượng nhẹ, độ cứng vững cao và an toàn theo quy định. [1]
3. Thiết kế hệ thống điện và điện tử (Electrical & Electronics)
Hệ thống nguồn: Lựa chọn pin, mạch quản lý nguồn (BMS), bộ chuyển đổi điện áp ổn định cho động cơ công suất lớn và vi điều khiển.
Mạch điều khiển trung tâm: Thiết kế hoặc lựa chọn bo mạch sử dụng chip vi điều khiển mạnh mẽ (như dòng ARM STM32, ESP32).
Hệ thống cảm biến: Lích hợp các loại cảm biến hành trình, encoder đo khoảng cách bánh xe, cảm biến quang, cảm biến khoảng cách (LiDAR/ToF) hoặc camera thị giác máy tính để xác định vị trí tương đối trên sa bàn. [1]
4. Lập trình và giải thuật điều khiển (Control & Programming)
Lập trình nhúng thấp cấp: Viết mã điều khiển tốc độ động cơ (PID cho DC/Servo/Stepper), đọc tín hiệu encoder và xử lý phản hồi từ cảm biến. [1]
Thuật toán định vị và dẫn đường: Lập trình cho robot tự hành di chuyển theo quỹ đạo tối ưu, né vật cản (nếu có) và căn chỉnh tọa độ chính xác tại các trạm trung chuyển.
Lập trình chiến thuật và giao tiếp: Xây dựng giao thức truyền thông không dây giữa các robot hoặc giữa robot với trạm điều khiển thủ công, đảm bảo sự đồng bộ mượt mà trong suốt thời gian thi đấu.
Cụ thể các bước:
2. Thiết kế và chế tạo cơ khí (Mechanical Design)
Bước 1:
Thiết kế khung gầm (Chassis): Nghiên cứu ứng dụng các hệ thống bánh chuyển động linh hoạt như bánh Mecanum hoặc Swerve Drive để robot di chuyển đa hướng với tốc độ cao và chính xác.
4. Lập trình và giải thuật điều khiển (Control & Programming)
Lập trình trên máy tính:
Ý tưởng Tạo môi trường mô phỏng robot và sân trên Gazebo , sau đó thu thập hình ảnh mô phỏng để training robot định vị kết hợp Lidar, Encode, Vision SLAM làm sao cho robot định vị nhanh và chính xác nhất để tới bước tiếp theo lập trình chiến thuật di chuyển, gắp nhả các khối năng lượng.
Promt chatgpt hay google gemini:
Tạo cho tôi một chương trình mô phỏng trên Gazebo kết nối với Ros2 Lyrical bao gồm 1 Sân thi đấu robot kích thước 11mx11m, ở 2 góc sân là một vị trí đặt robot kích thước 1000mmx1000mm và một vị trí đặt 5 khối hộp hình vuông 350mmx350mm nặng 400g. Giữa sân có 1 khu vực kích thước 500mmx500mm màu xanh. Mô phỏng robot kích thước 600mmx600mm có 4 bánh thông thường (differential/skid-steer) có thể di chuyển tiến lùi , quay trái phải qua điều khiển teleop_twist_keyboard trong gazebo ros2 lyrical. Robot còn có lidar, imu, camera và tay gắp khối hộp hình vuông 350mmx350mm . Tay gắp có 2 bậc tự do là kẹp khối và nâng lên hạ xuống. Robot chạy được thuật toán SLAM Navigation trong ROS2 .
Mô phỏng đế robot kích thước 600mmx600mm có 4 bánh thông thường có thể di chuyển tiến lùi , quay trái phải qua điều khiển teleop_twist_keyboard trong gazebo ros2 lyrical
Vấn đề cần giải quyết: Tạo môi trường mô phỏng robot và sân trên Gazebo , sau đó thu thập hình ảnh mô phỏng để training robot định vị kết hợp Lidar, Encode, Vision SLAM làm sao cho robot định vị nhanh và chính xác nhất để tới bước tiếp theo lập trình chiến thuật di chuyển, gắp nhả các khối năng lượng.
Có 2 robot trên sân có đế robot kích thước 600mmx600mm gồm 4 bánh mecanium, mỗi robot có tay gắp và có thể nâng hạ khối hộp hình vuông 350mmx350mm nặng 400g.
Mỗi robot chạy giải thuật SLAM Naviation 2 riêng. 2 Sinh viên mỗi bạn viết chương trình riêng để điều khiển robot thi đấu gắp và xếp các khối hộp 350mmx350mm nặng 400g nhanh nhất có thể.
Các khối được thả, xuất hiện theo thứ tự hoặc ngẫu nhiên tại khu vực Transfer Area, Robot tự động tự nhận biết khi nào có khối xuất hiện, tới lấy khối, quan sát robot đối phương, xác định đường đi nhanh và hiệu quả nhất để xếp khối vào các vị trí định trước với yêu cầu tối ưu điểm số. Bản đồ đã xác định biết trước và cố định, static objects là các khối đã xếp, cột trụ, các khối rơi trên sân. Dynamic object là robot đối phương. Vì đây là cuộc thi robot giới hạn thời gian trong 3 phút nên cần cân bằng yếu tố tốc độ và chính xác ( Xác định giới hạn sai số phù hợp) để đạt hiệu quả cao nhất là điểm số.
Bước 1:
Vẽ sân bằng phần mềm 3D và hiển thị sân trên Gazebo, mô phỏng robot di chuyển trên sân.
Tạo môi trường mô phỏng robot và sân thi đấu robocon theo mẫu:
https://github.com/omkar-robotics/ros2-slam-navigation2-gazebo
https://www.youtube.com/watch?v=xX25qvZIKyU&t=156s
Ví dụ Promt AI: Hướng dẫn tôi thiết kế một robot 2 bánh đơn giản, sau đó cho vào gazebo và mô phỏng SLAM, navigation với ROS2
Github team BBLAB
https://github.com/luongngoctu3010/Robocon2027
Bài 1: Cài đặt UBUNTU 26.04 LTS https://releases.ubuntu.com/ và ROS 2 Lyrical Luth https://www.ros.org/
Bài 2: Tự học các bài cơ bản Beginer level trong ROS2 https://docs.ros.org/en/jazzy/Tutorials.html