Updates docs/simple_offboard.md

Auto commit by GitBook Editor
This commit is contained in:
Oleg Kalachev
2017-11-17 05:40:30 +03:00
parent c394302ebb
commit 287d9382e7

View File

@@ -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') # включаем режим посадки
```