Mục lục:
Video: Roomblock: Nền tảng để học điều hướng ROS với Roomba, Raspberry Pi và RPLIDAR: 9 bước (có Hình ảnh)
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Cái này là cái gì?
"Roomblock" là một nền tảng robot bao gồm Roomba, Raspberry Pi 2, cảm biến laser (RPLIDAR) và pin di động. Khung lắp có thể được thực hiện bằng máy in 3D. Hệ thống định vị ROS cho phép tạo bản đồ các phòng và sử dụng nó để tự động đến mục tiêu.
Ai cần cái này?
Bất kỳ ai muốn tìm hiểu các công nghệ tiên tiến về điều hướng bằng robot, lập bản đồ và lái xe tự động. Robot này có thể được chế tạo dễ dàng và chi phí thấp hơn so với các nền tảng thương mại khác. ROS hiện là hệ thống phần mềm tiêu chuẩn trên thực tế cho lĩnh vực nghiên cứu robot. Bộ phim này cho thấy những gì có thể với hệ thống định vị ROS.
Bước 1: Những gì bạn cần
Cáp nối tiếp USB
Nếu bạn không có cáp nối tiếp USB cho Roomba, bạn có thể tạo cáp dễ dàng với sản phẩm này.
- FTDI: TTL-232R-5V
- Akiduki Denshi: TTL-232R-5V
Lưu ý rằng mặt trơ của Roomba là TTL (5V).
Tư nối
Bạn cần một đầu nối mini-DIN 8 chân cho giao diện nối tiếp của Roomba. Trên thực tế đầu nối của Roomba là mini-DIN 7 chân, tuy nhiên, việc mua đầu 8 chân dễ dàng hơn nhiều so với đầu nối 7 chân.
- Digikey: đầu nối mini-DIN 8pin
- Kyoritsu: đầu nối mini-DIN 8pin
Hàn
Hàn cáp nối tiếp vào đầu nối 8 chân. Kiểm tra kết nối bằng hình ảnh đính kèm và tài liệu về đặc điểm kỹ thuật giao diện mở của Roomba.
Đặc điểm kỹ thuật giao diện mở của Roomba
Xin lưu ý, kết nối Vcc (Đỏ) và RTS (Xanh lục) là an toàn để tránh vấn đề về luồng phần cứng.
Bước 4: Thiết lập Mô-đun Máy ảnh Raspberry Pi (Tùy chọn)
Nếu bạn có mô-đun máy ảnh Raspberry Pi, bạn có thể gắn nó vào Raspberry Pi. Đây là tùy chọn để học điều hướng, tuy nhiên, thật thú vị khi có được cái nhìn từ thị giác của robot.
Phần ngàm camera cũng được đưa vào dữ liệu khung hình trên Thingiverse. Mô-đun máy ảnh có thể được cố định bằng bốn vít M2.
Bước 5: Thiết lập PC cục bộ
Cài đặt Ubuntu
Cài đặt máy tính để bàn Ubuntu 16.04 sau trang chính thức
Trang chính thức của Ubuntu
Cài đặt ROS
Vui lòng tham khảo trang chính thức của ROS. Cài đặt các gói đầy đủ cho máy tính để bàn Kinetic.
Hướng dẫn cài đặt ROS Kinetic
Cài đặt gói Roomblock ROS
Gói dành cho roomblock đã được phát hành vào Kinetic. Bạn có thể cài đặt chúng bằng lệnh apt.
$ sudo apt install ros-kinetic-roomblock
Đó là nó.
Nếu bạn muốn sửa đổi và xây dựng gói từ mã nguồn, bạn có thể lấy chúng từ GitHub.
GitHub - chặn phòng
Vui lòng làm theo hướng dẫn trong README.md.
Nếu bạn có bất kỳ sự cố hoặc câu hỏi nào liên quan đến phần mềm, vui lòng đặt vấn đề trên GitHub Issues để chúng tôi có thể theo dõi các vấn đề một cách hiệu quả. Vui lòng tránh đăng chúng trên Các trang hướng dẫn.
Bước 6: Thiết lập Raspberry Pi
Cài đặt Ubuntu
Cài đặt Ubuntu 16.04 cho Raspberry Pi theo hướng dẫn cài đặt:
Ubuntu Wiki: RaspberryPi
Cài đặt ROS
Cài đặt ROS Kinetic theo hướng dẫn cài đặt:
Cài đặt Ubuntu của ROS Kinetic
Cài đặt gói Roomblock ROS
Bạn cần cài đặt gói roomblock từ mã nguồn. Mã nguồn của gói là trên GitHub.
GitHub - roomblock
Vui lòng làm theo hướng dẫn trong README.md.
Nếu bạn có bất kỳ vấn đề hoặc câu hỏi nào liên quan đến phần mềm, vui lòng đặt vấn đề trên GitHub Issues để chúng tôi có thể theo dõi các vấn đề một cách hiệu quả. Vui lòng tránh đăng chúng trên Các trang hướng dẫn.
Mô-đun máy ảnh Raspberry Pi (Tùy chọn)
Nếu bạn có một mô-đun máy ảnh Rasberry Pi, bạn cần phải cài đặt thủ thưspberrypi-dev. Vui lòng tham khảo README.md trong Github.
Bước 7: Hoạt động từ xa
Mang lại hệ thống cơ sở trên Raspberry Pi
Trước hết, bạn cần mở hệ thống. Trên thiết bị đầu cuối Raspberry Pi, khởi chạy hệ thống cơ bản như:
$ export ROS_IP = IP_ADDRESS_OF_RASPBERRY_PI
$ roslaunch roomblock_bringup roomblock.launch
RPLIDAR bắt đầu quay và bây giờ bạn có thể kết nối với robot ROS master từ PC cục bộ của mình.
Điều hành từ xa từ PC cục bộ
Bạn có thể sử dụng một bảng điều khiển để vận hành robot. Nếu bạn có một bảng điều khiển của XBox, bạn có thể sử dụng tệp khởi chạy này. Nếu không, bạn có thể cần phải sửa đổi tệp khởi chạy để phù hợp với bảng niềm vui của mình. Vui lòng tham khảo các trang wiki ROS để biết thêm chi tiết.
ROS wiki - teleop_twist_joy
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ roslaunch roomblock_bringup teleop.launch
Giờ đây, bạn có thể điều khiển Roomba bằng cần điều khiển.
Thay vào đó, bạn có thể sử dụng bàn phím.
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
Vui lòng tham khảo các trang wiki của ROS để biết thêm chi tiết.
ROS wiki - teleop_twist_keyboard
Bước 8: Khởi chạy phần mềm lập bản đồ
Đưa phần mềm lập bản đồ lên PC cục bộ
Đưa phần mềm lập bản đồ lên để tạo bản đồ xung quanh robot.
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ export ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch
Bây giờ bạn có thể thấy Rviz (phần mềm trực quan hóa). Điều khiển robot xung quanh phòng để tạo bản đồ của căn phòng.
Bạn có thể tham khảo trang wiki ROS về hệ thống lập bản đồ.
- ROS wiki - lập bản đồ
- ROS wiki - map_server
Bước 9: Khởi chạy Điều hướng tự động
Đưa ra phần mềm điều hướng tự động
Bây giờ bạn có thể khởi động hệ thống điều hướng tự động trên PC cục bộ như:
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ export ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch
Bạn có thể sử dụng Rviz để xác định mục tiêu. Robot sẽ tự động đến mục tiêu.
Vui lòng tham khảo trang wiki ROS để biết hệ thống tự trị.
- ROS wiki - điều hướng
- ROS wiki - amcl
Chúc vui vẻ
Nếu bạn có câu hỏi hoặc vấn đề chung về ROS, vui lòng tham khảo wiki ROS. Chúng tôi không thể trả lời các câu hỏi chung về ROS.
ROS wiki - Hỗ trợ
Nếu bạn có bất kỳ vấn đề hoặc câu hỏi nào liên quan đến phần mềm Roomblock, vui lòng đặt vấn đề trên GitHub Issues để chúng tôi có thể theo dõi các vấn đề một cách hiệu quả. Vui lòng tránh đăng chúng trên Các trang hướng dẫn.