🌙
Translate_book_Part7
  • Титульный лист
  • 7 КОНТРОЛЬ МОБИЛЬНОЙ БАЗЫ
  • 7.1 Единицы и системы координат
  • 7.2 Уровни управления движением
  • 7.2.1 Моторы, Колеса и Кодеры
  • 7.2.2 Контроллеры и драйверы двигателей
  • 7.2.3 Базовый контроллер ROS
  • 7.2.4 Кадровое движение с использованием пакета ROS move_base
  • 7.2.5 SLAM с использованием пакетов gmapping и amcl ROS
  • 7.2.6 Семантические цели
  • 7.2.7 Сводка
  • 7.3 Скручивание и поворот с помощью ROS
  • 7.3.1 Пример твист-сообщений
  • 7.4 Калибровка одометрии вашего робота
  • 7.4.2 Угловая калибровка
  • 7.5 Отправка твист-сообщений реальному роботу
  • 7.6 Публикация твист-сообщений от узла ROS
  • 7.6.1 Оценка расстояния и поворота с использованием времени и скорости
  • 7.6.2. Время и время в симуляторе ArbotiX
  • 7.6.3. Скрипт с выдержкой времени и обратно
  • 7.6.4 Тайм-аут и обратно с использованием реального робота
  • 7.7 "Мы уже приехали?" Подойдя на расстояние с одометра
  • 7.8 Туда и обратно, используя одометрию
  • 7.8.1 Одометрия на выходе и обратно в симуляторе ArbotiX
  • 7.8.2. На основе одометрии и обратно с использованием реального робота
  • 7.8.4 The/odom Topic versus the/odom Frame
  • 7.9 Навигация по квадрату с помощью одометрии
  • 7.9.1 Навигация по квадрату в симуляторе ArbotiX
  • 7.9.2 Навигация по квадрату с использованием реального робота
  • 7.9.3 nav_square.pyScript
  • 7.10 Телеоперация вашего робота
  • 7.10.1 Использование клавиатуры
  • 7.10.2 Использование игровой площадки Logitech
  • 7.10.3 Использование графического интерфейса контроллера ArbotiX
  • 7.10.4 Телеоперация TurtleBot с использованием интерактивных маркеров
Powered by GitBook
On this page

Was this helpful?

7.3 Скручивание и поворот с помощью ROS

Previous7.2.7 СводкаNext7.3.1 Пример твист-сообщений

Last updated 5 years ago

Was this helpful?

ROS использует тип сообщения (см. Подробности ниже) для публикации команд движения, которые будут использоваться базовым контроллером. Хотя для темы можно использовать практически любое имя, обычно оно называется / cmd_vel, что сокращенно от «скорости команд». Узел базового контроллера подписывается на тему / cmd_vel и преобразует сообщения Twist в сигналы двигателя, которые фактически вращают колеса.

Чтобы увидеть компоненты сообщения Twist, выполните команду:

$ rosmsg show geometry_msgs/Twist

который даст следующий результат:

geometry_msgs/Vector3 linear
  float64 x
  float64 y
  float64 z
  geometry_msgs/Vector3 angular
  float64 x
  float64 y
  float64 z

Как видите, сообщение Twist состоит из двух вложенных сообщений с типом Vector3, одно для компонентов линейной скорости x, y и z, а другое для компонентов угловой скорости x, y и z. Линейные скорости указаны в метрах в секунду, а угловые скорости - в радианах в секунду. (1 радиан равен приблизительно 57 градусам.)

Для робота с дифференциальным приводом, работающего в двухмерной плоскости (такой как пол), нам нужны только линейный компонент x и угловой компонент z. Это потому, что этот тип робота может двигаться только вперед / назад вдоль своей продольной оси и вращаться только вокруг своей вертикальной оси. Другими словами, линейные компоненты y и z всегда равны нулю (робот не может двигаться вбок или вертикально), а угловые компоненты x и y всегда равны нулю, поскольку робот не может вращаться вокруг этих осей. Всенаправленный робот также будет использовать линейный компонент y, в то время как летающий или подводный робот будет использовать все шесть компонентов.

Twist