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

alexeykozin

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

Rom111
alexeykozin:

можно попробовать сконфигурить футы из утилиты конфигурации осд

т.е. высоту будет в футах отображать? Я всё лето летал с одной OSD без ardupilota проблем с высотой никогда не было. С данными полученными непосредственно с GPS OSD работает отлично. Может дело в прошивке самой OSD для ardupilota у меня сейчас залита ARDUMV1_73.HEX

alexeykozin
Rom111:

Может дело в прошивке самой OSD для ardupilota у меня сейчас залита ARDUMV1_73.HEX

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

кстати думал что симулятор и осд через один компорт не смогут работать, фигня работают у них разные метки строк и ненужные строки оба ardupilotsim и osd просто игнорируют, единственное в окне терминала ardupilotsim поток $ - команд

Rom111
alexeykozin:

остальное он считает из жпс координат

Вот это система мне совершенно не понятна. Зачем OSD самой заниматься расчетами если все данные по высоте и курсу есть в ardupilote? Или нет?

blade
Rom111:

Зачем OSD самой заниматься расчетами

Тут как раз-всё понятно: во первых, ОСД- самостоятельное устройство и главная его задача- посчитать и вывести в виде стрелочки- направление “домой”. Ну, и в виде бесплатного приложения- всяки разны напряжения, скорости, высоты, координаты и т.д.
Во вторых- Ремзиби и Ару пилот: от разных родителей, просто они их совместимыми сделали, чтобы расширить применение 😃
Но ОСД- не открытый проект: исходники там недоступны 😦

Отлично

Подскажите, проект еще реботает? А то нигде не могу найти в продаже. Даже на сайте diydrones нет в наличии.
Если уже все закрылось, есть подобные открытые проекты например для ардуины и датчиков allinone?
Спасибо

alexeykozin

вот ардупилот в терре есть, только сначала заказ сделайте через инет магазин а то накрутка будет www.terraelectronica.ru/catalog_item.php?ID=1115&C…

простите не посмотрел что вы из питера, возможно и в СПБ где нить есть вналичии

а имушку можно сделать даже самому если душа к паяльнику лежит

Отлично

Rom111, спасибо. Кто такой Алексей?

alexeykozin, у них тоже нет в наличии.

Я правильно понимаю, что заливание прошивки в плату производится через ардуино ide при подключении либо шилда с датчиками к юсб, либо основной платы через ftdi кабель?
И что значит Arduino Mega compatible на основной плате? Она както втыкается в обычную мегу? И зачем?)

alexeykozin
Отлично:

Rom111, спасибо. Кто такой Алексей?

alexeykozin, у них тоже нет в наличии.

Я правильно понимаю, что заливание прошивки в плату производится через ардуино ide при подключении либо шилда с датчиками к юсб, либо основной платы через ftdi кабель?

И что значит Arduino Mega compatible на основной плате? Она както втыкается в обычную мегу? И зачем?)

есть ардупилот (маленький)
есть ардупилот мега (большой)

и тот и другой вполне летабельны
мега покруче и софт у него понавороченнее, но и стоит подороже

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

и ардупилот мега и “ардупилот мини” и плата сенсоров от “мини” могут прошиваться через ардуино IDE
у меги дополнительно есть навороченная утилита через которую можно шить и конфигурить из гуи, безо всякой ардуино IDE

все платы можно шить через сериальный uart адаптер, на любой микрухе или даже использовать какую нить фридуину без чипа (если на панельке), у меги на плате сенсоров есть собственный usb - uart

alexeykozin

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

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

я задал точки порядка 30-50 метров полагая что от уровня home который будет определен перед запуском модели по жпс

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

Rom111

А на какой прошивке? Я пробовал 2.7.1 проблем с высотой не было. У меня верхнеплан поворачивает отлично. Высоту точки ставил 100м автопилот удерживает высоту относительно точки старта. Если поставить галку Over Terrain, то будет пытаться определить высоту земной поверхности по Google maps и плюсовать 100м. Про опции в первой строке даже не задумывался. У меня так: OPTIONS:164,True,False,Meters,14

alexeykozin

мы испытывали на прошивке 2.8 beta 7 со стоковыми пидами, только радио чуть подкалибровали
убили много времени чтобы организовать наземную видеозапись картинки с осд, поэтому вся программа испытаний была скомкана и все было сделано в спешке, тем не менее остались видеозаписи, которые можно будет анализировать в спокойной домашней обстановке.
взлетали в ручном режиме, далее проверили стабилизацию
в последующих полетах пробовали авто режим, в авторежиме тейкоф сменялся на авто при достижении порядка 80 метров над точкой хоум, но потом модель идет на точку со значительной потерей высоты, при достижении пяти метров переключались на мануал и поднимали, затем снова отпускали худо-бедно таким подтяжками точек достигали. мысль от том что лажанулся с высотой пришла уже опосля, когда кончились батареи и начался сильный ветер. А надобы было поставить высоту метров 250 и посмотреть где он будет летать фактически

тем не менее полезные выводы были сделаны:

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

роман, а можно ваш файл миссии полностью? (если не секрет)
я пробовал две миссиии в первый раз
OPTIONS:33,True,False,Meters,17
HOME:55.492218,38.680799,0
55.491626,38.682151,231
55.491064,38.681590,231
55.490802,38.682464,231
55.491690,38.683355,165
55.492656,38.680785,66
55.492430,38.680421,66
55.492305,38.680600,33

во второй
OPTIONS:33,False,False,Feet,18
HOME:55.492218,38.680799,66
55.492069,38.681295,151
55.492288,38.68166,151
55.492656,38.680785,151
55.49243,38.680421,98
55.492305,38.6806,33

alexeykozin

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

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

These are all pretty self-explanatory, except for AIR_START. Here is the explanation of the author, Doug Weibel:

"Airstart is only there to save you if for some reason the AP restarts in the air. This could happen due to a power glitch or due to toggling the mode quickly.

If the AP restarts in the air it is important that it not take a lot of time doing the things it normally does when starting on the ground - i.e. calibrating everything. When we do a ground start we get the offsets for all the analog sensors, set the home location, etc. We then store this stuff in EEPROM. When an airstart occurs we just grab this stuff back from EEPROM and start operating immediately.

There is no real reason a user would want to intentionally perform an airstart on the ground other than debugging.

The biggest source of confusion I have seen is with the IMU. If users set ENABLE_AIRSTART then the IMU will ALWAYS air start unless it gets a signal from the AP to ground start. This will often result in the IMU doing funky stuff, because it will be using calibration data from EEPROM that may not be appropriate. So if a user is just looking at the IMU on the bench and they have it doing air start instead of ground start then they will often think there is a problem."

если кто хорошо владеет английским, подскажите.
может как раз не соединять это проводом а наоборот на иму поставить на этот пин кнопку для выполнения “калибровки по требованию”?

Rom111

Вот моя первая миссия:
OPTIONS:131,True,False,Meters,15
HOME:56.518916,34.927366,328
56.518547,34.925065,328
56.517268,34.925880,328
56.517671,34.927897,328
56.519162,34.924593,328
56.519210,34.928498,328
56.518121,34.928069,328

RedSun

"Airstart is only there to save you if for some reason the AP restarts in the air. This could happen due to a power glitch or due to toggling the mode quickly.

If the AP restarts in the air it is important that it not take a lot of time doing the things it normally does when starting on the ground - i.e. calibrating everything. When we do a ground start we get the offsets for all the analog sensors, set the home location, etc. We then store this stuff in EEPROM. When an airstart occurs we just grab this stuff back from EEPROM and start operating immediately.

There is no real reason a user would want to intentionally perform an airstart on the ground other than debugging.

The biggest source of confusion I have seen is with the IMU. If users set ENABLE_AIRSTART then the IMU will ALWAYS air start unless it gets a signal from the AP to ground start. This will often result in the IMU doing funky stuff, because it will be using calibration data from EEPROM that may not be appropriate. So if a user is just looking at the IMU on the bench and they have it doing air start instead of ground start then they will often think there is a problem."

Воздушный старт нужен только для спасения модели, если пилот перегрузился в воздухе по какой-то причине - из-за броска по питанию или слишком быстрого переключения режимов.
Если АП перегружается в воздухе, важно, чтобы эта операция не отнимала много времени, производя все нормальные наземные стартовые операции, то есть калибровку всего. При наземном старте мы получаем сдвиг нулей аналоговых датчиков, устанавливаем точку старта и т.п. Потом мы запоминаем эту пользу в ЕЕПРОМ. Когда происходит воздушный старт, мы просто получаем эту пользу обратно из ЕЕПРОМа и немедленно начинаем работать.
Нет реального смысла выполнять воздушный старт на земле, кроме отладки.
Наибольший источник проблем, что я видел, связаны с IMU. Если юзеры установят флажок ENABLE_AIRSTART, то IMU ВСЕГДА будет выполнять воздушный старт, пока не получит от АП сигнал на выполнение наземного старта. Это часто приводит к глюкам IMU, потому как оно использует калибровочные данные из ЕЕПРОМа, которые могут быть неподходящими. Так что если пользователь просто играется с IMU на столе и оно выполняет воздушный старт вместо наземного, кому-то это может показаться проблемой.

У меня воздушный старт разрешен. Соединение D6-D8 установлено. После обнаружения GPSом спутников нажимаю Reset на пилоте - соответственно сбрасывается и IMU. Проморгалось - можно лететь…

alexeykozin

доброго времени суток.
по апм-2 прочитал, анонс выглядит многообещающим, цена тоже очень хороша, пишут что смогли сэкономить на замене акселерометра с гириком на mpu6000 и смогли упростить достаточно дорогой ft232 поставив в ppm энкодер ардуину с юсб, , поставили другой барометр который должен быть круче (с осцилограммами непонял в чем прикол что они там меряли - что по осям шкал)
микросхему памяти заменили флешкой
из минусов

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

я заказал, очень интересно попробовать

gena_g

Можно ardupilot использовать без платы imu только с подключеным GPS прямо к плате автопилота . Собираюсь использовать внешнюю стабилизацию типа FY20 и режим RTH , полет по точкам мне не надо.
Про версию 1.0 без датчиков стабилизации я знаю, хочется узнать можно ли это сделать на версии постарше 2.7 или 2.8

alexeykozin

2.8 еще пока бэта, на ней вообще рановато летать,
2.7 есть режим полета без иму, на GPS расчитаны два режима fly by wire но будет ли он в режиме возврата рулить куда надо - вопрос специфический…