Робототехника

Как спланировать простого робота с помощью Linux

Как спланировать простого робота с помощью Linux
После установки ROS вы можете создать робота. Хороший способ добиться успеха в этом проекте - спланировать то, что вы хотите делать. В этом случае на помощь приходит ROS. С ROS вы можете настроить то, что вы создали, и визуализировать все это. При работе с роботами может возникнуть множество сценариев, которые вам, возможно, придется учитывать. Робот должен взаимодействовать с окружающей средой, например избегать дивана и возвращаться из кухни. У робота также должны быть руки и ноги, если этого требуют ваши потребности. Вы можете смоделировать все это с помощью ROS, а для части кодирования вы также можете смоделировать внутреннее устройство вашей системы.

Как собрать робота ROS?

Чтобы система работала хорошо, и чтобы вы могли следить за тем, что устройство будет делать в определенных ситуациях, вам нужны стандартные определения для каждой части. В ROS этими компонентами являются узлы, службы и темы. Короче говоря, вы создаете по одному узлу для каждой основной потребности. Например, движение - это один узел, видение - это другой узел, а планирование - это третий узел. Узлы содержат службы, которые могут отправлять информацию другим узлам, а службы также могут обрабатывать запросы и ответы. Тема может транслировать значения многим другим узлам. Понимание этих терминов и способов их использования - первый ключ к освоению разработки под ROS2.

Эмуляция навигации с turtlesim

Начиная работать с ROS, вы, вероятно, купите робота, который ходит или катается по вашему дому. Для этого робот должен иметь обзор области, в которой он перемещается. Для этого вы можете использовать приложение, похожее на карту, чтобы проверить поведение вашего робота. Разработчики Turtlebot придумали приложение под названием turtlesim, которое может сделать это за вас. Как и во всех других частях ROS2, вы можете запустить эти инструменты с помощью подкоманды из командной строки. Затем у вас есть действия для разных функций. Первая часть - запустить окно, в котором вы можете увидеть симуляцию, и это называется узлом.

$ ros2 запустить turtlesim turtlesimnode

Появится окно с черепахой в центре. Чтобы управлять черепахой с помощью клавиатуры, вы должны запустить вторую команду, которая остается открытой, и продолжайте нажимать определенные клавиши. Это второй узел, который общается с первым.

$ ros2 run turtlesim черепахаteleopkey

Теперь вы можете перемещать черепаху и смотреть, как она движется. Вы также можете столкнуться с ошибками, например, удариться об стену. Эти ошибки отображаются в терминале, где запущен turtlesimnode. Это простейшее использование модуля моделирования. Вы также можете запускать заданные формы, квадрат и добавлять больше черепах. Чтобы добавить больше черепах, вы можете использовать команду rqt.

Определите службы с помощью rqt

Программа rqt предоставляет услуги по моделированию. Q означает Qt, который предназначен для обработки интерфейса. В этом примере вы создаете новую черепаху.

$ rqt

Интерфейс rqt - это длинный список сервисов для симуляции, которую вы запускаете. Чтобы создать новую черепаху, выберите раскрывающееся меню «spawn», дайте черепахе новое имя и нажмите «call».'Вы сразу увидите новую черепаху рядом с первой. Если вы нажмете на раскрывающееся меню 'spawn', вы также увидите новую группу записей, связанных с недавно созданной черепахой.

Вы также можете переназначить команды для запуска новой черепахи. Команда для этого следующая:

$ ros2 запустить turtlesim turtleteleopkey -ros-args -remap turtle1 / cmdvel: = turtle2 / cmdvel

Задайте имя turtle2 в соответствии с вашим предыдущим выбором.

Расширенный просмотр с Rviz

Для более продвинутого просмотра и просмотра 3D используйте rviz. Этот пакет моделирует все узлы вашего дизайна.

$ ros2 запустить rviz2 rviz2

В графическом интерфейсе у вас есть три панели с видом в центре. Вы можете создавать среды, используя панель «Дисплеи». Вы можете добавить стены, силы ветра и другие физические свойства. Сюда же вы добавляете своих роботов.

Имейте в виду, что прежде чем вы дойдете до этого момента, вам нужно будет понять, как использовать формат URDF. Формат URDF определяет робота, позволяя вам установить тело, руки, ноги и, прежде всего, зоны столкновения. Зоны столкновения есть, поэтому симуляция может решить, столкнулся ли робот.

Изучение создания робота в формате URDF - это большой проект, поэтому используйте существующий открытый код для экспериментов с эмуляторами.

Имитация физики с помощью беседки

В беседке вы можете моделировать физику среды, окружающей вашего робота. Gazebo - это дополнительная программа, которая хорошо работает вместе с rviz. С помощью Gazebo вы можете видеть, что на самом деле происходит; с rviz вы отслеживаете, что обнаруживает робот. Когда ваше программное обеспечение обнаруживает стену, которой нет, Gazebo покажет пустую, а rviz покажет, где в вашем коде была создана стена.

Заключение

Моделирование вашего робота и окружающей его среды необходимо для поиска ошибок и обеспечения необходимых улучшений в работе вашего робота, прежде чем вы отправите его в дикую природу. Это утомительный процесс, который продолжается еще долго после того, как вы начнете тестирование бота, как в контролируемой среде, так и в реальной жизни. Обладая достаточным знанием инфраструктуры внутренних систем вашего робота, вы сможете понять, что вы сделали правильно, а что нет. Научитесь быстро оценивать все обнаруженные вами неисправности, поскольку они могут сделать вашу систему более надежной в долгосрочной перспективе.

Лучшие игры Oculus App Lab
Если вы владелец гарнитуры Oculus, вы должны знать о загрузке неопубликованных приложений. Боковая загрузка - это процесс установки на гарнитуру содер...
10 лучших игр для Ubuntu
Платформа Windows была одной из доминирующих платформ для игр из-за огромного процента игр, которые разрабатываются сегодня с встроенной поддержкой Wi...
5 лучших аркад для Linux
В настоящее время компьютеры - это серьезные машины, используемые для игр. Если вы не можете получить новый рекорд, вы поймете, о чем я. В этом посте ...