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

alexeykozin

вобщем окончательно убедился что дрожание происходит изза модуля radio.pde
на тесте радио явно видна ступенчатая вибрация снятых измерений.
чтобы временно залатать проблему сделал округление “снятых значений ПВМ” с приемника так как это было реализовано в 2.6, но там еще одна бага осталась - это как раз про то что писали тут- если приемник аналоговый и ширина PWM вообще неадекватная то вместо игнорирования и файлсейф - неверные данные снимаются как значения приемника, я сначала попробовал как 2.6 сделать обернув в if с 1700 - 4000 но сервы отрубаются в крайней трети - гдето еще бага.

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

с исправленным “тремором”
radio.pde для Ardupilot2.7 можете взять тут

blade
alexeykozin:

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

И это-абсолютно правильно: если аппаратура мегагерцовая и без РСМ- то в ней импульсы идут последовательно, как и в кодовой пачке …
А если 2,4- то там все по времени одновременно.
А что, в Ардуине это- не учтено?

alexeykozin
blade:

И это-абсолютно правильно: если аппаратура мегагерцовая и без РСМ- то в ней импульсы идут последовательно, как и в кодовой пачке …
А если 2,4- то там все по времени одновременно.
А что, в Ардуине это- не учтено?

в 2.7 учтено но вычисляется не автоматом, а задается конфигурационной константой

#define RADIO_TYPE 0 // 0 = sequential PWM pulses, 1 = simultaneous PWM pulses

RedSun
Rom111:

Всем привет! Подскажите, пожалуйста, у меня ArduIMU v2 залил прошивку 1.7 При тестировании в ArduIMU Test жёлтый самолетик вращается только вокруг осей X и Y. В строке Z Yaw цифры меняются, но самолет не вращается. В чём может быть причина, неисправен гироскоп?

В конфиге прошивки 1.8 есть параметр, что-то типа SPEED_FILT. Смысл его в том, что угол рыскания не будет измеряться на неподвижном самолете, а только по достижении скорости не ниже указанной. Посмотрите, мож у Вас тоже есть что-то подобное и оно ненулевое ?

RedSun
alexeykozin:

с исправленным “тремором”
radio.pde для Ardupilot2.7 можете взять тут

Посмотрел - по ссылке лежит исходный дистрибутив ArduIMU 1.8.2 и ArduPilot 2.7.1. Никаких доработок не видать…

alexeykozin
RedSun:

Посмотрел - по ссылке лежит исходный дистрибутив ArduIMU 1.8.2 и ArduPilot 2.7.1. Никаких доработок не видать…

Прошу прощения, действительно не тот пакет попал при архивировании, перезалил

вот фрагмент радио

void read_radio()
{
//Filter Radio input
//timer1diff -= 46; //if no filtered - tremor
//ch1_temp = timer1diff * .5; //if no filtered - tremor
ch1_temp = (float) ch1_temp *.8 + ((float)timer1diff - 46)*.1;

//timer2diff -= 38; //if no filtered - tremor
//ch2_temp = timer2diff * .5; //if no filtered - tremor
ch2_temp = (float) ch2_temp *.8 + ((float)timer2diff - 38)*.1;

timer3diff += 10;
ch3_raw = timer3diff * .5;
radio_in[CH_THROTTLE] = (float)radio_in[CH_THROTTLE] *.9 + (float)timer3diff *.05;
throttle_failsafe(timer3diff/2);
radio_in[CH_THROTTLE] = constrain(radio_in[CH_THROTTLE],radio_min[CH_THROTTLE],radio_max[CH_THROTTLE]);

// Rudder with filter
radio_in[CH_RUDDER] = (float)radio_in[CH_RUDDER] *.9 + ((float)timer4diff + 40)*.05;

// Rudder with no filter
//radio_in[CH_RUDDER] = timer4diff * .5;

alexeykozin

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

blade
alexeykozin:

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

Дык, берёшь сломанную телескопическую антенну (а на Митино- их сейчас и целые рублей по 30 продают)- и паяешь мощным паяльнико с кислотным флюсом: www.reaa.ru/yabbfiles/…/Pito_800x539_001.jpg
D :принимаем равным 6 мм…
Со сгибанием под 90*-можно не мудрить, он и с прямыми трубками дивно работает 😃
Тем более, его всё равно надо в лобик консоли и подальше от винта вклеивать .

alexeykozin

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

RedSun

Силиконовой трубкой для топлива из модельного магазина. Силиконовой трубкой от капельницы. Трубкой из непонятного материала из ремкомплекта омывателя стекол в автомагазине. Термоусадкой, если прямая.
На самом деле, колхозить настоящую трубку Пито особенного смысла нет. Часто просто делают трубочку на напорный (верхний) патрубок датчика, а второй патрубок оставляют неподключенным. Ошибка невелика.
И еще. Датчик давления выдает сигнал порядка единиц милливольт. Если пытаться выносить его куда-то, нужно очень внимательно защищаться от наводок и прочих помех…

alexeykozin
RedSun:

Датчик давления выдает сигнал порядка единиц милливольт. Если пытаться выносить его куда-то, нужно очень внимательно защищаться от наводок и прочих помех…

я так и подумал, думаю поставить его рядом с ИМУ и соединить экранированной жилкой

Syberian

Народ, чем отличается ардупилот мега 2.24 и выше от 2.12? Чего там суперкрутого появилось?

alexeykozin

про 2.24 пишут:
here’s also a new version of APM in the Mission Planner (It’s still showing as 2.23, but we’ll increment that display to 2.24 shortly) as well as for download. This fixes all sorts of subtle bugs, including EEPROM corruption, memory overflows, Xbee bricking, etc. You really want these–trust me. Remember that you must go through a board reset/setup again after loading the new code.
в коптере доделали стабилизацию камеры
и еще вродебы связано с переездом на новое хранилище кода
инфа отсюда: diydrones.com/…/new-apm-and-arducopter-code-git-an…

вопросик
кто нить пробовал маленький ардупилот в хоть в каком нибудь симуляторе?
где взять совместимую со стандартной ardupilot 2.7 версию приложения транслирующего данные на x-plane (или посоветуйте любой другой работоспсобный комплект софта под винду)
проблема в том что ardupilotsim выложенный на офсайте при попытке двигать джойстиком выдает неадаекватные отклонения на своих индикаторах - либо пульсации либо вместо газа руддер и соответственно модель в xplane также дергает рулями при том что с сервами все в порядке (у меня windows7 rus)
, с линуксовым перловским также не смог разобраться как его запустить под виндой

skydiver
Syberian:

Народ, чем отличается ардупилот мега 2.24 и выше от 2.12? Чего там суперкрутого появилось?

Из крутого:
Fly to here
point camera here
Остальное в основном это исправление багов.

alexeykozin
skydiver:

Из крутого:
Fly to here
point camera here

а как это выглядит функционально?

Syberian

Аха, значит, камерку доработали…
Значит, стоит портировать. Спасибо 😉

skydiver
alexeykozin:

а как это выглядит функционально?

  1. Жмакаешь на карте правой кнопкой -> Fly to here, и он летит в указанную точку( ну еще высоту задаешь)
  2. Жмакаешь на карте правой кнопкой -> point camera here, и камера все время направлена в указанную точку на земле.
alexeykozin

никак не могу понять что у меня с маршрутными точками, вернее с домашней точкой. версии пилота и 2.7 и бэта 2.8
хотел опробовать симуляцию возврата и посадки в xplane скачал configtoolglobal с оффсайта, вношу точки все точки сохраняются а домашняя то там то сям но не там где надо после повторного чтения
при записи configtoolglobal выдает предупреждение something wrong
может в 2.7 и выше подругому как маршрут заливают?

Serj=

Маршрутные точки в ардупилот заливаю через ArduPilotConfigTool как на видео. Но в ардупилоте домашняя точка не сохраняется, она определяется при инициализации GPS. Как в симе не знаю.

alexeykozin

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

Облетал прошивку 2.8 в X-Plane 9
какаято странность - самолет уклоняется от точного курса градусов на 15 влево
а вокруг маршрутных точек нарезает круги, это бага или так задумано?
посмотрите курс не прямой а дугой и круги вокруг точек
во вложении круги над вейпоинтами красными стрелками , дуга вместо прямой - синей