Автопилот Arduplane - открытое ПО

R2D2_RnD
DVE:

Он же на гудлаке вроде за 18$.

$18 за кабель или за OSD (магазин такой не знаком)?

Вскрыл термоусадку на USB-модуле от Apache OSD - собран на PL-2302HX, из контактов на плате: 3V3, GND, RXD, TXD и VCC. DTR отсутствует…

Воспользовался советом по изготовлению кабеля (“Make your own “FTDI cable” for $5”) и заказал на DX “CA-42 Compatible USB 2.0 Data Cable for Nokia”. Приедет - распиную согласно даташита TTL-232R-3V3 USB to TTL Serial Converter Cable.

vtoryh

Начал настраивать АРМ2 с гудлака и столкнулся с тем что наклоны направо и налево отрабатывает реверсивно…
Это где можно настроить? Или китайцы чо-та неправильно напаяли? Прошивка 2.61

alexeykozin
vtoryh:

Начал настраивать АРМ2 с гудлака и столкнулся с тем что наклоны направо и налево отрабатывает реверсивно…
Это где можно настроить? Или китайцы чо-та неправильно напаяли? Прошивка 2.61

тут два варианта, либо в калибровке радио не правильно настроили - там реверсы и ставят либо плата смотрит не “флешкой вперед”

и еще горизонт в флайт дата - это вид на землю. многие путают

vtoryh
alexeykozin:

и еще горизонт в флайт дата - это вид на землю. многие путают

Черт… Туплю по черному…
Ес-но что если я наклоняюсь направо то горизонт уходит налево. 😃
Что-то меня переклинило. Спасибо. 😃

R2D2_RnD

[offtopic]
Судя по отчету МАК в Перми одной из причин было то, что не разобрали в какую сторону из крена выводить…
[/offtopic]

carbik

А у меня в RFD900 перестал работать один из модемов. Это установил благодаря наличию 3DR. При замене нерабочего модема RFD900 на 3DR-овский (будь он на наземной станции или на борту) связь моментально устанавливается. Открыв крышку нерабочего модема, обнаружил странный “пропуск” на плате. У другого модема это место полностью залито припоем.

alexeykozin

мне кажется что то что вы отметили на фото - металлизированное переходное отверстие.
и совершенно одинаково залито оно припоем или нет.
логично попробовать перепрошить сдохший модем, возможно слетела прошива

по теме.
изучал логику автопилота и ее последствия (в коде, симуляторе и на практике) очень не нравится один момент. ардупилот пока летает как пид-контроллер которому совершенно одинаково какой моделью он рулит, будь то кубик с пропеллером или идеальный планер…
собственно изучаемая проблема:
дано :три точки первая на высоте 100м, вторая на этой же высоте, затем поворот к тертьей под 90 градусов и снижение на 50 метров.
задача: чтобы модель и соблюдала интенсивное снижение и маневр поворота

проба:
тест 1 настроен достаточно интенсивно пид ролл-навигации и Xtrack, настроено кабрирование в крене (к примеру без него пилотажные модели вообще не поворачивают, верхопланы за счет разницы в центре подъемной силы и центра масс поворачивают но вяло)
в результате самолет сначала совершает маневр поворота а затем начинает сбрасывать высоту.

немного добавляю пид навигации по питчу чтобы интенсивнее соблюдал высоту , делаю “тест 2” самоль перестает поворачивать вообще в точке 2 до тех пор пока не сбросит высоту, в процессе сброса высоты идет “волнами”. полагаю что это происходит что для того чтобы сбросить высоту он отрабатывает рулем высоты на пикирование, а в условиях крена (том что создал процесс контроля курса для поворота) это дает поворот в противоположную сторону.

вобщем все логично, в конкретной ситуации нужно использовать “снижение скольжением” тоесть вемето допустимого крена в 30 градусов взять 50 и самоль сам скользнет и в сторону и вниз.

вывод: надо переписать логику в ардупилоте с квадратно - пидовой на “самолетную”
собственно вопрос, как выразить формулой алгоритм в каких случаях надо рулить рулем высоты а когда избыточным креном?

vtoryh

Разобрать все возможные случае, вывести в 2 столбика и вычленить что-то общее?

alexeykozin

пусть
чтобы повернуть:
в верхоплане максимальный крен с 0 кабрированием дает 10% от максимльно возможной интенсивности поворота - за счет разницы центров подъемной силы и центра масс
максимальный крен сопровождающийся “кабрированием соответсвующим максимальному крену” это дает 100% возможной скорости поворота

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

еще есть руль направления который в прошивке ардупилота со стоковым нулевым пидом заблокирован…

по идее конкретная ситуация разрешима простой комбинацией если изза необходимости повернуть достигут максимальный крен 30 градусов то вместо пикирования рулем высоты добавляем еще крен, не трогая руль высоты
но… “дьявол кроется в деталях” (а наглядно виден в крайностях), я полагаю что в режиме автозахода на посадку вылезает эта проблема комбинации необходимости снижаться и точно удерживать курс

насколько по самолетному будет если “большая ошибка высоты” + “пикирование” = не пользоваться “крен + кабрирование” а вместо “удерживать уровень по крену и использовать руль направления”

carbik
alexeykozin:

логично попробовать перепрошить сдохший модем, возможно слетела прошива

Перепрошивка не помогает. Похоже, придётся отсылать на обмен.

Кто-нибудь объяснит бестолковому, как прописать новый компас?

alexeykozin
carbik:

Кто-нибудь объяснит бестолковому, как прописать новый компас?

  1. включить в hardware options
  2. перезагрузить плату
  3. откалибровать
  4. проверить точность
alexeykozin

если у кого NMEA GPS прописан - воздержитесь от полетов (втч юблокс)
при полетах где широта или долгота имеют значения на границе "минуты " по долготе или широте возможны ошибки в навигации порядка 2 км
досадно будет если он вместо ртл улетит километра на два в сторону

ошибку пофиксили, в прошивках ардукоптера и ардуплане выйдет в следующем релизе. code.google.com/p/ardupilot-mega/issues/detail?id=…

vtoryh

Может поэтому у меня в Мневниках нормально летал, в Красногорске крышу у него снесло?
Или это в 2.61?

Блин.
Долгота: 37°17′55.53″E (37.298759)
Широта: 55°47′59.93″N (55.79998)

alexeykozin
vtoryh:

Может поэтому у меня в Мневниках нормально летал, в Красногорске крышу у него снесло?
Или это в 2.61?

нет, как минимум в 2.5 уже был баг

собственно дело было так,

Александр Антонов (он в форуме про ардукоптер в основном) прикупил последний писк моды globalTop PA6C на 3339 чипсете, я тоже вошел в долю и взял пяток себе.

с завода там стоит скорость 9600 и ардупилот его не видит.

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

Модуль компактный, чувствительный, быстро ловит спутники но … оказалось вот что . Александр пишет мне типа “привет, я на стадионе” я сначала не понял в чем фишка. оказалось что будучи дома жпс позиционировал его парой километров к западу, там где на карте стадион. решили попробовать другой проверенный модуль в нмеа режиме. таже ошибочная точка.

я повторил опыт у себя, у меня ошибка была порядка километра, но была. Потом удалось вычислить что переполняется переменная frac_min, исправил тип на более “вместительный” и провел сравнительные тесты,
модуль стал позиционировать правильно.

vtoryh

Вот попадалово то… Чо раньше ошибку не нашли. 😦
Ну ладно. В следующий раз при малейших непонятках буду разбираться, а не забивать. 😃

bababababa

Здравствуйте. Помогите, с проблеммой, не компилируется ни один из примеров, из библиотек.

Не могу загрузить файл AHRS_Test.
Да и не один вообще, из примеров AP

Библиотеки из прошивок AP я скинул в папку библиотек arduino.

Стандартные библиотеки он вдит. Пример c Servo работает.
А из AP ничего не хочет.

In file included from AHRS_Test.cpp:16:
C:\Users\Артём\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\AP_AHRS/AP_AHRS.h:57: error: ‘AP_Airspeed’ has not been declared

Я в отчаянии.

alexeykozin

примеры писались до их усовершенствования потом эти библиотеки понадобились.
последние версии прошивок надо открывать в ардуино 1.0.1
для некоторых обязательна мега - указать тип процессора 1280 или 2560

в конкретике ахрс думаю нужно добавить пару строк в секции объявления библиотек
#include <FastSerial.h>
#include <SPI.h>
#include <I2C.h>
#include <Arduino_Mega_ISR_Registry.h>
#include <AP_PeriodicProcess.h>
#include <AP_InertialSensor.h>
#include <AP_ADC.h>
#include <AP_AnalogSource.h>
#include <AP_IMU.h>
#include <AP_GPS.h>
#include <AP_AHRS.h>
#include <AP_Math.h>
#include <AP_Common.h>
#include <AP_Compass.h>
#include <AP_Baro.h>
#include <DataFlash.h>
#include <APM_RC.h>
#include <GCS_MAVLink.h>
#include <Filter.h>
#include <AP_Airspeed.h>

vtoryh

Настроил дома крыло X5. Стабилизацию пробую, все зашибись, приезжаю на поле, элевоны отрабатывают только тангаж.
Крен тишина, ни малейшей попытки стабилизации… Ну думаю плевать, дома разберусь, полетал в мануале. Приезжаю домой, достаю, Не подключая к компу включаю, все работает…
Что за фигня? На улетевшем изике тоже самое было когда он улетел, компас был выключен, почему-то не включался.
На X5 компас включен но не откалиброван… Прошивка 2.63. Левел кстати ручной. Не знаю как в поле выставить правильно крыло и еще при этом включить его. 😃

alexeykozin

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

vtoryh

Ну включаю передатчик, ес-но все в ноль иначе не включится.
Мануал соответственно по умолчанию.
Включаю питалово самоля, щелкаю тумблером в стабилизацию.
В поле только тангаж, дома и тангаж и крен.
Какое то поле заколдованное. Завтра попробую в другом месте.

alexeykozin:

удерживаем в горизонте пока калибровка

Это не делал. Стоит галочка мануал в левеле.