Проект Мегапират на самик!
Я в аурдине плату датчиков прямо к основной плате на термоклей прифигачил, вроде все тип топ, не считая уплыва в виражах…
Пытаюсь разобраться с твоим МАРГ, он библиотеку IMU вообще не юзает походу… Все идет напрямую с датчиков? Так как компас глючит пытаюсь вклячить курс с ГПС, чтот не въезжаю как сие реализовать… Пробовал зделать как в ДЦМ библиотеке:
…
yaw = -atan2(2*q1*q2+2*q0*q3,2*q0*q0+2*q1*q1-1);
cos_psi_err = cos(ToRad(g_gps->ground_course/100.0) - yaw);
sin_psi_err = sin(ToRad(g_gps->ground_course/100.0) - yaw);
rot_mat.a.x = cos_psi_err;
rot_mat.a.y = -sin_psi_err;
rot_mat.b.x = sin_psi_err;
rot_mat.b.y = cos_psi_err;
rot_mat.a.z = 0;
rot_mat.b.z = 0;
rot_mat.c.x = 0;
rot_mat.c.y = 0;
rot_mat.c.z = 1.0;
dcm_matrix = rot_mat * dcm_matrix; /// Не въеду на что мне умножить матрицу rot_mat в МАРГе???
Если есть мысли, наведи на путь истинный 😃?
уууу матан!!! я пас 😃 у мене тройка в дипломе по вышке 😉
навскидку: матрица - это 3 трехмерных вектора, а кват - 1 четырехмерный. Втупую не перемножишь. Тем более, там какой-то алгоритм gradient decent применен, формулы на пол-страницы.
Попробуй лучше перевести курс в XYZ якобы от магнетометра, опираясь на текущие roll pitch, и потом его же и подай штатно в марг.
Примерно так: если roll-pitch равны 0, mX и mY - это синус и косинус жпс-курса. Если roll,допустим, 90 грд, вместо mX будет mZ.
Короче, куча синусов и косинусов.
А вообще, я бы зобил. Нормально компас работает, если калибровать нормально.
А вообще, я бы зобил. Нормально компас работает, если калибровать нормально.
Там даже проблема немного в другом… Допустим при боковом ветре самулю чтоб лететь на точку надо брать опережение и лететь под углом, если курс берем просто с ГПС никаких проблем самуль смотрит допустим на 30 градусов в сторону ветра, а летит четко по линии, если же АП ориентируется по компасу он будет плавать туды сюды пытаясь повернуть нос на точку его будет сносить и тд тп… В общем обработка курса с компасом гораздо запарней 😃
Имея 4 параметра: жпс курс, жпс скорость, компас и аирспид ты вполне можешь вычислить куда тебя несет, с какой скоростью, каким боком и куда при этом нужно парировать, чтобы не сорваться и еще и по прямой линии к цели валить.
Вот как раз с ЖПС курсом и засадко выходит в МАРГе:) Хочу еще раз с твоим МАРГом поиграться, кручения в руке по сравнению с ДЦМ дают гораздо лучшие результаты по уплыву… Можно конечно извратиться подрубив еще и ДЦМ, что то таскать от туда что то от туда… и в общем то мега даже сие тянет, но как то через ж получается 😃
Вообщем сегодня перепаял ГПС (СПАСИБО Леониду…).
проверил пока на земле (у нас верер и дождь…) - походил с самиком вокруг домов. По логу точность позиции составила 2 метра… ГПС модуль работает на частоте 5 Гц (хотя может и 10…) и скорость передачи 9600 по умолчанию (с толчка может и 57600 давать…).
Вопрос: забить и так попробовать или мудрить с модулем?
если в коде (Ежеужа) при старте в модуль кинуть МТК - строчку, модуль переключится в нужный режим… тока как это сделать я не знаю… В смысле строчку я найду (гдето записана) но как сделать чтоб Вортекс посылку отправил…
Полетай так не парься, сперва в ручном режиме, садишься смотришь логи, самуль должен летать носом вперед, а не как у тебя он летал раньше, если все тип топ, пробуй РТЛ 😃
А по поводу дать пинка МТК… дык ублокс то же с пинка только запускался, надо поискать и заменить тот самый волшебный пендель на нужный для МТК 😃
Олег, а как ты меряешь перегрузку? Просто accel.z / 9.8 ? Или прогоняешь опять же через матрицу учитывающую наклоны и тд тп?
длина вектора: корень из суммы квадратов. а плюс или минус рисовать спереди- по знаку aZ
при старте в модуль кинуть МТК - строчку, модуль переключится в нужный режим…
Я тут вчера тоже парился с GPS. Есть программа miniGPS_1.4 от MTK позволяет выставить нужный бодрейт и частоту обновления и много других параметров, запоминает. Вроде работает.
code.google.com/p/ardupirates/downloads/detail?nam… в этом архиве есть
длина вектора: корень из суммы квадратов.
Олег, а можно поподробней для особо одаренных 😉? Корень из суммы квадратов всех осей акселя?
Усе получилось, спасиб 😃 Бум наблюдать что там на борту творится, а то не въеду в тему, на пене летает все тип топ, на графите горизонт уезжает в неизвестном направлении… даже если летать плавно и печально, не пойму пока в чем дело…
Правда при таком раскладе не известно по какому вектору перегрузка, ну да ладно, посмотрим вообще есть ли они, а дальше бум посмотреть оси по отдельности 😃
Слух еще вопросец по МАРГ, ты вроде этим заморачивался в свое время… Как компас оставить только для оси Z, а с тангажа и крена его внияние снять?
Сегодня отлетал по точкам. В спешке забыл пульт от HDR-ки, поэтому кина не будет. Кому нужно, тот соберет и сам убедится, а общее представление можно получить из первого видео 😉
Полетная программа была такая:
- взлет
- лететь 500м на север относительно базы на высоте 100м
- лететь 500м на юг относительно базы на высоте 100м
- повторить с п.2 еще 2 раза
- === конец=== (вернуться домой)
Был легкий ветерок с востока порядка 2 м/с. Все действия, кроме посадки, в авторежиме. Крейсерская скорость выбрана экономичная: 50 кмч.
Взлет халявный. Щелкнул тумблером, поставил пульт на крышу тачки, самоль плавно навалил газа, отпустил и все, попер. Длина “впп” была выбрана 300м, поэтому самоль повалил по прямой на это расстояние, набрал “взлетные” 30м высоты и перешел к основной миссии.
Дальше не было ничего особенного: тупил в очки и периодически слышал “Waypoint reached!” и звук пролетающего над головой пепелаца 😃 Когда жужжание приблизилось и стало угрожающе снижаться (вернулся), снял с крыши пульт, вырубил миссию и плааавненько сел к ногам. В стаб-моде садиться - это сказка.
Выводы:
- авторежимы работают, в доработке не нуждается
- на ветер пох, летел бочком, но в точки попадал без сноса.
- FrSky гамно, на 500м уже пищать начал
- пульт от HDR надо привязывать цепочкой
Уточненные параметры для скайволкера:
гиро 0.4
RC 0.5
рол 0.8
пич 0.8
яв 0.8
- и реверсы у меня по всем каналам отмечены.
Вот типа и все 😃
Хочу попробовать кросс-кантри, провесить маршрут над дорогой, и следом на тачке ехать.
Корень из суммы квадратов всех осей акселя?
именно. Насколько я помню, в иксе норма 1G = 2048. В арду-хрени там вообще в попугаях. Перемудрили.
пульт от HDR надо привязывать цепочкой
😉)) Знакомо, я выставлял кнопками на самой писалке запись по таймеру когда пульт забыл 😃
Блин не ужели сложно было вывести кнопку врубающую запись…
Интересное наблюдение, если в МАРГ включить компас, уплывать при вращении в руке он начинает гораздо сильней 😃
😉)) Знакомо, я выставлял кнопками на самой писалке запись по таймеру когда пульт забыл 😃
Блин не ужели сложно было вывести кнопку врубающую запись…Интересное наблюдение, если в МАРГ включить компас, уплывать при вращении в руке он начинает гораздо сильней 😃
Леонид…
Есть вопросы по Ежеужу - если не против через Скайп завтра спишемся…
Коротко - поменял прошивку - залил из архива что ты дал, и сегодня даже полетать не получилось… Слови глюк… Хотя ГПС в ручном режиме (смотрел логи…) отработал на отлично…
[QUOTE=Syberian;3404642]Сегодня отлетал по точкам. В спешке забыл пульт от HDR-ки, поэтому кина не будет. Кому нужно, тот соберет и сам убедится, а общее представление можно получить из первого видео 😉
Полетная программа была такая:
- взлет
- лететь 500м на север относительно базы на высоте 100м
- лететь 500м на юг относительно базы на высоте 100м
- повторить с п.2 еще 2 раза
- === конец=== (вернуться домой)
Был легкий ветерок с востока порядка 2 м/с. Все действия, кроме посадки, в авторежиме. Крейсерская скорость выбрана экономичная: 50 кмч.
Взлет халявный. Щелкнул тумблером, поставил пульт на крышу тачки, самоль плавно навалил газа, отпустил и все, попер. Длина “впп” была выбрана 300м, поэтому самоль повалил по прямой на это расстояние, набрал “взлетные” 30м высоты и перешел к основной миссии.
Дальше не было ничего особенного: тупил в очки и периодически слышал “Waypoint reached!” и звук пролетающего над головой пепелаца 😃 Когда жужжание приблизилось и стало угрожающе снижаться (вернулся), снял с крыши пульт, вырубил миссию и плааавненько сел к ногам. В стаб-моде садиться - это сказка.
Выводы:
- авторежимы работают, в доработке не нуждается
- на ветер пох, летел бочком, но в точки попадал без сноса.
- FrSky гамно, на 500м уже пищать начал
- пульт от HDR надо привязывать цепочкой
Уточненные параметры для скайволкера:
гиро 0.4
RC 0.5
рол 0.8
пич 0.8
яв 0.8
- и реверсы у меня по всем каналам отмечены.
Вот типа и все 😃
Хочу попробовать кросс-кантри, провесить маршрут над дорогой, и следом на тачке ехать.
Олег.
Есть вопросы - как лучше: сюда или в личку… (вопросы больше частного характера, но по теме…).
Во ребят к чему надо стремитси 😃 Где бы такие дальники надыбать с разверткой в плоскости 😃
Есть вопросы по Ежеужу - если не против через Скайп завтра спишемся…
Не вопрос, чиркай 😃
Мне понравилось твое видео, тоже буду стремиться к таким же результатам. Голос - супер. Ты где-то нарезки взял? Не чиркнешь адресок источника, как время будет. Я себе потом такие же хочу сделать. Ты их в каком формате хранишь на флешке?
Голос надерган из демонстрации: _http://www.naturalreaders.com/index.htm
Формат - PCM 8k моно
Только Пола не используй, я его занял 😉
Только Пола не используй, я его занял
Афигенно! Так официально заявляю, Heather - моя, я ее занял. Никто ее не берет!
Гы, раз пошла такая пьянка может мне на перспективу то же чего нить занять 😄
Есть программа miniGPS_1.4 от MTK позволяет выставить нужный бодрейт и частоту обновления и много других параметров, запоминает.
Нихрена не запоминает установки, чтобы по умолчанию заработал на 38400 пришлось перешивать модуль (правил .ini файл). Теперь работает с MPX STM32.
Теперь уже все работает, можно ставить на самолет.😃
Нихрена не запоминает установки, чтобы по умолчанию заработал на 38400 пришлось перешивать модуль (правил .ini файл). Теперь работает с MPX STM32.
Теперь уже все работает, можно ставить на самолет.😃
Можно в лику подробней…
такая же байда… Не запоминает…