Начало работы с автономными роботами в ROS с помощью симуляций
Научиться создавать автономных роботов очень сложно, особенно когда только начинаешь этим заниматься. Это связано с уникальной природой робототехники, где чрезвычайно полезно понимать широкий спектр концепций, охватывающих как аппаратное, так и программное обеспечение.
Начало работы с моделированием
Моделирование в ROS является отличной отправной точкой, чтобы помочь нам получить представление о робототехнике с архитектурной точки зрения. Мы сможем увидеть, как данные одометрии и лазерного датчика могут быть каким-то образом превращены в команды управления мотором, в результате чего робот будет выполнять разумные действия. К сожалению, зачастую трудно найти современные учебные пособия, в которых не просто приводится полностью функциональная готовая модель робота, а расписывается её создание подробно. Поэтому мы делимся нашей работой, которая показывает, как построить модель робота с нуля с помощью Gazebo и ROS. Мы надеемся, что это сэкономит вам время. Мы создали хранилище кода, краткую серию статей и видео-ролик с моделируемым роботом. В ROS будет смоделирован робот с дифференциальным приводом и автономной навигацией. Статьи в этом направлении делятся на три раздела:
- Часть 1: Создание модели Gazebo, совместимой с ROS
- Часть 2: Добавление датчиков, необходимых для получения информации об окружающей среде
- Часть 3: Включение автономной навигации
Запуск реального робота
Запуск реального робота и выполнение кода на нем сопряжены с дополнительными трудностями из-за различий в аппаратной части, неопределенности среды и утомительного характера тестирования на реальных устройствах.
Учитывая эти трудности, мы начинаем изучать аппаратное обеспечение с помощью универсального готового робота, который удобно поставляется вместе с программами для драйверов двигателей и энкодеров. Имейте в виду, что этому роботу не хватает необходимых датчиков и вычислительной мощности для применения передовых алгоритмов, таких как SLAM. Тем не менее, мы сможем узнать, как отправить соответствующие команды управления на двигатели, чтобы робот двигался по желаемой траектории (то есть двигался по прямой, по кругу, квадрату и т.д.). Статьи в этом направлении делятся на два раздела:
- Часть 4: Разомкнутое управление роботом с помощью модели дифференциального привода
- Часть 5: Замкнутое управление роботом с помощью данных с энкодера колеса
Надеемся, что в результате данного курса вы лучше будете понимать некоторые моменты для организации работы автономного робота. Удачи!