mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-27 13:39:33 +00:00
Documentation for remote control web app
This commit is contained in:
BIN
assets/webrc.png
Normal file
BIN
assets/webrc.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
BIN
assets/webrc_arm_disarm.gif
Normal file
BIN
assets/webrc_arm_disarm.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 681 KiB |
BIN
assets/webrc_header.gif
Normal file
BIN
assets/webrc_header.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 232 KiB |
BIN
assets/webrc_no_connection.png
Normal file
BIN
assets/webrc_no_connection.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
BIN
assets/webrc_notifications.png
Normal file
BIN
assets/webrc_notifications.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 76 KiB |
BIN
assets/webrc_offboarding.gif
Normal file
BIN
assets/webrc_offboarding.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 423 KiB |
107
docs/web_rc.md
107
docs/web_rc.md
@@ -1,3 +1,106 @@
|
||||
Веб-пульт управления квадрокоптером
|
||||
===
|
||||
# Веб-пульт управления квадрокоптером
|
||||
|
||||
По адресу [192.168.11.1:7070](http://192.168.11.1:7070) открывается web-приложение – пульт управления квадрокоптером.
|
||||
|
||||
## Стартовый экран
|
||||
|
||||
При загрузке приложения, автоматически устанавливается соединение с сервером ROS.
|
||||
|
||||
При отстутствии соединения, интерфейс будет заблокирован для управления.
|
||||

|
||||
|
||||
После установления соединения интерфейс разблокируется.
|
||||
|
||||

|
||||
|
||||
В интефейсе доступны:
|
||||
|
||||
* Верхняя \(информацинно-командная\) панель
|
||||
* Уведомления
|
||||
* Контролы
|
||||
* HUD
|
||||
|
||||
## Верхняя панель
|
||||
|
||||
Здесь расположены индикаторы и кнопки действий.
|
||||
|
||||
* кнопка-индикатор уведомлений
|
||||
* отображает иконку типа последнего уведомления
|
||||
* анимируется при наличии непрочитанных уведомлений
|
||||
* открывает панель уведомлений
|
||||
* индикатор уровня Wi-Fi сигнала \(пока нет возможности знать\)
|
||||
* индикатор уровня заряда батареи \(пока нет возможности знать\)
|
||||
* кнопка **DISARM** на случай необходимости отключить винты в полёте
|
||||
* кнопка-индикатор записи видео при записи светится красным и показывает
|
||||
⚠️ _Нет API для включения/выключения записи_
|
||||
* кнопка переключения камер. Если на дроне больше одной камеры, позволяет переключиться между ними.
|
||||
⚠️ _Нет API для получения данных о количестве камер на дрное_
|
||||
* кнопка сохранения текущего кадра на камере
|
||||
⚠️ _Нет API_
|
||||
|
||||
## Уведомления 🔔
|
||||
|
||||

|
||||
|
||||
* всплывающие – самые важные уведомления всплывают на месте верхней панели
|
||||
* нажатие по уведомлению открывает ленту уведомлений
|
||||
* можно смахнуть проведя по уведомлению пальцем \(как и с нативным системным уведомлением\)
|
||||
* панель уведомлений – полноэкранная лента уведомлений в хронологическом порядке
|
||||
* объединяет одинаковые сообщения в один, с указанием количества повторений
|
||||
* открывается нажатием на всплывающее уведомление или кнопку уведомлений на верхней панели
|
||||
|
||||

|
||||
|
||||
## Контролы 🎮
|
||||
|
||||
Бандл контролов – обёртка над несоклькими контроллами, решающая общие над ними задачи.
|
||||
|
||||
Предполагается, что на основе реализованных компонентов, можно будет собирать любой бандл контролов.
|
||||
|
||||
### Основной бандл
|
||||
|
||||
На момент написания заметки реализован один бандл, использующий два двухосевых стика
|
||||
|
||||
* левый – altitude и yaw
|
||||
* правый – pitch и roll.
|
||||
|
||||
Каждому стику можно задать жесты-экшены, которые будут активироваться при уведении пальца за границу максимального значения в указаной стороне стика. **\(ссылка на доку по стику\)**
|
||||
|
||||
#### Действия
|
||||
|
||||
При касании контролов запрашивается режим OFFBOARD.
|
||||
|
||||
⚠️ _Не запрашивается когда дрон уже в режиме OFFBOARD или когда активен хотя бы один жест._
|
||||
|
||||

|
||||
|
||||
Все этапы переключения дрона в режим OFFBOARD отражаются соответствующим цветом контрола
|
||||
|
||||
* красный – не удалось запросить режим, ошибка при отправке сообщения
|
||||
* жёлтый – режим запрошен, ждём когда дрон начнёт слать **mode: OFFBOARD**
|
||||
* зелёный – успешно переключился в OFFBOARD
|
||||
|
||||
В режиме OFFBOARD бандл публикует в топик **/mavros/setpoint\_raw/local** данные со стиков соответственно:
|
||||
|
||||
* левый
|
||||
* по гризонтали – **yaw\_rate**
|
||||
* по вертикали – **z** \(altitude\)
|
||||
* правый
|
||||
* по гризонтали – **x** \(roll\)
|
||||
* по вертикали – **y** \(pitch\)
|
||||
|
||||
Жесты на левом стике
|
||||
|
||||
* ARM – в правом нижнем углу
|
||||
* DISARM – в левом нижнем углу
|
||||
|
||||

|
||||
|
||||
Бандл так же следит за тем, что бы данные в топик публиковались непрерывно. Если пользователь остановил пальцы или отпустил контролы, то бандл продолжит публиковать данные с некой минимальной периодичностью, во избежание выпадания дрона из OFFBOARD.
|
||||
|
||||
## Head-Up Display
|
||||
|
||||
Расположен по центру экрана и отображает текущую скорость\(сверху экрана\) и высоту\(снизу экрана\).
|
||||
|
||||
Так же, между скоростью и высотой можно выводить любую другую информацию \(например, режимы дрона или данные со стиков\).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user