Оглавление:
Видео: Roomblock: платформа для изучения навигации ROS с помощью Roomba, Raspberry Pi и RPLIDAR: 9 шагов (с изображениями)
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Что это?
«Roomblock» - это робот-платформа, состоящая из Roomba, Raspberry Pi 2, лазерного датчика (RPLIDAR) и мобильного аккумулятора. Монтажный каркас может быть изготовлен на 3D-принтерах. Система навигации ROS позволяет составить карту комнат и использовать ее для автономного достижения цели.
Кому это нужно?
Всем, кто хочет изучить передовые технологии роботизированной навигации, картографии и автономного вождения. Этот робот может быть построен легко и дешевле, чем другие коммерческие платформы. ROS теперь де-факто стандартная программная система для робототехнических исследований. Этот фильм показывает, что возможно с системой навигации ROS.
Шаг 1. Что вам нужно
USB-последовательный кабель
Если у вас нет последовательного USB-кабеля для Roomba, вы можете легко собрать его с помощью этого продукта.
- FTDI: TTL-232R-5V
- Акидуки Дэнси: TTL-232R-5V
Обратите внимание, что интерфейс Roomba имеет TTL (5 В).
Коннектор
Вам понадобится 8-контактный разъем mini-DIN для последовательного интерфейса Roomba. На самом деле разъем Roomba представляет собой 7-контактный разъем mini-DIN, однако гораздо проще купить 8-контактный разъем, чем 7-контактный.
- Digikey: 8-контактный разъем mini-DIN
- Kyoritsu: 8-контактный разъем mini-DIN
Пайка
Припаяйте последовательный кабель к 8-контактному разъему. Проверьте подключение по прилагаемому изображению и документу со спецификацией открытого интерфейса Roomba.
Спецификация открытого интерфейса Roomba
Обратите внимание, что подключать Vcc (красный) и RTS (зеленый) безопасно, чтобы избежать проблем с аппаратным потоком.
Шаг 4: Настройте модуль камеры Raspberry Pi (необязательно)
Если у вас есть модуль камеры Raspberry Pi, вы можете подключить его к Raspberry Pi. Это необязательно для обучения навигации, однако интересно наблюдать за зрением робота.
Крепление камеры также включено в данные о кадре на Thingiverse. Модуль камеры можно закрепить четырьмя винтами M2.
Шаг 5: Настройка локального ПК
Установить Ubuntu
Установите рабочий стол Ubuntu 16.04, следуя официальной странице
Официальная страница Ubuntu
Установить ROS
Пожалуйста, обратитесь к официальной странице ROS. Установите полные пакеты Kinetic Desktop.
Инструкция по установке ROS Kinetic
Установить пакет Roomblock ROS
Пакет для roomblock уже выпущен в Kinetic. Вы можете установить их с помощью команды apt.
$ sudo apt install ros-kinetic-roomblock
Вот и все.
Если вы хотите изменить и собрать пакет из исходного кода, вы можете получить их на GitHub.
GitHub - roomblock
Следуйте инструкциям на README.md.
Если у вас есть какие-либо проблемы или вопросы относительно программного обеспечения, укажите проблему на GitHub Issues, чтобы мы могли эффективно отслеживать проблемы. Пожалуйста, не размещайте их на Instructables.
Шаг 6: Настройте Raspberry Pi
Установить Ubuntu
Установите Ubuntu 16.04 на Raspberry Pi, следуя руководству по установке:
Вики Ubuntu: RaspberryPi
Установить ROS
Установите ROS Kinetic, следуя руководству по установке:
Установка ROS Kinetic в Ubuntu
Установить пакет Roomblock ROS
Вам необходимо установить пакет roomblock из исходного кода. Исходный код пакета находится на GitHub.
GitHub - roomblock
Следуйте инструкциям на README.md.
Если у вас есть какие-либо проблемы или вопросы относительно программного обеспечения, укажите проблему на GitHub Issues, чтобы мы могли эффективно отслеживать проблемы. Пожалуйста, не размещайте их на Instructables.
Модуль камеры Raspberry Pi (опционально)
Если у вас есть модуль камеры Rasberry Pi, вам необходимо установить libraspberrypi-dev. Пожалуйста, обратитесь к README.md в Github.
Шаг 7: Дистанционное управление
Поднимите базовую систему на Raspberry Pi
Прежде всего, вам нужно поднять sysem. На терминале Raspberry Pi запустите базовую систему как:
$ экспорт ROS_IP = IP_ADDRESS_OF_RASPBERRY_PI
$ roslaunch roomblock_bringup roomblock.launch
RPLIDAR начинает крутиться, и теперь вы можете подключиться к роботу ROS master со своего локального ПК.
Дистанционное управление с локального ПК
Вы можете использовать джойстик для управления роботом. Если у вас есть панель управления XBox, вы можете использовать этот файл запуска. В противном случае вам может потребоваться изменить файл запуска, чтобы он соответствовал вашей панели управления. Пожалуйста, обратитесь к вики-страницам ROS за подробностями.
ROS вики - teleop_twist_joy
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ roslaunch roomblock_bringup teleop.launch
Теперь вы можете управлять Roomba с помощью джойстика.
Вместо этого вы можете использовать клавиатуру.
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
Подробности см. На вики-страницах ROS.
ROS вики - teleop_twist_keyboard
Шаг 8: Запустите программное обеспечение для картографии
Загрузите программное обеспечение для картографии на локальный ПК
Запустите картографическое программное обеспечение, чтобы создать карту вокруг робота.
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ export ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch
Теперь вы можете увидеть Rviz (программное обеспечение для визуализации). Управляйте роботом по комнате, чтобы создать карту комнаты.
Вы можете обратиться к вики-странице ROS, чтобы узнать о системе картографии.
- ROS вики - gmapping
- ROS вики - map_server
Шаг 9: Запустите автономную навигацию
Создать программное обеспечение для автономной навигации
Теперь вы можете запустить автономную навигационную систему на локальном ПК как:
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ export ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch
Вы можете использовать Rviz, чтобы указать цель. Робот должен самостоятельно идти к цели.
Информацию об автономной системе можно найти на вики-странице ROS.
- ROS wiki - навигация
- ROS вики - amcl
Повеселись
Если у вас есть общие вопросы или проблемы с ROS, обратитесь к вики-странице ROS. Мы не можем ответить на общие вопросы по ROS.
ROS wiki - Поддержка
Если у вас есть какие-либо проблемы или вопросы относительно программного обеспечения Roomblock, укажите проблему на GitHub Issues, чтобы мы могли эффективно отслеживать проблемы. Пожалуйста, не размещайте их на Instructables.