# Быстрый старт на квадрокоптере Клевер ## Список оборудования Данное ПО предназначено для управления несколькими квадрокоптерами с компьютера-сервера. Для полноценной работы необходимо следующее оборудование: * Один или несколько квадрокоптеров, работающих на базе ПО [Клевер](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 ``` * Теперь при запуске серверного приложения настроенные коптеры будут отображаться в виде таблицы. Также можно подключаться к 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).