mirror of
https://github.com/CopterExpress/clover.git
synced 2026-06-10 03:24:32 +00:00
docs: rename package and service to clover
This commit is contained in:
@@ -18,7 +18,7 @@ rosrun rosserial_arduino make_libraries.py .
|
||||
|
||||
## Настройка Raspberry Pi
|
||||
|
||||
Для запуска `rosserial` создайте файл `arduino.launch` в каталоге `~/catkin_ws/src/clever/clever/launch/` со следующим содержимым:
|
||||
Для запуска `rosserial` создайте файл `arduino.launch` в каталоге `~/catkin_ws/src/clover/clover/launch/` со следующим содержимым:
|
||||
|
||||
```xml
|
||||
<launch>
|
||||
@@ -31,19 +31,19 @@ rosrun rosserial_arduino make_libraries.py .
|
||||
Чтобы единоразово запустить программу на Arduino, можно будет воспользоваться командой:
|
||||
|
||||
```bash
|
||||
roslaunch clever arduino.launch
|
||||
roslaunch clover arduino.launch
|
||||
```
|
||||
|
||||
Чтобы запускать связку с Arduino при старте системы автоматически, необходимо добавить запуск созданного launch-файла в основной launch-файл Клевера (`~/catkin_ws/src/clever/clever/launch/clever.launch`). Добавьте в конец этого файла строку:
|
||||
Чтобы запускать связку с Arduino при старте системы автоматически, необходимо добавить запуск созданного launch-файла в основной launch-файл Клевера (`~/catkin_ws/src/clover/clover/launch/clover.launch`). Добавьте в конец этого файла строку:
|
||||
|
||||
```xml
|
||||
<include file="$(find clever)/launch/arduino.launch"/>
|
||||
<include file="$(find clover)/launch/arduino.launch"/>
|
||||
```
|
||||
|
||||
При изменении launch-файла необходимо перезапустить пакет `clever`:
|
||||
При изменении launch-файла необходимо перезапустить пакет `clover`:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
## Задержки
|
||||
@@ -79,11 +79,11 @@ for(int i=0; i<8; i++) {
|
||||
// Подключение библиотек для работы с rosseral
|
||||
#include <ros.h>
|
||||
|
||||
// Подключение заголовочных файлов сообщений пакета Clever и MAVROS
|
||||
#include <clever/Navigate.h>
|
||||
// Подключение заголовочных файлов сообщений пакета clover и MAVROS
|
||||
#include <clover/Navigate.h>
|
||||
#include <mavros_msgs/SetMode.h>
|
||||
|
||||
using namespace clever;
|
||||
using namespace clover;
|
||||
using namespace mavros_msgs;
|
||||
|
||||
ros::NodeHandle nh;
|
||||
@@ -184,7 +184,7 @@ void loop()
|
||||
|
||||
// ...
|
||||
|
||||
#include <clever/GetTelemetry.h>
|
||||
#include <clover/GetTelemetry.h>
|
||||
|
||||
// ...
|
||||
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
## Конфигурирование
|
||||
|
||||
Аргумент `aruco` в файле `~/catkin_ws/src/clever/clever/launch/clever.launch` должен быть в значении `true`:
|
||||
Аргумент `aruco` в файле `~/catkin_ws/src/clover/clover/launch/clover.launch` должен быть в значении `true`:
|
||||
|
||||
```xml
|
||||
<arg name="aruco" default="true"/>
|
||||
```
|
||||
|
||||
Для включения распознавания карт маркеров аргументы `aruco_map` и `aruco_detect` в файле `~/catkin_ws/src/clever/clever/launch/aruco.launch` должны быть в значении `true`:
|
||||
Для включения распознавания карт маркеров аргументы `aruco_map` и `aruco_detect` в файле `~/catkin_ws/src/clover/clover/launch/aruco.launch` должны быть в значении `true`:
|
||||
|
||||
```xml
|
||||
<arg name="aruco_detect" default="true"/>
|
||||
@@ -45,12 +45,12 @@ id_маркера размер_маркера x y z угол_z угол_y уго
|
||||
<param name="map" value="$(find aruco_pose)/map/map.txt"/>
|
||||
```
|
||||
|
||||
Смотрите примеры карт маркеров в каталоге [`~/catkin_ws/src/clever/aruco_pose/map`](https://github.com/CopterExpress/clover/tree/master/aruco_pose/map).
|
||||
Смотрите примеры карт маркеров в каталоге [`~/catkin_ws/src/clover/aruco_pose/map`](https://github.com/CopterExpress/clover/tree/master/aruco_pose/map).
|
||||
|
||||
Файл карты может быть сгенерирован с помощью инструмента `genmap.py`:
|
||||
|
||||
```bash
|
||||
rosrun aruco_pose genmap.py length x y dist_x dist_y first > ~/catkin_ws/src/clever/aruco_pose/map/test_map.txt
|
||||
rosrun aruco_pose genmap.py length x y dist_x dist_y first > ~/catkin_ws/src/clover/aruco_pose/map/test_map.txt
|
||||
```
|
||||
|
||||
Где `length` – размер маркера, `x` – количество маркеров по оси *x*, `y` - количество маркеров по оси *y*, `dist_x` – расстояние между центрами маркеров по оси *x*, `y` – расстояние между центрами маркеров по оси *y*, `first` – ID первого (левого нижнего) маркера, `test_map.txt` – название файла с картой. Дополнительный ключ `--bottom-left` позволяет нумеровать маркеры с левого нижнего угла.
|
||||
@@ -58,7 +58,7 @@ rosrun aruco_pose genmap.py length x y dist_x dist_y first > ~/catkin_ws/src/cle
|
||||
Пример:
|
||||
|
||||
```bash
|
||||
rosrun aruco_pose genmap.py 0.33 2 4 1 1 0 > ~/catkin_ws/src/clever/aruco_pose/map/test_map.txt
|
||||
rosrun aruco_pose genmap.py 0.33 2 4 1 1 0 > ~/catkin_ws/src/clover/aruco_pose/map/test_map.txt
|
||||
```
|
||||
|
||||
Дополнительную информацию по утилите можно получить по ключу `-h`: `rosrun aruco_pose genmap.py -h`.
|
||||
@@ -154,7 +154,7 @@ navigate(frame_id='aruco_5', x=0, y=0, z=1)
|
||||
|
||||
Для навигации по маркерам, расположенным на потолке, необходимо поставить основную камеру так, чтобы она смотрела вверх и [установить соответствующий фрейм камеры](camera_setup.md#frame).
|
||||
|
||||
Также в файле `~/catkin_ws/src/clever/clever/launch/aruco.launch` необходимо установить параметр `known_tilt` в секциях `aruco_detect` и `aruco_map` в значение `map_flipped`:
|
||||
Также в файле `~/catkin_ws/src/clover/clover/launch/aruco.launch` необходимо установить параметр `known_tilt` в секциях `aruco_detect` и `aruco_map` в значение `map_flipped`:
|
||||
|
||||
```xml
|
||||
<param name="known_tilt" value="map_flipped"/>
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
## Настройка
|
||||
|
||||
Аргумент `aruco` в файле `~/catkin_ws/src/clever/clever/launch/clever.launch` должен быть в значении `true`:
|
||||
Аргумент `aruco` в файле `~/catkin_ws/src/clover/clover/launch/clover.launch` должен быть в значении `true`:
|
||||
|
||||
```xml
|
||||
<arg name="aruco" default="true"/>
|
||||
```
|
||||
|
||||
Для включения распознавания маркеров аргумент `aruco_detect` в файле `~/catkin_ws/src/clever/clever/launch/aruco.launch` должен быть в значении `true`:
|
||||
Для включения распознавания маркеров аргумент `aruco_detect` в файле `~/catkin_ws/src/clover/clover/launch/aruco.launch` должен быть в значении `true`:
|
||||
|
||||
```xml
|
||||
<arg name="aruco_detect" default="true"/>
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Пошаговая инструкция по настройке автономного полета Клевера 4
|
||||
|
||||
> **Note** Документация для версий [образа](image.md), начиная с **0.20**. Для более ранних версий см. [документацию для версии **0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/auto_setup.md).
|
||||
|
||||
Данная инструкция содержит ссылки на другие статьи, в которых каждая из затронутых тем разобрана более подробно. Если вы столкнулись с трудностями во время прочтения одной из таких статей, рекомендуется вернуться к данной инструкции, так как здесь многие операции описаны пошагово, а также отсутствуют ненужные шаги.
|
||||
|
||||
## Первоначальная настройка Raspberry Pi
|
||||
@@ -58,7 +60,7 @@ ls
|
||||
Перейти в папку с прописыванием пути к ней:
|
||||
|
||||
```bash
|
||||
cd catkin_ws/src/clever/clever/launch/
|
||||
cd catkin_ws/src/clover/clover/launch/
|
||||
```
|
||||
|
||||
Перейти в домашнюю директорию:
|
||||
@@ -73,10 +75,10 @@ cd
|
||||
nano file.py
|
||||
```
|
||||
|
||||
Открыть файл clever.launch с прописыванием полного пути к нему (сработает, если вы находитесь в другой папке):
|
||||
Открыть файл clover.launch с прописыванием полного пути к нему (сработает, если вы находитесь в другой папке):
|
||||
|
||||
```bash
|
||||
nano ~/catkin_ws/src/clever/clever/launch/clever.launch
|
||||
nano ~/catkin_ws/src/clover/clover/launch/clover.launch
|
||||
```
|
||||
|
||||
Сохранить файл (нажимать последовательно):
|
||||
@@ -106,13 +108,13 @@ sudo reboot
|
||||
Перезапуск только систем Клевера:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
Выполнить самопроверку Клевера:
|
||||
|
||||
```bash
|
||||
rosrun clever selfcheck.py
|
||||
rosrun clover selfcheck.py
|
||||
```
|
||||
|
||||
Остановить программу
|
||||
@@ -130,7 +132,7 @@ python myprogram.py
|
||||
Журнал событий процессов Клевера. Пролистывать список можно нажатием Enter или сочетанием клавиш Ctrl+V (пролистывает быстрее):
|
||||
|
||||
```bash
|
||||
journalctl -u clever
|
||||
journalctl -u clover
|
||||
```
|
||||
|
||||
Открыть файл sudoers от имени администратора (он не откроется без прописывания sudo. Через sudo можно запускать другие команды, если они не открываются без прав администратора):
|
||||
@@ -141,42 +143,42 @@ sudo nano /etc/sudoers
|
||||
|
||||
## Настройка параметров Raspberry Pi для автономного полета
|
||||
|
||||
Большинство параметров, необходимых для полета, хранится в папке `~/catkin_ws/src/clever/clever/launch/`.
|
||||
Большинство параметров, необходимых для полета, хранится в папке `~/catkin_ws/src/clover/clover/launch/`.
|
||||
|
||||
- Зайти в папку:
|
||||
|
||||
```bash
|
||||
cd ~/catkin_ws/src/clever/clever/launch/
|
||||
cd ~/catkin_ws/src/clover/clover/launch/
|
||||
```
|
||||
|
||||
Символ `~` обозначает домашнюю директорию вашего пользователя. Если вы уже находитесь в ней, можно обойтись командой:
|
||||
`cd catkin_ws/src/clever/clever/launch/`
|
||||
`cd catkin_ws/src/clover/clover/launch/`
|
||||
|
||||
> **Hint** Клавишей Tab можно автоматически дополнить названия файлов, папок или команд. Нужно начать вводить желаемое название и нажать Tab. Если не будет конфликтов, название напишется полностью. Например, чтобы быстро ввести путь к папке с настройками, после ввода `cd` можно начать вводить следующую комбинацию клавиш: `c-Tab-s-Tab-c-Tab-c-Tab-l-Tab`. Таким образом можно сэкономить много времени при написании длинной команды, а также избежать возможных ошибок в написании пути.
|
||||
|
||||
- В этой папке необходимо сконфигурировать несколько файлов:
|
||||
|
||||
- `clever.launch`
|
||||
- `clover.launch`
|
||||
- `aruco.launch`
|
||||
- `main_camera.launch`
|
||||
|
||||
- Открыть файл `clever.launch`:
|
||||
- Открыть файл `clover.launch`:
|
||||
|
||||
```bash
|
||||
nano clever.launch
|
||||
nano clover.launch
|
||||
```
|
||||
|
||||
Вы должны находиться в папке, в которой располагается файл. Если вы находитесь в другой папке, файл можно открыть, прописав полный путь к нему:
|
||||
|
||||
```bash
|
||||
nano ~/catkin_ws/src/clever/clever/launch/clever.launch
|
||||
nano ~/catkin_ws/src/clover/clover/launch/clover.launch
|
||||
```
|
||||
|
||||
Если файл одновременно редактируют два пользователя, а также если в прошлый раз закрытие файла произошло некорректно, программа nano не отобразит файл сразу, а попросит дополнительное разрешение. Для этого нужно нажать клавишу Y.
|
||||
|
||||
Если содержимое файла все равно пусто, возможно, вы неверно ввели имя файла. Нужно обращать внимание на расширение и вписывать его полностью. Если вы вписали неверное имя или расширение, программа nano создаст пустой файл с этим названием, что нежелательно. Такой файл следует удалить.
|
||||
|
||||
- В файле clever.launch найти строчку:
|
||||
- В файле clover.launch найти строчку:
|
||||
|
||||
```
|
||||
<arg name="aruco" default="false"/>
|
||||
@@ -214,7 +216,7 @@ sudo nano /etc/sudoers
|
||||
- нумерация идет с верхнего левого угла (ключ `--top-left`)
|
||||
|
||||
```bash
|
||||
rosrun aruco_pose genmap.py 0.335 10 10 1 1 0 > ~/catkin_ws/src/clever/aruco_pose/map/map.txt --top-left
|
||||
rosrun aruco_pose genmap.py 0.335 10 10 1 1 0 > ~/catkin_ws/src/clover/aruco_pose/map/map.txt --top-left
|
||||
```
|
||||
|
||||
В большинстве полей нумерация начинается с нулевой метки. Также в большинстве случаев нумерация начинается с верхнего левого угла, поэтому при генерации очень важно указывать ключ `--top-left`.
|
||||
@@ -264,7 +266,7 @@ sudo nano /etc/sudoers
|
||||
- Перезагрузите модуль Клевер:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
## Настройка полетного контроллера для автономного полета
|
||||
@@ -295,7 +297,7 @@ sudo nano /etc/sudoers
|
||||
- Выполнить команду:
|
||||
|
||||
```bash
|
||||
rosrun clever selfcheck.py
|
||||
rosrun clover selfcheck.py
|
||||
```
|
||||
|
||||
## Написание программы
|
||||
|
||||
@@ -1,36 +1,38 @@
|
||||
Автозапуск ПО
|
||||
===
|
||||
|
||||
> **Note** В версии образа **0.20** пакет и сервис `clever` был переименован в `clover`. Для более ранних версий см. документацию для версии [**0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/autolaunch.md).
|
||||
|
||||
systemd
|
||||
---
|
||||
|
||||
Основная документация: [https://wiki.archlinux.org/index.php/Systemd_(Русский)](https://wiki.archlinux.org/index.php/Systemd_(Русский)).
|
||||
|
||||
Все автоматически стартуемое ПО Клевера запускается в виде systemd-сервиса `clever.service`.
|
||||
Все автоматически стартуемое ПО Клевера запускается в виде systemd-сервиса `clover.service`.
|
||||
|
||||
Сервис может быть перезапущен командой `systemctl`:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
Текстовый вывод ПО можно просмотреть с помощью команды `journalctl`:
|
||||
|
||||
```bash
|
||||
journalctl -u clever
|
||||
journalctl -u clover
|
||||
```
|
||||
|
||||
Для того, запустить ПО Клевера непосредственно в текущей консольной сессии, вы можете использовать `roslaunch`:
|
||||
|
||||
```bash
|
||||
sudo systemctl stop clever
|
||||
roslaunch clever clever.launch
|
||||
sudo systemctl stop clover
|
||||
roslaunch clover clover.launch
|
||||
```
|
||||
|
||||
Вы можете выключить автозапуск ПО Клевера с помощью команды `disable`:
|
||||
|
||||
```bash
|
||||
sudo systemctl disable clever
|
||||
sudo systemctl disable clover
|
||||
```
|
||||
|
||||
roslaunch
|
||||
@@ -38,12 +40,12 @@ roslaunch
|
||||
|
||||
Основная документация: http://wiki.ros.org/roslaunch.
|
||||
|
||||
Список объявленных для запуска нод / программ указывается в файле `/home/pi/catkin_ws/src/clever/clever/launch/clever.launch`.
|
||||
Список объявленных для запуска нод / программ указывается в файле `/home/pi/catkin_ws/src/clover/clover/launch/clover.launch`.
|
||||
|
||||
Вы можете добавить собственную ноду в список автозапускаемых. Для этого разместите ваш запускаемый файл (например, `my_program.py`) в каталог `/home/pi/catkin_ws/src/clever/clever/src`. Затем добавьте запуск вашей ноды в `clever.launch`, например:
|
||||
Вы можете добавить собственную ноду в список автозапускаемых. Для этого разместите ваш запускаемый файл (например, `my_program.py`) в каталог `/home/pi/catkin_ws/src/clover/clover/src`. Затем добавьте запуск вашей ноды в `clover.launch`, например:
|
||||
|
||||
```xml
|
||||
<node name="my_program" pkg="clever" type="my_program.py" output="screen"/>
|
||||
<node name="my_program" pkg="clover" type="my_program.py" output="screen"/>
|
||||
```
|
||||
|
||||
Запускаемый файл должен иметь *permission* на запуск:
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Работа с камерой
|
||||
|
||||
> **Note** В версии образа **0.20** пакет и сервис `clever` был переименован в `clover`. Для более ранних версий см. документацию для версии [**0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/camera.md).
|
||||
|
||||
<!-- TODO: физическое подключение -->
|
||||
|
||||
Для работы с основной камерой необходимо убедиться что она включена в файле `~/catkin_ws/src/clever/clever/launch/clever.launch`:
|
||||
Для работы с основной камерой необходимо убедиться что она включена в файле `~/catkin_ws/src/clover/clover/launch/clover.launch`:
|
||||
|
||||
```xml
|
||||
<arg name="main_camera" default="true"/>
|
||||
@@ -10,10 +12,10 @@
|
||||
|
||||
Также нужно убедиться, что камера [сфокусирована и для нее указано корректное расположение и ориентация](camera_setup.md).
|
||||
|
||||
При изменении launch-файла необходимо перезапустить пакет `clever`:
|
||||
При изменении launch-файла необходимо перезапустить пакет `clover`:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
Для мониторинга изображения с камеры можно использовать [rqt](rviz.md) или [web_video_server](web_video_server.md).
|
||||
@@ -25,7 +27,7 @@ sudo systemctl restart clever
|
||||
Остановите сервисы Клевера:
|
||||
|
||||
```bash
|
||||
sudo systemctl stop clever
|
||||
sudo systemctl stop clover
|
||||
```
|
||||
|
||||
Получите картинку с камеры утилитой `raspistill`:
|
||||
@@ -90,7 +92,7 @@ image_pub.publish(bridge.cv2_to_imgmsg(cv_image, 'bgr8'))
|
||||
|
||||
Получаемые изображения можно просматривать используя [web_video_server](web_video_server.md).
|
||||
|
||||
> **Warning** По умолчанию web_video_server показывает изображения из топиков со сжатием (например, /main_camera/image_raw/compressed). Ноды на Python не публикуют такие топики, поэтому для их просмотра следует добавлять `&type=mjpeg` в адресную стоку страницы web_video_server или изменить параметр `default_stream_type` на `mjpeg` в файле `clever.launch`.
|
||||
> **Warning** По умолчанию web_video_server показывает изображения из топиков со сжатием (например, /main_camera/image_raw/compressed). Ноды на Python не публикуют такие топики, поэтому для их просмотра следует добавлять `&type=mjpeg` в адресную стоку страницы web_video_server или изменить параметр `default_stream_type` на `mjpeg` в файле `clover.launch`.
|
||||
|
||||
#### Получение одного кадра
|
||||
|
||||
|
||||
@@ -224,7 +224,7 @@ cv2.destroyAllWindows()
|
||||
|
||||

|
||||
|
||||
Нажимаем “Войти”. Переходим в ***/home/pi/catkin_ws/src/clever/clever/camera_info/*** и копируем туда калибровочный .yaml файл:
|
||||
Нажимаем “Войти”. Переходим в ***/home/pi/catkin_ws/src/clover/clover/camera_info/*** и копируем туда калибровочный .yaml файл:
|
||||
|
||||

|
||||
|
||||
@@ -234,7 +234,7 @@ cv2.destroyAllWindows()
|
||||
|
||||

|
||||
|
||||
Войдем под логином ***pi*** и паролем ***raspberry***, перейдем в директорию ***/home/pi/catkin_ws/src/clever/clever/launch*** и начнем редактировать конфигурацию ***main_camera.launch***:
|
||||
Войдем под логином ***pi*** и паролем ***raspberry***, перейдем в директорию ***/home/pi/catkin_ws/src/clover/clover/launch*** и начнем редактировать конфигурацию ***main_camera.launch***:
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -43,4 +43,4 @@
|
||||
Когда калибровка завершится, в терминале вы увидите полученные параметры. В окне отобразится изображение с выправленными искажениями. При успешной калибровке все реальные прямые линии должны остаться прямыми на полученном изображении.
|
||||
|
||||
7. Нажмите *COMMIT*, чтобы сохранить полученные параметры калибровки. Результат будет записан в файл калибровки основной камеры Клевера:
|
||||
`/home/pi/catkin_ws/src/clever/clever/camera_info/fisheye_cam_320.yaml`.
|
||||
`/home/pi/catkin_ws/src/clover/clover/camera_info/fisheye_cam.yaml`.
|
||||
|
||||
@@ -15,7 +15,7 @@ ls
|
||||
Перейти в директорию:
|
||||
|
||||
```bash
|
||||
cd catkin_ws/src/clever/clever/launch/
|
||||
cd catkin_ws/src/clover/clover/launch/
|
||||
```
|
||||
|
||||
Перейти на директорию выше:
|
||||
@@ -65,16 +65,16 @@ sudo reboot
|
||||
Например:
|
||||
|
||||
```bash
|
||||
nano ~/catkin_ws/src/clever/clever/launch/clever.launch
|
||||
nano ~/catkin_ws/src/clover/clover/launch/clover.launch
|
||||
```
|
||||
|
||||
<img src="../assets/nano.png" alt="Редактирование файла в nano" data-action="zoom">
|
||||
2. Отредактируйте файл.
|
||||
3. Для выхода с сохранением нажмите `Ctrl`+`X`, `Y`, `Enter`.
|
||||
4. При изменении .launch-файлов необходимо перезапустить пакет `clever`:
|
||||
4. При изменении .launch-файлов необходимо перезапустить пакет `clover`:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
Для редактирования файлов также можно использовать и другие редакторы, например, **vim**.
|
||||
|
||||
@@ -20,22 +20,24 @@
|
||||
|
||||
## Подключение по UART
|
||||
|
||||
> **Note** В версии образа **0.20** пакет и сервис `clever` был переименован в `clover`. Для более ранних версий см. документацию для версии [**0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/connection.md).
|
||||
|
||||
<!-- TODO схема подключения -->
|
||||
|
||||
Дополнительным способом подключения является подключение подключение по интерфейсу UART.
|
||||
|
||||
1. Подключите Raspberry Pi к полетному контроллеру по UART.
|
||||
2. [Подключитесь в Raspberry Pi по SSH](ssh.md).
|
||||
3. Поменяйте в launch-файле Клевера (`~/catkin_ws/src/clever/clever/launch/clever.launch`) тип подключения на UART:
|
||||
3. Поменяйте в launch-файле Клевера (`~/catkin_ws/src/clover/clover/launch/clover.launch`) тип подключения на UART:
|
||||
|
||||
```xml
|
||||
<arg name="fcu_conn" default="uart"/>
|
||||
```
|
||||
|
||||
При изменении launch-файла необходимо перезапустить пакет `clever`:
|
||||
При изменении launch-файла необходимо перезапустить сервис `clover`:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
> **Hint** Для корректной работы подключения Raspberry Pi и полетного контроллера по UART необходимо установить значение параметра `SYS_COMPANION` на 921600.
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
2. Склонируйте форк на компьютер:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/<USERNAME>/clever.git
|
||||
git clone https://github.com/<USERNAME>/clover.git
|
||||
```
|
||||
|
||||
3. Перейдите в директорию с форком и создайте новую ветку с названием вашей статьи (например `new-article`):
|
||||
|
||||
@@ -6,7 +6,7 @@ Pixhawk или Pixracer можно прошить, используя QGroundCon
|
||||
Прошивка для Клевера
|
||||
---
|
||||
|
||||
Для Клевера рекомендуется использование специальной сборки PX4, которая содержит необходимые исправления и более подходящие параметры по умолчанию. Используйте последний стабильный релиз в [GitHub-репозитории](https://github.com/CopterExpress/Firmware/releases), содержащий слово `clever`, например `v1.8.2-clever.4`.
|
||||
Для Клевера рекомендуется использование специальной сборки PX4, которая содержит необходимые исправления и более подходящие параметры по умолчанию. Используйте последний стабильный релиз в [GitHub-репозитории](https://github.com/CopterExpress/Firmware/releases), содержащий слово `clover`, например `v1.8.2-clover.4`.
|
||||
|
||||
<div id="release" style="display:none">
|
||||
<p>Последний стабильный релиз: <strong><a id="download-latest-release"></a></strong>.</p>
|
||||
@@ -25,8 +25,8 @@ Pixhawk или Pixracer можно прошить, используя QGroundCon
|
||||
// look for stable release
|
||||
let stable;
|
||||
for (let release of data) {
|
||||
let clever = release.name.indexOf('clever') != -1;
|
||||
if (clever && !release.prerelease && !release.draft) {
|
||||
let clover = (release.name.indexOf('clover') != -1) || (release.name.indexOf('clever') != -1);
|
||||
if (clover && !release.prerelease && !release.draft) {
|
||||
stable = release;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||

|
||||
|
||||
Основные фреймы в пакете `clever`:
|
||||
Основные фреймы в пакете `clover`:
|
||||
|
||||
* `map` — координаты относительно точки инициализации полетного контроллера: белая сетка на иллюстрации;
|
||||
* `base_link` — координаты относительно квадрокоптера: схематичное изображение квадрокоптера на иллюстрации;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Подключение QGroundControl по Wi-Fi
|
||||
|
||||
Возможны контроль, управление, калибровка и настройка полетного контроллера квадрокоптера с помощью программы QGroundControl по Wi-Fi. Для этого необходимо [подключиться к Wi-Fi](wifi.md) сети `CLEVER-xxxx`.
|
||||
Возможны контроль, управление, калибровка и настройка полетного контроллера квадрокоптера с помощью программы QGroundControl по Wi-Fi. Для этого необходимо [подключиться к Wi-Fi](wifi.md) сети `clover-xxxx`.
|
||||
|
||||
## Подключение
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
|
||||
## UDP
|
||||
|
||||
Также возможна настройка подключения по протоколу UDP. Для выбора различных вариантов подключения по UDP необходимо отредактировать параметр `gcs_bridge` в launch-файле `/home/pi/catkin_ws/src/clever/clever/launch/clever.launch`.
|
||||
Также возможна настройка подключения по протоколу UDP. Для выбора различных вариантов подключения по UDP необходимо отредактировать параметр `gcs_bridge` в launch-файле `/home/pi/catkin_ws/src/clover/clover/launch/clover.launch`.
|
||||
|
||||
После изменения launch-файла необходимо перезагрузить сервис clever:
|
||||
После изменения launch-файла необходимо перезагрузить сервис clover:
|
||||
|
||||
```(bash)
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
## UDP-бридж с автоматическим подключением
|
||||
@@ -40,7 +40,7 @@ sudo systemctl restart clever
|
||||
|
||||

|
||||
|
||||
3. Выберите в списке подключений *CLEVER* и нажмите *Connect*.
|
||||
3. Выберите созданное подключение и нажмите *Connect*.
|
||||
|
||||
## UDP broadcast-бридж
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
# Имя хоста
|
||||
|
||||
[По умолчанию](image.md) на Клевере установлено имя хоста (hostname) `clever-xxxx`, где `xxxx` – случайные цифры. Имя хоста соответствует SSID [точки доступа Wi-Fi](wifi.md).
|
||||
> **Note** Документация для версий [образа](image.md), начиная с **0.20**. Для более ранних версий см. [документацию для версии **0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/hostname.md).
|
||||
|
||||
Таким образом, Клевер доступен на машинах, поддерживающих mDNS, под именем `clever-xxxx.local`. Вы можете использовать это имя для SSH-доступа на Клевер:
|
||||
[По умолчанию](image.md) на Клевере установлено имя хоста (hostname) `clover-xxxx`, где `xxxx` – случайные цифры. Имя хоста соответствует SSID [точки доступа Wi-Fi](wifi.md).
|
||||
|
||||
Таким образом, Клевер доступен на машинах, поддерживающих mDNS, под именем `clover-xxxx.local`. Вы можете использовать это имя для SSH-доступа на Клевер:
|
||||
|
||||
```bash
|
||||
ssh pi@clever-xxxx.local
|
||||
ssh pi@clover-xxxx.local
|
||||
```
|
||||
|
||||
Также это имя может быть использовано вместо IP-адреса для открытия страницы Клевера в браузере и т. д.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Автоматическая сборка и модификация образа Клевера
|
||||
|
||||
Иногда возникает необходимость в сборке модифицированного образа системы, например для [своего проекта](https://github.com/artem30801/CleverSwarm) на базе [Клевера](https://github.com/copterexpress/clover). За основу можно взять, например, чистый образ Raspbian Stretch и модифицировать его с нуля, пройдя те же этапы, через который проходит сборка образа Клевера, добавив свои модификации. Однако на данный момент времени сборка образа Клевера занимает [чуть больше часа](https://travis-ci.org/CopterExpress/clever), что превышает ограничения бесплатной сборки в Travis \(50 минут\). Соответственно для проектов на базе Клевера имеет смысл брать за основу уже готовый образ и кастомизировать его. Концепция и основные этапы для автоматизированной сборки изложены ниже.
|
||||
Иногда возникает необходимость в сборке модифицированного образа системы, например для [своего проекта](https://github.com/artem30801/CleverSwarm) на базе [Клевера](https://github.com/copterexpress/clover). За основу можно взять, например, чистый образ Raspbian Stretch и модифицировать его с нуля, пройдя те же этапы, через который проходит сборка образа Клевера, добавив свои модификации. Однако на данный момент времени сборка образа Клевера занимает [чуть больше часа](https://travis-ci.org/CopterExpress/clover), что превышает ограничения бесплатной сборки в Travis \(50 минут\). Соответственно для проектов на базе Клевера имеет смысл брать за основу уже готовый образ и кастомизировать его. Концепция и основные этапы для автоматизированной сборки изложены ниже.
|
||||
|
||||
## Концепция
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ cd ~/catkin_ws
|
||||
catkin_make
|
||||
```
|
||||
|
||||
> **Hint** При подключении полётных контроллеров на базе PX4 через USB следует также добавить правила udev в систему. Скопируйте [файл с правилами](https://github.com/CopterExpress/clover/blob/master/clever/config/99-px4fmu.rules) в `/etc/udev/rules.d` и выполните команду `sudo udevadm control --reload-rules && sudo udevadm trigger`.
|
||||
> **Hint** При подключении полётных контроллеров на базе PX4 через USB следует также добавить правила udev в систему. Скопируйте [файл с правилами](https://github.com/CopterExpress/clover/blob/master/clover/config/99-px4fmu.rules) в `/etc/udev/rules.d` и выполните команду `sudo udevadm control --reload-rules && sudo udevadm trigger`.
|
||||
|
||||
### Запуск Клеверных нод
|
||||
|
||||
@@ -124,10 +124,10 @@ source devel/setup.bash
|
||||
Поменяйте launch-файлы так, чтобы это соответствовало вашей конфигурации, и запустите ноды с помощью `roslaunch`:
|
||||
|
||||
```bash
|
||||
roslaunch clever clever.launch
|
||||
roslaunch clover clover.launch
|
||||
```
|
||||
|
||||
> **Hint** Вы можете настроить `systemd` так, чтобы ноды Клевера запускались автоматически. Примером такой настройки может служить образ Клевера для Raspberry Pi: там созданы сервисы [`roscore`](https://github.com/CopterExpress/clover/blob/master/builder/assets/roscore.service) и [`clever`](https://github.com/CopterExpress/clover/blob/master/builder/assets/clever.service). Их можно подкорректировать и использовать в Jetson Nano.
|
||||
> **Hint** Вы можете настроить `systemd` так, чтобы ноды Клевера запускались автоматически. Примером такой настройки может служить образ Клевера для Raspberry Pi: там созданы сервисы [`roscore`](https://github.com/CopterExpress/clover/blob/master/builder/assets/roscore.service) и [`clover`](https://github.com/CopterExpress/clover/blob/master/builder/assets/clover.service). Их можно подкорректировать и использовать в Jetson Nano.
|
||||
|
||||
## Возможные проблемы
|
||||
|
||||
|
||||
@@ -10,18 +10,7 @@
|
||||
|
||||
### Подключение к Raspberry Pi
|
||||
|
||||
> **Note** Для корректной работы лазерного дальномера с полетным контроллером необходима <a id="download-firmware" href="https://github.com/CopterExpress/Firmware/releases">кастомная прошивка PX4</a>. Подробнее про прошивку см. [соответствующую статью](firmware.md).
|
||||
|
||||
<script type="text/javascript">
|
||||
fetch('https://api.github.com/repos/CopterExpress/Firmware/releases').then(res => res.json()).then(function(data) {
|
||||
for (let release of data) {
|
||||
if (!release.prerelease && !release.draft && release.tag_name.includes('-clever.')) {
|
||||
document.querySelector('#download-firmware').href = release.html_url;
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
> **Hint** Для корректной работы лазерного дальномера с полетным контроллером рекомендуется использование [специальной сборки PX4 для Клевера](firmware.md#прошивка-для-клевера).
|
||||
|
||||
Подключите дальномер по интерфейсу I²C к пинам 3V, GND, SCL и SDA:
|
||||
|
||||
@@ -33,7 +22,7 @@
|
||||
|
||||
### Включение
|
||||
|
||||
[Подключитесь по SSH](ssh.md) и отредактируйте файл `~/catkin_ws/src/clever/clever/launch/clever.launch` так, чтобы драйвер VL53L1X был включен:
|
||||
[Подключитесь по SSH](ssh.md) и отредактируйте файл `~/catkin_ws/src/clover/clover/launch/clover.launch` так, чтобы драйвер VL53L1X был включен:
|
||||
|
||||
```xml
|
||||
<arg name="rangefinder_vl53l1x" default="true"/>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Работа со светодиодной лентой
|
||||
|
||||
> **Note** Документация для версии образа, начиная с 0.18. Для более ранних версий см. [предыдущую версию статьи](leds_old.md).
|
||||
> **Note** Документация для версий [образа](image.md), начиная с **0.20**. Для более ранних версий см. [документацию для версии **0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/leds.md).
|
||||
|
||||
Адресуемая RGB-светодиодная лента типа *ws281x*, которая входит в наборы "Клевер", позволяет выставлять произвольные 24-битные цвета на каждый из отдельных светодиодов. Это позволяет сделать полет Клевера более ярким, а также визуально получать информацию о полетных режимах, этапе выполнения пользовательской программы и других событиях.
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
## Высокоуровневое управление лентой
|
||||
|
||||
1. Для работы с лентой подключите ее к питанию +5v – 5v, земле GND – GND и сигнальному порту DIN – GPIO21. Обратитесь [к инструкции по сборке](assemble_4.md#Подключение-светодиодной-ленты-к-Raspberry-Pi) для подробностей.
|
||||
2. Включите поддержку LED-ленты в файле `~/catkin_ws/src/clever/clever/launch/clever.launch`:
|
||||
2. Включите поддержку LED-ленты в файле `~/catkin_ws/src/clover/clover/launch/clover.launch`:
|
||||
|
||||
```xml
|
||||
<arg name="led" default="true"/>
|
||||
```
|
||||
|
||||
3. Настройте параметры подключения ленты *ws281x* в файле `~/catkin_ws/src/clever/clever/launch/led.launch`. Необходимо ввести верное количество светодиодов в ленте и GPIO-пин, использованный для подключения (если он отличается от *GPIO21*):
|
||||
3. Настройте параметры подключения ленты *ws281x* в файле `~/catkin_ws/src/clover/clover/launch/led.launch`. Необходимо ввести верное количество светодиодов в ленте и GPIO-пин, использованный для подключения (если он отличается от *GPIO21*):
|
||||
|
||||
```xml
|
||||
<param name="led_count" value="30"/> <!-- количество светодиодов в ленте -->
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
```python
|
||||
import rospy
|
||||
from clever.srv import SetLEDEffect
|
||||
from clover.srv import SetLEDEffect
|
||||
|
||||
# ...
|
||||
|
||||
@@ -88,7 +88,7 @@ rosservice call /led/set_effect "{effect: 'rainbow'}"
|
||||
|
||||
## Настройка реакции ленты на события
|
||||
|
||||
Клевер умеет показывать LED-лентой текущее состояние полетного контроллера и сигнализировать о событиях. Данная функция настраивается в файле `~/catkin_ws/src/clever/clever/launch/led.launch` в разделе *events effects table*. Пример настройки:
|
||||
Клевер умеет показывать LED-лентой текущее состояние полетного контроллера и сигнализировать о событиях. Данная функция настраивается в файле `~/catkin_ws/src/clover/clover/launch/led.launch` в разделе *events effects table*. Пример настройки:
|
||||
|
||||
```xml
|
||||
startup: { r: 255, g: 255, b: 255 }
|
||||
@@ -110,7 +110,7 @@ disconnected: { effect: blink, r: 255, g: 50, b: 50 }
|
||||
|
||||
> **Note** Для корректной работы сигнализации LED-лентой о низком заряде батареи необходимо корректная [калибровка электропитания](power.md#Калибровка-делителя-напряжения).
|
||||
|
||||
Для того, чтобы отключить реакцию светодиодной ленты на события, установите аргумент `led_notify` в файле `~/catkin_ws/src/clever/clever/launch/led.launch` в значение `false`:
|
||||
Для того, чтобы отключить реакцию светодиодной ленты на события, установите аргумент `led_notify` в файле `~/catkin_ws/src/clover/clover/launch/led.launch` в значение `false`:
|
||||
|
||||
```xml
|
||||
<arg name="led_notify" default="false"/>
|
||||
|
||||
@@ -12,7 +12,7 @@ MAVROS подписывается на определенные ROS-топики
|
||||
|
||||
<!-- -->
|
||||
|
||||
> **Note** В пакете `clever` некоторые плагины MAVROS отключены (в целях сохранения ресурсов). Подробнее см. параметр `plugin_blacklist` в файле `/home/pi/catkin_ws/src/clever/clever/launch/mavros.launch`.
|
||||
> **Note** В пакете `clover` некоторые плагины MAVROS отключены (в целях сохранения ресурсов). Подробнее см. параметр `plugin_blacklist` в файле `/home/pi/catkin_ws/src/clover/clover/launch/mavros.launch`.
|
||||
|
||||
## Основные сервисы
|
||||
|
||||
|
||||
@@ -400,7 +400,7 @@
|
||||
| -- |:---------------------------------| :----------------------------------|
|
||||
| 1 | Введение | Поприветствовать учеников. Провести опрос или тестирование по пройденным темам. Сформулировать тему и цель урока. Сделать упор на то, что на занятии будет решаться задача написания программы для настоящего автономного полета. |
|
||||
| 2 | Системы координат | Рассказать про локальную и глобальную систему координат. Объяснить почему ориентации по локальной системе координат недостаточно. Рассказать о дополнительных системах координат, которые появляются благодаря получению дополнительной информации с камеры и внешних датчиков. |
|
||||
| 3 | Включение и использование камеры | Необходимо попросить учащихся убедиться, что в launch-файле Клевера (~/catkin_ws/src/clever/clever/clever.launch) включен запуск aruco_pose и нижней камеры для компьютерного зрения: <arg name="bottom_camera" default="true"/> <arg name="aruco" default="true"/> При изменении launch-файла необходимо перезапустить пакет clever: sudo systemctl restart clever Проверить видео, полученное с камеры перейдя по адресу http://192.168.11.1:8080/. |
|
||||
| 3 | Включение и использование камеры | Необходимо попросить учащихся убедиться, что в launch-файле Клевера (~/catkin_ws/src/clover/clover/clover.launch) включен запуск aruco_pose и нижней камеры для компьютерного зрения: <arg name="bottom_camera" default="true"/> <arg name="aruco" default="true"/> При изменении launch-файла необходимо перезапустить пакет clover: sudo systemctl restart clover Проверить видео, полученное с камеры перейдя по адресу http://192.168.11.1:8080/. |
|
||||
| 4 | Распознавание меток | Рассказать каким образом распознаются метки и как они образуют систему координат. Спросить у учащихся есть ли вопросы на текущий момент. |
|
||||
| 5 | Программирование и автономный полет | Предложить учащимся написать программу для взлета над меткой и посадки на нее. Рассказать о структуре программы, которая может выполнить эту задачу и привести пример кода с использованием функций: ● navigate, ● set_position ● set_velocity. Проверить и скорректировать программы, написанные учащимися. Рассказать, каким образом осуществляется перехват коптера в ручное управление. Протестировать написанные программы. |
|
||||
| 6 | Заключение | Подвести итоги занятия, спросить, есть ли у класса вопросы, их должно быть много, нужно заранее продумать ответы на них. Попросить учеников ответить на контрольные вопросы. Предложить ученикам по желанию провести в интернете дополнительное исследование на пройденную тему. Сообщить ученикам, какую тему они будут проходить на следующем занятии. |
|
||||
|
||||
@@ -20,7 +20,7 @@ Wi-Fi адаптер на Raspberry Pi имеет два основных реж
|
||||
```txt
|
||||
network={
|
||||
ssid="my-super-ssid"
|
||||
psk="cleverwifi123"
|
||||
psk="cloverwifi123"
|
||||
mode=2
|
||||
proto=RSN
|
||||
key_mgmt=WPA-PSK
|
||||
@@ -90,8 +90,8 @@ Wi-Fi адаптер на Raspberry Pi имеет два основных реж
|
||||
country=GB
|
||||
|
||||
network={
|
||||
ssid="CLEVER-1234"
|
||||
psk="cleverwifi"
|
||||
ssid="clover-1234"
|
||||
psk="cloverwifi"
|
||||
mode=2
|
||||
proto=RSN
|
||||
key_mgmt=WPA-PSK
|
||||
@@ -101,7 +101,7 @@ Wi-Fi адаптер на Raspberry Pi имеет два основных реж
|
||||
}
|
||||
```
|
||||
|
||||
где `CLEVER-1234` – название сети, а `cleverwifi` – пароль.
|
||||
где `clover-1234` – название сети, а `cloverwifi` – пароль.
|
||||
|
||||
3. Включите службу `dnsmasq`.
|
||||
|
||||
@@ -155,8 +155,8 @@ update_config=1
|
||||
country=GB
|
||||
|
||||
network={
|
||||
ssid=\"CLEVER-SMIRNOV\"
|
||||
psk=\"cleverwifi\"
|
||||
ssid=\"my-clover\"
|
||||
psk=\"cloverwifi\"
|
||||
mode=2
|
||||
proto=RSN
|
||||
key_mgmt=WPA-PSK
|
||||
@@ -212,7 +212,7 @@ sudo apt install dnsmasq-base
|
||||
|
||||
```bash
|
||||
# Вызов dnsmasq-base
|
||||
sudo dnsmasq --interface=wlan0 --address=/clever/coex/192.168.11.1 --no-daemon --dhcp-range=192.168.11.100,192.168.11.200,12h --no-hosts --filterwin2k --bogus-priv --domain-needed --quiet-dhcp6 --log-queries
|
||||
sudo dnsmasq --interface=wlan0 --address=/clover/coex/192.168.11.1 --no-daemon --dhcp-range=192.168.11.100,192.168.11.200,12h --no-hosts --filterwin2k --bogus-priv --domain-needed --quiet-dhcp6 --log-queries
|
||||
|
||||
# Подробнее о dnsmasq-base
|
||||
dnsmasq --help
|
||||
@@ -230,7 +230,7 @@ sudo apt install dnsmasq
|
||||
```bash
|
||||
cat << EOF | sudo tee -a /etc/dnsmasq.conf
|
||||
interface=wlan0
|
||||
address=/clever/coex/192.168.11.1
|
||||
address=/clover/coex/192.168.11.1
|
||||
dhcp-range=192.168.11.100,192.168.11.200,12h
|
||||
no-hosts
|
||||
filterwin2k
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
Необходимо использование дальномера. [Подключите и настройте дальномер VL53L1X](laser.md), используя инструкцию.
|
||||
|
||||
Включите Optical Flow в файле `~/catkin_ws/src/clever/clever/launch/clever.launch`:
|
||||
Включите Optical Flow в файле `~/catkin_ws/src/clover/clover/launch/clover.launch`:
|
||||
|
||||
```xml
|
||||
<arg name="optical_flow" default="true"/>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
Платформа Клевера позволяет использовать [Raspberry Pi](raspberry.md) для того, чтобы запрограммировать автономный полет дрона. Чаще всего программа для автономного полета пишется на языке Python. Программа может [получать телеметрию](simple_offboard.md#get_telemetry) (заряд батареи, ориентацию, расположение и т. д.) и отправлять команды: [полететь в точку](simple_offboard.md#navigate), [установить ориентацию](simple_offboard.md#set_attitude), [угловую скорость](simple_offboard.md#set_rates) и т. д.
|
||||
|
||||
Платформа основывается на [фреймворке ROS](ros.md), который обеспечивает связь между пользовательской программой и сервисами Клевера, которые запущены в фоне в виде systemd-демона `clever`. Для связи с полетным контроллером используется пакет [MAVROS](mavros.md).
|
||||
Платформа основывается на [фреймворке ROS](ros.md), который обеспечивает связь между пользовательской программой и сервисами Клевера, которые запущены в фоне в виде systemd-демона `clover`. Для связи с полетным контроллером используется пакет [MAVROS](mavros.md).
|
||||
|
||||
Для автономного полета в PX4 используется [режим OFFBOARD](modes.md#auto). API Клевера переводит дрон в этом режим автоматически. В случае необходимости прерывания автономного полета, необходимо перевести дрон в любой другой режим, используя стик переключения режимов на пульте.
|
||||
|
||||
@@ -44,7 +44,7 @@ python flight.py
|
||||
# coding: utf8
|
||||
|
||||
import rospy
|
||||
from clever import srv
|
||||
from clover import srv
|
||||
from std_srvs.srv import Trigger
|
||||
|
||||
rospy.init_node('flight')
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
> **Warning** Открытое соединение QGroundControl или rviz пересылает большие объемы данных по Wi-Fi, что может негативно сказаться на отзывчивости мобильного пульта. Рекомендуется не использовать эти приложения одновременно с ним.
|
||||
|
||||
Установите [образ Clover на RPi](image.md). Для работы приложения параметры `rosbridge` и `rc` в launch-файле (`~/catkin_ws/src/clever/clever/launch/clever.launch`) должны быть включены:
|
||||
Установите [образ Clover на RPi](image.md). Для работы приложения параметры `rosbridge` и `rc` в launch-файле (`~/catkin_ws/src/clover/clover/launch/clover.launch`) должны быть включены:
|
||||
|
||||
```xml
|
||||
<arg name="rosbridge" default="true"/>
|
||||
@@ -26,10 +26,10 @@
|
||||
<arg name="rc" default="true"/>
|
||||
```
|
||||
|
||||
При изменении launch-файла необходимо перезапустить пакет `clever`:
|
||||
При изменении launch-файла необходимо перезапустить пакет `clover`:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
sudo systemctl restart clover
|
||||
```
|
||||
|
||||
Также необходимо убедиться, что PX4-параметр `COM_RC_IN_MODE` установлен в значение `0` (RC Transmitter).
|
||||
@@ -44,7 +44,7 @@ sudo systemctl restart clever
|
||||
Подключение
|
||||
---
|
||||
|
||||
Подключите смартфон к [Wi-Fi](wifi.md) сети Клевера (`CLEVER-xxxx`). Приложение должно подключиться с коптеру автоматически. При успешном подключении должны отобразиться текущий [режим](modes.md) и заряд батареи.
|
||||
Подключите смартфон к [Wi-Fi](wifi.md) сети Клевера (`clover-xxxx`). Приложение должно подключиться с коптеру автоматически. При успешном подключении должны отобразиться текущий [режим](modes.md) и заряд батареи.
|
||||
|
||||
Стики на экране приложения работают так же, как и реальные стики. Для арма коптера подержите левый стик в правом нижнем углу на протяжении нескольких секунд. Для дизарма – в левом нижнем углу.
|
||||
|
||||
|
||||
@@ -84,11 +84,11 @@ rostopic echo /mavros/state
|
||||
Пример вызова ROS-сервиса из языка Python:
|
||||
|
||||
```python
|
||||
from clever.srv import GetTelemetry
|
||||
from clover.srv import GetTelemetry
|
||||
|
||||
# ...
|
||||
|
||||
# Создаем обертку над сервисом get_telemetry пакета clever с типом GetTelemetry:
|
||||
# Создаем обертку над сервисом get_telemetry пакета clover с типом GetTelemetry:
|
||||
get_telemetry = rospy.ServiceProxy('get_telemetry', srv.GetTelemetry)
|
||||
|
||||
# Вызываем сервис и получаем телеметрию квадрокоптера:
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
Запуск rviz
|
||||
---
|
||||
|
||||
Для запуска визуализация состояния Клевера в реальном времени, необходимо подключиться к нему по Wi-Fi (`CLEVER-xxx`) и запустить rviz, указав соответствующий ROS_MASTER_URI:
|
||||
Для запуска визуализация состояния Клевера в реальном времени, необходимо подключиться к нему по Wi-Fi (`clover-xxx`) и запустить rviz, указав соответствующий ROS_MASTER_URI:
|
||||
|
||||
```bash
|
||||
ROS_MASTER_URI=http://192.168.11.1:11311 rviz
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
Для запуска наберите в [консоли Raspberry Pi](ssh.md):
|
||||
|
||||
```bash
|
||||
rosrun clever selfcheck.py
|
||||
rosrun clover selfcheck.py
|
||||
```
|
||||
|
||||
<img src="../assets/selfcheck.png">
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Автономный полет (OFFBOARD)
|
||||
===
|
||||
|
||||
> **Note** Документация для версий [образа](image.md), начиная с **0.15**. Для более ранних версий см. [документацию для версии **0.14**](https://github.com/CopterExpress/clover/blob/v0.14/docs/ru/simple_offboard.md).
|
||||
> **Note** В версии образа **0.20** пакет `clever` был переименован в `clover`. Для более ранних версий см. документацию для версии [**0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/simple_offboard.md).
|
||||
|
||||
<!-- -->
|
||||
|
||||
> **Hint** Для автономных полетов рекомендуется использование [специальной сборки PX4 для Клевера](firmware.md#прошивка-для-клевера).
|
||||
|
||||
Модуль `simple_offboard` пакета `clever` предназначен для упрощенного программирования автономного полета дрона ([режим](modes.md) `OFFBOARD`). Он позволяет устанавливать желаемые полетные задачи и автоматически трансформирует [систему координат](frames.md).
|
||||
Модуль `simple_offboard` пакета `clover` предназначен для упрощенного программирования автономного полета дрона ([режим](modes.md) `OFFBOARD`). Он позволяет устанавливать желаемые полетные задачи и автоматически трансформирует [систему координат](frames.md).
|
||||
|
||||
`simple_offboard` является высокоуровневым способом взаимодействия с полетным контроллером. Для более низкоуровневой работы см. [mavros](mavros.md).
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
```python
|
||||
import rospy
|
||||
from clever import srv
|
||||
from clover import srv
|
||||
from std_srvs.srv import Trigger
|
||||
|
||||
rospy.init_node('flight')
|
||||
|
||||
@@ -194,11 +194,11 @@ rosdep install -y --from-paths src --ignore-src -r
|
||||
catkin_make
|
||||
```
|
||||
|
||||
Если сборка прошла успешно то вы можете запустить ноду клевера и пользоваться пакетом `Clover` точно так же, как и на реальном коптере:
|
||||
Если сборка прошла успешно то вы можете запустить ноду клевера и пользоваться пакетом `clover` точно так же, как и на реальном коптере:
|
||||
|
||||
```bash
|
||||
. devel/setup.bash
|
||||
roslaunch clever sitl.launch
|
||||
roslaunch clover sitl.launch
|
||||
```
|
||||
|
||||
Для того, чтобы воспользоваться функциями предоставляемыми нашим пакетом, в новом окне терминала подтяните зависимости из файла `setup`:
|
||||
|
||||
@@ -16,19 +16,19 @@
|
||||
|
||||
## Настройка расположения камеры
|
||||
|
||||
Чтобы установить расположение камеры под необходимым углом, откройте файл `main_camera.launch`, расположенный в *~/catkin_ws/src/clever/clover/launch/*.
|
||||
Чтобы установить расположение камеры под необходимым углом, откройте файл `main_camera.launch`, расположенный в `~/catkin_ws/src/clover/clover/launch/`.
|
||||
|
||||
```bash
|
||||
nano ~/catkin_ws/src/clever/clover/launch/main_camera.launch
|
||||
nano ~/catkin_ws/src/clover/clover/launch/main_camera.launch
|
||||
```
|
||||
|
||||
### Версии 0.20>
|
||||
|
||||
В параметрах *direction_x*, *direction_y*, установите пустые значения вручную или введите строки:
|
||||
В параметрах `direction_x`, `direction_y`, установите пустые значения вручную или введите строки:
|
||||
|
||||
```bash
|
||||
sed -i "/direction_z/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clever/clover/launch/main_camera.launch
|
||||
sed -i "/direction_y/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clever/clover/launch/main_camera.launch
|
||||
sed -i "/direction_z/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clover/clover/launch/main_camera.launch
|
||||
sed -i "/direction_y/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clover/clover/launch/main_camera.launch
|
||||
```
|
||||
|
||||
Отредактируйте одну из конфигурационных строк или добавьте строку представленную ниже:
|
||||
@@ -39,7 +39,7 @@ sed -i "/direction_y/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clev
|
||||
|
||||
> **Note** Единовременно может использоваться только одна конфигурация камеры, если вы вставляете представленную выше строку, не забудьте закомментировать активную на данный момент. Для определения этого, вам поможет подсветка синтаксиса, используемая строка будет подсвечена другим цветом, нежели комментарии. Для комментирования в начало и конец строки добавьте символы *<!-- и -->* соответственно.
|
||||
|
||||
Если используемая вами карта маркеров имеет равномерные расстояния между ними, можете воспользоваться [утилитой для создания карт *gen_map.py*](aruco_map.md#настройка-карты-маркеров). В случае если ваши маркеры расположены в случайном порядке вам потребуется задать их вручную, для этого перейдите в директорию *~/catkin_ws/src/clever/aruco_map/map* и создайте файл карты *map_name.txt*. Заполните вашу карту в соответствии с [синтаксисом карт](aruco_map.md#настройка-карты-маркеров). Пример карты маркеров со случайным расположением маркеров:
|
||||
Если используемая вами карта маркеров имеет равномерные расстояния между ними, можете воспользоваться [утилитой для создания карт `gen_map.py`](aruco_map.md#настройка-карты-маркеров). В случае если ваши маркеры расположены в случайном порядке вам потребуется задать их вручную, для этого перейдите в директорию `~/catkin_ws/src/clover/aruco_map/map` и создайте файл карты `map_name.txt`. Заполните вашу карту в соответствии с [синтаксисом карт](aruco_map.md#настройка-карты-маркеров). Пример карты маркеров со случайным расположением маркеров:
|
||||
|
||||
> **Hint** При введении карты, выберите один из маркеров, как начало координат, и относительно него отмеряйте расстояние до всех остальных маркеров. Вы можете не указывать все 8 параметров, в случае если все ваши маркеры ориентированы одинаково, можно указывать только первые 5: индекс маркера, размер и его расположение в пространстве по осям x, y, z соответственно.
|
||||
|
||||
@@ -49,12 +49,12 @@ sed -i "/direction_y/s/default=\".*\"/default=\"\"/" /home/pi/catkin_ws/src/clev
|
||||
153 0.40 -0.56 1.36 0
|
||||
```
|
||||
|
||||
После того, как карта введена, необходимо применить ее, для этого отредактируйте файл `aruco.launch`, расположенный в *~/catkin_ws/src/clever/clever/launch/*. Измените в нем строку `<param name="map" value="$(find aruco_pose)/map/map_name.txt"/>`, где `map_name.txt` название вашего файла с картой.
|
||||
После того, как карта введена, необходимо применить ее, для этого отредактируйте файл `aruco.launch`, расположенный в `~/catkin_ws/src/clover/clover/launch/`. Измените в нем строку `<param name="map" value="$(find aruco_pose)/map/map_name.txt"/>`, где `map_name.txt` название вашего файла с картой.
|
||||
|
||||
При использовании маркеров не привязанных к горизонтальным плоскостям(пол, потолок), необходимо отключить параметр `known_tilt`, как в модуле `aruco_detect`, так и в модуле `aruco_map` в том же файле. Для того, чтобы сделать это автоматически, введите:
|
||||
|
||||
```bash
|
||||
sed -i "/known_tilt/s/value=\".*\"/value=\"\"/" /home/pi/catkin_ws/src/clever/clever/launch/aruco.launch
|
||||
sed -i "/known_tilt/s/value=\".*\"/value=\"\"/" /home/pi/catkin_ws/src/clover/clover/launch/aruco.launch
|
||||
```
|
||||
|
||||
После всех настроек вызовите `sudo systemctl restart clover` для перезагрузки сервиса *clover*.
|
||||
После всех настроек вызовите `sudo systemctl restart clover` для перезагрузки сервиса `clover`.
|
||||
|
||||
@@ -1,28 +1,12 @@
|
||||
# Просмотр изображений с камер
|
||||
|
||||
Для просмотра изображений с камер (или других ROS-топиков) можно воспользоваться [rviz](rviz.md), rqt, или смотреть их через браузер, используя web\_video\_server.
|
||||
Для просмотра изображений с камер (или других ROS-топиков) можно воспользоваться [rviz](rviz.md), rqt, или смотреть их через браузер, используя web_video_server.
|
||||
|
||||
См. подробнее про [использование rqt](rviz.md).
|
||||
|
||||
## Просмотр через браузер
|
||||
|
||||
### Настройка
|
||||
|
||||
Необходимо убедиться, что в launch-файле Клевера \(`~/catkin_ws/src/clever/clever/launch/clever.launch`\) включен запуск `web_video_server`:
|
||||
|
||||
```xml
|
||||
<arg name="web_video_server" default="true"/>
|
||||
```
|
||||
|
||||
При изменении launch-файла необходимо перезапустить пакет `clever`:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart clever
|
||||
```
|
||||
|
||||
### Просмотр
|
||||
|
||||
Для просмотра видеострима нужно [подключиться к Wi-Fi](wifi.md) Клевера \(`CLEVER-xxxx`\), перейти на страницу [http://192.168.11.1:8080/](http://192.168.11.1:8080/) и выбрать топик.
|
||||
Для просмотра видеострима нужно [подключиться к Wi-Fi](wifi.md) Клевера \(`clover-xxxx`\), перейти на страницу [http://192.168.11.1:8080/](http://192.168.11.1:8080/) и выбрать топик.
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Подключение к Клеверу по Wi-Fi
|
||||
|
||||
На [образе для RPi](image.md) преднастроена раздача Wi-Fi с SSID `CLEVER-xxxx`, где xxxx – 4 случайных цифры, назначаемых при первом включении Raspberry Pi.
|
||||
> **Note** Документация для версий [образа](image.md), начиная с **0.20**. Для более ранних версий см. [документацию для версии **0.19**](https://github.com/CopterExpress/clover/blob/v0.19/docs/ru/wifi.md).
|
||||
|
||||
Подключитесь к Wi-Fi, используя пароль `cleverwifi`.
|
||||
На [образе для RPi](image.md) преднастроена раздача Wi-Fi с SSID `clover-xxxx`, где xxxx – 4 случайных цифры, назначаемых при первом включении Raspberry Pi.
|
||||
|
||||
Подключитесь к Wi-Fi, используя пароль `cloverwifi`.
|
||||
|
||||
<img src="../assets/ssid.png" width="300px" alt="Подключение по Wi-Fi">
|
||||
|
||||
|
||||
Reference in New Issue
Block a user