🌙
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.5 Отправка твист-сообщений реальному роботу

Если у вас есть TurtleBot или любой другой робот, который слушает тему / cmd_vel для команд перемещения, вы можете попробовать некоторые сообщения Twist в реальном мире. Всегда обязательно начинайте с небольших значений линейных и угловых скоростей. Попробуйте сначала вращение, чтобы ваш робот не полетел через всю комнату и не испортил мебель.

Сначала включите своего робота и запустите соответствующие файлы запуска. Если у вас есть оригинальный TurtleBot (база iRobot Create), вставьте ssh в ноутбук робота и запустите:

$ roslaunch rbx1_bringup turtlebot_minimal_create.launch

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

Чтобы повернуть робота против часовой стрелки на месте со скоростью 1,0 радиан в секунду (около 6 секунд на оборот), выполните команду:

$ rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0, y: 0, z: 0}, angular: {x: 0, y: 0, z: 1.0}}'

Вы можете запустить эту команду либо на TurtleBot (после использования ssh в другом терминале), либо на своей рабочей станции, если вы уже настроили сеть ROS.

Чтобы остановить робота, введите Ctrl-C и, если необходимо, опубликуйте пустое сообщение Twist:

$ rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'

(TurtleBot должен остановиться самостоятельно после первого нажатия Ctrl-C.)

Затем, чтобы продвинуть робота вперед со скоростью 0,1 метра в секунду (около 4 дюймов в секунду или 3 секунды на фут), убедитесь, что у вас достаточно места перед роботом, затем выполните команду:

$ rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.1, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}'

Чтобы остановить движение, введите Ctrl-C и, если необходимо, опубликуйте пустое сообщение Twist:

$ rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'

Если вы удовлетворены результатом, попробуйте другие комбинации линейных значений x и угловых значений z. Например, следующая команда должна отправить робота, вращающегося по часовой стрелке:

$ rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.15, y: 0, z: 0}, angular: {x: 0, y: 0, z: -0.4}}'

Чтобы остановить движение, введите Ctrl-C и, если необходимо, опубликуйте пустое сообщение Twist:

$ rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'

Как мы упоминали ранее, мы не часто публикуем сообщения Twist для робота непосредственно из командной строки, хотя это может быть полезно для целей отладки и тестирования. Чаще всего мы будем отправлять такие сообщения программно с узла ROS, который каким-то интересным образом контролирует поведение робота. Давайте посмотрим на это дальше.

Previous7.4.2 Угловая калибровкаNext7.6 Публикация твист-сообщений от узла ROS

Last updated 5 years ago

Was this helpful?