Управление реальным роботом без обратной связи в ROS (часть 4): различия между версиями
Editor (обсуждение | вклад) |
Editor (обсуждение | вклад) |
||
Строка 32: | Строка 32: | ||
Если вы заказываете новый USB-адаптер WiFi, рассмотрите устройство WiFi, поддерживающее стандарт 802.11 AC, если в будущем вы собираетесь передавать данные с камеры. | Если вы заказываете новый USB-адаптер WiFi, рассмотрите устройство WiFi, поддерживающее стандарт 802.11 AC, если в будущем вы собираетесь передавать данные с камеры. | ||
+ | |||
+ | == 0. (GoPiGo) Установка ПО == |
Версия 17:29, 16 июля 2019
В том уроке мы сделаем первые шаги в запуске ROS на реальном роботе. Мы преобразуем команды линейной и угловой целевых скоростей робота в команды, подаваемые на двигатели, которые будут вращать левое и правое колеса нашего робота с дифференциальным приводом. Мы используем разомкнутую систему управления (без обратной связи), которая не использует данные с датчиков (например, энкодеров) в качестве обратной связи.
Обзор: разомкнутая система управления роботом
Цели: 1. Организация управления роботом без обратной связи через WiFi с помощью команд скорости
2. Обучение управлению без обратной связи роботом с дифференциальным приводом, с использованием интерфейса передачи сообщений ROS через WiFi, и управление двигателями реального робота
Обзор: У нас есть две машины: хост-машина с Ubuntu и робот, управляемый через Raspberry Pi. Устройства обмениваются сообщениями ROS, объединяя их в сеть для совместного использования одного и того же мастера ROS. Узлы ROS для Raspberry Pi управляют двигателями (влево + вправо) и публикуют показания энкодеров робота. Ноды ROS на хост-машине вычисляют целевые значения скорости для двигателей, а также обновляют одометрию робота.
План:
- Установить ПО на Raspberry Pi, которая на роботе
- Настроить сеть между хост-машиной и Raspberry Pi
- Создать ноды ROS для отправки команд на моторы робота
- Проверить, что робот корректно отрабатывает команды управления
Код репозитория (хранилища):
git clone -b openloop https://github.com/richardw05/gopigo_ws.git
Совместимость:
Программное обеспечение
- ROS: Kinetic
- OS: Ubuntu 16.04
Аппаратное обеспечение
- Робот с дифференциальным приводом: GoPiGo
- USB-адаптер WiFi: Raspberry Pi USB WiFi Dongle
На других роботах с дифференциальным приводом будут это тоже будет работать, но может потребоваться изменение кода для управления двигателями.
Если вы заказываете новый USB-адаптер WiFi, рассмотрите устройство WiFi, поддерживающее стандарт 802.11 AC, если в будущем вы собираетесь передавать данные с камеры.