From 31351100aa53a9dab86d99bb159efb371ff023ef Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Mon, 10 Dec 2018 07:11:00 +0300 Subject: [PATCH] docs: making linter happy + remove unused --- .markdownlint.json | 5 +- docs/ru/arduino.md | 12 ++-- docs/ru/aruco.md | 2 +- docs/ru/assemble_2.md | 8 +-- docs/ru/assemble_3.md | 4 +- docs/ru/copterhack2017.md | 16 +++-- docs/ru/esc_firmware.md | 1 - docs/ru/firmware.md | 2 +- docs/ru/flight_logs.md | 8 +-- docs/ru/gcs_bridge.md | 1 - docs/ru/gps.md | 1 + docs/ru/lessons.md | 3 +- docs/ru/mavros.md | 4 +- docs/ru/modes.md | 1 - docs/ru/network.md | 2 +- docs/ru/power_connection.md | 23 ------- docs/ru/radioerrors.md | 27 ++++---- docs/ru/rviz.md | 7 +-- docs/ru/setup.md | 2 +- docs/ru/shield.md | 13 ++-- docs/ru/snippets.md | 5 +- docs/ru/tb.md | 9 ++- docs/ru/web_rc.md | 121 ------------------------------------ 23 files changed, 68 insertions(+), 209 deletions(-) delete mode 100644 docs/ru/power_connection.md delete mode 100644 docs/ru/web_rc.md diff --git a/.markdownlint.json b/.markdownlint.json index e175981b..47c6bb3d 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -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 } diff --git a/docs/ru/arduino.md b/docs/ru/arduino.md index bd73755f..b5e465f8 100644 --- a/docs/ru/arduino.md +++ b/docs/ru/arduino.md @@ -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_ NodeHandle; // ... NodeHandle nh; -``` \ No newline at end of file +``` diff --git a/docs/ru/aruco.md b/docs/ru/aruco.md index 4b12b5d0..60c0d05a 100644 --- a/docs/ru/aruco.md +++ b/docs/ru/aruco.md @@ -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 diff --git a/docs/ru/assemble_2.md b/docs/ru/assemble_2.md index 48077ea4..c0a8e226 100644 --- a/docs/ru/assemble_2.md +++ b/docs/ru/assemble_2.md @@ -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 @@ ![Переворачиваем сборку](../assets/topPreview.png) -#### Установка полетного контроллера PixHawk +#### Установка полетного контроллера Pixhawk 1. Клеим 2х сторонний скотч по углам полетного контроллера. ![Полетный контроллер](../assets/pixhawk.png) - > **ВАЖНО** При работе моторов возникают вибрации, отрицательно влияющие на показания датчиков полетного контроллера PixHawk. Чтобы избежать этого эффекта, количество слоев двустороннего скотча + > **ВАЖНО** При работе моторов возникают вибрации, отрицательно влияющие на показания датчиков полетного контроллера Pixhawk. Чтобы избежать этого эффекта, количество слоев двустороннего скотча лучше увеличить до 4-5. 2. Установить полетный контроллер в центр рамы. ![Полетный контроллер](../assets/topviewpixhawk.png) - > **ВАЖНО** Стрелки на раме и PixHawk должны быть сонаправлены + > **ВАЖНО** Стрелки на раме и Pixhawk должны быть сонаправлены #### Подключение полетного контроллера по схеме diff --git a/docs/ru/assemble_3.md b/docs/ru/assemble_3.md index 132b5ccf..f01c3af4 100644 --- a/docs/ru/assemble_3.md +++ b/docs/ru/assemble_3.md @@ -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 разъем из приемника. * Отключить АКБ. diff --git a/docs/ru/copterhack2017.md b/docs/ru/copterhack2017.md index 4a55127f..65a65f8d 100644 --- a/docs/ru/copterhack2017.md +++ b/docs/ru/copterhack2017.md @@ -7,6 +7,8 @@ Copter Hack 2017 +Запись видеолекций – 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 diff --git a/docs/ru/esc_firmware.md b/docs/ru/esc_firmware.md index 36b4c129..4115fe09 100644 --- a/docs/ru/esc_firmware.md +++ b/docs/ru/esc_firmware.md @@ -75,4 +75,3 @@ ## Видеоинструкция по перепрошивке ESC регуляторов Для лучшего понимания того, что описано в статье, рекомендуем посмотреть наглядное руководство по подключению электроники и прошивке регуляторов на английском языке на [youtube](https://www.youtube.com/watch?v=i6lhMcQLRSU&feature=youtu.be). - diff --git a/docs/ru/firmware.md b/docs/ru/firmware.md index 1f601846..9ce462a0 100644 --- a/docs/ru/firmware.md +++ b/docs/ru/firmware.md @@ -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. -![](../assets/stmrev.jpg) +![STM revision](../assets/stmrev.jpg) > **Note** Для загрузки `px4fmu-v3_default.px4` может понадобиться использование команды `force_upload` из командной строки. diff --git a/docs/ru/flight_logs.md b/docs/ru/flight_logs.md index d8997cfe..7bf1b08f 100644 --- a/docs/ru/flight_logs.md +++ b/docs/ru/flight_logs.md @@ -3,7 +3,7 @@ Для детального анализа поведения прошивки PX4 можно просмотреть полетные логи. Полетные логи представляют собой сообщения в [uORB-топиках](https://dev.px4.io/en/middleware/uorb.html), записанные в файл с раширением `.ulg`. Лог-файл можно скачать с помощью QGroundControl по Wi-Fi или USB во вкладке *Log Download*: -![](../assets/download-log.png) +![Логи в QGroundControl](../assets/download-log.png) Также необходимые `.ulg`-файлы можно скопировать непосредственно с MicroSD-карты, находившейся в полетном контроллере. @@ -14,7 +14,7 @@ В программе можно просмотреть полный список записанных топиков (*Fields List*). В нем нужно выбрать необходимые топики, после чего они появятся на графике: -![](../assets/flightplot.png) +![FlightPlot](../assets/flightplot.png) Основные топики в PX4 --- @@ -41,9 +41,9 @@ Для более новых версий платы Pixhawk (`px4fmu-v3`), а также для плат Pixracer, в прошивку включен модуль `topic_listener`, который позволяет просматривать значения топиков в режиме реального времени (в том числе в полете). -Для ее использования нужно выбрать вкладку Mavlink Console в QGroundControl: +Для ее использования нужно выбрать вкладку MAVLink Console в QGroundControl: -![](../assets/listener.png) +![listener](../assets/listener.png) Команда `list_topics` выводит список топиков, доступных для просмотра (включена только в [SITL](sitl.md)). diff --git a/docs/ru/gcs_bridge.md b/docs/ru/gcs_bridge.md index ce3a442b..dedd22ac 100644 --- a/docs/ru/gcs_bridge.md +++ b/docs/ru/gcs_bridge.md @@ -40,7 +40,6 @@ UDP бридж (с автоматическим подключением) При открытии программы QGroundControl соединение должно установиться автоматически. - UDP-бридж (без автоматического подключения) --- diff --git a/docs/ru/gps.md b/docs/ru/gps.md index c86f5b0a..4fab378a 100644 --- a/docs/ru/gps.md +++ b/docs/ru/gps.md @@ -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 diff --git a/docs/ru/lessons.md b/docs/ru/lessons.md index e5f9fe68..69acae8e 100644 --- a/docs/ru/lessons.md +++ b/docs/ru/lessons.md @@ -34,7 +34,7 @@ -Часть 3 +Часть 3 @@ -53,4 +53,3 @@ Автономные полеты - diff --git a/docs/ru/mavros.md b/docs/ru/mavros.md index 5fa901b4..7c77be04 100644 --- a/docs/ru/mavros.md +++ b/docs/ru/mavros.md @@ -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`. diff --git a/docs/ru/modes.md b/docs/ru/modes.md index 0b968d5b..ab5083cf 100644 --- a/docs/ru/modes.md +++ b/docs/ru/modes.md @@ -26,7 +26,6 @@ PX4 * **POSCTL** (POSITION) — управление скоростями набора высоты, скоростью движения вперед/назад и вправо/влево, угловой скоростью по рысканью. Наиболее простой для полетов режим. Используется барометр, GPS, компьютерное зрение, другие датчики. - ### Автоматический полет (AUTO) В режиме автоматического полета квадрокоптер игнорирует сигналы с пульта. diff --git a/docs/ru/network.md b/docs/ru/network.md index 68399826..8915ddb9 100644 --- a/docs/ru/network.md +++ b/docs/ru/network.md @@ -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) diff --git a/docs/ru/power_connection.md b/docs/ru/power_connection.md deleted file mode 100644 index 4aeceeba..00000000 --- a/docs/ru/power_connection.md +++ /dev/null @@ -1,23 +0,0 @@ -Силовые и управляющие цепи -=============================== - -Силовые цепи --------------------- -Из вырезки по ГОСТ 18311-80 - -"Электрическая цепь, содержащая элементы, функциональное назначение которых состоит в производстве или передаче основной части электрической энергии, -ее распределении, преобразовании в другой вид энергии или в электрическую энергию с другими значениями параметров." - -Говоря простым языком, силовые цепи - это электрические цепи, которые предназначены для передачи большого количества энергии (тока), для обеспечения работоспособности всех систем. -В нашем случае в качестве силовой цепи будут выступать провода, соединяющие аккумулятор с платой распределения питания, а также красные и черные провода идущие на регуляторы оборотов. - -![Схема силовой цепи](../assets/powerConnect.jpg) - -Вся энергия аккумулятора (АКБ) будет распределяться между регуляторами оборотов моторов. Чтобы моторы смогли поднять в воздух коптер, им необходимо много энергии. В качестве энергии выступает ток, который приходит с АКБ. Т.к. энергии нужно много, значит по проводам будет идти большой ток. Чтобы провода смогли выдержать такую нагрузку, необходимы провода большего диаметра. Для наших задач подойдут провода 18AWG, 16AWG, 14AWG. - - - - -Управляющие цепи --------------------- - diff --git a/docs/ru/radioerrors.md b/docs/ru/radioerrors.md index ccfb9428..4baeb837 100644 --- a/docs/ru/radioerrors.md +++ b/docs/ru/radioerrors.md @@ -1,8 +1,9 @@ Мануал по возможным неисправностям радиоаппаратуры ========================================== -Пульт заблокирован +Пульт заблокирован -------------- + Если пульт заблокирован, то на ЖК Экране будет отображено предупреждение: "Warning. Place all switches in their up position and lower the throttle". @@ -14,34 +15,32 @@ ![Заблокированный пульт](../assets/lockradio.jpg) - Нет связи с приемником -------------- -Для проверки соединения пульта с приемником, включаем пульт и смотрим индикацию на ЖК Экране: -1. Соединение с приемником отсутствует +Для проверки соединения пульта с приемником, включаем пульт и смотрим индикацию на ЖК Экране. -![Нет соединения с приемником](../assets/connectionLost.jpg) +1. Соединение с приемником отсутствует: -2. Соединение с приемником установлено + ![Нет соединения с приемником](../assets/connectionLost.jpg) -![Есть соединения с приемником](../assets/connectionOK.jpg) +2. Соединение с приемником установлено: -Если соединение отсутствует, то -1. Проверьте, что приемник включен (моргает красный светодиод) -Если сетодиод горит непрерывно красным, то значит связь установлена с другим пультом. + ![Есть соединения с приемником](../assets/connectionOK.jpg) -2. Проведите процедуру сопряжения пульта и приемника (![Binding](../notes/binding.md)) +Если соединение отсутствует, то: + +1. Проверьте, что приемник включен (моргает красный светодиод). Если сетодиод горит непрерывно красным, то значит связь установлена с другим пультом. +2. Проведите процедуру сопряжения пульта и приемника. Нет связи с полетным контроллером -------------- + Если нет связи с полетным контроллером, то на экране монитора компьютера в окне Channel Monitor не будут отображаться изменения положения слайдеров при перемещении стиками пульта. ![Нет связи с полетным контроллером](../assets/notmoveslider.jpg) 1. Зайдите в МЕНЮ (удерживаем нажатой кнопку “ОК”) 2. Выберите меню “System setup” (Кнопки Up/Down - для навигации, кнопка “ОК” - подтверждение выбора -3. Выберите “RX setup” > “PPM OUTPUT” > “On” +3. Выберите “RX setup” > “PPM OUTPUT” > “On” 4. Сохраните изменения (удерживаем нажатой кнопку “CANCEL”) - - diff --git a/docs/ru/rviz.md b/docs/ru/rviz.md index 4888b2c5..9056946d 100644 --- a/docs/ru/rviz.md +++ b/docs/ru/rviz.md @@ -1,7 +1,7 @@ Использование rviz и rqt === -![](../assets/rviz.png) +![rviz](../assets/rviz.png) Инструмент [rviz](http://wiki.ros.org/rviz) позволяет в реальном времени визуализировать на 3D-сцене все компоненты роботехнической системы — системы координат, движущиеся части, показания датчиков, изображения с камер. @@ -35,8 +35,7 @@ export ROS_IP=192.168.11.1 Результат визуализации коптера и камеры представлен ниже: -![](../assets/copter_visualization.png) - +![rviz](../assets/copter_visualization.png) ### Визуализация окружения @@ -47,7 +46,7 @@ Axis или Grid настроенный на фрейм `aruco_map` будут Запуск инструментов rqt --- -![](../assets/rqt.png) +![rqt](../assets/rqt.png) Для запуска rqt для мониторинга состояния Клевера используйте команду: diff --git a/docs/ru/setup.md b/docs/ru/setup.md index 845afe15..439e3f44 100644 --- a/docs/ru/setup.md +++ b/docs/ru/setup.md @@ -166,7 +166,7 @@ ## Отключение Safety Switch -В полетном контроллере PIXHAWK стоит защита моторов от случайного использования. +В полетном контроллере Pixhawk стоит защита моторов от случайного использования. Чтобы разблокировать коптер, необходимо отключить кнопку безопасности 1. Заходим в меню Parameters > Circuit Breaker diff --git a/docs/ru/shield.md b/docs/ru/shield.md index 160b73fe..b3cd2b34 100644 --- a/docs/ru/shield.md +++ b/docs/ru/shield.md @@ -1,7 +1,6 @@ # Шаровая защита коптера - -1. Введение +## Введение Наверное, летать в помещениях приходилось каждому, кто брал в руки коптер. Подобные полеты сопряжены с немалым риском повредить коптер о стены и различные предметы. Даже полеты на относительно больших пространствах связаны с рисками удариться о препятствие: на пути коптера может встать ствол дерева или здание — что уж говорить о полетах в замкнутых пространствах. Подобные «краш-тесты» не очень приятный момент, который может оказаться в лучшем случае причиной потери внушительной суммы денег на ремонт, а в худшем — и вовсе утраты коптера. Тем более неприятны такие ситуации для новичка, который не может своевременно увернуться от препятствия и только учится летать. @@ -11,7 +10,7 @@ Нами было принято сложное решение: придется делать ее полностью самим и почти с нуля, а также поставлена цель сделать ее простой в изготовлении и максимально легкой. -2. Разработка +## Разработка В результате поиска решения, удовлетворяющего всем нашим требованиям, мы остановились на нескольких схожих вариантах. Было решено сделать защиту в форме полуправильного многогранника (примерами могут служить фуллерен, молекула углерода, или фигура пентакисдодекаэдр) — его мы и выбрали как самый приятный глазу. Кроме того, такая защита легко масштабируема под нужный размер. @@ -21,7 +20,7 @@ С угловыми соединениями (фитингами), тоже не все просто: их также два вида — с пятью гранями при вершине (пять лучей исходят из вершины) и с шестью гранями (шесть лучей исходят из вершины). -3. Первые модели +## Первые модели Была составлена спецификация для удобства контроля процесса изготовления, и мы приступили к моделированию. @@ -37,7 +36,7 @@ ![elements1](../assets/elements1.png) -4. Материалы +## Материалы В ходе проектирования встал вопрос, из чего же все-таки сделать такую защиту, чтобы получилось легко и прочно. Ответ пришел, как всегда, совершенно неожиданно. На глаза попались шпажки из бамбука: они достаточно тонкие, чтобы не повлиять на аэродинамику, имеют достаточную гибкость и при этом достаточно прочные. Далее возник вопрос, из чего и как делать фитинги. Конечно же, 3D-печать! 3D-принтер — это вообще незаменимая вещь, тем более для тех, кто любит что-то делать сам. К тому же они из-за не самой высокой цены получили достаточно широкое распространение. На таком принтере можно делать изделия почти любой сложности. То, что надо! @@ -49,7 +48,7 @@ Шпажки были порезаны на расчетные длины и подготовлены к последующей работе. -5. Сборка и установка +## Сборка и установка После того как все было напечатано и порезано, настало время собирать защиту. @@ -85,7 +84,7 @@ ![ball](../assets/ball.png) -6. Первые полеты +## Первые полеты Мы делали защиту под коптер «Клевер 2», являющийся обучающим пособием по сборке и настройке квадрокоптеров, и на него она устанавливается без доработок. Защита весит на 70 г больше (139 грамм), чем стандартная, и на управляемость и время полета почти не влияет. diff --git a/docs/ru/snippets.md b/docs/ru/snippets.md index 09cded36..efa9db5d 100644 --- a/docs/ru/snippets.md +++ b/docs/ru/snippets.md @@ -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). + + ### # {#mavlink} + + Пример отправки произвольного [MAVLink-сообщения](mavlink.md) коптеру: ```python diff --git a/docs/ru/tb.md b/docs/ru/tb.md index fc134620..49e704a4 100644 --- a/docs/ru/tb.md +++ b/docs/ru/tb.md @@ -14,12 +14,15 @@ Во время пайки: 1. Паяльник следует держать только за ручку, так как жало имеет высокую температуру. -![keep](../assets/keep.png) + + ![keep](../assets/keep.png) + 2. Для перемещения изделий применять специальные инструменты (пинцеты, клещи или другие инструменты), обеспечивающие безопасность при пайке. 3. Во избежание ожогов расплавленным припоем при распайке не выдергивать резко с большим усилием паяемые провода. 4. При пайке мелких и подвижных изделий пользоваться специальным держателем. -![helphand](../assets/helphand.jpg) + + ![helphand](../assets/helphand.jpg) + 5. Паяльник переносить за корпус, а не за провод или рабочую часть. При перерывах в работе паяльник отключать от электросети. > **Caution** При обнаружении неисправной работы паяльника или возникновении возгорания отключить его от питающей электросети. - diff --git a/docs/ru/web_rc.md b/docs/ru/web_rc.md deleted file mode 100644 index 14b230b6..00000000 --- a/docs/ru/web_rc.md +++ /dev/null @@ -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 - -``` - -```xml - -``` - -При изменении launch-файла необходимо перезапустить сервис `clever`: - -```bash -sudo systemctl restart clever -``` - -## Стартовый экран - -При загрузке приложения, автоматически устанавливается соединение с сервером ROS. - -При отстутствии соединения, интерфейс будет заблокирован для управления. - -![](../assets/webrc_no_connection.png) - -После установления соединения интерфейс разблокируется. - -![](../assets/webrc.png) - -В интефейсе доступны: - -* Верхняя \(информацинно-командная\) панель -* Уведомления -* Контролы -* HUD - -## Верхняя панель - -Здесь расположены индикаторы и кнопки действий. - -* кнопка-индикатор уведомлений - * отображает иконку типа последнего уведомления - * анимируется при наличии непрочитанных уведомлений - * открывает панель уведомлений -* индикатор уровня Wi-Fi сигнала \(пока нет возможности знать\) -* индикатор уровня заряда батареи \(пока нет возможности знать\) -* кнопка **DISARM** на случай необходимости отключить винты в полёте -* кнопка-индикатор записи видео при записи светится красным и показывает тайминг - ⚠️ _Нет API для включения/выключения записи_ -* кнопка переключения камер. Если на дроне больше одной камеры, позволяет переключиться между ними. - ⚠️ _Нет API для получения данных о количестве камер на дрное_ -* кнопка сохранения текущего кадра на камере - ⚠️ _Нет API, поэтому пока что эта кнопка отвечает за включение/выключение трансляции с камеры_ - -## Уведомления 🔔 - -* всплывающие – самые важные уведомления всплывают на месте верхней панели - * нажатие по уведомлению открывает ленту уведомлений - * можно смахнуть проведя по уведомлению пальцем \(как и с нативным системным уведомлением\) -* панель уведомлений – полноэкранная лента уведомлений в хронологическом порядке - * объединяет одинаковые сообщения в один, с указанием количества повторений - * открывается нажатием на всплывающее уведомление или кнопку уведомлений на верхней панели - -![](../assets/webrc_notifications.png) - -## Контролы 🎮 - -Бандл контролов – обёртка над несоклькими контроллами, решающая общие над ними задачи. - -Предполагается, что на основе реализованных компонентов, можно будет собирать любой бандл контролов. - -### Основной бандл - -На момент написания заметки реализован один бандл, использующий два двухосевых стика - -* левый – altitude и yaw -* правый – pitch и roll. - -Каждому стику можно задать жесты-экшены, которые будут активироваться при уведении пальца за границу максимального значения в указаной стороне стика. **\(ссылка на доку по стику\)** - -#### Действия - -При касании контролов запрашивается режим OFFBOARD. - -⚠️ _Не запрашивается когда дрон уже в режиме OFFBOARD или когда активен хотя бы один жест._ - -![](../assets/webrc_offboarding.gif) - -Все этапы переключения дрона в режим OFFBOARD отражаются соответствующим цветом контрола - -* красный – не удалось запросить режим, ошибка при отправке сообщения -* жёлтый – режим запрошен, ждём когда дрон начнёт слать **mode: OFFBOARD** -* зелёный – успешно переключился в OFFBOARD - -В режиме OFFBOARD бандл публикует в топик **/mavros/setpoint\_raw/local** данные со стиков соответственно: - -* левый - * по горизонтали – **yaw\_rate** - * по вертикали – **z** \(altitude\) -* правый - * по гризонтали – **x** \(roll\) - * по вертикали – **y** \(pitch\) - -Жесты на левом стике - -* ARM – в правом нижнем углу -* DISARM – в левом нижнем углу - -![](../assets/webrc_arm_disarm.gif) - -Бандл так же следит за тем, что бы данные в топик публиковались непрерывно. Если пользователь остановил пальцы или отпустил контролы, то бандл продолжит публиковать данные с некой минимальной периодичностью, во избежание выпадания дрона из OFFBOARD. - -## Head-Up Display - -Расположен по центру экрана и отображает текущую скорость\(сверху экрана\) и высоту\(снизу экрана\). - -Так же, между скоростью и высотой можно выводить любую другую информацию \(например, режимы дрона или данные со стиков\). -