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

Alex-13

Я использую вот такой
Без перепрограмирования подключил к АПМ. Работает неплохо
Как то не вижу большой разницы в работе. Может я и не прав …
www.rctimer.com/product_763.html

DChernov
Alex-13:

Я использую вот такой
Без перепрограмирования подключил к АПМ. Работает неплохо
Как то не вижу большой разницы в работе. Может я и не прав …
www.rctimer.com/product_763.html

Умненький АПМ соглашается работать с этим модулем даже “прямо с почты”. Но при этом частота обновления 1 Гц и скорость обмена 9600 интерфейс NMEA0183. В общем-то ничего страшного, летает. Но воспользовавшись рекомендациями по перепрошивке с plane.ardupilot.com/wiki/common-ublox-gps/ Вы получите ощутимо более точное управление.

alex195822
DChernov:

Вы получите ощутимо более точное управление.

Проверено - полностью поддерживаю.

jfm06

А у меня NEO-6 uBlox не завелся с 9600! (программа показывает спутники, а APM не видит ни одного). Штатный 3DR-ский файл с настройками не заливался из-за ошибок. Решение нашёл тут diydrones.com/xn/detail/705844:Comment:1222612

Не нашёл как кнопку сброса миссии из MissionPlanner завести на радио? У меня ardupilot. Спасибо

jfm06

Уважаемые форумчане у кого Ardupilot 2.74,
я правильно понимаю, что кнопка калибровки Level теперь следом запускает и калибровку акселей? И что теперь аксели при включении не будут калиброваться каждый раз?
Имеет ли эта калибровка отношение к калибровке компаса. Или его всё так же нужно калибровать.

Пока в документации идёт мешанина старых прошивок и новой и нет информации. Спасибо!

alexeykozin
jfm06:

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

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

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

kaveg
alexeykozin:

вижений пока он не “отдергает” сигнал готовности рулем высоты

к стати про отдергает, а нельзя ли ему сказать дёргать интенсивнее , а то я это отдерггать по легкому скрипу серв тока замечаю

alexeykozin
kaveg:

к стати про отдергает, а нельзя ли ему сказать дёргать интенсивнее , а то я это отдерггать по легкому скрипу серв тока замечаю

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

static void demo_servos(uint8_t i) {

while(i > 0) {
gcs_send_text_P(SEVERITY_LOW,PSTR(“Demo Servos!”));
demoing_servos = true;
servo_write(1, 1400);
mavlink_delay(400);
servo_write(1, 1600);
mavlink_delay(200);
servo_write(1, 1500);
demoing_servos = false;
mavlink_delay(400);
i–;
}
}

если поменять минимальный и максимальный пвм до 1000 и 2000 то будет дергать сильно

static void demo_servos(uint8_t i) {

while(i > 0) {
gcs_send_text_P(SEVERITY_LOW,PSTR(“Demo Servos!”));
demoing_servos = true;
servo_write(1, 1000);
mavlink_delay(400);
servo_write(1, 2000);
mavlink_delay(200);
servo_write(1, 1500);
demoing_servos = false;
mavlink_delay(400);
i–;
}
}

незабываем что
// Makes the servos wiggle - 3 times signals ready to fly
// Makes the servos wiggle twice - about to begin INS calibration - HOLD LEVEL AND STILL!!

функция находится в файле attitude.pde

kaveg
alexeykozin:

функция находится в файле attitude.pde

в коде то понятно что можно всё подпилить… я думал может параметр какой имеется чтоб без пересборки обойтись

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

west_25_x
alexeykozin:

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

Алексей.
Не могу понять.

  1. выставил самолет (крыло) с углом 3-4градуса вверх.
  2. поставил его на левый бок 90 градусов
  3. на правый 90 гр.
    4 вниз мордой.
    5 Перевернуть… Вот тут вопрос.
    в первом пункте я выставил угол вверх 3-4 градуса. А в пятом пункте нужно эти 3-4 градуса тоже учитывать ( наклонить на 3-4 градуса вниз т.к. самолет перевернут) или ровно держать?
Andrey3167
west_25_x:

Вот тут вопрос.

Вы его калибруете как компас? по всем осям??? С акселями так не надо, вы же выставляете положение модели в горизонтальном полете. Просто выставляете по уровню: фюзеляж +3-4 градуса на кабрирование, крылья по уровню по горизонту и жмете кнопочку Calibrate Accel (ArduPlane Level)
А при калибровке компаса можно и повертеть в разные стороны, только имхо это лишнее, поставил галочку Auto Dec- и пусть сам калибруется

Shuricus
Andrey3167:

С акселями так не надо,

Мишнпланер просит крутить акселя как описано. Как же просто жать кнопочку?

Andrey3167
Shuricus:

Мишнпланер просит крутить акселя как описано

Ткните пальцем, где? Что-то не встречал.
Опа- это в свежем мишен планере такая калибровка? раньше такого не было
Так калибровалось по моему в ардукоптере. Я на видео видел такую калибровку акселей ( в ардукоптере), так чел просто голую плату так крутил без всяких выставлений по уровню и 3-4 градусов, просто на столе: горизонтально, влево, вправо, вниз, вверх и перевернуто.
Как он горизонтальный полет выдерживать будет- непонятно, это ж не мультикоптер

Shuricus

Там где вы и сказали - Calibrate Accel button, как минимум в случае если через модем или блютус это делается.

Andrey3167
Shuricus:

Там где вы и сказали

Да, уже попробовал.😃 Через кабель тоже самое

kaveg
Andrey3167:

так чел просто голую плату так крутил без всяких выставлений по уровню и 3-4 градусов, просто на столе: горизонтально, влево, вправо, вниз, вверх и перевернуто. Как он горизонтальный полет выдерживать будет- непонятно, это ж не мультикоптер

по хорошему аксель так и калибруется чтобы он узнал где у него минимум максимум по всем осям. далее апм ставится в самолёт в одной плоскости со стабилизатором. а 3-4 градуса это угол установки крыла. вариант номер два (на случай если углы установки стабилизатора тоже не нулевые должны быть у модели) выставляем самолёт так как он должен лететь, а апм внутрь самолёта ставим по уровню. если аксель откалибровать с заведомо сбитым уровнем гаризонта это значит фигово откалибровать, объясню почему - поворачиваете самолёт на 90 градусов и эти 3-4ре градуса будут уже не вверх-низ а совершенно не там.

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

это теория. а как калибровка реализована в прошивке даже не вкурсе вроде…

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

Andrey3167

Чёй-то сильно много теории, но я прочитал.
Было просто: выставил ГП, нажал кнопку- АПМ запомнил положение. При теперешней калибровке, мне кажется, можно забыть о точном выставлении по уровню. Или это решается как-то программно. Крутить модель с апм с точностью до градусов- нереально, да наверное и не требуется. Надо пробовать и не плохо бы спросить у разработчиков diydrones.com/profiles/blog/show?id=705844%3ABlogP…

Нашел на их форуме
вопрос:
Buggered if I can find the manual calibration now either. Have trawled through all the config pages but cannot seem to find it now, have done it in the past and the wiki references it.
http://plane.ardupilot.com/wiki/flying/starting-up-and-calibrating-…

и ответ на это: Keith, the latest ArduPlane no longer requires that so it’s been removed. I’m sure the doc team will catch up with that change shortly.

Видать теперь выставлять точно не нужно

Victor76

Сегодня первый раз в поле настраивал ардупилот, в настройках мишенпланера увидел пунктик- авто тримирование, понял я это так- если включить эту функцию то в полёте, в ручном режиме выводишь самолёт в горизонтальный полёт, потом переключаешь полётный режим в “стабилизация” и в этот момент контроллер сам запоминает горизонт. Не знаю правильно ли я это понял, но после наземной калибровки, в полёте проделал описанные действия, вроде полетел ровно и в ручном и в режиме стабилизации, и самое главное в режиме возврата домой. Кстати, после тримирования выключил эту функцию чтоб при следующих переключения режимов не сбивался горизонт…

smax

Помогите.
Все подключил - вход 1,3,8 каналы. GPS Neo-6.
На выход в 1 канал воткнул серву.
В МишшнПланере все настроил - все работает, рисуется, отображается, спутники ловит, даже пытается рулить в случае RTL.
Однако.
Серва молчит.
Она молчит в любом выходном канале.
Молчит и в ручном режиме и в режиме RTL.

Взял вольтметр - на входах по 5 вольт, на выходах (на всех) около 0 вольт.
Это нормально?

Victor76

Там есть перемычка, так если её установить то сервы будут питаться от шины питания (пять вольт) контролера, если убрать тогда нужно подавать питание на сервы отдельно…
Кстати лучше запитывать отдельно…

smax

Что с перемычкой, что без - 0 вольт.
Попробую запитать отдельно.

10 мин спустя…
Запитал шину серв отдельно - все задвигалось.
Получается, у меня производственный брак? Или плохая перемычка?

vadson
smax:

Получается, у меня производственный брак? Или плохая перемычка?

у меня есть такая же плата, перемычка не помогает 😃, а на другой плате все ок.

kaveg

запелил поворотку для ArduStationMega

чето сервы быстрые как понос даже страшно, походу придётся лезть в код ASM если там нету замедления серв…

Arseni

Эх, а у меня GPS UBLOX NEO-6 c rctimer работал на 9600 из коробки (худо бедно, но работал)

Подкрутил я его на 38400 и выключил NMEA (используя файлик отсюда)

Теперь обновляется быстрее, в программке от UBLOX все работает отлично, но в Mission Planner значек иногда прыгает в положение No GPS. Дома, когда сигнал слабый - у него то
“No Fix” то “No GPS” то “3D Fix”

В терминале test->gps выводыт строчки быстро - но один - два раза примерно на 100 строк встречаются пустые строки.

Боюсь летать. Я думаю дом он все равно найдет, но что лучше - 10Hz с таким сбоем, или 1Hz, но надежно…

Может еще чего подкрутить, но не знаю где 😦

smax

У меня тоже NEO-6.
Вышел на улицу - минут 10 мигал синий светодиод.
Затем он стал то мигать, то не мигать (теряет спутники чтоли?).
Затем через 15 мин вроде загорелся постоянно.
Вопрос - а как узнать, что он запомнил точку старта и уже можно взлетать?
И еще вопрос - у меня на самолете нет элеронов - я воткнул в 1 канал руддер. Будет ли этот автопилот рулить только руддером?