Обмен технологиями | Механизм связи между ROS и Gazebo

Интернет вещей

Я считаю, что каждый, кто занимается алгоритмами роботов, знаком с ROS и Gazebo. Можно сказать, что это два наших основных инструмента. ROS означает Robot Operating System. Он предоставляет нам программную операционную платформу. Собственный алгоритм робота. Gazebo — это мощная платформа для 3D-моделирования физики с мощным физическим движком, высококачественным графическим рендерингом, удобным программированием и графическим интерфейсом, а самое главное — с открытым исходным кодом и бесплатными функциями.

Итак, давайте посмотрим, как беседка и роза работают вместе? У Gazebo и ros совершенно разные функции, да и внутренний механизм сообщений и драйвер тоже далеки друг от друга, так как же они общаются?

Это официальная схема кадраfileКак видно из рисунка, при передаче сообщения ros оно отдается не в беседку, а контроллеру в Controller Manager.После того, как контроллер в контроллере вычислит соответствующее значение, данные перетекают в интерфейс, этот интерфейс затем передается в модуль Gazebo; когда Gazebo завершает вычисление данных, данные также передаются в интерфейс с именем JointState, а затем передаются в контроллер, который затем публикует сообщение.

Этот модуль является главным героем пакета функций ros_control, который мы собираемся представить сегодня.Он переписывает исходный пакет pr2_mechanism ros так, чтобы он мог управлять всеми роботами, а не только PR2. На следующем рисунке показан рабочий процесс ros_control, вы можете видеть, что в качестве входных данных он принимает данные о состоянии соединения привода робота и желаемое состояние. Он использует обычный механизм обратной связи контура управления (обычно ПИД-регулятор) для управления выходным сигналом (обычно крутящим моментом).file

Архитектура ros_control

  • Контроллер Контроллер: прочитайте состояние в интерфейсе аппаратных ресурсов и выдайте команды управления. Не прикасайтесь к оборудованию напрямую, запрашивайте ресурсы на уровне аппаратной абстракции;

  • Диспетчер контроллеров Диспетчер контроллеров: общий интерфейс для управления различными контроллерами;

  • Аппаратная абстракция робота RobotHW: непосредственное взаимодействие с аппаратными ресурсами и выполнение аппаратных операций с помощью методов записи и чтения. Управление аппаратными ресурсами и устранение аппаратных конфликтов;

  • Аппаратная абстракция робота RobotHW: непосредственное взаимодействие с аппаратными ресурсами и выполнение аппаратных операций с помощью методов записи и чтения. Управление аппаратными ресурсами и устранение аппаратных конфликтов;

Ниже мы в основном узнаем о контроллере Controller и диспетчере контроллеров Controller Manager.

Контроллер КонтроллерТипы контроллеров, предоставляемых ros_control, следующие:fileДиспетчер контроллеров Диспетчер контроллеров Он используется для управления несколькими контроллерами и реализации таких операций, как загрузка, запуск и остановка контроллеров.

1. Работа с командной строкой

  • rosrun controller_manager controller_manager <controller_name>

включают:

load unload start stop spawn: load & start kill: stop & unload

  • Посмотреть состояние контроллера

rosrun controller_manager controller_manager включают: список типы списков reload-библиотеки перезагрузить библиотеки — восстановить

2. запустить

3. Инструменты визуализации rosrun rqt_controller_manager rqt_controller_manager

Выше приведен механизм связи между беседкой и розой, надеюсь, редактор поможет вам яснее понять беседку и розу. Если вы хотите узнать больше об определенном разделе, вы можете проверить официальный сайт Рос:wiki.ros.org/ros_control

  • End -

Благодаря быстрому развитию технологий Amu Lab будет идти в ногу с темпами развития технологий и продолжать рекомендовать всем новейшие технологии и оборудование в индустрии робототехники. Наблюдение за тем, как студенты, прошедшие обучение у нас, делают рывки в технологиях, является величайшей ценностью нашего обучения. Если вы работаете в индустрии роботов, обратите внимание на нашу публичную учетную запись, мы продолжим публиковать самую ценную информацию и технологии в индустрии роботов. Amu Lab стремится к обучению и интеллектуальному оборудованию передовых ИТ-технологий, делая исследования и разработки роботов более эффективными!