AR.Drone 2.0

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 летает но нет видео (черный экран)

Kitevlad

Всем огромное спасибо 😃 реально многие вопросы прояснились. И отдельное ещё спасибо Виктору за такой перевод, сегодня получилось подружить ардуину и аппу, а гипертерменале посмотреть работу стиков…

Теперь по дрону. Он выдаёт вайфай не постоянно, а периодически. Естественно зажигается диод красным на плате, и потом происходит соединение, затем диод становится зелёным… Два раза сосед поймал и я пару раз тоже перехватывал айфоном. Но потом при повторном подключении ни чего не происходит, только диод на плате кратковременно вспыхивает оранжевым и потом горят только диоды на движках. Не могу понять зачем сушить плату, вроде у меня влажность в комнате в норме, даже суше чем надо…

Теперь вообще есть смысл заморачиваться вайфаем, если я так понял что прошивку на дрон можно загнать через Ардуину когда загружается скетч rx2atp? Или нет? И нужно прошивать отдельно? Тогда как? Там как-то говорится что с помощью USB… Нашол вот какойто мануал по изготовлению кабеля code.google.com/p/…/HardwareModifications но на нём распайка совсем другая нежели на схеме mirumod.tk/hw/…/arduino_pro_mini.php (у меня первый дрон, рис в низу) Не то наверно?

nvi93
Kitevlad:

Всем огромное спасибо 😃
Теперь вообще есть смысл заморачиваться вайфаем, если я так понял что прошивку на дрон можно загнать через Ардуину когда загружается скетч rx2atp? Или нет?

Так и есть, грузится ардуиной, но можно и по FTP… не стои этим заморачиваться. Паяйте провод и будет счастье 😃
Извиняюсь часть перевода не поместил, поэтому и возникли непонятки.
Вот остаток перевода, если что-то написано “карявым языком” правьте, не стесняйтесь 😃
Там есть ещё описание версий - не переводил, и так понятно…

Когда всё заработало, отсоедините закоротку (GND)от 11 вывода, и подключите Arduino к дрону.
Включите питание на ПЕРЕДАТЧИКЕ, включите питание на дроне (стандартная последовательность включения) и ждите…
Во время сетапа должно произойдё следующее:

  1. Дрон включит красные онгни.
  2. На Arduino будет мигать красный сигнал 1, 2, 3 или 4 раза в секунду
    1 мигание: нет/плохой сигнал от приёмника
    2 мигания: включена мода не LAND
    3 мигания: ожидание загрузки ArDron
    4 мигания: ожидание ответа на интерфейсе
  3. Дрон погасит “красные” огни и включит “зелёные”
  4. Arduino включит ИДИКАТОР (пр. перев. очень быстро и ярко мигает красный) пок будет исктаь, загружать и стартовать программу-компаньона.
  5. программа-компаньон подаст сигнал оранжевым цветом, “помигает”.
  6. ‘rx2atp’ отправит команды конфигурации программе-компаньону и выключит свой светодиод.
    Когда программа-компаньон получит команды, она “помигает зелёным” индикатором и скажет 'rx2atp’о готовности.
  7. Сбросте ваше EMERGENCY авар.питание, стоп установка/сброс, установите FTRIM перед тем как взлетать. (прим. перев. взлетал без этого)

ОПЕРАЦИИ – OPERATION
=========
Для установки/сброса EMERGENCY переключитесь в режим “земля” LAND и надавите стик газа на право. Огни дрона должны стать красными, когда Вы это делаете. Сделайте это ещё раз, чтобы сбросить EMERGENCY.

Для FTRIM дрона переключитесь в режим “земля” LAND и надавите стик газа на лево. Огни на дроне должны мигать, когда Вы это делаете.

Для полёта, я устанавливаю стик газа на минимум, включаю полётный режим в FM1 или FM2 и начинаю добавлять газу. Когда стик пройдёт центральное положение, дрон взлетит. Затем вы должны вернуть стик в центральное положение, прежде чем щёлкать переключателями…

Для сигнализации EMERGENCY отключение питания на дроне, переключитесь в моду земля LAND и переместите стик газа вправо.

Изменение конфигурации дрона:
Дрон должен быть на земле, переключатель LAND. Переместите стик газа в положение “полный газ” и оставьте стик “высота”
в центре, индикатор Arduino сообщит о текущей конфигурации “мигнёт” 1, 2, 3 или 4 раза.
Для изменения конфигурации используйте стик “высота” (elevator тангаж)
(прим. перев. если рисунок “кривой” посмотрите в оригинале, от автора)

N
cfg3
^
| N - Normal (indoor)
W cfg2 <— + —> cfg4 E E - Easy (indoor, tame)
| S - Standard (what I use)
v W - Wild (everything set to max)
cfg1
S

Arduino поддтвердит выбор (миганием). Для сохранения этого режима, удерживайте стик “высота” (elevator тангаж) в выбранной секции и переместите стик газа в положение “минимальный газ”. Эти установки запишутся в энергонезависимую память EEPROM на Arduino и обнавят настройки на дроне. Вы увидите, дрон мигнёт моторами, когда новая конфигурация будет передана.

blind_oracle

Можно попробовать поставить эмулятор ондроеда или ондроед в виртуальной машине.

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

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

В этой теме уже были ссылки, посмотрите… В принципе у меня есть самописаная на основе SDK но она не доведена до “товарного вида”, так для себся. Управление с клавиатуры или Xbox-джойстик ну и лишнего много (то что себе)… Сейчас зима тестить негде… Если надо что-то конкретно, пишите пожелания, можно урезать/подшаманить.

Smartt

Программа управления с ноутбука под виндой xp ardron2_pc_flight

скачать и почитать www.ardrone-flyers.com/forum/viewtopic.php?f=23&t=…

А у меня след. вопрос.
Пришла зима и выпал первый снег )
Где то читал, что дрон белый цвет видит как пропасть под собой и начинает снижаться… Так ли это?
Вот сижу и думаю самому пойти попробовать или есть уже опят у кого?)))
Но снега выпало сантиметров 15 и дрон будет садиться не всегда на площадку(ну вдруг что), вот из чего ему ножки смастерить подлиннее ? )))

igrushka
Smartt:

Пришла зима и выпал первый снег )
Где то читал, что дрон белый цвет видит как пропасть под собой и начинает снижаться… Так ли это?

Если снег настолько пушистый, что поглощает излучение сонара, то дрон будет думать что он на высоте более 4 метров, когда сонар уже не действует. Высоту он будет пытаться держать по датчику давления (но не точно, возможен дрейф по высоте).
Белый снег так же как и серый асфальт и любая другая однородная поверхность не позволит отследить нижней камере перемещение. Поэтому скорее всего дрон ещё и по ветру будет дрейфовать…

Kitevlad

Всем спасибо за помощь, информация можно сказать бесценная 😃 но к сожалению пока не могу воспользоватся. Похоже на моём дроне навернулся процессор CPICS01192A. При подключении питания начинает очень сильно греться…

i_petrenko

Привет всем. Прочитал всю ветку. Есть вопросы.

  1. Пробовал летать на ar.drone 2.0 с компа программа winardrone. Все хорошо, но нет картинки с камеры.
  2. Кто пробовал летать со смартфона под управлением windows phone.

P.S. вещь обалденная.

14 days later
i_petrenko

autoflight незапускается. версия 63. скачана была с офсайта. винда 7. пришлось купить дешевый планшет для полетов и прошивки.

Tong

джава должна быть не последняя, с последней не работает