From 287d9382e7f50a220e01cfe283cdc62253c9fd82 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 17 Nov 2017 05:40:30 +0300 Subject: [PATCH] Updates docs/simple_offboard.md Auto commit by GitBook Editor --- docs/simple_offboard.md | 129 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 124 insertions(+), 5 deletions(-) diff --git a/docs/simple_offboard.md b/docs/simple_offboard.md index 4725a6e1..496b0ec4 100644 --- a/docs/simple_offboard.md +++ b/docs/simple_offboard.md @@ -7,11 +7,13 @@ Simple offboard Общие для сервисов параметры: -* `frame_id` — система координат в TF2, в которой заданы координаты и рысканье (yaw). -* `update_frame` — считать ли систему координат изменяющейся (например, `false` для `local_origin`, `fcu`, `fcu_horiz`, `true` для `marker_map`) -* `yaw` — рысканье в радианах в заданой системе координат (0 – коптер смотрит по оси X). -* `yaw_rate` — угловая скорость по рысканью в радианах в секунду (против часовой). -* `thrust` — уровень газа (от 0 [нет газа] до 1 [полный газ]) +* `frame_id` — система координат в TF2, в которой заданы координаты и рысканье (yaw); +* `update_frame` — считать ли систему координат изменяющейся (например, `false` для `local_origin`, `fcu`, `fcu_horiz`, `true` для `marker_map`); +* `x`, `y` – горизонтальные координаты в системе координат `frame_id`; +* `z` — высота в системе координат `frame_id`; +* `yaw` — рысканье в радианах в системе координат `frame_id` (0 – коптер смотрит по оси X); +* `yaw_rate` — угловая скорость по рысканью в радианах в секунду (против часовой); +* `thrust` — уровень газа (от 0 [нет газа] до 1 [полный газ]). Использование из языка Python --- @@ -54,3 +56,120 @@ set_rates = rospy.ServiceProxy('/set_rates', SetRates) release = rospy.ServiceProxy('/release', Trigger) ``` + +Список сервисов +--- + +### set_position + +Установить позицию и рысканье. + +Параметры: x, y, z, yaw, frame_id, update_frame + +Задание позиции относительно коптера: + +```python +set_position(x=0, y=0, z=3, frame_id='fcu_horiz') # взлет на 3 метра +``` + +```python +set_position(x=1, y=0, z=0, frame_id='fcu_horiz') # пролететь вперед на 1 метр +``` + +```python +set_position(x=0, y=-1, z=0, frame_id='fcu_horiz') # пролететь вправо на 1 метр +``` + +Задание позиции относительно системы маркеров +(фрейм marker_map не будет опубликован, пока коптер хоть раз не увидит один из маркеров): + +```python +set_position(x=2, y=2, z=3, frame_id='marker_map', update_frame=True) # полет в координату 2:2, высота 3 метра +``` + +### set_position_yaw_rate + +Установить позицию и угловую скорость по рысканью. + +Параметры: x, y, z, yaw_rate, frame_id, update_frame + +### set_position_global + +Полет в позицию в глобальной системе координат (широта/долгота). + +Параметры: lat (широта), lon (долгота), z (высота в системе координат frame_id), yaw (рысканье в системе координат frame_id), update_frame. + +Полет в глобальную точку (оставаясь на текущей высоте): +```python +set_position_global(lat=55.707033, lon=37.725010, z=0, frame_id='fcu_horiz') +``` + +# set_position_global_yaw_rate + +Полет в позицию в глобальной системе координат вращаясь с заданной скоростью по рысканью. + +Параметры: lat (широта), lon (долгота), z (высота в системе координат frame_id), yaw_rate (угловая скорость по рысканью), update_frame. + +### set_velocity + +Установить скорости и рысканье. + +Параметры: vx, vy, vz, yaw, frame_id, update_frame + +Полет по кругу: + +```python +set_velocity_yaw_rate(vx=0.2, vy=0.0, vz=0, yaw_rate=0.5, frame_id: 'fcu_horiz', update_frame: true) +``` + +### set_velocity_yaw_rate + +Установить скорости и угловую скорость по рысканью. + +Параметры: vx, vy, vz, yaw_rate, frame_id, update_frame + +### set_attitude + +Установить тангаж, крен, рысканье и уровень газа. + +Параметры: pitch, roll, yaw, thrust, frame_id, update_frame + +### set_attitude_yaw_rate + +Установить тангаж, крен, угловую скорость по рысканью и уровень газа. **Возможно, не поддерживается в PX4**. + +Параметры: pitch, roll, yaw_rate, thrust + +### set_rates_yaw + +Установить угловые скорости по тангажу и крену, рысканье и уровень газа. + +Параметры: pitch_rate, roll_rate, yaw, thrust, frame_id, update_frame + +### set_rates + +Установить угловые скорости по тагажу, крену и рысканью и уровень газа. + +Параметры: pitch_rate, roll_rate, yaw_rate, thrust + +### release + +Перестать публиковать команды коптеру (отпустить управление). +Возможно продолжение управления средствами MAVROS. + +Посадка +------- + +Для посадки можно использовать режим ``AUTO.LAND``. Land detector должен быть включен и указан в ``LPE_FUSION``. + +```python +from mavros_msgs.srv import SetMode + +# ... + +set_mode = rospy.ServiceProxy('/mavros/set_mode', SetMode) # объявляем прокси к сервису переключения режимов + +# ... + +set_mode(base_mode=0, custom_mode='AUTO.LAND') # включаем режим посадки +```