Files
clover/docs/ru/frames.md
Oleg Kalachev 2b50b9bd8c Rework gitbook, add Clever 4 instruction (#163)
Co-authored-by: sfalexrog <sfalexrog@gmail.com>

* Rework the structure.
* Add Clever 4 assembling instruction.
* Rework setup articles.
* Many additional changes.
2019-08-17 09:23:46 +03:00

2.7 KiB
Raw Blame History

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

Note

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

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

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

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

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) из одной системы координат в другую.