Files
clever-show/docs/ru/start-tutorial.md
2019-12-31 13:44:58 +03:00

7.1 KiB
Raw Blame History

Быстрый старт

Список оборудования

Данное ПО предназначено для управления несколькими квадракоптерами с компьютера-сервера. Для полноценной работы необходимо следующее оборудование:

  • Один или несколько квадрокоптеров, работающих на базе ПО Клевер.
  • Компьютер с операционной системой Linux.
  • Wifi роутер, работающий на частоте 2.4 ГГц, либо 5.8 ГГц, если эту частоту поддерживают wifi модули коптеров и компьютера.

Подготовка ПО

Скачайте на компьютер последний образ (clever-show_XXX.img.zip) и исходный код (Source code) из последнего релиза. Разархивируйте исходный код в удобную директорию.

Настройка роутера

Для управления одним или несколькими коптерами требуется подключение коптеров и сервера к одной сети. Для этого требуется отдельный wifi роутер с известным SSID и паролем.

Подключите компьютер, который будет использоваться в качестве сервера, к сети роутера и узнайте его ip адрес - он понадобится для дальнейшей настройки.

Установка и запуск клиента

  • Запишите образ на microSD карту, используя Etcher.
  • Вставьте флешку в Raspberry Pi, включите коптер. Дождитесь появления сети CLEVERSHOW-XXXX.
  • Подключитесь к сети коптера, используя пароль cleverwifi.
  • Подключитесь к Raspberry Pi на коптере с помощью ssh, используя статический ip 192.168.11.1, имя пользователя pi и пароль raspberry.
ssh pi@192.168.11.1
  • Перейдите в директорию клиента и выполните скрипт настройки клиента с указанными параметрами - название точки доступа (SSID), пароль точки доступа (password), имя коптера (copter name), ip сервера (server ip). Коптер переключится в режим клиента указанной точки доступа и настроит автозапуск клиента на Raspberry Pi.
cd ~/clever-show/Drone
sudo ./client_setup.sh <SSID> <password> <copter name> <server ip>
  • Теперь при запуске серверного приложения настроенные коптеры будут отображаться в виде таблицы. Также можно подключаться к Raspberry Pi на коптере по его имени с добавкой .local через ssh в указанной при настройке wifi сети, например ssh pi@clever-1.local, пароль raspberry. Если у вас установлено приложение samba, то к коптеру можно подключаться по его имени, например ssh pi@clever-1.

Документация по клиентской части находится здесь.

Установка и запуск сервера

  • Установите chrony, samba и Python 3 на ваш компьютер:
sudo apt install chrony samba python3 python3-pip
  • Установите необходимые python-пакеты с помощью команды (запущенной из директории с исходным кодом)
pip3 install -r requirements.txt
  • Подключитесь к wifi сети роутера, к которому подключены коптеры.
  • Скопируйте файл настроек chrony в /etc/chrony/chrony.conf. Если ip адрес сети начинается не с 192.168., то исправьте адрес после слова allow в скопированном файле настроек.
  • Перезапустите сервис chrony
sudo systemctl restart chrony
  • Перейдите в директорию сервера из директории с исходным кодом и запустите сервер
cd source-code-dir/Server
python3 server_qt.py

Документация по серверной части находится здесь.

Подготовка дрона

Для запуска анимации все коптеры должны иметь настроенную систему позиционирования. По-умолчанию в образе настроен полёт по optical flow - на коптере должен быть установлер лазерный дальномер, а камера должна быть наклонена вниз шлейфом назад.

Вы можете настроить один коптер на любую систему позиционирования, которую поддерживает пакет clever, а затем размножить настройки на остальные коптеры с сервера с помощью команды Send launch files.

Подготовка анимации

  • Создайте анимацию объектов в Blender или воспользуйтесь примерами. Условная единица расстояния в Blender конвертируется в метры. Задержка между кадрами по-умолчанию в настройках коптера равна 0.1 секунды (параметр frame_delay в разделе ANIMATION), будьте внимательны при настройке частоты кадров в анимации Blender. Следите за скоростями коптеров, чтобы они были не слишком большими: аддон выдаст предупреждение, но всё равно сконвертирует анимацию.
  • Сконвертируйте анимацию с помощью аддона для Blender.
  • Загрузите анимацию с помощью команды Send animations на сервере.