-
Notifications
You must be signed in to change notification settings - Fork 0
Teleop
Запуск ноды, осуществляющей управление дроном с именем 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
Углы поворота указываются в радианах
- XQueue Watcher
- Разработка "примитивной" системы проверки решений
- Определение дальнейшего поведения программы, в зависимости от результата "примитивной" проверки
- Реализация интерфейса передачи решений в симулятор
- Запуск симулятора
- Разработка системы проверки "адекватности" переданного решения
- Проработка простейших сценариев использования разработанной системы
- Доработка "примитивной" системы оценок и проверки "адекватности" решений
- Реализация интерфейса отправки оценки решения обратно в XQueue
- Проработка комплексных сценариев использования системы
- Юнит тестирование
- Интеграционное тестирование
- Разработка docker-котейнера
- Создание скриптов запуска разработанного приложения
- Реализация сценариев использования системы, предоставленных заказчиком