ArduCopter Mega: порт на обычную Arduino (тестим)
на высоте 1 метр при наклоне более 7 градусов коптер увидит что он на высоте НОЛЬ, а ему сказали держать метр… как минимум он резко газанет
а для вычисления высоты от угла есть вот такой код:#if SONAR_TILT_CORRECTION == 1 // correct alt for angle of the sonar float temp = cos_pitch_x * cos_roll_x; temp = max(temp, 0.707); sonar_alt = (float)sonar_alt * temp; #endif
но похоже что он не используется
А почему НОЛЬ? Скорее метр с чем то… Простейшая тригонометрия. А может проще при крене временно запретить вычислять высоту по сонару и использовать последнее измерение, когда крен был в пределах нормы. Высота то при этом, фактически не меняется. Или вообще ввести программное ограничение на считывание сонара. Только когда крены близки к нулю. При болтнанке все равно через ноль проходит.
сонар “видит” на угол 15 градусов, если он наклонится от плоской поверности больше чем на 7.5 градусов, от отраженный звук может уйти в сторону от приемника (я не уверен в том как распространяются ультразвуковые волны) - поэтому сигнал будет утерян, это будет интерпретироваться как НОЛЬ или БЕСКОНЕЧНОСТЬ (для сонара конечно, для нас это НОЛЬ и 2-3 метра)… код возмет прошлое значение если ничего не вернулось или максимальное или минимальное, отсюда: коптер врежется в землю (будет думать что он на той же высоте, но при наклоне будет снижаться… или подниматься), коптер подумает что он очень высоко и врежется в землю, коптер подумал что он очень низко и газанет, чтобы повыше подняться (и при наклоне разгонится и дрепнется куда нить)
но это ИМХО, при условии что ультразвук не дойдет до сонара, при большом угле наклона
в общем если сильно не накдонятся, то проблем не должно быть =) не думаю что кто-то на высоте 1 метра будет сильно кренить коптер до посинения
Вот и введите код, ограничивающий считывание эха в зависимости от угла наклона. Болтанку точно скомпенсирует. А потерей высоты на скольжении можно просто принебречь. Врядли ктото будет крутить боевой разворот у самой земли! Не Чкаловы, небось!
сонар “видит” на угол 15 градусов, если он наклонится от плоской поверности больше чем на 7.5 градусов, от отраженный звук может уйти в сторону от приемника (я не уверен в том как распространяются ультразвуковые волны) - поэтому сигнал будет утерян, это будет интерпретироваться как НОЛЬ или БЕСКОНЕЧНОСТЬ (для сонара конечно, для нас это НОЛЬ и 2-3 метра)… код возмет прошлое значение если ничего не вернулось или максимальное или минимальное, отсюда: коптер врежется в землю (будет думать что он на той же высоте, но при наклоне будет снижаться… или подниматься), коптер подумает что он очень высоко и врежется в землю, коптер подумал что он очень низко и газанет, чтобы повыше подняться (и при наклоне разгонится и дрепнется куда нить)
но это ИМХО, при условии что ультразвук не дойдет до сонара, при большом угле наклона
в общем если сильно не накдонятся, то проблем не должно быть =) не думаю что кто-то на высоте 1 метра будет сильно кренить коптер до посинения
Не совсем верно, это все же звук, а не свет и угол падения вовсе не равен углу отражения. Эхо все равно дойдет, даже при угле больше 45 градусов. Это излучатель узким лучем орудует, приемник эхо ловит искаженное интерференцией от предметов. Как то компенсируется, наверное, на плате, а то бы совсем не могло работать.
ну тогда не стоит заморачиваться вообще
но я на подвес нацелю, на всякий случай… если он будет
Заморачиваться придется. Как может высота меняться со сверхзвуковой скоростью то? А с размахом кренов при болтанке так и будет, угловая скорость небольшая, а гипотенузу посчитайте при этом?! Вернее скорость ее изменения.
имхо мы тут слишком сильно заморочились с сонаром и так - ощущение что все поголовно летают на высоте 1-2 метра =) пора бы уже новые фишки добавлять (ограничение высоты например или OSD от Олега) и/или портировать 2.0.42
с i2c gps получилось у кого?
Я пока с сонаром воевал забыл, что вот вот придет ЖПС с Хоббикинга! С ОСД который. А эта Олегова прошивка подойдет для того ОСД? А то там все примитивное. Координаты и скорость. Ни горизонта ни вариометра…
и так - ощущение что все поголовно летают на высоте 1-2 метра
Хорошо. Ну а с сонаром, как дела обстоят? Высоту держит?
ограничение высоты
Будет, одыкватно, работать сонар, проблем не будет.
OSD от Олега
Отдельным процессором? Неееее. Если тем-же, я ЗА. Тем-более, Олег ограничивался возможностями “того” проца. На 2560, хоть памяти больше.
Еще-б какой-ни какой мониторчик с кнопками, что-б без компа обходиться (ето если полет по точкам не нужен).
Отдельным процессором?
ну процессор который в HK E-OSD используется, там перепрошить надо и чего хитро припаять к атмеге
А эта Олегова прошивка подойдет для того ОСД?
понятия не имею =)
ну процессор который в HK E-OSD используется, там перепрошить надо и чего хитро припаять к атмеге
ане проще все в одну атмегу воткнуть?
В которую?
что всё? атмега в hk e-osd всё рисует (+ обвязка для видео и 2х батареек), основные мозги просто данные засылают (наклон, режим, координаты и прочее)
Я такую и заказал вместе с ЖПС. Но в спецификации ничего про рисование углов наклона не было. Данные с ЖПС и напряжение батареек. Правда 2х
гол работы самого сонара не более 15*
А усли угол в пидах ограничить? Из ВИКИ по мегапирату: В настройках ПИД можно ограничить макс. угол наклона коптера градусов до 20 вместо 45 Параметр Pitch Max *100 в настройках ПИДов. Число умножено на 100, т.е. 4500 = 45 градусов
В которую?
Которой весь коптер управляется. Или ей тяжко будет?
Вот проэкт на мини про. Правда без горизонта.
www.rcgroups.com/forums/showthread.php?t=1473207&h…
Но в спецификации ничего про рисование углов наклона не было.
e-osd перепрошивается кодом от Олега (хз чего там с другой osdшкой)
в megapirate добавляется код отсыла данных в перепрошитую e-osd
e-osd показывает кучу ништяков
А усли угол в пидах ограничить?
не загоняйтесь с сонаром так, как будто он самый важный в коптере
А поконкретнее можно? Про кучу ништяков. И ссылочку, ежели есть!
А поконкретнее можно? Про кучу ништяков. И ссылочку, ежели есть!
www.youtube.com/user/syberian1980
собстно еше вот rcopen.com/blogs/39391/12024
MegaPirate OSD
Основан на Hobbyking E-OSD $12
Функции (могут меняться):
- Контроль батареи
- Таймер
- Полетный режим
- авиагоризонт
- тангаж (вертикальная шкала от -32 до +32 град)
- компас (горизонтальная шкала)
Графика там не очень.
не загоняйтесь с сонаром так
Сейчас сижу и думаю - а зачем он вообще надо? Автопосадки нет, если только в метре от земли полетать. Но я думаю на горку даже на скорости километров двадцать он не заскочит, а просто влетит в нее
Графика там не очень.
А Вы за 12 баксов 3Д хотите 😃
в оригинальном ардукоптере он до 10 метров пробивает высоту, поэтому на низких высотах вполне хорошо его использовать для висения, например при возврате RTL
в дальшейгем для посадки (коптер же не будет ±10 градусов раскачиватся) и взлета
например на AR.Drone как раз так и взлетает пепелац