Оглавление:

Roomblock: платформа для изучения навигации ROS с помощью Roomba, Raspberry Pi и RPLIDAR: 9 шагов (с изображениями)
Roomblock: платформа для изучения навигации ROS с помощью Roomba, Raspberry Pi и RPLIDAR: 9 шагов (с изображениями)

Видео: Roomblock: платформа для изучения навигации ROS с помощью Roomba, Raspberry Pi и RPLIDAR: 9 шагов (с изображениями)

Видео: Roomblock: платформа для изучения навигации ROS с помощью Roomba, Raspberry Pi и RPLIDAR: 9 шагов (с изображениями)
Видео: SLAM и навигация по лазерному лидару 2024, Июль
Anonim
Image
Image
Что вам нужно
Что вам нужно

Что это?

«Roomblock» - это робот-платформа, состоящая из Roomba, Raspberry Pi 2, лазерного датчика (RPLIDAR) и мобильного аккумулятора. Монтажный каркас может быть изготовлен на 3D-принтерах. Система навигации ROS позволяет составить карту комнат и использовать ее для автономного достижения цели.

Кому это нужно?

Всем, кто хочет изучить передовые технологии роботизированной навигации, картографии и автономного вождения. Этот робот может быть построен легко и дешевле, чем другие коммерческие платформы. ROS теперь де-факто стандартная программная система для робототехнических исследований. Этот фильм показывает, что возможно с системой навигации ROS.

Шаг 1. Что вам нужно

Что вам нужно
Что вам нужно
Что вам нужно
Что вам нужно
Создайте последовательный USB-кабель (необязательно)
Создайте последовательный USB-кабель (необязательно)
Создайте последовательный USB-кабель (необязательно)
Создайте последовательный USB-кабель (необязательно)

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 (необязательно)
Настройка модуля камеры Raspberry Pi (необязательно)
Настройка модуля камеры 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

Настройка Raspberry Pi
Настройка 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.

Рекомендуемые: