Transfer gitbook documentation to docs/

This commit is contained in:
Oleg Kalachev
2018-03-19 14:15:49 +03:00
parent 06fc6ceeb6
commit a547aacfa9
21 changed files with 163 additions and 165 deletions

View File

@@ -1,45 +0,0 @@
# Summary
* [Введение](docs/intro.md)
* [Сборка](docs/assemble.md)
* [Первоначальная настройка](docs/setup.md)
* [Полетные режимы](docs/modes.md)
* [Raspberry Pi](docs/raspberry.md)
* [Образ операционной системы на RPi](docs/microsd_images.md)
* [Подключение Raspberry Pi к PixHawk](docs/connection.md)
* [Подключение по Wi-Fi](docs/wifi.md)
* [Работа с QGroundControl через Wi-Fi](docs/gcs_bridge.md)
* [SSH-доступ](docs/ssh.md)
* [Неисправности радиоаппаратуры](docs/radioerrors.md)
* [Безопасность](docs/safety.md)
* [Техника безопасности по пайке](docs/tb.md)
* [Просмотр видеострима с камер](docs/web_video_server.md)
* [Работа с ROS](docs/ros.md)
* [MAVROS](docs/mavros.md)
* [Автономный полет в OFFBOARD](docs/simple_offboard.md)
* [Навигация по ArUco-маркерам](docs/aruco.md)
* [Взаимодействие с Arduino](docs/arduino.md)
* [Системы координат](docs/frames.md)
* [Работа с камерой \(компьютерное зрение\)](docs/camera.md)
* [Ориентация камеры](docs/camera_frame.md)
* [Визуализация с помощью rviz](docs/rviz.md)
* [Работа с SITL](docs/sitl.md)
* [Подключение GPS](docs/gps.md)
* [Использование 3G-модема](docs/3g.md)
* [Примеры программ](docs/snippets.md)
* Учебник
* [Урок 1](docs/les1.md)
* [Урок 2](docs/les2.md)
* [Урок 7](docs/les7.md)
* [Урок 8](docs/les8.md)
* [Урок 9](docs/les9.md)
* [Урок 11](docs/les11.md)
* [Урок 13](docs/les13.md)
* [Урок 15](docs/les15.md)
* [Урок 16](docs/les16.md)
* [Другое](drugoe.md)
* [CopterHack-2017](docs/copterhack2017.md)
* [Прошивка ESC контроллеров с помощью Arduino](docs/esc_firmware.md)
* [Работа со светодиодной лентой](docs/rabota-so-svetodiodnoi-lentoi.md)
* [Полезные ссылки](docs/links.md)

45
docs/SUMMARY.md Normal file
View File

@@ -0,0 +1,45 @@
# Summary
* [Введение](intro.md)
* [Сборка](assemble.md)
* [Первоначальная настройка](setup.md)
* [Полетные режимы](modes.md)
* [Raspberry Pi](raspberry.md)
* [Образ операционной системы на RPi](microsd_images.md)
* [Подключение Raspberry Pi к PixHawk](connection.md)
* [Подключение по Wi-Fi](wifi.md)
* [Работа с QGroundControl через Wi-Fi](gcs_bridge.md)
* [SSH-доступ](ssh.md)
* [Неисправности радиоаппаратуры](radioerrors.md)
* [Безопасность](safety.md)
* [Техника безопасности по пайке](tb.md)
* [Просмотр видеострима с камер](web_video_server.md)
* [Работа с ROS](ros.md)
* [MAVROS](mavros.md)
* [Автономный полет в OFFBOARD](simple_offboard.md)
* [Навигация по ArUco-маркерам](aruco.md)
* [Взаимодействие с Arduino](arduino.md)
* [Системы координат](frames.md)
* [Работа с камерой \(компьютерное зрение\)](camera.md)
* [Ориентация камеры](camera_frame.md)
* [Визуализация с помощью rviz](rviz.md)
* [Работа с SITL](sitl.md)
* [Подключение GPS](gps.md)
* [Использование 3G-модема](3g.md)
* [Примеры программ](snippets.md)
* Учебник
* [Урок 1](les1.md)
* [Урок 2](les2.md)
* [Урок 7](les7.md)
* [Урок 8](les8.md)
* [Урок 9](les9.md)
* [Урок 11](les11.md)
* [Урок 13](les13.md)
* [Урок 15](les15.md)
* [Урок 16](les16.md)
* [Другое](drugoe.md)
* [CopterHack-2017](copterhack2017.md)
* [Прошивка ESC контроллеров с помощью Arduino](esc_firmware.md)
* [Работа со светодиодной лентой](rabota-so-svetodiodnoi-lentoi.md)
* [Полезные ссылки](links.md)

View File

@@ -60,7 +60,7 @@ for(int i=0; i<8; i++) {
Работа с Клевером
---
Набор сервисов и топиков аналогичен обычному набору в [simple_offboard](/docs/simple_offboard.md) и [mavros](/docs/mavros.md).
Набор сервисов и топиков аналогичен обычному набору в [simple_offboard](simple_offboard.md) и [mavros](mavros.md).
Пример программы, контролирующей коптер по позиции, с использованием сервисов `navigate` и `set_mode`:
@@ -168,7 +168,7 @@ void loop()
Получение телеметрии
---
С Arduino можно использовать [сервис](/docs/simple_offboard.md) `get_telemetry`. Для этого надо объявить его по аналогии с сервисами `navigate` и `set_mode`:
С Arduino можно использовать [сервис](simple_offboard.md) `get_telemetry`. Для этого надо объявить его по аналогии с сервисами `navigate` и `set_mode`:
```cpp
#include <ros.h>

View File

@@ -13,11 +13,11 @@
Модуль `aruco_pose` позволяет восстанавливать позицию коптера относительно карты ArUco-маркеров и сообщать ее полетному контролеру, используя механизм [Vision Position Estimation](https://dev.px4.io/en/ros/external_position_estimation.html).
При наличии источника положения коптера по маркерам появляется возможность производить точную автономную indoor-навигацию по позициям при помощи модуля [simple\_offboard](/docs/simple_offboard.md).
При наличии источника положения коптера по маркерам появляется возможность производить точную автономную indoor-навигацию по позициям при помощи модуля [simple\_offboard](simple_offboard.md).
### Включение
Необходимо убедиться, что в launch-файле Клевера \(`~/catkin_ws/src/clever/clever/launch/clever.launch`\) включен запуск aruco\_pose и [камеры для компьютерного зрения](/docs/camera.md):
Необходимо убедиться, что в launch-файле Клевера \(`~/catkin_ws/src/clever/clever/launch/clever.launch`\) включен запуск aruco\_pose и [камеры для компьютерного зрения](camera.md):
```xml
<arg name="main_camera" default="true"/>
@@ -80,7 +80,7 @@ sudo systemctl restart clever
Нумерация маркеров ведется с левого верхнего угла поля.
Для контроля карты, по которой в данный момент коптер осуществляет навигацию, можно просмотреть содержимое топика `aruco_pose/map_image`. Через браузер его можно просмотреть при помощи [web\_video\_server](/docs/web_video_server.md) по ссылке [http://192.168.11.1:8080/snapshot?topic=/aruco\_pose/map\_image](http://192.168.11.1:8080/snapshot?topic=/aruco_pose/map_image):
Для контроля карты, по которой в данный момент коптер осуществляет навигацию, можно просмотреть содержимое топика `aruco_pose/map_image`. Через браузер его можно просмотреть при помощи [web\_video\_server](web_video_server.md) по ссылке [http://192.168.11.1:8080/snapshot?topic=/aruco\_pose/map\_image](http://192.168.11.1:8080/snapshot?topic=/aruco_pose/map_image):
![](/assets/Снимок экрана 2017-11-27 в 23.20.49.png)
@@ -106,7 +106,7 @@ _Примечание_: указанное выше определение пр
### Настройка полетного контролера
Для правильной работы Vision Position Estimation необходимо \(через [QGroundControl](/docs/gcs_bridge.md)\) убедиться, что:
Для правильной работы Vision Position Estimation необходимо \(через [QGroundControl](gcs_bridge.md)\) убедиться, что:
* Для PixHawk: Установлена прошивка с LPE \(local position estimator\). Для PixRacer: параметр `SYS_MC_EST_GROUP` установлен в `local_position_estimator, attitude_estimator_q`.
* В параметре `LPE_FUSION` включены **только** флажки `vision position`, `vision yaw`, `land detector`. Итоговое значение _28_.
@@ -126,9 +126,9 @@ _Примечание_: указанное выше определение пр
### Полет
При правильной настройке коптер начнет удерживать позицию по VPE \(в [режимах](/docs/modes.md) `POSCTL` или `OFFBOARD`\) автоматически.
При правильной настройке коптер начнет удерживать позицию по VPE \(в [режимах](modes.md) `POSCTL` или `OFFBOARD`\) автоматически.
Для [автономных полетов](/docs/simple_offboard.md) можно будет использовать функции `navigate`, `set_position`, `set_velocity`. Для полета в определенные координаты маркерного поля необходимо использовать фрейм `aruco_map`:
Для [автономных полетов](simple_offboard.md) можно будет использовать функции `navigate`, `set_position`, `set_velocity`. Для полета в определенные координаты маркерного поля необходимо использовать фрейм `aruco_map`:
```python
# Вначале необходимо взлететь, чтобы коптер увидел карту меток
@@ -141,7 +141,7 @@ time.sleep(5)
navigate(2, 2, 2, speed=1, frame_id='aruco_map', update_frame=True) # полет в координату 2:2, высота 3 метра
```
См. [другие функции](/docs/simple_offboard.md) simple offboard.
См. [другие функции](simple_offboard.md) simple offboard.
### Расположение маркеров на потолке
@@ -149,7 +149,7 @@ navigate(2, 2, 2, speed=1, frame_id='aruco_map', update_frame=True) # поле
![](/assets/IMG_4175.JPG)
Для навигации по маркерам, расположенным на потолке, необходимо поставить основную камеру так, чтобы она смотрела вверх и [установить соответствующий фрейм камеры](/docs/camera_frame.md).
Для навигации по маркерам, расположенным на потолке, необходимо поставить основную камеру так, чтобы она смотрела вверх и [установить соответствующий фрейм камеры](camera_frame.md).
Чтобы задавать карту маркеров в "перевернутой" системе координат, необходимо изменить параметр `aruco_orientation` в файле `~/catkin_ws/src/clever/clever/aruco.launch`:

View File

@@ -14,14 +14,14 @@
* Ножки x8.
* Защита для лучей x8.
* Защита пропеллеров x16.
* Защита боковая x16.
* Защита боковая x16.
* Пропеллер пластиковый Dalprop 5045 x4.
* Бесколлекторный электродвигатель Racerstar BR2205 2300kV x4.
* Регуляторы хода ESC, DYS XSD20А x4.
* Разъем силовой XT60 pin x1.
* Разъем силовой XT60 socket x1.
* Трехпроводной шлейф “мама-мама” x2.
* Провод медный многожильный с силиконовой изоляцией 14AWG (красный, черный), длина 50 см.
* Провод медный многожильный с силиконовой изоляцией 14AWG (красный, черный), длина 50 см.
* Плата распределения питания PDB BeeRotor Power Distribution Board V2.0 x1.
* Аккумуляторная батарея (АКБ) Li-ion 18650 x8.
* Зарядное устройство EFEST Luc V4 Li-lon x1.
@@ -33,7 +33,7 @@
* Зарядное устройство EFEST LUC V4 x1.
* Провод Micro USB - USB x1
* Батарейный отсек 18650 li-Ion x1
* Провод медный многожильный с силиконовой изоляцией 18AWG (красный, черный), длина 100 см.
* Провод медный многожильный с силиконовой изоляцией 18AWG (красный, черный), длина 100 см.
* Батарейка АА х4
* Джампер, Bind-разъем
@@ -81,7 +81,7 @@
Дополнительное оборудование
---------------------------
#### Данное оборудование не входит в состав конструктора Клевер 2, но оно необходимо для реализации сборочного процесса
#### Данное оборудование не входит в состав конструктора Клевер 2, но оно необходимо для реализации сборочного процесса
1. Паяльник
2. Канифоль/ Флюс (нейтральный)
@@ -93,9 +93,9 @@
8. Мультиметр
![Дополнительное оборудование](../assets/addEqipment.jpg)
![Техника безопасности при пайке](../docs/tb.md)
![Техника безопасности при пайке](tb.md)
Порядок сборки
--------------
@@ -112,7 +112,7 @@
Скрутить провода.
Залудить
* Нанести флюс на оголенную часть провода.
* Нанести флюс на оголенную часть провода.
* Покрыть припоем, используя пинцет.
![Лужение](../assets/zap.jpg)
@@ -130,7 +130,7 @@
//указать стрелками направление вращения на моторах
#### Залудить три контактные площадки регулятора
* Нанести флюс
* Нанести флюс
* Нанести припой
Чтобы припой аккуратно заполнил всю площадку, необходимо прогреть площадку регулятора. Для этого нужно удерживать жало паяльника на контактной плащадке в течение 2 сек (или больше, если потребуется)
@@ -146,7 +146,7 @@
* Повторить данную операцию для оставшихся трех регуляторов
### Монтаж разъемов питания
![Статья про силовые и управляющие цепи](/power.md)
![Статья про силовые и управляющие цепи](power.md)
#### Подготовка проводов для силовых разъемов XT60
@@ -191,21 +191,21 @@
#### Предпаячная проверка
![Статья про прозвонку](/notes/testConnection.md)
![Статья про прозвонку](testConnection.md)
![Предпаячная проверка](../assets/startPDBtest.jpg)
Прозвонить следующие цепи на НЕЗАМКНУТОСТЬ (отсутствие звукового сигнала мультиметра):
* “BAT+” и “BAT-”
* “BAT+” и “BAT-”
* “12V” и “GND”
* “5V” и “GND”
Прозвонить следующие цепи на ЗАМКНУТОСТЬ (появление звукового сигнала мультиметра):
* “BAT-” c каждым контактом, обозначенным “-” и “GND”
* “BAT-” c каждым контактом, обозначенным “-” и “GND”
* “BAT+”, с каждым контактом, обозначенным “+”
#### Залудить контактные площадки платы питания
1. ![Залудить*](../notes/zap.md) контактные площадки платы питания.
1. ![Залудить*](zap.md) контактные площадки платы питания.
2. С помощью мультиметра проверить отсутствие контактного замыкания на плате (прозвонить)
![Постпаячная проверка](../assets/zapPDBtest.jpg)
@@ -261,7 +261,7 @@
![Монтаж пластиковых держателей](../assets/holderLegs.png)
2. Установить лучи на раму винтами М3х16
*Лучи устанавливаются поверх рамы
*Лучи устанавливаются поверх рамы
*Пластиковые держатели устанавливаются снизу рамы
![Монтаж лучей](../assets/mountBeams.png)
@@ -302,7 +302,7 @@
![Подключение питания приемника](../assets/connectingRadio.png)
![Мануал по неисправностям](../docs/radioerrors1.md)
![Мануал по неисправностям](radioerrors1.md)
### Проверка направления вращения моторов
1. Наклеить наклейки на АКБ 18650.
2. Установить 18650 в отсек АКБ, соблюдая полярность.
@@ -329,7 +329,7 @@
2. Разъем питания 5В продеть в прорезь.
![Установка стоек и прорезь](../assets/mountReceiverStud.png)
3. Приемник прикрепить к ![нижней дополнительной раме*](../notes/deck.md), используя двухсторонний скотч и ориентируясь на гравировку. Антенны направлены вперед.
3. Приемник прикрепить к ![нижней дополнительной раме*](../notes/deck.md), используя двухсторонний скотч и ориентируясь на гравировку. Антенны направлены вперед.
![Установка радиоприемника на деку](../assets/mountReceiverDeck.png)
@@ -337,7 +337,7 @@
![Подключение радиоприемника](../assets/receiverPPM.png)
5. Продеть в прорезь к разъему 5 В.
6. Прикрутить нижнюю дополнительную раму к стойкам на центральной раме винтами М3х8.
6. Прикрутить нижнюю дополнительную раму к стойкам на центральной раме винтами М3х8.
![Установка нижней деки](../assets/mountBottomDeck.png)
##### ВАЖНО
@@ -349,7 +349,7 @@
![Переворачиваем сборку](../assets/topPreview.png)
#### Установка полетного контроллера Pixhawk
1. Клеим 2х сторонний скотч по углам полетного контроллера
1. Клеим 2х сторонний скотч по углам полетного контроллера
![Полетный контроллер](../assets/pixhawk.png)
##### ВАЖНО
@@ -420,7 +420,7 @@
Коптер готов к настройке!
## БЕЗОПАСНОСТЬ ПРИ СБОРКЕ И НАСТРОЙКЕ
## Безопасность при сборке и настройке
1. Снять пропеллеры.“Все наземные операции производить со снятыми пропеллерами. Устанавливать пропеллеры на моторы только перед полётом.”
@@ -434,13 +434,11 @@
## Безопасность при работе с Li-ion аккумуляторами 18650
1. Обращаться с аккумуляторами бережно. Не допускать падений, ударов деформаций.
1. Обращаться с аккумуляторами бережно. Не допускать падений, ударов деформаций.
2. При подключении (отключении) аккумуляторов держаться только за разъёмы, тянуть или дергать за провода запрещается.
3. В случае обрыва разъемов, обнаружения нарушений целостности изоляции или корпуса аккумулятора, не трогая его, немедленно сообщить преподавателю.
## ![БЕЗОПАСНОСТЬ ПРИ ЛЁТНОЙ ЭКСПЛУАТАЦИИ КОПТЕРОВ](../docs/safetyDoc.md#ПОЛЁТЫ)
## ![БЕЗОПАСНОСТЬ ПРИ ЛЁТНОЙ ЭКСПЛУАТАЦИИ КОПТЕРОВ](safetyDoc.md#ПОЛЁТЫ)

View File

@@ -3,15 +3,15 @@
Пакет программ clever_bundle, устанавливающийся на Raspberry Pi, позволяет:
* [Настраивать и управлять коптером используя QGroundControl с соединением по Wi-Fi](/docs/gcs_bridge.md)
* [Использовать веб-пульт управления квадрокоптером](/docs/web_rc.md)
* [Получать доступ к Raspberry Pi при помощи SSH](/docs/ssh.md)
* [Настраивать и управлять коптером используя QGroundControl с соединением по Wi-Fi](gcs_bridge.md)
* [Использовать веб-пульт управления квадрокоптером](web_rc.md)
* [Получать доступ к Raspberry Pi при помощи SSH](ssh.md)
* Анализировать полеты квадрокоптера с помощью RViz и RosBag
* [Работать с камерой для CV](/docs/camera.md)
* [Работать с камерой для CV](camera.md)
* Работать с камерой для FPV
* [Управлять полетом коптера программно, используя модуль offboard](/docs/offboard.md)
* [Осуществлять навигацию в поле ArUco-маркеров](/docs/aruco.md)
* [Использовать внешний 3G-модем для осуществление связи коптера с Интернетом](/docs/3g.md)
* [Управлять полетом коптера программно, используя модуль offboard](offboard.md)
* [Осуществлять навигацию в поле ArUco-маркеров](aruco.md)
* [Использовать внешний 3G-модем для осуществление связи коптера с Интернетом](3g.md)
* Разрабатывать произвольные модули и системы
Установка clever_bundle
@@ -25,7 +25,7 @@
Образ SD-карты включает в себя:
* ОС [Raspbian Jessie](https://www.raspberrypi.org/downloads/raspbian/)
* Фреймворк [ROS](/docs/ros.md)
* Пакет [MAVROS](/docs/mavros.md) для связи с PixHawk по MAVLINK
* Фреймворк [ROS](ros.md)
* Пакет [MAVROS](mavros.md) для связи с PixHawk по MAVLINK
* Дополнительные пакеты ROS: web_video_server, usb_cam, rosbridge_suite и другие
* Пакет программ clever_bundle

View File

@@ -6,7 +6,7 @@
<arg name="main_camera" default="true"/>
```
Также нужно убедиться, что для камеры [указано корректное расположение и ориентация](/docs/camera_frame.md).
Также нужно убедиться, что для камеры [указано корректное расположение и ориентация](camera_frame.md).
При изменении launch-файла необходимо перезапустить пакет `clever`:
@@ -14,11 +14,11 @@
sudo systemctl restart clever
```
Для мониторинга изображения с камеры можно использовать rqt или [web_video_server](/docs/web_video_server.md).
Для мониторинга изображения с камеры можно использовать rqt или [web_video_server](web_video_server.md).
## Компьютерное зрение
Для реализации алгоритмов компьютерного зрения рекомендуется использовать предустановленную на [образ SD-карты](/docs/microsd_images.md) библиотеку [OpenCV](https://opencv.org).
Для реализации алгоритмов компьютерного зрения рекомендуется использовать предустановленную на [образ SD-карты](microsd_images.md) библиотеку [OpenCV](https://opencv.org).
### Python
@@ -56,4 +56,4 @@ image_pub = rospy.Publisher('~debug', Image)
image_pub.publish(bridge.cv2_to_imgmsg(cv_image, 'bgr8'))
```
Получаемые изображения можно просматривать используя [web_video_server](/docs/web_video_server.md).
Получаемые изображения можно просматривать используя [web_video_server](web_video_server.md).

View File

@@ -6,7 +6,7 @@
<node pkg="tf2_ros" type="static_transform_publisher" name="main_camera_frame" args="0 0 -0.07 -1.5707963 0 3.1415926 fcu main_camera_optical"/>
```
Эта строка задает статическую трансформацию между фреймом `fcu` ([соответствует корпусу полетного контроллера](/docs/frames.md)) и камерой (`main_camera_optical`) в формате:
Эта строка задает статическую трансформацию между фреймом `fcu` ([соответствует корпусу полетного контроллера](frames.md)) и камерой (`main_camera_optical`) в формате:
```
сдвиг_x сдвиг_y сдвиг_z угол_рысканье угол_тангаж угол_крен
@@ -17,7 +17,7 @@
* y указывает вниз на изображении;
* z указывает от плоскости матрицы камеры.
Сдвиги задаются в метрах, углы задаются в радианах. Корректность установленной трансформации может быть проверена с использованием [rviz](/docs/rviz.md).
Сдвиги задаются в метрах, углы задаются в радианах. Корректность установленной трансформации может быть проверена с использованием [rviz](rviz.md).
## Настройки для Клевера

View File

@@ -1,7 +1,7 @@
Подключение PixHawk/PixRacer к Raspberry Pi
===
Для программирования [автономных полетов](/docs/simple_offboard.md), [работы с PixHawk по Wi-Fi](/docs/gcs_bridge.md), использования [веб-пульта](/docs/web_rc.md) и других функций необходимо подсоединить Raspberry Pi к PixHawk.
Для программирования [автономных полетов](simple_offboard.md), [работы с PixHawk по Wi-Fi](gcs_bridge.md), использования [веб-пульта](web_rc.md) и других функций необходимо подсоединить Raspberry Pi к PixHawk.
Убедиться в работоспособности подключения, выполнив на Raspberry Pi:
@@ -53,7 +53,7 @@ sudo systemctl restart clever
Подключение к SITL
---
Для того, чтобы подсоединиться к локально/удаленно запущенному [SITL](/docs/sitl.md), необходимо установить аргумент `fcu_conn` в `udp`, и `fcu_ip` в IP-адрес машины, где запущен SITL (`127.0.0.1` для локального):
Для того, чтобы подсоединиться к локально/удаленно запущенному [SITL](sitl.md), необходимо установить аргумент `fcu_conn` в `udp`, и `fcu_ip` в IP-адрес машины, где запущен SITL (`127.0.0.1` для локального):
```xml
<arg name="fcu_conn" default="udp"/>

View File

@@ -11,4 +11,4 @@
> **Hint** В соответствии с [соглашением](http://www.ros.org/reps/rep-0103.html), для фреймов, связанных с коптером, ось X направлена вперед, Y налево и Z вверх.
Более наглядно 3D визуализацию систем координат можно наблдюдать, используя [rviz](/docs/rviz.md).
Более наглядно 3D визуализацию систем координат можно наблдюдать, используя [rviz](rviz.md).

View File

@@ -4,6 +4,6 @@
При подключении GPS появляются следующие возможности:
* Удерживание коптером позиции при полете на улице
* Программирование автономных миссий в программе QGroundControl
* Полеты на глобальные точки в автономном режиме при помощи модуля [simple offboard](/docs/simple_offboard.md).
* Полеты на глобальные точки в автономном режиме при помощи модуля [simple offboard](simple_offboard.md).
TODO

View File

@@ -6,7 +6,7 @@ MAVROS \(MAVLink + ROS\) — это пакет для ROS, предоставл
MAVROS подписывается определенные ROS-топики в ожидании команд, публикует в другие топики телеметрию, и предоставляет сервисы.
Узел mavros автоматически запускается в launch-файле Клевера. Для [настройки типа подключения](/docs/connection.md) см. аргумент `fcu_conn`.
Узел mavros автоматически запускается в launch-файле Клевера. Для [настройки типа подключения](connection.md) см. аргумент `fcu_conn`.
## Основные сервисы
@@ -46,5 +46,5 @@ MAVROS подписывается определенные ROS-топики в
`/mavros/setpoint_raw/global` — отправка пакета [SET\_POSITION\_TARGET\_GLOBAL\_INT](https://pixhawk.ethz.ch/mavlink/#SET_POSITION_TARGET_GLOBAL_INT). Позволяет установить целевую позицию в глобальных координатах \(ширина, долгота, высота\), а также скорости полета. **Не поддерживается в PX4** \([issue](https://github.com/PX4/Firmware/issues/7552)\).
[Упрощенное управление коптером с помощью Simple Offboard](/docs/simple_offboard.md).
[Упрощенное управление коптером с помощью Simple Offboard](simple_offboard.md).

View File

@@ -7,7 +7,7 @@
> **Warning** Мобильный пульт предназначен в первую очередь для полетов в помещении на дальность не более 10-15 м. Большое количество Wi-Fi сетей также может ухудшить отзывчивость и дальность пульта.
Для включения бэкенда пульта, установите [образ Clever на RPi](/docs/microsd_images.md), а также убедитесь, что он включен в launch-файле Клевера (`~/catkin_ws/src/clever/clever/launch/clever.launch`):
Для включения бэкенда пульта, установите [образ Clever на RPi](microsd_images.md), а также убедитесь, что он включен в launch-файле Клевера (`~/catkin_ws/src/clever/clever/launch/clever.launch`):
```xml
<arg name="rc" value="true"/>
@@ -27,11 +27,11 @@ sudo systemctl restart clever
Стики на экране приложения работают также, как и реальные стики. Для арминга коптера подержите левый стик в правом нижнем углу на протяжении нескольких секунд. Для дизарминга – в левом нижнем углу.
Пульт отображает текущий [режим PX4](/docs/modes.md) а также уровень заряда батареи. При низком значении заряда батареи телефон будет вибрировать.
Пульт отображает текущий [режим PX4](modes.md) а также уровень заряда батареи. При низком значении заряда батареи телефон будет вибрировать.
> **Note** Если интерфейс пульта отображает явно неправильное напряжение (напр. > 5 V), проверьте, что значение PX4-параметра `BAT_N_CELLS` соответствует реальному количество элементов батареи. Если отображаемое напряжение все равно неверно, откалибруйте батарею (TODO: ссылка).
> **Note** Если вместо режима PX4 отображается текст "DISCONNECTED FROM FCU", проверьте [подключение Raspberry Pi к PixHawk](/docs/connection.md).
> **Note** Если вместо режима PX4 отображается текст "DISCONNECTED FROM FCU", проверьте [подключение Raspberry Pi к PixHawk](connection.md).
Веб-версия
---

View File

@@ -29,4 +29,4 @@ export ROS_IP=192.168.11.1
В качестве reference frame рекомендуется установить фрейм `local_origin`. Для визуализации коптера можно добавить визуализационные маркеры из топика `/vehicle_markers`. Можно просмотреть картинку с дополненной реальностью из топика основной камеры `/main_camera/image_raw`.
Axis или Grid настроенный на фрейм `aruco_map` будут визуализировать расположение [карты ArUco-меток](/docs/aruco.md).
Axis или Grid настроенный на фрейм `aruco_map` будут визуализировать расположение [карты ArUco-меток](aruco.md).

View File

@@ -15,14 +15,14 @@
### Подставка
При работе с горячим паяльником важно использовать подставку. В отсутствии заводской подставки, можно использовать изготовленную
из деревянного бруска и металлических держателей. Подставка позволяет расположить инструмент, без риска,
При работе с горячим паяльником важно использовать подставку. В отсутствии заводской подставки, можно использовать изготовленную
из деревянного бруска и металлических держателей. Подставка позволяет расположить инструмент, без риска,
что он упадет на горючие материалы.
### Проветривание помещения
Канифоль и припой при плавлении выделяют значительное количество вредных веществ.
Настойчиво советуется проветривать помещение после каждой пайки.
Канифоль и припой при плавлении выделяют значительное количество вредных веществ.
Настойчиво советуется проветривать помещение после каждой пайки.
Через каждые 30 минут нужно делать небольшие перерывы со сквозным проветриванием помещения и не забывать при этом отключать паяльник.
### Как держать паяльник?
@@ -32,7 +32,7 @@
![Паяльник состав](../assets/solderConsist.jpg)
![Подробнее...->](../docs/tb.md)
![Подробнее...->](tb.md)
@@ -56,8 +56,8 @@
* Располагать зрителей за спиной пилота или за линией, проходящей через оба плеча пилота за спиной пилота.
* Не допускать выхода зрителей в полусферу перед лицом пилота.
* Знать и помнить время полёта, на которое рассчитан данный коптер и его аккумулятор.
* ДО подключения Li-ion аккумулятора включить аппаратуру управления (пульт), перевести левый стик (газ) в нулевое положение.
* Знать и помнить время полёта, на которое рассчитан данный коптер и его аккумулятор.
* ДО подключения Li-ion аккумулятора включить аппаратуру управления (пульт), перевести левый стик (газ) в нулевое положение.
* Подключать Li-ion аккумулятор только перед взлётом, отключать сразу после взлёта.
* Стоять на расстоянии не менее 3 м от коптера.
* Взлетать с земли с ровной площадки, на расстоянии не менее 3 метров от препятствий.
@@ -67,13 +67,13 @@
* Выполнять все указания преподавателя или лётного инструктора.
* Заранее обозначить зону пилотажа. Летать только в обозначенной зоне и не допускать вылета за её пределы. Не залетать за собственную спину.
* При обучении полётам летать на уровне ниже собственного роста.
* Летать рядом с собой на расстоянии, на котором вам видна ориентация коптера в пространстве. Не улетать далеко от себя. В случае сомнений в ориентации коптера немедленно выполнить посадку на месте. Не пытаться взлететь. Подойти ближе к коптеру и выполнить взлёт.
* При управлении все движения стиками выполнять аккуратно и плавно. Не допускать резких движений. При необходимости изменить направление полёта двигать стиками следует энергично, но не резко.
* Летать рядом с собой на расстоянии, на котором вам видна ориентация коптера в пространстве. Не улетать далеко от себя. В случае сомнений в ориентации коптера немедленно выполнить посадку на месте. Не пытаться взлететь. Подойти ближе к коптеру и выполнить взлёт.
* При управлении все движения стиками выполнять аккуратно и плавно. Не допускать резких движений. При необходимости изменить направление полёта двигать стиками следует энергично, но не резко.
> **Caution** Резкие движения стиками запрещаются. Движения стиками в края запрещаются.
* Летать следует осторожно и выполнять только те элементы, в которых нет сомнений. Запрещается выполнять фигуры пилотажа, в успехе которых возникают сомнения и фигуры, связанные с риском.
* Соблюдать скоростной режим. Скорость полёта коптера держать в пределах скорости идущего человека.
* Летать следует осторожно и выполнять только те элементы, в которых нет сомнений. Запрещается выполнять фигуры пилотажа, в успехе которых возникают сомнения и фигуры, связанные с риском.
* Соблюдать скоростной режим. Скорость полёта коптера держать в пределах скорости идущего человека.
* Вернуть коптер к месту посадки к рассчитанному времени, не допускать полной разрядки аккумулятора в полёте.
* Посадку выполнять только на ровную открытую площадку вдали от препятствий

View File

@@ -59,17 +59,17 @@
#### Убедитесь, что перед калибровкой:
* К коптеру не подключено внешнее питание АКБ
* Пропеллеры не установлены на моторах
1. Заходим в меню Radio
2. Включаем пульт, переводя переключатель Power в верхнее положение
3. Далее необходимо убедиться, что связь с приемником установлена:
* На ЖК Экране пульта высвечивается индикация
![ Индикация пульта](../assets/unblockView.jpg)
* Светодиод на приемнике горит непрерывно красным
При наличиии проблем с подключением щелкните ![здесь](../docs/radioerrors1.md)
При наличиии проблем с подключением щелкните ![здесь](radioerrors1.md)
### 8. Настройка режимных каналов
@@ -85,7 +85,7 @@
1. Зайдите в МЕНЮ (удерживаем нажатой кнопку “ОК”)
2. Выберите меню “Functions setup” (Кнопки Up/Down - для навигации, кнопка “ОК” - подтверждение выбора
3. Выберите “Aux. channels”
4. Выберите
4. Выберите
* Channel 5 - SwC
* Channel 6 - SwA
5. Сохраните изменения (удерживаем нажатой кнопку “CANCEL”)
@@ -97,23 +97,23 @@
Начинаем процедуру калибровки
1. Нажимаем кнопку Calibrate
2. Устанавливаем триммеры Throttle, Yaw, Pitch, Roll в 0.
* Триммеры позволяют задавать смещение коптеру.
2. Устанавливаем триммеры Throttle, Yaw, Pitch, Roll в 0.
* Триммеры позволяют задавать смещение коптеру.
* Чтобы установить один из триммеров в 0, необходимо на пульте переместить указатель в центр до длительного звукового сигнала (писка)
3. Жмем ОК
![Калибровка пульта Начало](../assets/calibrateViewStart.jpg)
4. Переводим Левый стик (газ) (throttle) в минимум и кликаем Next
5. Калибровка каналов управления (throttle, yaw, pitch, roll).
5. Калибровка каналов управления (throttle, yaw, pitch, roll).
Повторяем движения стиками вслед за анимацией и читаем подсказки.
6. Калибровка переключателей.
При появлении надписи Move all transmitter switches and/or dials back and forth to their extreme positions переключаем SwA..SwD, VrA, VrB в их конечные положения.
6. Калибровка переключателей.
При появлении надписи Move all transmitter switches and/or dials back and forth to their extreme positions переключаем SwA..SwD, VrA, VrB в их конечные положения.
Кликаем Next
7. Сохранение параметров.
При появлении надписи "All settings have been captured. Click Next to write the new parameters to your board"
Кликаем Next
8. Калибровка пульта завершена!
![Калибровка пульта](../assets/calibrateView.jpg)
@@ -124,9 +124,9 @@
1. Заходим в меню Sensors > Accelerometer
2. Поскольку направление Pixhawk совпадает с носом БПЛА, то выбираем Autopilot Orientation: ROTATION_NONE
Кликаем OK
![Калибровка акселерометра](../assets/calibrateaxcelstart.jpg)
3. Начинаем калибровку:
Последовательно располагаем БПЛА как на картинках, когда Pixhawk захватит положение, вокруг картинки появится желтая рамка - удерживаем в этом положении БПЛА до переключения в зеленую рамку
@@ -144,22 +144,22 @@
![Калибровка компаса](../assets/calibratecompass.jpg)
### 12. Калибровка гироскопа
1. Заходим в меню Sensors > Gyroscope
2. Устанавливаем БПЛА на ровную поверхность и кликаем OK
Ждем окончания калибровки.
Ждем окончания калибровки.
![Калибровка компаса](../assets/calibrategyro.jpg)
##### Во время калибровки БПЛА не должен менять своего положения, шататься и т.д.
### 13. Полетные режимы
1. Заходим в меню Flight Modes
2. Устанавливаем переключатель каналов на переключатель SwC (Channel 5)
2. Устанавливаем переключатель каналов на переключатель SwC (Channel 5)
Mode channel - Channel 5
3. Переключая SwC, текущий режим подсвечивается желтым цветом.
4. Назначаем полетные режимы:
@@ -167,12 +167,12 @@
* Flight Mode 4: Altitude
* Flight Mode 6: Hold
5. Отображение текущего полетного режима
6. Аварийное отключение моторов ставим на переключатель SwA (Channel 6).
6. Аварийное отключение моторов ставим на переключатель SwA (Channel 6).
Kill switch - Channel 6
![Полетные режимы](../assets/flightModes.jpg)
### 14. Отключение Safety Switch
В полетном контроллере PIXHAWK стоит защита моторов от случайного использования.
@@ -184,10 +184,10 @@
4. Повторяем установку максимальных значений для всех параметров, кроме CBRK_RATE_CTRL и CBRK_VELPOSERR
![Отключение кнопки безопасности](../assets/turnoffSafetyswitch.jpg)
### 15. Калибровка регуляторов
1. Заходим в меню Power
2. Устанавливаем количество банок Number of cells - 4S
3. Устанавливаем параметр Full Voltage (per cell) - 4.20V
@@ -201,15 +201,15 @@
![Калибровка регуляторов](../assets/calibrateESC.jpg)
### 16. Настройка PID - регулятора
Если во время полета, квадрокоптер имеет осцилляции (колебания) и в связи с этим не может корректно летать, то необходимо провести ![подстройку коэффициентов ПИД - регулятора](../notes/calibratePID.md)
Если во время полета, квадрокоптер имеет осцилляции (колебания) и в связи с этим не может корректно летать, то необходимо провести ![подстройку коэффициентов ПИД - регулятора](../notes/calibratePID.md)
По умолчанию для квадрокоптера Клевер 2 используются следующие коэффициенты:
1. Заходим в меню Parameters > Multicopter Attitude Control
2. Устанавливаем выделенные значения параметров ПИД регулятора для углов Roll и Pitch:
* MC_PITCHRATE_P: 0.145
* MC_PITCHRATE_I: 0.050
* MC_PITCHRATE_D: 0.0025
@@ -222,7 +222,7 @@
## ИНСТРУКЦИЯ ПО БЕЗОПАСНОСТИ
#### Безопасность при подготовке к вылету
* Убедиться, что Li-ion аккумуляторы заряжены.
@@ -237,9 +237,9 @@
* Располагать зрителей за спиной пилота или за линией, проходящей через оба плеча пилота за спиной пилота.
* Не допускать выхода зрителей в полусферу перед лицом пилота.
* Знать и помнить время полёта, на которое рассчитан данный коптер и его аккумулятор.
* Знать и помнить время полёта, на которое рассчитан данный коптер и его аккумулятор.
* ДО подключения Li-ion аккумулятора включить аппаратуру управления (пульт), перевести левый стик (газ) в нулевое положение.
* ДО подключения Li-ion аккумулятора включить аппаратуру управления (пульт), перевести левый стик (газ) в нулевое положение.
* Подключать Li-ion аккумулятор только перед взлётом, отключать сразу после взлёта.
* Стоять на расстоянии не менее 3 м от коптера.
* Взлетать с земли с ровной площадки, на расстоянии не менее 3 метров от препятствий.
@@ -249,13 +249,13 @@
* Выполнять все указания преподавателя или лётного инструктора.
* Заранее обозначить зону пилотажа. Летать только в обозначенной зоне и не допускать вылета за её пределы. Не залетать за собственную спину.
* При обучении полётам летать на уровне ниже собственного роста.
* Летать рядом с собой на расстоянии, на котором вам видна ориентация коптера в пространстве. Не улетать далеко от себя. В случае сомнений в ориентации коптера немедленно выполнить посадку на месте. Не пытаться взлететь. Подойти ближе к коптеру и выполнить взлёт.
* При управлении все движения стиками выполнять аккуратно и плавно. Не допускать резких движений. При необходимости изменить направление полёта двигать стиками следует энергично, но не резко.
* Летать рядом с собой на расстоянии, на котором вам видна ориентация коптера в пространстве. Не улетать далеко от себя. В случае сомнений в ориентации коптера немедленно выполнить посадку на месте. Не пытаться взлететь. Подойти ближе к коптеру и выполнить взлёт.
* При управлении все движения стиками выполнять аккуратно и плавно. Не допускать резких движений. При необходимости изменить направление полёта двигать стиками следует энергично, но не резко.
“РЕЗКИЕ движения стиками ЗАПРЕЩАЮТСЯ. Движения стиками В КРАЯ ЗАПРЕЩАЮТСЯ.”
* Летать следует осторожно и выполнять только те элементы, в которых нет сомнений. Запрещается выполнять фигуры пилотажа, в успехе которых возникают сомнения и фигуры, связанные с риском.
* Соблюдать скоростной режим. Скорость полёта коптера держать в пределах скорости идущего человека.
* Летать следует осторожно и выполнять только те элементы, в которых нет сомнений. Запрещается выполнять фигуры пилотажа, в успехе которых возникают сомнения и фигуры, связанные с риском.
* Соблюдать скоростной режим. Скорость полёта коптера держать в пределах скорости идущего человека.
* Вернуть коптер к месту посадки к рассчитанному времени, не допускать полной разрядки аккумулятора в полёте.
* Посадку выполнять только на ровную открытую площадку вдали от препятствий
@@ -280,9 +280,9 @@
2. Отключить Li-ion аккумулятор на коптере.
3. Выключить пульт.
""
""
=====================
3. Залить прошивку PX4 последней версии. Для полетов в помещении на клевере вариант с эстимейтором LPE.
TODO
@@ -298,4 +298,4 @@ TODO
7. Включить land detector (если необходим режим AUTO.LAND), изменив значения параметра COM_DISARM_LAND. Подробнее: https://dev.px4.io/en/tutorials/land_detector.html
Далее: [Подключение Raspberry Pi к PixHawk](/docs/connection.md).
Далее: [Подключение Raspberry Pi к PixHawk](connection.md).

View File

@@ -1,16 +1,16 @@
Simple offboard
===
Модуль `simple_offboard` пакета `clever` предназначен для упрощенного программирования автономного дрона (режим `OFFBOARD`). Он позволяет устанавливать желаемые полетные задачи и автоматически трансформирует [систему координат](/docs/frames.md).
Модуль `simple_offboard` пакета `clever` предназначен для упрощенного программирования автономного дрона (режим `OFFBOARD`). Он позволяет устанавливать желаемые полетные задачи и автоматически трансформирует [систему координат](frames.md).
`simple_offboard` является высокоуровневым способом взаимодействия с полетным контроллером. Для более низкоуровневой работы см. [mavros](/docs/mavros.md).
`simple_offboard` является высокоуровневым способом взаимодействия с полетным контроллером. Для более низкоуровневой работы см. [mavros](mavros.md).
Основные сервисы `get_telemetry` (получение всей телеметрии разом), `navigate` (полет в заданную точку по прямой), `land` (переход в режим посадки).
Общие для сервисов параметры:
* `auto_arm` = `true`/`false` перевести коптер в OFFBOARD и заармить автоматически (**коптер взлетит, если находится на полу!**)
* `frame_id` — система координат в TF2, в которой заданы координаты и рысканье (yaw), [описание систем координат](/docs/frames.md);
* `frame_id` — система координат в TF2, в которой заданы координаты и рысканье (yaw), [описание систем координат](frames.md);
* `update_frame` — считать ли систему координат изменяющейся (например, `false` для `local_origin`, `fcu`, `fcu_horiz`, `true` для `marker_map`);
* `x`, `y` горизонтальные координаты в системе координат `frame_id`;
* `z` — высота в системе координат `frame_id`;
@@ -71,9 +71,9 @@ release = rospy.ServiceProxy('/release', Trigger)
* `frame_id` – фрейм
* `connected` есть ли подключение к <abbr title="Flight Control Unit, полетный контроллер">FCU</abbr>
* `armed` состояние `armed` винтов (винты включены, если true)
* `mode` - текущий [полетный режим](/docs/modes.md)
* `mode` - текущий [полетный режим](modes.md)
* `x, y, z` – локальная позиция коптера
* `lat, lon` широта, долгота (при наличии [gps](/docs/gps.md))
* `lat, lon` широта, долгота (при наличии [gps](gps.md))
* `vx, vy, vz` скорость коптера
* `pitch`  угол по тангажу (радианы)
* `roll` угол по крену (радианы)
@@ -269,14 +269,14 @@ set_velocity_yaw_rate(vx=0.2, vy=0.0, vz=0, yaw_rate=0.5, frame_id: 'fcu_horiz',
### release
Перестать публиковать команды коптеру (отпустить управление).
Возможно продолжение управления средствами [MAVROS](/docs/mavros.md), [Веб-пультом управления](/docs/web_rc.md).
Возможно продолжение управления средствами [MAVROS](mavros.md), [Веб-пультом управления](web_rc.md).
Посадка
-------
> **Info** Образ версии >0.5.
Для посадки можно использовать сервис `/land`. При вызове сервиса коптер автоматически переведется в [режим](/docs/modes.md) `AUTO.LAND` (или аналогичный).
Для посадки можно использовать сервис `/land`. При вызове сервиса коптер автоматически переведется в [режим](modes.md) `AUTO.LAND` (или аналогичный).
Объявление прокси к сервису:
@@ -316,4 +316,4 @@ set_mode = rospy.ServiceProxy('/mavros/set_mode', SetMode) # объявляем
set_mode(base_mode=0, custom_mode='AUTO.LAND') # включаем режим посадки
```
Для полетов в поле ArUco-макеров см. [навигация по ArUco](/docs/aruco.md).
Для полетов в поле ArUco-макеров см. [навигация по ArUco](aruco.md).

View File

@@ -4,7 +4,7 @@
Python
---
Функция определения расстяния между двумя точками (**важно**: точки должны быть в одной [системе координат](/docs/frames.md)):
Функция определения расстяния между двумя точками (**важно**: точки должны быть в одной [системе координат](frames.md)):
```python
def get_distance(x1, y1, z1, x2, y2, z2):

View File

@@ -1,7 +1,7 @@
Доступ по SSH к Raspberry Pi
===
На [образе для RPi](/docs/microsd_images.md) преднастроен доступ по SSH для редактирования файлов, загрузки данных и запуска программ.
На [образе для RPi](microsd_images.md) преднастроен доступ по SSH для редактирования файлов, загрузки данных и запуска программ.
Для доступа к Raspberry Pi на Клевере по SSH из Linux или macOS необходимо запустить Терминал и выполнить команду:

View File

@@ -1,6 +1,6 @@
# Просмотр изображений с камер
Для просмотра изображений с камер можно воспользовться [rviz](/docs/rviz.md), rqt, или смотреть их через браузер, используя web\_video\_server.
Для просмотра изображений с камер можно воспользовться [rviz](rviz.md), rqt, или смотреть их через браузер, используя web\_video\_server.
## Настройка

View File

@@ -1,7 +1,7 @@
Подключение к Клеверу по Wi-Fi
===
На [образе для RPi](/docs/microsd_images.md) преднастроена раздача Wi-Fi с SSID `CLEVER-xxxx`, где xxxx 4 случайных цифры, назначаемых при первом включении Raspberry Pi.
На [образе для RPi](microsd_images.md) преднастроена раздача Wi-Fi с SSID `CLEVER-xxxx`, где xxxx 4 случайных цифры, назначаемых при первом включении Raspberry Pi.
Пароль: `cleverwifi`.