Управляем чем угодно откуда угодно

Квадрокоптер

Кто что сделал и кто что собирается делать

Re: Квадрокоптер

Сообщение eagafonov » 14 май 2014, 22:36

"Поехали!" (ц)

Первый полёт. В "ангаре". На поводке.

Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Квадрокоптер

Сообщение realizator » 16 май 2014, 10:22

Ура! Летает! Круто!
Хотел спросить - а с чего он рулится, т. е. команды принимает? Аппаратура управления rc-шная к компу подключена?
Аватара пользователя
realizator
virt2real team
 
Сообщения: 646
Зарегистрирован: 17 фев 2012, 23:18

Re: Квадрокоптер

Сообщение eagafonov » 16 май 2014, 11:07

realizator писал(а):Ура! Летает! Круто!
Хотел спросить - а с чего он рулится, т. е. команды принимает? Аппаратура управления rc-шная к компу подключена?


Про управление в двух словах...

Пульт от вертолёта Nine Eagle выдаёт PPM-SUM на выход тренерновочного разъёма.
Этот сигнал декодируется второй виртурилкой, которая лежит на столе и в кадр не попала :-)

Значения каналов передаются по UDP протоколом MAVLink: передатчик шлёт сообщения RC Channel override на
фиксированный адрес:порт виртурилки коптера.

В ArduPilot я реализовал платформенную прослойку для виртурилки, одна из частей это приём MAVlink сообщений по UDP.
Из коробки ArduPilot про UDP ничего не знает и MAVlink только через UART шлёт и принимает.
Так отдаётся вся телеметрия в оригинальном ArduPilot


Код: Выделить всё
   
    |    |
 +----------+                   +-------------+                        ---+--- +------------+  ---+---
 | RC пульт |  --- PPM-SUM ---> | V2R control |  ------ MAVlink ---->     H----| V2R-copter |-----H
 +----------+                   +-------------+                                +------------+
                 два провода                          WiFi/UDP



Для приёма телеметрии и настройки параметров я использую QGroundControl (http://qgroundcontrol.org)
Опять идёт по UDP на комп где запущен QGroundControl

Пример кода PPM-SUM декодера тут лежит https://github.com/eagafonov/rc-ppm-decoder.
Сейчас выложен только пример, который на экран выводит значения с пульта.

Код реального передатчика-прокси чуть позже будет. Он на ArduPilot завязан, точнее код MAVlink оттуда берёт.
На данный момент это всё работает в лабораторных условиях - все части запускаются ручками из терминалки по SSH, но как PoC - большой шаг.
FPV пока не пробовал - ArduPilot жрёт 60% CPU и там есть что оптимизировать.

По железу.

я сделал шЫлд, на который наклеен сенсор GY-87 (всё-в-одном) и разведены разъёмы обоих двух UART'ов и выходы PWM для двигателей в количестве 4-х штук. Ещё разведена и запаяна микросхема ОУ в режиме повторителя напряжения для замера напряжения с батарейки, но в коде пока не используется.
GPS приёмник внешний, подключется ко UART1 и спрятан с сине-зелёной коробочке на носу коптера. В комнате бесполезен, но без него ArduCopter не инициализируется. Вырезать в коде лень было, проще подключить, всё равно нужен будет :-)

GY-87 - https://www.google.ru/search?q=GY-87&ne ... 1&tbm=isch

В целом Proof-of-Concept готов, но делать ещё много чего надо.
Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Квадрокоптер

Сообщение realizator » 16 май 2014, 11:37

Круто! Великое дело!
А мы пульт через адаптер к компу цепляем и с ним работает как со штатным виндовым устройством (аппаратура для машинки и самолета), Серега написал программулину.
По поводу проца - мы в оптимизации смогли удушить гстример до 20% при передаче HD видео, цепочками можем поделиться как дело до этого дойдет.
Аватара пользователя
realizator
virt2real team
 
Сообщения: 646
Зарегистрирован: 17 фев 2012, 23:18

Re: Квадрокоптер

Сообщение РД00 » 16 май 2014, 12:20

eagafonov писал(а):
realizator писал(а):Ура! Летает! Круто!
В целом Proof-of-Concept готов, но делать ещё много чего надо.


Мощный шаг вперед, примите поздравления. Т.е. код ArduPilot'а портирован под Линукс. А в каком виде, пользовательское приложение и работа с железом через драйвера ?
РД00
 
Сообщения: 20
Зарегистрирован: 16 май 2014, 10:42

Re: Квадрокоптер

Сообщение eagafonov » 18 май 2014, 14:32

В ArduPilot уже есть зачаточная поддержка Linux, но похоже что используется только для отладки на десктопе.
https://github.com/diydrones/ardupilot/ ... _HAL_Linux

Платформозависимый код это работа с железом (GPIO, ADC, UART, I2C), хранилище настроек (файл, EPPROM), управление ESC и мутексы и получение данный с RC-приёмника.

Пришлось покопаться во всех частях :-) Весь остальной код - платформонезависимый.

Ещё есть код, специфичный для некоторых устройств, например, для акселерометров и GPS.

Для аксереометра MPU6050 я написал модуль, который работает с ядрёным драйвером. Оригинанальный код ArduPilot для MPU6050 очень нагружает CPU, потому что опрашивает устройство по i2c вместо ожидания готовности следующей порции данных.

На выходе - один бинарник в стиле запустил с параметрами и полетел.
Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Квадрокоптер

Сообщение verial » 23 июл 2014, 08:25

Всем доброе утро!
Вот стал обладателем сего изделия в виде виртурилки, занимаюсь квадрокоптерами и сразу вопрос какая у него скорость по обработке видео в себе?
спасибо.
verial
 
Сообщения: 48
Зарегистрирован: 22 июл 2014, 13:38
Откуда: Москва

Re: Квадрокоптер

Сообщение eagafonov » 23 июл 2014, 10:31

Что такое скорость по обработке видео?

В соседних ветках описано, как гнать HD видео с камеры по WiFi или 3G/LTE свистку.
viewtopic.php?f=44&t=14131
viewtopic.php?f=44&t=14130

У меня лично руки пока не дошли запустить вместе ArduPilot и трансляцию видео с борта.
Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Квадрокоптер

Сообщение eagafonov » 23 июл 2014, 10:54

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

Решил таки прикрутить классический RC приёмник 2.4Ghz, ибо с родным wifi модулем дальность пока никакая + таскать ноут в качестве передатчика как-то не хочется. Как разживусь нормальным wifi-роутером a-la Bullet M и направленной антеной, подумаю про использование wifi для управления опять.

А пока-что клепаю отдельный PPM-декодер, который будет брать 8 PWM сигналов с приёмника и отдавать его на виртурилку в "цифре" (планирую для начала i2c использовать). Железка планируется на stm32, отладка идёт на на stm32vl-discovery.

Предвкушая вопросы "почему не купить готовый декодер или приёмник, который PPM-SUM выдаёт", сразу отвечу, что хочу именно в цифре передавать, без декодирования аналогового сигнала на виртурилке. Я тут уже писал (viewtopic.php?f=38&t=14097) про декодирование PPM и отмечал, что наблюдаются "вылеты" значений. Похоже, что не хватает реалтаймовости обработки прерываний. В полёте это приводит к подёргиваниям аппарата по углам, что пугает. При всём при этом родной тренеровочный USB-свисток выдаёт постоянный значения, когда если стики пульта не двигаются.

UPD:
PPM-декодеры на AVR
http://store.3drobotics.com/products/8- ... -version-2
http://wiki.paparazziuav.org/wiki/ATmeg ... oder_Board
Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Квадрокоптер

Сообщение verial » 24 июл 2014, 05:29

А вот теперь я снова в непонятке, читаю как залить прошивку и ничего не понимаю, карточка sd форматировать под фат 32? и где прочитать пошагово как перенести прошивку на sd карту (слово рортировать не проходит).
verial
 
Сообщения: 48
Зарегистрирован: 22 июл 2014, 13:38
Откуда: Москва

Пред.След.

Вернуться в Проекты на базе Виртурилки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron