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

РД00

Коллеги,
облетал вчера ArduPilot. Плата Crius AIO v1 (с HobbyKing), прошивка ArduPlaneNG v2.x R5. Использовал режимы Stabilize и FBW_A. Самолет - метровый тренер классической компоновки. Все на исходных настройках, назначил только полетные режимы на управляющий канал.

Стабилизация работает великолепно, никаких нареканий - “ветер выключается тумблером”. А вот режим FBW_A поставил в тупик. По моим понятиям, он должен держать заданные ручками углы тангажа и крена. Вместо этого он не дает задать крен вообще. В какую сторону копать ?

alexeykozin
РД00:

FBW_A

по описанию так и есть,
я этот режим пока не пробовал.
копать в исходниках ArduPlaneNG

в исходниках NG
code.google.com/p/megapirateng/…/ArduPlane.pde
строка 1266
логика fbw_a

case FLY_BY_WIRE_A:
// set nav_roll and nav_pitch using sticks
nav_roll = g.channel_roll.norm_input() * g.roll_limit;
nav_pitch = g.channel_pitch.norm_input() * (-1) * g.pitch_limit_min;
// We use pitch_min above because it is usually greater magnitude then pitch_max. -1 is to compensate for its sign.
nav_pitch = constrain(nav_pitch, -3000, 3000); // trying to give more pitch authority
if (inverted_flight) nav_pitch = -nav_pitch;
break;

это значит что поворот в этом режиме будет зависеть от параметра LIM_ROLL_CD к примеру если он у вас ноль то реакции не будет.
в ардуплане этот параметр еще используется для режима кружения -при сбоях жпс так что занулять его чревато

ps: впоследствии полученное значение nav_roll будет использовано в функциях навигации и стабилизации для осуществления маневра

alexeykozin

а ктонибудь на летающем крыле этот режим пробовал?

Inverted flight channel (ArduPlane:INVERTEDFLT_CH)
A RC input channel number to enable inverted flight. If this is non-zero then the APM will monitor the correcponding RC input channel and will enable inverted flight when the channel goes above 1750.

Values
Value Meaning
0 Disabled
1 Channel1
2 Channel2
3 Channel3
4 Channel4
5 Channel5
6 Channel6
7 Channel7
8 Channel8

было бы удобно поставить зеркалку на какой нить крупное ЛК объективом вверх чтоб не повредить фотик на взлете и посадке, а в ходе полета переворчиваться фотиком вниз

IgorTim
alexeykozin:

а в ходе полета переворчиваться фотиком вниз

Очень заманчивая альтернатива посадке на парашюте.

alexeykozin

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

это плохо тем что
если запуск “метанием из руки” если мотор разогнать на месте то это выигрыш пары секунд - то разгоняется он быстрее и шанс свалиться меньше

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

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

IgorTim

Преимущество от этого режима вижу в отсутствии вероятности что самолет скрутит на старте от резкой подачи газа.

Алексей, я хочу автовзлет попробовать. У меня катапульта. Пока из пластиковых труб, в работе из ал.профиля. Для взлета на стадии takeoff было бы логичным принудительное управление газом. К примеру: спокойно поставил на направляющие, проверил правильность работы элевонов (для ЛК), включил режим AUTO, установил требуемый начальный уровень газа и нажал на педаль. И потом по мере набора скорости, равномерно увеличивать газ вручную.

alexeykozin
IgorTim:

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

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

IgorTim
alexeykozin:

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

Так об этом и разговор, как я понял. Чтобы принудительно газом управлять на стадии takeoff. Правда тогда отпадает весь смысл автостарта. Можно просто в ручном подняться на 60-100 метров и включить АВТО.

vjick

распайка облегчается. а телеметрию и осд подключать через Y кабель?

РД00
alexeykozin:

поворот в этом режиме будет зависеть от параметра LIM_ROLL_CD

Да, все верно. Посмотрел внимательно на поведение самолета в руке и на график Tuning в Plannere - целевые углы ограничены текущими LIM_xxx, а они по умолчанию небольшие. В полете это воспринималось как “не дает рулить”.

btframework
alexeykozin:

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

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

Alex-13
vjick:

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

Надо питание подать на видео передатчик, а он питает камеру. Если подать питание на камеру , на видео передатчике питания не будет.
Посмотрите на распиновку что идет с видео передатчиком

HATUUL

Ребята,Почему в стаб.режиме вместе с элеронами миксуется руль направления?И где это можно отключить?

alexeykozin
btframework:

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

большое спасибо, пошел читать код!
как же мог прозевать… ведь так ждал

zipman

Здравствуйте, подскажите пажалст. Приобрёл подобную штуку. Дополнительно заказал только мини ОСД и набор телеметрии, и тут неожиданно возник вопрос) для ориентирования необходимо дополнительно платку с гироскопами брать ArduImo или в нём есть встроенные? просто похожих на гироскоп датчиков не нашёл на плате.

karabasus
zipman:

Приобрёл подобную штуку.

Подобную это какую? В теме обсуждалось ранее плата APM1 - к ней нужны датчики отдельно. Если вы приобрели APM 2.5 то к ней не нужно покупать набор датчиков (ну кроме gps , датчика тока, датчика скорости - но они не обязательное условия для полета, но датчик gps очень необходим). А гироскопы как вы считаете должны выглядеть? На плате APM2 (2.5) стоит микросхема MPU6000 которая совмещает в себе гироскоп и акселерометр и блок обработки.

zipman
karabasus:

Подобную это какую? В теме обсуждалось ранее плата APM1 - к ней нужны датчики отдельно. Если вы приобрели APM 2.5 то к ней не нужно покупать набор датчиков (ну кроме gps , датчика тока, датчика скорости - но они не обязательное условия для полета, но датчик gps очень необходим). А гироскопы как вы считаете должны выглядеть? На плате APM2 (2.5) стоит микросхема MPU6000 которая совмещает в себе гироскоп и акселерометр и блок обработки.

Спасибо, у мня как раз 2.5 + uBlox gps, пойду ковыряться)