mirror of
https://github.com/CopterExpress/clever-show.git
synced 2026-05-26 15:13:26 +00:00
92 lines
8.2 KiB
Markdown
92 lines
8.2 KiB
Markdown
# Быстрый старт на квадрокоптере Клевер
|
||
|
||
## Список оборудования
|
||
|
||
Данное ПО предназначено для управления несколькими квадрокоптерами с компьютера-сервера. Для полноценной работы необходимо следующее оборудование:
|
||
|
||
* Один или несколько квадрокоптеров, работающих на базе ПО [Клевер](https://github.com/CopterExpress/clover).
|
||
* Компьютер с операционной системой Ubuntu 18.04.
|
||
* Wifi роутер, работающий на частоте 2.4 ГГц, либо 5.8 ГГц, если эту частоту поддерживают wifi модули коптеров и компьютера.
|
||
|
||
## Подготовка ПО
|
||
|
||
ПО для организации шоу коптеров состоит из 2х основных частей - серверного приложения и клиентской части, которая предоставляется в виде образа для Raspberry Pi.
|
||
|
||
> Серверное приложение и образ для коптера должны быть одинаковой версии для их совместной работы.
|
||
|
||
Актуальная версия образа на текущий момент: [v0.3](https://github.com/copterexpress/clever-show/releases/tag/v0.3).
|
||
|
||
> Обратите внимание: релиз v0.3 работает только для системы позиционирования по потолочным aruco маркерам.
|
||
|
||
Скачайте на компьютер [образ для Raspberry Pi](https://github.com/CopterExpress/clever-show/releases/download/v0.3/clever-show_v0.3.img.zip) и [исходный код](https://github.com/CopterExpress/clever-show/archive/v0.3.zip). Разархивируйте исходный код в удобную директорию.
|
||
|
||
## Настройка роутера
|
||
|
||
Для управления одним или несколькими коптерами требуется подключение коптеров и сервера к одной сети. Для этого требуется отдельный wifi роутер с известным SSID и паролем.
|
||
|
||
## Установка и запуск клиента
|
||
|
||
* Запишите образ на microSD карту, используя [Etcher](https://www.balena.io/etcher/).
|
||
* Вставьте флешку в Raspberry Pi, включите коптер. Дождитесь появления сети `clever-show-XXXX`.
|
||
* Подключитесь к сети коптера, используя пароль `cloverwifi`.
|
||
* Подключитесь к Raspberry Pi на коптере с помощью ssh, используя статический ip `192.168.11.1`, имя пользователя `pi` и пароль `raspberry`.
|
||
|
||
```bash
|
||
ssh pi@192.168.11.1
|
||
```
|
||
|
||
* После подключения выполните скрипт настройки клиента `client-setup` с указанными параметрами - название точки доступа (`SSID`), пароль точки доступа (`password`), имя коптера (`copter name`). Коптер переключится в режим клиента указанной точки доступа и настроит автозапуск клиента `clever-show` на Raspberry Pi.
|
||
|
||
```bash
|
||
sudo client-setup <SSID> <password> <copter name>
|
||
```
|
||
|
||
* Теперь при запуске серверного приложения настроенные коптеры будут отображаться в виде таблицы. Также можно подключаться к Raspberry Pi на коптере по его имени с добавкой .local через `ssh` в указанной при настройке wifi сети, например `ssh pi@clover-1.local`, пароль `raspberry`.
|
||
|
||
> **Подробная документация по настройке клиентской части находится [здесь](client.md).**
|
||
|
||
## Установка и запуск сервера
|
||
|
||
* Установите [chrony](https://chrony.tuxfamily.org/index.html) на ваш компьютер для синхронизации времени с коптерами:
|
||
|
||
```bash
|
||
sudo apt install chrony
|
||
```
|
||
|
||
* Установите необходимые python-пакеты с помощью команды (запущенной из директории с исходным кодом)
|
||
|
||
```bash
|
||
pip3 install -r requirements.txt
|
||
```
|
||
|
||
* Подключитесь к wifi сети роутера, к которому подключены коптеры.
|
||
* Скопируйте [файл настроек chrony](../../examples/chrony/server.conf) в `/etc/chrony/chrony.conf`. Если ip адрес сети начинается не с `192.168.`, то исправьте адрес после слова allow в скопированном файле настроек.
|
||
* Перезапустите сервис chrony
|
||
|
||
```bash
|
||
sudo systemctl restart chrony
|
||
```
|
||
|
||
* Перейдите в директорию сервера из директории с исходным кодом и запустите сервер
|
||
|
||
```bash
|
||
cd clever-show/server
|
||
python3 server.py
|
||
```
|
||
|
||
> **Подробная документация по настройке серверной части находится [здесь](server.md).**
|
||
|
||
## Подготовка дрона
|
||
|
||
Для запуска анимации все коптеры должны иметь настроенную систему позиционирования. По-умолчанию в образе настроен полёт по optical flow - на коптере должен быть установлер лазерный дальномер, а камера должна быть наклонена вниз шлейфом назад.
|
||
|
||
> После тестирования образа версии 0.3 выяснилась неработоспособность конфигурации системы позиционирования по умолчанию (optical flow). Для нормального функционирования требуется система позиционирования с постоянным потоком данных через топик визуальной позиции. Рекомендуемая конфигурация для образа 0.3 - [потолочные aruco маркеры](https://clever.coex.tech/ru/aruco_map.html#расположение-маркеров-на-потолке).
|
||
|
||
Вы можете настроить один коптер на любую систему позиционирования, которую поддерживает пакет [clever](https://clever.coex.tech/ru/programming.html#positioning), а затем размножить настройки на остальные коптеры с [сервера](server.md#раздел-server) с помощью команды `Send launch files`.
|
||
|
||
## Подготовка анимации
|
||
|
||
* Создайте анимацию объектов в Blender или воспользуйтесь [примерами](../../examples/animations). Условная единица расстояния в Blender конвертируется в метры. Задержка между кадрами по-умолчанию в [настройках коптера](../../drone/config/client.ini) равна 0.1 секунды (параметр frame_delay в разделе ANIMATION), будьте внимательны при настройке частоты кадров в анимации Blender. Следите за скоростями коптеров, чтобы они были не слишком большими: аддон выдаст предупреждение, но всё равно сконвертирует анимацию.
|
||
* Сконвертируйте анимацию с помощью [аддона для Blender](blender-addon.md).
|
||
* Загрузите анимацию с помощью команды `Send animations` на [сервере](server.md#раздел-server).
|