AR.Drone 2.0

Владимир#
Kitevlad:

Можете конкретно показать тему на русском языке, где описывается способ подключения, приводится пример скетча, настройка?

Вот тут извиняйте, всё инфа что есть к сожалению только на английском. Вы вообще сами сделать хотите или купить?

Kitevlad
Владимир#:

к сожалению только на английском.

Хорошо, хотя бы на выше указанных сайтах, можно по конкретней тему показать (английский знаю на уровне переводчика гугла) Я смог найти только вот это

Владимир#

Ну для начала вот на rcgroups. Начинается с первого но переходит и ко второму.
Опять же спрашиваю вы купить хотите или сделать? От разные темы.

Kitevlad
Владимир#:

Ну для начала вот на rcgroups. Начинается с первого но переходит и ко второму.
Опять же спрашиваю вы купить хотите или сделать? От разные темы.

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

Kitevlad

Прошу прощение, это сообщение для того чтоб проверить баг этого форума… Уже второй день, не смотря на то что уже появилась 58 страница все ссылки и попытки нажать на кнопку 58 всё равно возвращают на страницу 57, считая её последней… Решил написать это сообщение и посмотреть что получится…
Просьба к модераторам после прочтения съесть удалить 😃

Да, так и осталось на 57 странице…

Владимир#
Kitevlad:

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

Да на самом всё есть в теме по ссылке. Как управляется дрон читайте тут api.viglink.com/api/click?format=go&key=8a24c98a69…
Что на выходе с приемника не составит труда найти. Дальше дело за вами. Посмотрите в конце концов исходники. Там же есть

what: rx2at - RC receiver servo signal to drone AT command conversion

Собственно что ещё необходимо?

Kitevlad:

Да, так и осталось на 57 странице…

Древний баг. 58-ой страницы ещё нет.

Kitevlad
Владимир#:

Да на самом всё есть в теме по ссылке.

Спасибо, начал находить информацию по вашим ссылкам.

nvi93
Kitevlad:

Спасибо, начал находить информацию …

Попробуйте вот это.
mirumod.tk/hw/…/arduino_pro_mini.php
Мирумод хорошо постарался, 4 режима полёта 2 дома, 2 на улице, поддерживаются все моды передатчиков, видео можно гнать на iDev, ну и последний вариант GPS поддерживает - возврат домой, но я это пока не проверял.
Я себе сделал на Arduino Pro Mini 5V/16M тоже под Футабу Т6ЕАХР - главное чтобы режим самолёта поддерживался, самый простой.

Kitevlad
nvi93:

Попробуйте вот это. Я себе сделал на Arduino Pro Mini 5V/16M тоже под Футабу Т6ЕАХР - главное чтобы режим самолёта поддерживался, самый простой.

Спасибо за ссылку. А Logic Level Converter Вы тоже использовали? Я так понял что старую схему, где он не используется, нельзя применять на AR.Drone 2.0?

nvi93
Kitevlad:

Спасибо за ссылку. А Logic Level Converter Вы тоже использовали?

Да нужен. У меня AR.Drone 2.0 поставил вот такой и вот так, в переделанном корпусе, всё разместил. Приёмник от футабы тяжелый поставил Короновский с сейф модами. Рекомендую начать с теста. Залить прошивку, подключить приёмник. К дрону не подключать! Потом запустить “гипертерминал” (как в “ридми” написано), отправить на Ардуину “Ctrl+B” подвигать ручками на передатчике, посмотреть как команды интерпритируются. Красивая картинка! Заодно на передатчике уровни настроить, чтобы в красную зону не попадали. А при выключении питания передатчика, наоборот, должно “красным” стать - посадка.

Kitevlad
nvi93:

Потом запустить “гипертерминал”

Что такое гипертерминал?.. Мне дрон принесли дети, которые занимаются у меня в кружке. Он с айфоном не конектится, вообще не отображается… Единственно что происходит, это загораются все красные диоды на движках, при подключении аккумулятора. У него оторвана передняя камера. Влияет ли это на ошибку? Всё остальное визуально вроде целое. Если честно то не могу даже определить 1 или 2 это дрон? Надписей нет. А информацию как определить визуально не нашёл ещё… Вообще было бы здорово если б здесь создать тему на русском как переделать управление с айфонов на аппу.
Давайте создадим, если вам не трудно. Спасибо.

Владимир#
Kitevlad:

Если честно то не могу даже определить 1 или 2 это дрон?

У первого УЗ датчики на плате навигации а у второго на корпусе через шлейф.

Kitevlad:

У него оторвана передняя камера. Влияет ли это на ошибку?

Точно не помню. В заблуждение вводить не буду.

Kitevlad:

Он с айфоном не конектится, вообще не отображается… Единственно что происходит, это загораются все красные диоды на движках, при подключении аккумулятора.

Так вам по любому сначала нужно его починить. Такое поведение означает что он просто не загружается и вы его никак пока использовать не сможете.

alexspy2
nvi93:

Попробуйте вот это. mirumod.tk/hw/arduino_pro_min...o_pro_mini.php Мирумод хорошо постарался, 4 режима полёта 2 дома, 2 на улице, поддерживаются все моды передатчиков, видео можно гнать на iDev, ну и последний вариант GPS поддерживает - возврат домой, но я это пока не проверял.

Вроде пишет, что “Due to the power consumption requirements GPS connection is at the moment not supported for Arduino Pro Mini!” А чем mini pro от nano отличается кроме как отсутствием USB?

Kitevlad
Владимир#:

У первого УЗ датчики на плате навигации а у второго на корпусе через шлейф.

У моего две платы. Одна контроллер, вторая где стоят УЗ датчики. Эта плата не через шлейф подключена а через шилд и находится под основной платой, завтра сфоткаю покажу…

Владимир#:

Так вам по любому сначала нужно его починить. Такое поведение означает что он просто не загружается и вы его никак пока использовать не сможете.

А вот как его протестировать ??? Можно ли его как то к компьютеру подсоединить, проверить, перепрошить если что?

Владимир#
Kitevlad:

У моего две платы. Одна контроллер, вторая где стоят УЗ датчики. Эта плата не через шлейф подключена а через шилд и находится под основной платой, завтра сфоткаю покажу…

Это походу первый.

Kitevlad:

А вот как его протестировать ??? Можно ли его как то к компьютеру подсоединить, проверить, перепрошить если что?

Если не совсем труп, то да. По USB к разъёму на брюхе. И далее как к обычной линуксовой машине в терминальном режиме (как раз гипертерминал). Подробнее о всех тонкостях к сожалению не расскажу. Давно это было и не так плотно я этим занимался.

Kitevlad
Владимир#:

И далее как к обычной линуксовой машине в терминальном режиме (как раз гипертерминал).

Немного не понял… У меня должна стоять операционка линукс?

nvi93
Kitevlad:

Немного не понял… У меня должна стоять операционка линукс?

Для теста собранной схемы хватит Win XP. Гипертерминал это “Пуск-Программы-Стандартные-Связь-HiperTerminal”.

Далее действуйте по инструкции. Вот часть моего перевода инструкции от Миру, да простит меня автор…

SETUP - НАСТРОЙКА
=====
mod ‘sketch’ использует 5 или 6 из доступных каналов приёмника.
Четыре канала от стиков, а 1 или 2 канала для переключения режимов полёта.

Перед тем как загрузить программу (‘sketch’) в Arduino, нужно установить/проверить настройки:

  1. Сообщите программе какой канал вы хотите использовать для включения режима “полёт”.
    Канал S_AUX1 определён как 3-х позиционный переключатель. S_GEAR определён как 2-х позиционный переключатель.
    Установите соответствие S_LAND and S_FMOD к переключателям S_GEAR or S_AUX1.

S_LAND воспринимается как выбор режима LAND/FLY (земля/полёт).
S_FMOD это выбор режима полёта, когда дрон в воздухе. Для этого есть 2 моды FM1 и FM2, которые отличаются восприятием стиков крена и тангажа (AILE/ELEV) в отпущенном состоянии. В моде FM1 дрон дудет пытаться останавливить движение по горизонтали (для этого он использует камеру нижнего обзора). Это моде для “новичка”, когда Вы попадаете в трудную ситуацию, нужно отпустить стик, и дрон попытается остановиться. В “расширенной” FM2 моде, камера не используется и Вам потребуется самостоятельно “выруливать” из трудных ситуаций, оттормаживаться в горизонтальном полёте.

  1. Сообщите программе в какой моде работает ваш передатчик.
    Установите макрос T_MODE в значение 1, 2, 3 или 4.

T_MODE 1 или 4 воспринимается как “газ/элероны” (throttle/aileron) на одном стике.
T_MODE 2 или 3 воспринимается as "газ/киль-курс (throttle/rudder) на одном стике.
(прим. пер. мода 1 газ на правой руке, мода 2 на левой)

  1. Проверьте/измените макрос VLBA_THR, значение порога срабатывания от 1 до 60.
    При достижении порога, дрон начнёт мигать красными окнями и активируется выход на Arduino.
    Замечание: Дрон сигнализирует о низком заряде батареии VBAT_LOW при остаточном заряда 10%,
    а если заряд достигнет 0 то выполнит “Аварийное приземление” (EMERGENCY LAND).
    Эта функция предупреждает, подает сигналы о необходимости приземления.
    Rev 0.09 использует вывод (9) на Arduino Pro в качестве выходного (мигает 5 ГЦ, со скважностью 40/60 или выдаёт постоянное свечение). МАКРОС позволяет установить активное состояние VLBA_POL
    (по умолчанию-1 (высокий)). МАКРОС VLBA_BLINK позволяет выбрать вариант пульсирующий или постоянный сигал.

Если мода полёта “Земля” (LAND), то стик Газ/Курс (throttle/rudder) работает как “кнопка”. Перемещение
её влево вызывает FTRIM на дроне, а перемещение вправо вызывает EMERGENCY.

Когда Вы собрали всё “железки” вместе и загрузили “скетч” (прим.пер.: залили прошивку в Ардуино)
запустите проверку того, на сколько правильно ‘rx2at’ распознаёт сигналы.

Заземлите вывод помеченный как (11), подключите Arduino к компьютеру (5V сигналы!)
(подобно тому как подключали для заливки “скетча”) и включите питани. (прим. пер. питание подаётся при подключении по USB от компьютера, дополнительно подавать ничего не надо).
Вы не можете использовать стандартный Arduino IDE Serial Monitor в этих целях, т.к. он
НЕ ПОДДЕРЖИВАЕТ передачу сигналов управления… Используйте “Hyperterminal” или подобную ей программу
установите скорость 115200, 8 bits, 1 stop, no parity, no handshake.

Ввидите команду Ctrl-B (“Control” и “B” одновременно), это “магическое” сочетание для старта ‘rx2atp’.
Это покажет Вам что-то в виде нескольких строк…

rx2at revision…, at2so attached
cpusg XXXXXX fuses XX-XX-XX-XX
loop 33.3ms, dcnt=2663
gps …

-RX- f[ms] p[ms] value
AILE 21.9 1.500 0
ELEV 21.9 1.500 0
THRO 21.9 1.500 0 CFGx
RUDD 21.9 1.500 0
AUX1 21.9 1.900 1000 LAND
GEAR 21.9 1.100 -1000

‘rx2atp’ измеряет фреймы (посылки) команд (импульс за импульсом) и длительность импульсов в [ms].
Значения в колонках показывают их величины. Если Вы двигаете стиками или щёлкаете переключателями, на вашем передатчике, значения будут изменятся. Установите Ваш передатчик в режим самолёта, а не вертолёта со смешиванием каналов, Вам необходим каждый стик на отдельном канале.В моде 2 передатчика, канал газа (THRO) на левом стике перемещается вверх и вниз, курс/руль поворота (RUDD) левый стик влево и право, тангаж/руль высоты (ELEV) - на правом стике вверх и низ, крен/элероны (AILE) - правый стик влево и право.

Обратите внимание, чтобы названия стиков и переключателей совпадали со своим назначением, а если не совпадают, то измените подключение провода или измените бит назначения в main(). Ещё убедитесь, что каждый канал изменяется под действием своего активатора (переключателя или стика)! Когда все стики находятся в центре, значения RUDD, AILE, ELEV и RUDD должны быть равны 0 (нулю). Проверьте и установите “тримеры” на передатчике если нет нуля (0).

Теперь проверьте полярность сигналов…

Газ (THRO) вверх (добавить газу) -> положительное значение (PCMD GAZ value)
направление (RUDD) вправо -> положительное значение (PCMD YAW value)
тангаж (ELEV) вниз -> положительное значение (PCMD PTC value)
крен (AILE) вправо -> положительное значение (PCMD ROL value)
Инвертируйте сигналы на передатчике, если они имеют не соответствуют тому как сказано выше…

Решил закинуть и начало моего “вольного перевода” инструкции от Pawelsky:
P.S. надеюсь я не сильно исказил смысл…

Управление AR drone по радиопередатчику RC, в моде Wifi-less
=====================================================
Особенности:

  • точный контроль дрона (беспилотника)
  • дешевое аппаратное решение (Arduino Mini, AR6100)
  • начиналось с версиями прошивок дрон 1.4.6, 1.4.7, 1.5.1, 1.6.6, 1.7.4 и 1.7.6
    жаль, эти версии не поддерживаются больше, так как я не могу проверить их
  • протестированы с версиями прошивок дрон 1.7.11, 1.11.5 и 2.1.18, 2.1.20, 2.2.9, 2.3.3, 2.4.1
  • это действительно PNP, отсоедините HW и будет работать как раньше…
  • не требуется БЭК (доп. стабилизатор)
  • использует последовательный порт Drone
  • не требует “ручной загрузки” системных файлов на дрон
  • нет необходимости, создавать собственное ядро для дрона
  • iDEV-устройства по прежнему можно использовать для видео
  • модуль позволяет iDEV-устройствам получать доступ к видео порту
  • модуль позволяет iDEV-устройствам получать доступ к NAVDATA порт
  • модуль правит АТ команды от iDEV-устройств при использовании
  • есть последовательный интерфейс для приемника GPS (версия 0,04 +)
  • возможность ыбора конфигурации (версия 0,07 +)
  • индикация низкого заряда батареи - тревога (версия 0,08 +)
  • можно установить Режим 1, 2, 3 и 4 с передатчика (версия 0,08 +)
  • иходники программы находятся в этом архиве (пакете)

Железо

  1. Drone (с версиями прошивок 1.7.11, 1.11.5 и 2.4.1 доступны сейчас)
  2. 5-ти или более канальный передатчик / приемник
    4 канала на стиках (джойстики), 1 или 2 переключателя для изменения режима полета
    Я использую AR6100 или ORANGERX
  3. микроконтроллеры Arduino ProMini или Nano 16Mhz/5V
    Если вы хотите используеть ProMini, необходима карта FTDI для его программирования.
  4. Логический преобразователь уровней сигналов (ООО) для последовательного порта дрона
  5. Разъем для подключения к последовательному порту дрона
  6. Провода и разъемы.

Смотрите на сайте www.mirumod.tk

Программы

Ршение использует пару взаимосвязанных программ, одна запускается на Arduino, другая работает на дроне.
Основная программа дрона присоеденена в виде двоичного кода в исходнике (скетче) Arduino и может быть
автоматически загружена на дрон, программой Arduino. Программа также может быть загружены на дрон предварительно, таким образом, код программы можно удалить из FLASH от Arduino.

Arduino ‘скетч’ компилирован Arduino IDE. Я использую Arduino IDE 1.0.2 для компиляции и загрузки его на контроллер Arduino.

rx2atp - программа распознавания и преобразования сигналов от передатчика

Установка (заливка) программы на Arduino

‘rx2atp’ программа для Arduino. При её сборке не следует использовать какие-либо библиотечные функции среды Arduino, за исключением файла запуска и стандартной библиотеки поддержки компилятора, я надеюсь, что они не менялись …
Будьте осторожны при использовании любой из библиотек, которые приходят с Arduino IDE, они, как правило, не подходит для этого приложения.

Запустите Arduino IDE, при запуске откроется пустое окно, к которому надо добавить файл, для этого выбрать
<Sketch><Add File…>. Находим файл ‘rx2atp.c’ из данного пакета и после конфигурации (настройки) нужно
скомпилировать и загрузить в контроллер (‘Upload’).

Проверьте секцию настроек (SETUP section) в этом файле для макросов S_LAND, S_FMOD
и T_MODE и выбрать одну из конфигураций дрона в начале файла. Есть 4 различные настройки. Вы можете выбрать ту, которая будет использоваться при старте программы. Ваш выбор будет сохранён в EEROM.
(прим. переводчика - после загрузки программы, стиками можно менять и выбирать 1 из 4-х режимов до взлёта)
cfg1[] выбор по умолчанию, он используется в первоначальной моде
cfg2[] имеет максимальные установки на выходе
cfg3[] для использования в помещении, используются как настройки для помещения по умолчанию
cfg4[] для использования в помещении, настройки занижены ещё больше

! Пережде чем перейти к полётам, Вы должны проверить, что ‘rx2atp’ правильно интерпритирует (понимает)
! сигналы от Вашего приёмника. Ниже написано как сделать проверку секции SETUP.

at2soXXX.arm или pilotXXX.arm - программа компаньон (на сторороне дрона)

XXX в имени программы указывает на версию сборки, для 0.20 имя должно быть ‘at2so020.arm’ или ‘pilot020.arm’.

Для того, чтобы всё заработало, одна из этих программ должна быть запущена на дроне.
Она используется как транспортное средство, с помощью которого команды передаются от Arduino к прошивке дрона.
Программа компаньон принимает команды на свой стандартный вход, переводит их и отправляет сообщения на сокет,
который отвечает за обмен командами в стандартной программе дрона. Также эта программа передаёт информацию от дрона, программе Arduino.

Программа компаньон запускается “скетчем” на Arduino. Для запуска “скетч” будет искать программу в файловой системе дрона, по имени программы-компаньона. В качестве последнего средства будет использоваться запись образа в собственной FLASH.
Найденная программа копируется в ‘/ TMP’ и запускается. Порядок поиска:
1) /data/video/usb/pilotXXX.arm
2) /data/video/usb/at2soXXX.arm
3) /data/video/pilotXXX.arm
4) /data/video/at2soXXX.arm
5) FLASH attachment (at2so)
Выбирается первая найденная. Так как программа компаньон копируется в ‘/ TMP’, то это не вызывает перезагрузку дрона.

Изменения в какой-либо сопутствующей программе не для слабонервных. Вам понадобится инструментарий для
процессора ARM, который может генерировать программы для Linux дрона. На данный момент я использую:
arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.tar
в Linux box.

‘at2so’ это минимальная программа компаньон. Я публикую её исходный код (at2so.c)
этот пакет, а также двоичный “at2soXXX.arm”, который также содержится в двоичном вложение в скетче “rx2atp.c”.
Если вы будете добавляете что-то в “rx2atp”, то вы очень быстро превысите размер FLASH. Решить эту проблему
можно путём использования FTP, для передачи “at2soXXX.arm” к дрону и сброса значения макроса в первой
строке “rx2atp.c” в “0”. Установка макроса “AT2SO” в “0” предотвратит вставка сопутствующей программы в FLASH
и даст Вам дополнительное пространство. Конечно, все это не будет работать, если у вас нет какой-либо
программы-компаньона в дроне … поэтому убедитесь, что вы перенесли её в место, где она может быть найдена
процедурой поиска (см. выше).

‘pilot’ является более сложной программой-компаньоном. Я не публикую её исходный код
( pilot.c ) , потому что она экспериментальная, не хочу быть втянут и привязанным к дискуссим по её реализации.
Пилотная программа имеет функцию “Auto Pilot”, которая включается когда вы переходите в FM3 моду.
На данный момент (версия 0.20) в задачу “AUTO PILOT” входит возврат дрона обратно “домой” (“HOME position”).
Точка возврата устанавливается FTRIM . Когда положение “домой” установлено, нормальное “зелёное FTRIM”
свечение светодиодами двигателя сменится на “зелёное/красное” мигание, это признак того, что “дом” зафиксирован.
Когда вы видите зеленые / красные вспышки (мигают) FTRIM , это означает , что пилотная программа работает и
что GPS надёжно зафиксирована. Вы можете также зафиксировать статус GPS на земле, переместив руль
направления (rudder stick вниз). Если пилотная программа не работает или координаты GPS не отмечены, то
Arduino пилотный светодиод погаснет. Если индикатор мигает, то 1 мигание означает, что есть GPS данные,
2 вспышки 2D координаты GPS зафиксированы, по крайней мере 4 спутника и HDOP менее 4 , 3 мигания
указывают 3D захват GPS.

Лог программы компаньона

Лог программы компаньона ведётся в таком формате:

<время в ms от старта>: <ключ>[,<значение>[,<значение … ]]

The ‘sketch’ rx2atp can make log entries, the current records are:
GPSR,<stat>,<char> gps_rcv() error signaling
RX,1 RX ready
RX,0 RX failure

Faceless

Без камеры тоже летать будет. Но отсутствие камеры не должно влиять на возможность подключения к телефону. Посмотрите плату может её подсушить надо.

Владимир#
Kitevlad:

Немного не понял… У меня должна стоять операционка линукс?

Нет, в дроне стоит операционка линукс. Касаемо перепрошивки вот drone-apps.com/support/ar-drone-firmware/ даже видео есть, правда на маке, но сути не меняет. К такому детальному переводу про прошивку и восстановление как тот, который сделал Виктор про Ардуинку, извиняйте, я не готов.

Faceless:

Без камеры тоже летать будет. Но отсутствие камеры не должно влиять на возможность подключения к телефону. Посмотрите плату может её подсушить надо.

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

nvi93

Добавлю свои 5 копеек по диагностике. Моторы дёргаются? Если нет, то дело плохо…
На регуляторах: черный -земля, красный +12в., ну там ещё +5V и прерывание, центральный (3) Tx\Rx Двигатели должны дёргатся по очереди с первого по четвёртый. Если есть оцилограф или цифровой тестер, глянуть третий контакт. От контроллера на него должны идти данные 115200b/sek. Если там тишина т.е. +5v значит возможно конец Главному процессору. Можно ещё поменять первый регулятор со вторым или любым другим, чтобы хоть первый дёрнулся 😃

Злобный_Байкер

Украли телефон!
Какой программой управлять дроном с Windows (ноутбук) можно?
С помощью Ardron2_pc_flight летает но нет видео (черный экран)