Skip to content
Vadim Arkhipov edited this page May 10, 2023 · 2 revisions

teleop.py

Запуск

Запуск ноды, осуществляющей управление дроном с именем drone_name через топик /drone_name/cmd_vel с помощью клавиатуры

rosrun camera_controls teleop.py _topic:=/drone_name/cmd_vel   __name:=some_name

Так как одна нода teleop отвечает за один дрон, то значение __name должно быть уникальным

Описание работы

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

  • 'No driver found for the drone named 'drone_name''

Когда нода дистанционного управления смогла подключиться к дрону, она уведомляет об этом, выводя на экран сообщение:

  • 'Driver for drone 'drone_name' found'

Управление дроном осуществляется с помощью клавиатуры:

  • w - s — изменение скорости вдоль оси x
  • d - a — изменение скорости вдоль оси y
  • b - space — изменение скорости вдоль оси z
  • i - k — изменение скорости вращения вокруг оси x (угол roll)
  • l - j — изменение скорости вращения вокруг оси y (угол pitch)
  • u - o — изменение скорости вращения вокруг оси z (угол yaw)

Описание передаваемого сообщения

Нода дистанционного управления формирует и отправляет сообщения типа camera_controls/msg_transposition

Структура сообщения следующая

float64 x - скорость передвижения по оси x
float64 y - скорость передвижения по оси y
float64 z - скорость передвижения по оси z
float64 roll - скорость поворота вокруг оси x 
float64 pitсh - скорость поворота вокруг оси y
float64 yaw - скорость поворота вокруг оси z

Углы поворота указываются в радианах

Clone this wiki locally