Files
clover/docs/ru/frames.md
2019-10-12 14:26:47 +03:00

2.9 KiB
Raw Blame History

Системы координат (фреймы)

Note

Документация для версий образа, начиная с 0.15. Для более ранних версий см. документацию для версии 0.14.

Системы координаты Клевера (TF2)

Основные фреймы в пакете clever:

  • map — координаты относительно точки инициализации полетного контроллера: белая сетка на иллюстрации;
  • base_link — координаты относительно квадрокоптера: схематичное изображение квадрокоптера на иллюстрации;
  • body — координаты относительно квадрокоптера без учета наклонов по тангажу и крену: красная, синяя и зеленая линии на иллюстрации;
  • navigate_target координаты точки, в которую сейчас летит дрон (с использованием navigate).

Hint В соответствии с соглашением, для фреймов, связанных с коптером, ось X направлена вперед, Y налево и Z вверх.

Более наглядно 3D визуализацию систем координат можно наблюдать, используя rviz.

tf2

Основная документация: http://wiki.ros.org/tf2

Для работы с системами координат в Клевере используется ROS-пакет tf2. tf2 – это набор библиотек для языков программирования C++, Python и других, которые помогают работать с системами координат. ROS-ноды публикуют в топик /tf сообщения формата TransformStamped, которые содержат в себе трансформации между заданными системами координат в определенные моменты времени.

С помощью simple_offboard можно запросить расположение коптера в любой системе координат, используя аргумент frame_id сервиса get_telemetry.

Из Python можно использовать библиотеку tf2 для преобразования геометрических объектов (например, PoseStamped, PointStamped) из одной системы координат в другую.