mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 11:43:25 +00:00
docs: making linter happy + remove unused
This commit is contained in:
@@ -4,11 +4,13 @@
|
||||
"code_blocks": false
|
||||
},
|
||||
"MD013": false,
|
||||
"MD024": false,
|
||||
"MD026" :{
|
||||
"punctuation": ".,;:!"
|
||||
},
|
||||
"MD033": false,
|
||||
"MD034": false,
|
||||
"MD040": false,
|
||||
"MD044": {
|
||||
"names": [
|
||||
"MAVLink",
|
||||
@@ -24,5 +26,6 @@
|
||||
"ArUco"
|
||||
],
|
||||
"code_blocks": false
|
||||
}
|
||||
},
|
||||
"MD045": false
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ sudo systemctl restart clever
|
||||
|
||||
## Задержки
|
||||
|
||||
При использовании `rosserial_arduino` микроконтроллер Arduino не должен быть заблокирован больше чем на несколько секунд (например, с использованием функции `delay`); иначе связь между Raspberry Pi и Arduino будет разорвана.
|
||||
При использовании `rosserial_arduino` микроконтроллер Arduino не должен быть заблокирован больше чем на несколько секунд (например, с использованием функции `delay`); иначе связь между Raspberry Pi и Arduino будет разорвана.
|
||||
|
||||
При реализации долгих циклов `while` обеспечьте периодический вызов функции `hn.spinOnce`:
|
||||
|
||||
@@ -121,7 +121,7 @@ void setup()
|
||||
delay(1000);
|
||||
nh.spinOnce();
|
||||
}
|
||||
|
||||
|
||||
nav_req.auto_arm = false;
|
||||
|
||||
// Пролет вперед на 3 метра:
|
||||
@@ -133,13 +133,13 @@ void setup()
|
||||
nav_req.frame_id = "fcu_horiz";
|
||||
nav_req.speed = 0.8;
|
||||
navigate.call(nav_req, nav_res);
|
||||
|
||||
|
||||
// Ждем 5 секунд
|
||||
for(int i=0; i<5; i++) {
|
||||
delay(1000);
|
||||
nh.spinOnce();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Полет в точку 1:0:2 по маркерному полю
|
||||
nh.loginfo("Fly on point");
|
||||
nav_req.auto_arm = false;
|
||||
@@ -229,4 +229,4 @@ typedef ros::NodeHandle_<ArduinoHardware, 3, 3, 100, 100> NodeHandle;
|
||||
|
||||
// ...
|
||||
NodeHandle nh;
|
||||
```
|
||||
```
|
||||
|
||||
@@ -39,7 +39,7 @@ sudo systemctl restart clever
|
||||
|
||||
В качестве карты меток можно использовать автоматически сгенерированный [ArUco-board](https://docs.opencv.org/trunk/db/da9/tutorial_aruco_board_detection.html).
|
||||
|
||||
Настройка карты меток производится с помощью файла `~/catkin_ws/src/clever/clever/launch/aruco.launch`. Для использования AruCo-board введите его параметры:
|
||||
Настройка карты меток производится с помощью файла `~/catkin_ws/src/clever/clever/launch/aruco.launch`. Для использования ArUco-board введите его параметры:
|
||||
|
||||
```xml
|
||||
<node pkg="nodelet" type="nodelet" name="aruco_pose" args="load aruco_pose/aruco_pose nodelet_manager">
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
* Зарядное устройство EFEST Luc V4 Li-lon x1.
|
||||
* Защитный бокс регуляторов x4.
|
||||
* Крепление под ножки x8.
|
||||
* Полетный контроллер PixHawk x1.
|
||||
* Полетный контроллер Pixhawk x1.
|
||||
* Радиоприемник FlySky i6 x1.
|
||||
* Радиопульт FlySky i6 x1.
|
||||
* Зарядное устройство EFEST LUC V4 x1.
|
||||
@@ -322,13 +322,13 @@
|
||||
|
||||

|
||||
|
||||
#### Установка полетного контроллера PixHawk
|
||||
#### Установка полетного контроллера Pixhawk
|
||||
|
||||
1. Клеим 2х сторонний скотч по углам полетного контроллера. 
|
||||
> **ВАЖНО** При работе моторов возникают вибрации, отрицательно влияющие на показания датчиков полетного контроллера PixHawk. Чтобы избежать этого эффекта, количество слоев двустороннего скотча
|
||||
> **ВАЖНО** При работе моторов возникают вибрации, отрицательно влияющие на показания датчиков полетного контроллера Pixhawk. Чтобы избежать этого эффекта, количество слоев двустороннего скотча
|
||||
лучше увеличить до 4-5.
|
||||
2. Установить полетный контроллер в центр рамы. 
|
||||
> **ВАЖНО** Стрелки на раме и PixHawk должны быть сонаправлены
|
||||
> **ВАЖНО** Стрелки на раме и Pixhawk должны быть сонаправлены
|
||||
|
||||
#### Подключение полетного контроллера по схеме
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ TODO
|
||||
## Монтаж каркасных элементов
|
||||
|
||||
1. Установить пластиковые гайки М3 (4 шт) для крепления PDB на раму винтами М3х8.
|
||||
2. Установить стойки 6 мм (4 шт) для крепления RASPBERRY PI на раму винтами М3х8.
|
||||
2. Установить стойки 6 мм (4 шт) для крепления Raspberry Pi на раму винтами М3х8.
|
||||
3. Установить на раму собранную конструкцию, соблюдая схему, винтами М3х16.
|
||||
4. Установить каркас для светодиодной ленты, используя прорези в держателях для ножек.
|
||||
|
||||
@@ -121,7 +121,7 @@ TODO
|
||||
|
||||
На пульте отображается процесс сопряжения RXBinding
|
||||
|
||||
5. После установки сопряжения (появление допю строк на дисплее пульта):
|
||||
4. После установки сопряжения (появление допю строк на дисплее пульта):
|
||||
* Убрать BIND разъем из приемника.
|
||||
* Отключить АКБ.
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ Copter Hack 2017
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/xgXheg3TTs4?rel=0" frameborder="0" allowfullscreen></iframe>
|
||||
|
||||
Запись видеолекций – https://copterexpress.timepad.ru/event/510375/.
|
||||
|
||||
Модули
|
||||
---
|
||||
|
||||
@@ -50,18 +52,14 @@ rostopic echo /marker_data
|
||||
|
||||
* [Пакет MAVRos](mavros.md)
|
||||
|
||||
* Неплохая вводная статья
|
||||
https://habrahabr.ru/post/227425/
|
||||
* Неплохая вводная статья: https://habrahabr.ru/post/227425/
|
||||
|
||||
* Сигналы, применяющиеся в дронах
|
||||
https://geektimes.ru/post/258186/
|
||||
* Сигналы, применяющиеся в дронах: https://geektimes.ru/post/258186/
|
||||
|
||||
* Хорошая статья про ПИДы
|
||||
https://habrahabr.ru/company/technoworks/blog/216437/
|
||||
* Хорошая статья про ПИДы: https://habrahabr.ru/company/technoworks/blog/216437/
|
||||
|
||||
* Запись видеолекций
|
||||
https://copterexpress.timepad.ru/event/510375/
|
||||
* Запись видеолекций: https://copterexpress.timepad.ru/event/510375/
|
||||
|
||||
* [Aubio](https://aubio.org), библиотека для анализа звука (музыки)
|
||||
|
||||
* Пакеты для работы с музыкой для Python https://wiki.python.org/moin/PythonInMusic
|
||||
* Пакеты для работы с музыкой для Python: https://wiki.python.org/moin/PythonInMusic
|
||||
|
||||
@@ -75,4 +75,3 @@
|
||||
## Видеоинструкция по перепрошивке ESC регуляторов
|
||||
|
||||
Для лучшего понимания того, что описано в статье, рекомендуем посмотреть наглядное руководство по подключению электроники и прошивке регуляторов на английском языке на [youtube](https://www.youtube.com/watch?v=i6lhMcQLRSU&feature=youtu.be).
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ Pixhawk или Pixracer можно прошить, используя QGroundCon
|
||||
* `px4fmu-v4_default.px4` — прошивка для Pixracer с EKF2 и LPE (*Клевер 3*).
|
||||
* `px4fmu-v3_default.px4` — прошивка для более новых версий Pixhawk (чип ревизии 3, см. илл. + Bootloader v5) с EKF2 и LPE.
|
||||
|
||||

|
||||

|
||||
|
||||
> **Note** Для загрузки `px4fmu-v3_default.px4` может понадобиться использование команды `force_upload` из командной строки.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
Для детального анализа поведения прошивки PX4 можно просмотреть полетные логи. Полетные логи представляют собой сообщения в [uORB-топиках](https://dev.px4.io/en/middleware/uorb.html), записанные в файл с раширением `.ulg`. Лог-файл можно скачать с помощью QGroundControl по Wi-Fi или USB во вкладке *Log Download*:
|
||||
|
||||

|
||||

|
||||
|
||||
Также необходимые `.ulg`-файлы можно скопировать непосредственно с MicroSD-карты, находившейся в полетном контроллере.
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
В программе можно просмотреть полный список записанных топиков (*Fields List*). В нем нужно выбрать необходимые топики, после чего они появятся на графике:
|
||||
|
||||

|
||||

|
||||
|
||||
Основные топики в PX4
|
||||
---
|
||||
@@ -41,9 +41,9 @@
|
||||
|
||||
Для более новых версий платы Pixhawk (`px4fmu-v3`), а также для плат Pixracer, в прошивку включен модуль `topic_listener`, который позволяет просматривать значения топиков в режиме реального времени (в том числе в полете).
|
||||
|
||||
Для ее использования нужно выбрать вкладку Mavlink Console в QGroundControl:
|
||||
Для ее использования нужно выбрать вкладку MAVLink Console в QGroundControl:
|
||||
|
||||

|
||||

|
||||
|
||||
Команда `list_topics` выводит список топиков, доступных для просмотра (включена только в [SITL](sitl.md)).
|
||||
|
||||
|
||||
@@ -40,7 +40,6 @@ UDP бридж (с автоматическим подключением)
|
||||
|
||||
При открытии программы QGroundControl соединение должно установиться автоматически.
|
||||
|
||||
|
||||
UDP-бридж (без автоматического подключения)
|
||||
---
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
* Полеты на глобальные точки в автономном режиме при помощи модуля [simple offboard](simple_offboard.md).
|
||||
|
||||
Полезные ссылки:
|
||||
|
||||
* https://docs.px4.io/en/assembly/quick_start_pixhawk.html
|
||||
* http://ardupilot.org/copter/docs/common-pixhawk-wiring-and-quick-start.html
|
||||
* http://ardupilot.org/copter/docs/common-installing-3dr-ublox-gps-compass-module.html
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/jWMGSgiLD_E" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
|
||||
Часть 3
|
||||
Часть 3
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/WhxxXD4b1MY" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
|
||||
@@ -53,4 +53,3 @@
|
||||
Автономные полеты
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/WvIlRG7ShWA" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ MAVROS подписывается определенные ROS-топики в
|
||||
|
||||
> **Hint** Упрощенное взаимодействие с коптером возможно с использованием пакета [`simple_offboard`](simple_offboard.md).
|
||||
|
||||
<!-- -->
|
||||
|
||||
> **Note** В пакете `clever` некоторые плагины MAVROS отключены (в целях сохранения ресурсов). Подробнее см. параметр `plugin_blacklist` в файле `/home/pi/catkin_ws/src/clever/clever/launch/mavros.launch`.
|
||||
|
||||
## Основные сервисы
|
||||
@@ -44,7 +46,7 @@ MAVROS подписывается определенные ROS-топики в
|
||||
|
||||
`/mavros/setpoint_attitude/cmd_vel` и `/mavros/setpoint_attitude/att_throttle` — установить целевые угловые скорости и уровень газа.
|
||||
|
||||
### Топики для посылки raw-пакетов:
|
||||
### Топики для посылки raw-пакетов
|
||||
|
||||
`/mavros/setpoint_raw/local` — отправка пакета [SET\_POSITION\_TARGET\_LOCAL\_NED](https://pixhawk.ethz.ch/mavlink/#SET_POSITION_TARGET_LOCAL_NED). Позволяет установить целевую позицию/целевую скорость и целевое рысканье/угловую скорость по рысканью. Выбор устанавливаемых величин осуществляется с помощью поля `type_mask`.
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ PX4
|
||||
|
||||
* **POSCTL** (POSITION) — управление скоростями набора высоты, скоростью движения вперед/назад и вправо/влево, угловой скоростью по рысканью. Наиболее простой для полетов режим. Используется барометр, GPS, компьютерное зрение, другие датчики.
|
||||
|
||||
|
||||
### Автоматический полет (AUTO)
|
||||
|
||||
В режиме автоматического полета квадрокоптер игнорирует сигналы с пульта.
|
||||
|
||||
@@ -309,7 +309,7 @@ EOF
|
||||
3. [blog.hoxnox.com: WiFi access point with wpa_supplicant](http://blog.hoxnox.com/gentoo/wifi-hotspot.html)
|
||||
4. [dmitrysnotes.ru: Raspberry Pi 3. Присвоение статического IP-адреса](http://dmitrysnotes.ru/raspberry-pi-3-prisvoenie-staticheskogo-ip-adresa)
|
||||
5. [thegeekdiary.com: Linux OS Service ‘network’](https://www.thegeekdiary.com/linux-os-service-network/)
|
||||
6. [frillip.com: USING YOUR NEW RASPBERRY PI 3 AS A WIFI ACCESS POINT WITH HOSTAPD](https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/) (также здесь есть инструкция по настройке форвардинга для использования RPi в качестве шлюза для выхода в интернет)
|
||||
6. [frillip.com: Using your new Raspberry Pi 3 as a Wi-Fi access point with hostapt](https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/) (также здесь есть инструкция по настройке форвардинга для использования RPi в качестве шлюза для выхода в интернет)
|
||||
7. [habr.com: Настраиваем ddns-сервер на GNU/Linux Debian 6](https://habr.com/sandbox/30433/) (Хорошая статья по настройке ddns-сервера на основе `bind` и `isc-dhcp-server`)
|
||||
8. [pro-gram.ru: Установка и настройка DHCP сервера на Ubuntu 16.04.](https://pro-gram.ru/dhcp-server-ubuntu.html) (Настройка isc-dhcp-server)
|
||||
9. [expert-orda.ru: Настройка DHCP-сервера на Ubuntu](http://expert-orda.ru/posts/liuxnewbie/125--dhcp-ubuntu) (Настройка isc-dhcp-server)
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
Силовые и управляющие цепи
|
||||
===============================
|
||||
|
||||
Силовые цепи
|
||||
--------------------
|
||||
Из вырезки по ГОСТ 18311-80
|
||||
|
||||
"Электрическая цепь, содержащая элементы, функциональное назначение которых состоит в производстве или передаче основной части электрической энергии,
|
||||
ее распределении, преобразовании в другой вид энергии или в электрическую энергию с другими значениями параметров."
|
||||
|
||||
Говоря простым языком, силовые цепи - это электрические цепи, которые предназначены для передачи большого количества энергии (тока), для обеспечения работоспособности всех систем.
|
||||
В нашем случае в качестве силовой цепи будут выступать провода, соединяющие аккумулятор с платой распределения питания, а также красные и черные провода идущие на регуляторы оборотов.
|
||||
|
||||

|
||||
|
||||
Вся энергия аккумулятора (АКБ) будет распределяться между регуляторами оборотов моторов. Чтобы моторы смогли поднять в воздух коптер, им необходимо много энергии. В качестве энергии выступает ток, который приходит с АКБ. Т.к. энергии нужно много, значит по проводам будет идти большой ток. Чтобы провода смогли выдержать такую нагрузку, необходимы провода большего диаметра. Для наших задач подойдут провода 18AWG, 16AWG, 14AWG.
|
||||
|
||||
|
||||
|
||||
|
||||
Управляющие цепи
|
||||
--------------------
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
Мануал по возможным неисправностям радиоаппаратуры
|
||||
==========================================
|
||||
|
||||
Пульт заблокирован
|
||||
Пульт заблокирован
|
||||
--------------
|
||||
|
||||
Если пульт заблокирован, то на ЖК Экране будет отображено предупреждение:
|
||||
"Warning. Place all switches in their up position and lower the throttle".
|
||||
|
||||
@@ -14,34 +15,32 @@
|
||||
|
||||

|
||||
|
||||
|
||||
Нет связи с приемником
|
||||
--------------
|
||||
Для проверки соединения пульта с приемником, включаем пульт и смотрим индикацию на ЖК Экране:
|
||||
|
||||
1. Соединение с приемником отсутствует
|
||||
Для проверки соединения пульта с приемником, включаем пульт и смотрим индикацию на ЖК Экране.
|
||||
|
||||

|
||||
1. Соединение с приемником отсутствует:
|
||||
|
||||
2. Соединение с приемником установлено
|
||||

|
||||
|
||||

|
||||
2. Соединение с приемником установлено:
|
||||
|
||||
Если соединение отсутствует, то
|
||||
1. Проверьте, что приемник включен (моргает красный светодиод)
|
||||
Если сетодиод горит непрерывно красным, то значит связь установлена с другим пультом.
|
||||

|
||||
|
||||
2. Проведите процедуру сопряжения пульта и приемника ()
|
||||
Если соединение отсутствует, то:
|
||||
|
||||
1. Проверьте, что приемник включен (моргает красный светодиод). Если сетодиод горит непрерывно красным, то значит связь установлена с другим пультом.
|
||||
2. Проведите процедуру сопряжения пульта и приемника.
|
||||
|
||||
Нет связи с полетным контроллером
|
||||
--------------
|
||||
|
||||
Если нет связи с полетным контроллером, то на экране монитора компьютера в окне Channel Monitor не будут отображаться изменения положения слайдеров при перемещении стиками пульта.
|
||||
|
||||

|
||||
|
||||
1. Зайдите в МЕНЮ (удерживаем нажатой кнопку “ОК”)
|
||||
2. Выберите меню “System setup” (Кнопки Up/Down - для навигации, кнопка “ОК” - подтверждение выбора
|
||||
3. Выберите “RX setup” > “PPM OUTPUT” > “On”
|
||||
3. Выберите “RX setup” > “PPM OUTPUT” > “On”
|
||||
4. Сохраните изменения (удерживаем нажатой кнопку “CANCEL”)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Использование rviz и rqt
|
||||
===
|
||||
|
||||

|
||||

|
||||
|
||||
Инструмент [rviz](http://wiki.ros.org/rviz) позволяет в реальном времени визуализировать на 3D-сцене все компоненты роботехнической системы — системы координат, движущиеся части, показания датчиков, изображения с камер.
|
||||
|
||||
@@ -35,8 +35,7 @@ export ROS_IP=192.168.11.1
|
||||
|
||||
Результат визуализации коптера и камеры представлен ниже:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Визуализация окружения
|
||||
|
||||
@@ -47,7 +46,7 @@ Axis или Grid настроенный на фрейм `aruco_map` будут
|
||||
Запуск инструментов rqt
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
Для запуска rqt для мониторинга состояния Клевера используйте команду:
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
|
||||
## Отключение Safety Switch
|
||||
|
||||
В полетном контроллере PIXHAWK стоит защита моторов от случайного использования.
|
||||
В полетном контроллере Pixhawk стоит защита моторов от случайного использования.
|
||||
Чтобы разблокировать коптер, необходимо отключить кнопку безопасности
|
||||
|
||||
1. Заходим в меню Parameters > Circuit Breaker
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# Шаровая защита коптера
|
||||
|
||||
|
||||
1. Введение
|
||||
## Введение
|
||||
|
||||
Наверное, летать в помещениях приходилось каждому, кто брал в руки коптер. Подобные полеты сопряжены с немалым риском повредить коптер о стены и различные предметы. Даже полеты на относительно больших пространствах связаны с рисками удариться о препятствие: на пути коптера может встать ствол дерева или здание — что уж говорить о полетах в замкнутых пространствах. Подобные «краш-тесты» не очень приятный момент, который может оказаться в лучшем случае причиной потери внушительной суммы денег на ремонт, а в худшем — и вовсе утраты коптера. Тем более неприятны такие ситуации для новичка, который не может своевременно увернуться от препятствия и только учится летать.
|
||||
|
||||
@@ -11,7 +10,7 @@
|
||||
|
||||
Нами было принято сложное решение: придется делать ее полностью самим и почти с нуля, а также поставлена цель сделать ее простой в изготовлении и максимально легкой.
|
||||
|
||||
2. Разработка
|
||||
## Разработка
|
||||
|
||||
В результате поиска решения, удовлетворяющего всем нашим требованиям, мы остановились на нескольких схожих вариантах. Было решено сделать защиту в форме полуправильного многогранника (примерами могут служить фуллерен, молекула углерода, или фигура пентакисдодекаэдр) — его мы и выбрали как самый приятный глазу. Кроме того, такая защита легко масштабируема под нужный размер.
|
||||
|
||||
@@ -21,7 +20,7 @@
|
||||
|
||||
С угловыми соединениями (фитингами), тоже не все просто: их также два вида — с пятью гранями при вершине (пять лучей исходят из вершины) и с шестью гранями (шесть лучей исходят из вершины).
|
||||
|
||||
3. Первые модели
|
||||
## Первые модели
|
||||
|
||||
Была составлена спецификация для удобства контроля процесса изготовления, и мы приступили к моделированию.
|
||||
|
||||
@@ -37,7 +36,7 @@
|
||||
|
||||

|
||||
|
||||
4. Материалы
|
||||
## Материалы
|
||||
|
||||
В ходе проектирования встал вопрос, из чего же все-таки сделать такую защиту, чтобы получилось легко и прочно. Ответ пришел, как всегда, совершенно неожиданно. На глаза попались шпажки из бамбука: они достаточно тонкие, чтобы не повлиять на аэродинамику, имеют достаточную гибкость и при этом достаточно прочные. Далее возник вопрос, из чего и как делать фитинги. Конечно же, 3D-печать! 3D-принтер — это вообще незаменимая вещь, тем более для тех, кто любит что-то делать сам. К тому же они из-за не самой высокой цены получили достаточно широкое распространение. На таком принтере можно делать изделия почти любой сложности. То, что надо!
|
||||
|
||||
@@ -49,7 +48,7 @@
|
||||
|
||||
Шпажки были порезаны на расчетные длины и подготовлены к последующей работе.
|
||||
|
||||
5. Сборка и установка
|
||||
## Сборка и установка
|
||||
|
||||
После того как все было напечатано и порезано, настало время собирать защиту.
|
||||
|
||||
@@ -85,7 +84,7 @@
|
||||
|
||||

|
||||
|
||||
6. Первые полеты
|
||||
## Первые полеты
|
||||
|
||||
Мы делали защиту под коптер «Клевер 2», являющийся обучающим пособием по сборке и настройке квадрокоптеров, и на него она устанавливается без доработок. Защита весит на 70 г больше (139 грамм), чем стандартная, и на управляемость и время полета почти не влияет.
|
||||
|
||||
|
||||
@@ -176,7 +176,6 @@ while not rospy.is_shutdown():
|
||||
|
||||
Пример подписки на топики из MAVROS:
|
||||
|
||||
|
||||
```python
|
||||
from geometry_msgs.msg import PoseStamped, TwistStamped
|
||||
from sensor_msgs.msg import BatteryState
|
||||
@@ -199,8 +198,12 @@ rospy.Subscriber('mavros/rc/in', RCIn, rc_callback)
|
||||
|
||||
Информацию по топикам MAVROS см. по [ссылке](mavros.md).
|
||||
|
||||
<!-- markdownlint-disable MD044 -->
|
||||
|
||||
### # {#mavlink}
|
||||
|
||||
<!-- markdownlint-enable MD044 -->
|
||||
|
||||
Пример отправки произвольного [MAVLink-сообщения](mavlink.md) коптеру:
|
||||
|
||||
```python
|
||||
|
||||
@@ -14,12 +14,15 @@
|
||||
Во время пайки:
|
||||
|
||||
1. Паяльник следует держать только за ручку, так как жало имеет высокую температуру.
|
||||

|
||||
|
||||

|
||||
|
||||
2. Для перемещения изделий применять специальные инструменты (пинцеты, клещи или другие инструменты), обеспечивающие безопасность при пайке.
|
||||
3. Во избежание ожогов расплавленным припоем при распайке не выдергивать резко с большим усилием паяемые провода.
|
||||
4. При пайке мелких и подвижных изделий пользоваться специальным держателем.
|
||||

|
||||
|
||||

|
||||
|
||||
5. Паяльник переносить за корпус, а не за провод или рабочую часть. При перерывах в работе паяльник отключать от электросети.
|
||||
|
||||
> **Caution** При обнаружении неисправной работы паяльника или возникновении возгорания отключить его от питающей электросети.
|
||||
|
||||
|
||||
@@ -1,121 +0,0 @@
|
||||
# Веб-пульт управления квадрокоптером
|
||||
|
||||
При подключении к Клеверу по Wi-Fi (`CLEVER-xxxx`) по адресу [192.168.11.1:7070](http://192.168.11.1:7070) открывается web-приложение – пульт управления квадрокоптером.
|
||||
|
||||
Для работы пульта необходимо убедиться, что в launch-файле Клевера (`~/catkin_ws/src/clever/clever/launch/clever.launch`) включены аргументы `web_server` и `rosbridge`.
|
||||
|
||||
```xml
|
||||
<arg name="rosbridge" default="true"/>
|
||||
```
|
||||
|
||||
```xml
|
||||
<arg name="web_server" default="true"/>
|
||||
```
|
||||
|
||||
При изменении launch-файла необходимо перезапустить сервис `clever`:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
```
|
||||
|
||||
## Стартовый экран
|
||||
|
||||
При загрузке приложения, автоматически устанавливается соединение с сервером 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