Проект Мегапират на самик!

LeonVS

Судя по всему там таймаут, если нужные параметры не успели проскочить в данное время, то досвидос…
У меня дома когда модули совсем рядом друг с другом, иногда проскакивало и загружалось, в поле сегодня не разу добиться загрузки не смог, походу добавляются данные с ГПС и это уже становится критической точкой 😃 Летал с HK, но там данные отстают от реальных где то на полсекунды-секунду, очень не удобно…
Времени было совсем мало, вот что удалось выяснить, лойт не хрена не кружит, а дает газу по боле и херачит вдаль по прямой, хотя на земле при включении руль повернут и элероны повернуты для поворота влево… стабилизация держит, но по тангажу надо играться с пидами, начинается расколбас, который проходит, но не приятно 😃 При включении стабилизации, почему то кренит влево, хотя по уровню вроде все выставлено верно, что подтверждается кручением самуля на земле смотря на телеметрию. Если тримируешь, при включении мануала кренит вправо, странна…
Блин надо как то аттачить АРМ планер, в HK даже запись данных полета включить не получилось… поле не активно и все тут… Да еще у игловского ОСД крышу совсем снесло как руление сервами у него забрал… на экране какие то левые цифры появляются, через секунд 10 после включения, координаты ГПС пропадают, и надпись, пишите в тех поддержку вот вам код ошибки 😃 В общем не удалось толком полетать и все настроить…
Не говоря уже чтоб расслабиться и полетать в свое удовольствие, посмотреть на окружающие красоты 😃

alex-ber

Вот вот с таймаутом там и намудрили (насколько понял из перевода…).
Там вроде даже совет был тайм выставить около 1-2 минут(!?), по дефолту вроде 30 сек…
Только как его поправить (в смысле где) в коде или в самом Планере? Если в Планере то как???
У меня в Планере когда ошибку выбивает просит изменить настройку и дает рекомендацию на: С\документ/ардуино/Планер… Стока такаето…, но как в проект Андруины сам Планер запихнуть???
Или всетаки в коде копать?

LeonVS

Судя из того что там пишут, похоже копать надо в коде аурдины… Но вот где, полагаю может ответить Олег, так как код у нас не стандартный… Хотя возможно этот модуль и остался стоковым…
Олег, прилепляй уже себе АРС и присоединяйся к мучениям по подключению 😃

skydiver
alex-ber:

Я столкнулся с той же проблемой - в НК работает а в Планере нет!!
Пока проблему не решил…

и не решите без правки кода планера, это проблема есть и в оригинальном коде ардупилота. Косяк именно в таймаутах(но не том что 30сек при включении). Его проявление зависит от применяемой телеметрии, из всей линейки xbee у меня заработали только рекомендованные на 900мгц и xtend. Остальные либо вообще не давали коннекта либо через раз.

alex-ber
skydiver:

и не решите без правки кода планера, это проблема есть и в оригинальном коде ардупилота. Косяк именно в таймаутах(но не том что 30сек при включении). Его проявление зависит от применяемой телеметрии, из всей линейки xbee у меня заработали только рекомендованные на 900мгц и xtend. Остальные либо вообще не давали коннекта либо через раз.

Значит придется осваивать другую прогу (либо НК или еще какую) хотя Планер мне по картинке больше нравится…
надо на форуме Дидроносов поошиваться - может помогут Планер подлечить…

skydiver
alex-ber:

может помогут Планер подлечить…

Я давненько просил -пишут что нии**т, это у вас проблемы с соединением.

alex-ber
skydiver:

Я давненько просил -пишут что нии**т, это у вас проблемы с соединением.

Ну и … с ними. будем сами думать…
меня в настоящий момент больше волнует вопрос с отображением высоты с ГПС. Отображается в Планере высота над уровнем моря - что очень неудобно при навигации и планировании миссий (надо высчитывать самому высоту над точкой старта…) Эту фишку побороть возможно?

LeonVS

Хм… там же есть кнопка “Set Home Alt” она обнуляет высоту, далее отсчет ведется уже от нуля.

Musgravehill

У меня МегаПират с АРС220 работает отлично. Летаешь, а телеметрия льется в ноут. rcwiki.ru/index.php/MegaPirates настраивал как тут пишут. В АРМ Планнере выбираю порт, на котором висит USB-АРС220, скорость 57600. В коде выставил на RXTX 3 скорость 57600. Нужно дождаться, когда GPS законнектится (у меня SIRF бинарный протокол идет) + выдержать паузу, тогда будет GPS 3D FIX в планнере.

LeonVS

Заливал прошивку B8 от коптера, с ней удачных коннектов гораздо больше чем с самолетной B1… видимо траблы есть какие то в коде…

LeonVS

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

ViktorDoma
LeonVS:

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

Если верить ArdupilotMegaPlanner 1.0.50.0 - то можно. Только не факт и нужно экспериментировать.

У меня тут три дня назад случился конфуз с Вортексом. Сдохла кренка на 5 вольт. Причем не понятно отчего 😦
Поменял. Правда сразу не заработало, пришлось шить камень через ISP. Потом переставлять дрова в винде (перекосились).
Кароче усе заработало.
Вортекс работает, приатаченный E-OSD - работает. Показывает крен, тангаж, север, режимы и прочее.

Есть замечания - Все время светитцО надпись NO FIX GPS при включенном и работающем ЖПСе.
При наведении камеры на темное пятно , срывает синхру (на картинке появляются горизонтальные полосы, или вообще на ОСД исчезают надписи и квадрат).
Крен в право не докручивается, в лево все гуд.
Напряжение мельтешит (все время меняется цифра то 12 то 11,99) - раздражает.

Протокол от Рэмзи сегодня ночером залью сюда.

Олег - новая версия ОСД и планера как скоро планируется ?

LeonVS

Чтот Олег сгинул куда то… прогит походу Б2, не отвлекаясь на пустяки 😃

alex-ber

Ну наконец дождался свое ОСД. сегодня буду подпаиваться и програмироваться!
если с работой повезет (не вызовут) то надеюсь на выходных облетать уже с ОСД и по полной!

Syberian
ViktorDoma:

сть замечания - Все время светитцО надпись NO FIX GPS при включенном и работающем ЖПСе. При наведении камеры на темное пятно , срывает синхру (на картинке появляются горизонтальные полосы, или вообще на ОСД исчезают надписи и квадрат). Крен в право не докручивается, в лево все гуд. Напряжение мельтешит (все время меняется цифра то 12 то 11,99) - раздражает. Протокол от Рэмзи сегодня ночером залью сюда. Олег - новая версия ОСД и планера как скоро планируется ?

У меня тоже срывается синхра иногда. Особанно когда много красного и черного на экране. Е-ОСД использует тупой делитель для синхронизации. В полете ни разу не было.
По поводу фикса и координат, это сделано злонамеренно, не доделан обмен между вортексом и ОСД, поэтому отключено.
Обновление вольтажа с частотой 10Гц, как и всего остального, вот и дрыгается.

Новая версия в разработке.
Запустил кватернион с компасом, отдельно работает замечательно, в самом пирате уводит крен с тангажом. Подозреваю конфликт переменных.
Declination не используется, компас по своему вектору корректирует не только азимут, но и крен с тангажом, так что в затяжных поворотах горизонт уплывать не будет.

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

LeonVS

Олег, телеметрию то поставил себе? Не пробовал победить подключение Б1 к планеру?

Syberian

Не поставил, однако, есть некоторые мысли… Скорость как в модулях, так и в GCS и самом пирате ставить 9600 или 19200.
Если вы ставите 57600, это скорость подачи данных в буфер, хотя эфирная у него 19200. Ардуина думает что типа скорости много и все ПИДы вначале вываливает, чем вызывает переполнение буфера радиомодуля.

Резюме: поставить скорость порта ниже.

LeonVS

я так сильно не опускался, ставил 38, становилось еще хуже (количество удачных коннектов еще сократилось… ) Чую если поставить 9600 будет совсем бяда, хотя попробовать лишним не будет 😃 Сегодня после работы поиграюсь 😃

ViktorDoma

Олег, как заполучить полные строки NMEA вида
$ GPGGA и $ GPRMC
В формате строки (string) ?

Итак - формат передачи данных для Remzibi OSD:

Навигация:

2 3 4 5 6 7 8 9 10 11
“$A,lat,lng,numSV,[dist],alt,speed,course,[azimuth],gpsDate,gpsTime,” CR LF

[dist] и [azimuth] можно оставить пустыми, но лучше передавать.
Lat и Lon формат число с плавающей точкой вида “-121.123456”

Виртуальный горизонт:
2 3
“$I,roll,pitch,” CR LF
Значения указывать целыми числами в градусах (-180,180)

Активация Ремзи и установка точки старта

"$SH"CRLF
без этой команды не запустится горизонт и навигация
Предлагаю выкатывать эту команду первой только после определения не менее 5ти спутников.

Очистка виртуально экрана от всех надписей

"$CLS"CRLF - this message will clean screen of OSD
(пока не понял нафига, но скорее всего для удаления мусора)

Выключатель ОСД (из видео потока отключается ОСД данные, для наслаждения видов походу 😃 )

“$L0” CRLF - режим OFF OSD
“$L1” CRLF - режим ON OSD

Для передачи ЛЮБЫХ текстов и знаков в любое место экрана (вот походу что бы чистить эти надписи и сделана команда очистки экрана ОСД)

"$MXXYYLLEEabc"CRLF
XX - 16ти ричное значение - координата по оси Х (на экране)
YY - 16-ти ричное значение - координата по оси Y (на экране)
LL - иконка до сообщения (из таблицы шрифтов Ремзи)
EE - иконка после сообщения (из таблицы шрифтов Ремзи)
abc - собственно текст, цыфры и прочее

Вроде все - если возникнет сомнение - я в симуляторе уточню чёкаво.

Олег, если Вы сообщите мне необходимые переменные, доступные из OSD.pde, я попытаюсь сам накропать, что бы не отвлекать от более важной работы.

Syberian

int dcm.roll_sensor - крен, умноженный на 100 (1 градус - значение 100) (-18000…+18000)
int dcm.pitch_sensor - тангаж, умноженный на 100 (1 градус - значение 100)(-18000…+18000)
int dcm.yaw_sensor - курс, умноженный на 100 (1 градус - значение 100)(0…+36000)
int target_bearing - курс на след. путевую точку (или домой, зависит от режима полета (auto - след точка, все остальные - домой) - аналогично просто курсу
wp_distance - расстояние до след. точки / дома
g_gps->ground_speed - скорость по земле
g_gps->ground_course - курс по GPS
current_loc.alt - текущая высота (абсолютная) по GPS
current_loc.lat - текущая широта
current_loc.lon - текущая долгота
(current_loc.alt - home.alt) - высота относительно “дома”
byte g_gps->num_sats - число спутников GPS

Чтобы писать что-то в текстовом виде, нужно объявить тип данных, который нужно выводить.
К примеру, вот это

“$I,roll,pitch,” CR LF

Будет выглядеть так:

sport.print(“$I,”); // заголовок
sport.print((int)dcm.roll_sensor/100); // крен
sport.write(‘,’); // запятая
sport.print((int)dcm.pitch_sensor/100); // тангаж
sport.println(“,”); // запятая и CR LF

Сырую строку GPS просто так из драйвера не вытащить, она там обрабатывается побайтно и не хранится.

LeonVS

Эх, увы, переход на 19200 результата не дал… симптомы те же…
К стати а где в Б8 меняется скорость порта телеметрии???

Нашел, в файле config.h в общем проблема походу в прошивке Б1… В Б8 для квадрика без проблем конектимся как на 19200 так и на 57600…