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

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…

alex-ber

Ребята!! Нужна помощь!!!
Вообщем пришла ОСД, подпаялся к площадкам для програмирования, закачал АВР Студио 4.18 (програматор AVR910-01).
Вообщем в проге не могу законектить процессор, соответственно и прошиться…
Вопросы:
1 при програмировании питалово подавать на БАТ 1 или через програматор (есть возможность отключить питание через програматор)
2 могли бы подсказать какой версией Студио лучше шить с моим програматором (или он не катит?).
ЧТО ДЕЛАТЬ???
С уважением, Александр.

Syberian

я с бат1 подавал и все, но у меня от ЮСБ прогер питается.
пользуюсь студией 4.13
Если сам по себе ОСД работает, значит, неправильно подпаял ноги…

LeonVS:

В Б8 для квадрика без проблем конектимся

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