mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 21:19:35 +00:00
37 lines
3.7 KiB
Markdown
37 lines
3.7 KiB
Markdown
Системы координат (фреймы)
|
||
===
|
||
|
||
> **Note** Документация для версий [образа](image.md), начиная с **0.15**. Для более ранних версий см. [документацию для версии **0.14**](https://github.com/CopterExpress/clover/blob/v0.14/docs/ru/frames.md).
|
||
|
||

|
||
|
||
Основные фреймы в пакете `clover`:
|
||
|
||
* `map` — координаты относительно точки инициализации полетного контроллера: белая сетка на иллюстрации;
|
||
* `base_link` — координаты относительно квадрокоптера: схематичное изображение квадрокоптера на иллюстрации;
|
||
* `body` — координаты относительно квадрокоптера без учета наклонов по тангажу и крену: красная, синяя и зеленая линии на иллюстрации;
|
||
* <a name="navigate_target"></a>`navigate_target` – координаты точки, в которую сейчас летит дрон (с использованием [navigate](simple_offboard.md#navigate));
|
||
* `terrain` – координаты относительно пола в текущей позиции коптера (см. сервис [set_altitude](simple_offboard.md#set_altitude))
|
||
* `setpoint` – текущий setpoint по позиции;
|
||
* `main_camera_optical` – система координат, [связанная с основной камерой](camera_setup.md#frame).
|
||
|
||
При использовании [системы позиционирования по ArUco-маркерам](aruco.md) появляются дополнительные фреймы:
|
||
|
||
* `aruco_map` – координаты относительно [карты ArUco-маркеров](aruco_map.md);
|
||
* `aruco_N` – координаты относительно [маркера](aruco.md) с ID=N.
|
||
|
||
> **Hint** В соответствии с [соглашением](http://www.ros.org/reps/rep-0103.html), для фреймов, связанных с коптером, ось X направлена вперед, Y – налево и Z – вверх.
|
||
|
||
Более наглядно 3D визуализацию систем координат можно наблюдать, используя [rviz](rviz.md).
|
||
|
||
tf2
|
||
--
|
||
|
||
Основная документация: http://wiki.ros.org/tf2
|
||
|
||
Для работы с системами координат в Клевере используется ROS-пакет tf2. tf2 – это набор библиотек для языков программирования C++, Python и других, которые помогают работать с системами координат. ROS-ноды публикуют в топик `/tf` сообщения формата `TransformStamped`, которые содержат в себе трансформации между заданными системами координат в определенные моменты времени.
|
||
|
||
С помощью [`simple_offboard`](simple_offboard.md) можно запросить расположение коптера в любой системе координат, используя аргумент `frame_id` сервиса `get_telemetry`.
|
||
|
||
Из Python можно использовать библиотеку tf2 для преобразования геометрических объектов (например, PoseStamped, PointStamped) из одной системы координат в другую.
|