From f36d6ed81ba39cca0e5f27da1b0aeba4d58cd5bb Mon Sep 17 00:00:00 2001 From: Arthur Golubtsov Date: Sun, 29 Dec 2019 20:15:09 +0300 Subject: [PATCH] docs: Update article about client --- docs/ru/client.md | 49 +++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/docs/ru/client.md b/docs/ru/client.md index f407971..2e166f9 100644 --- a/docs/ru/client.md +++ b/docs/ru/client.md @@ -1,6 +1,6 @@ -# Клиент +# Клиент clever-show -Приложение для удаленного синхронизированного управления дронами в шоу. +Приложение для удаленного синхронизированного управления дронами в шоу и модуль экстренной защиты дронов. * [Установка и запуск](start-tutorial.md#установка-и-запуск-клиента) * [Настройка клиента](#настройка-клиента) @@ -16,19 +16,19 @@ port = 25000 broadcast_port = 8181 host = 192.168.1.101 -buffer_size = 1024 +buffer_size = 10000 [VISUAL_POSE_WATCHDOG] timeout = 1.0 +pos_delta_max = 3.0 action = emergency_land emergency_land_thrust = 0.45 emergency_land_decrease_thrust_after = 5.0 -timeout_to_disarm_after_watchdog_action = 10.0 +timeout_to_disarm = 10.0 [TELEMETRY] -frequency = 1 transmit = True -land_if_pos_delta_bigger_than = 3.0 +frequency = 1 log_cpu_and_memory = True [COPTERS] @@ -63,17 +63,13 @@ z_ratio = 1.0 [PRIVATE] id = /hostname -restart_dhcpcd = True +restart_after_rename = True use_leds = True led_pin = 21 x0 = 0 y0 = 0 z0 = 0 -[FILETRANSFER] -files_directory = animation -animation_file = animation.csv - [NTP] use_ntp = False host = ntp1.stratum2.ru @@ -99,24 +95,26 @@ port = 123 В данном разделе настраивается программа экстренной защиты коптера от потери позиции или столкновения с объектом. * `timeout` - время срабатывания экстренной защиты после потери визуальной позиции, в секундах. -* `action` - действие при срабатывании экстренной защиты. Доступные варианты: `land` - посадка коптера в режиме полётного контроллера AUTO.LAND, `emergency_land` - посадка коптера с постепенным уменьшением мощности моторов, `disarm`- выключение моторов. -* `emergency_land_thrust` - начальная мощность, подаваемая на моторы в случае выбора действия `emergency_land` при срабатывании экстренной защиты, в процентах. -* `emergency_land_decrease_thrust_after` - время, через которое мощность на моторах плавно начинает уменьшаться в случае выбора действия `emergency_land` при срабатывании экстренной защиты, в процентах. -* `timeout_to_disarm_after_watchdog_action` - время, через которое коптер безусловно выключает моторы после срабатывания экстренной защиты, в секундах. +* `pos_delta_max` - максимальная разница между текущим положением и точкой, в которой сейчас должен находиться коптер, в метрах. Требуется для проверки на столкновение коптера с объектом. Если расстояние между текущим положением коптера и положением, в котором он должен сейчас находиться, больше этого числа (в метрах), срабатывает экстренная защита. +* `action` - действие при срабатывании экстренной защиты. Доступные варианты: `land` - посадка коптера в режиме полётного контроллера AUTO.LAND, `emergency_land` - посадка коптера с постепенным уменьшением мощности моторов, `disarm`- выключение моторов. **Внимание!** Не рекомендуется использовать режим AUTO.LAND с выключенным барометром - при потере источника высоты в полёте, например показаний лазера или визуальной позиции, режим AUTO.LAND не гарантирует посадку коптера, так как ориентируется на показания высоты. Для посадки коптера при его позиционировании с использованием визуальной позиции или лазера и возможности потери данных с этих систем рекомендуется использовать режим `emergency_land`. +* `emergency_land_thrust` - начальная мощность, подаваемая на моторы в случае выбора действия `emergency_land` при срабатывании экстренной защиты. Безразмерная величина, от 0 (отсутствие мошности) до 1 (полная мощность). Для гарантированной посадки рекомендуется устанавливать в значение, меньшее по величине на 5-10 процентов, чем газ висения (параметр `MPC_THR_HOVER` в px4). +* `emergency_land_decrease_thrust_after` - время, через которое мощность на моторах плавно начинает уменьшаться в случае выбора действия `emergency_land` при срабатывании экстренной защиты, в секундах. +* `timeout_to_disarm` - время, через которое коптер безусловно выключает моторы после срабатывания экстренной защиты, в секундах. #### Раздел TELEMETRY В данном разделе настраивается поток передачи телеметрии на сервер. -* `frequency` - частота передачи данных на сервер, целочисленное значение, количество раз в секунду. * `transmit` - логическое значение, определяет, нужно ли передавать данные на сервер. -* `land_if_pos_delta_bigger_than` - проверка на столкновение коптера с объектом. Работает в цикле телеметрии. Если расстояние между текущим положением коптера и положением, в котором он должен сейчас находиться, больше этого числа (в метрах), коптер очищает очередь задач и переходит в режим AUTO.LAND. -* `log_cpu_and_memory` - логическое значение, которое определяет, будет ли записываться в лог сервиса клиента clever-show состояние процессора и памяти. +* `frequency` - частота передачи данных на сервер, целочисленное значение, количество раз в секунду. +* `log_cpu_and_memory` - логическое значение, определяет, будет ли записываться в лог сервиса клиента clever-show состояние процессора и памяти. #### Раздел COPTERS -* `frame_id` - название системы координат, в которой настроен коптер на удержание позиции. Если значение `floor` - клиент публикует статическую систему координат с названием `floor` и настройками из раздела [FLOOR_FRAME](#раздел-floor_frame). -* `takeoff_height` - высота взлёта коптера, в метрах. Используется в начале анимации или при тестировании коптера с сервера. +В данном разделе находятся настройки, влияющие на процесс полёта коптера. + +* `frame_id` - название системы координат, относительно которой будут публиковаться координаты точек для воспроизведения анимации. Если значение `floor` - клиент публикует статическую систему координат с названием `floor` и настройками из раздела [FLOOR_FRAME](#раздел-floor_frame). **Внимание!** Убедитесь, что коптер удерживает позицию в данной системе координат. Для этого вы можете воспользоваться командой [Takeoff](server.md#тестовые-команды) из серверного приложения. Коптер взлетит на высоту `takeoff_height` относительно текущей. +* `takeoff_height` - высота взлёта коптера, в метрах. Используется в начале воспроизведения анимации или при тестировании коптера с сервера. * `takeoff_time` - максимальное время взлёта коптера, в секундах. * `safe_takeoff` - логическое значение, определяет, нужно ли производить посадку в безопасном режиме. * `reach_first_point_time` - максимальное время полёта к первой точке анимации, в секундах. @@ -129,6 +127,8 @@ port = 123 #### Раздел FLOOR_FRAME +Данный раздел описывает смещение системы координат с названием `floor` и используется только при указании параметра `frame_id` как `floor` в разделе [COPTERS](#раздел-copters). + * `parent` - название опорной системы координат, относительно которой будет располагаться система координат `floor`. * `x` - смещение системы координат `floor` по оси x относительно системы координат `parent`, в метрах. * `y` - смещение системы координат `floor` по оси y относительно системы координат `parent`, в метрах. @@ -152,6 +152,8 @@ port = 123 #### Раздел PRIVATE +В данном разделе находятся параметры, специфичные для конкретного коптера. + * `id` - имя коптера, отображаемое в таблице. Если значение `/hostname` - имя определяется из файла `/etc/hostname`. * `restart_dhcpcd` - логический параметр, определяет, требуется ли перезагрузка коптера при переименовании его `id` удалённо с сервера. * `use_leds` - логический параметр, определяет, использует ли коптер светодиодную ленту. @@ -160,13 +162,6 @@ port = 123 * `y0` - смещение по оси y, только для данного коптера. * `z0` - смещение по оси z, только для данного коптера. -#### Раздел FILETRANSFER - -В этом разделе задаются параметры передачи файлов. - -* `files_directory` - директория для хранения файлов анимации (сейчас не используется). -* `animation_file` - название файла анимации, сохраняемое в клиенте. - #### Раздел NTP Помимо синхронизации времени (с миллисекундной точностью) с помощью пакета chrony, предоставляется альтернатива - возможность использования внешних (при наличии соединения локальной сети с интернетом) или внутрисетевых NTP-серверов. **Внимание!** Для корректной работы системы, **и сервер, и клиенты** должны использовать единый способ синхронизации времени (набор параметров в этом разделе). Данный раздел полностью унифицирован и для сервера, и для клиентов.