Создание собственной системы стабилизации

lomaster

Смотрю есть не мало людей и проектов желающих разработать свой пилотный контроллер 😃 Я собственно квардик собираю с той же целью: Разработка контроллера и ПО для автономного л/а. Автономного в том смысле, что летать он будет без пульта ДУ.
Задачу разбиваю на такие части

  1. Моторика - управление моторами, стабилизация, выполнение заданных паттернов движения.
  2. Сенсорика - стандартный набор инерционных датчиков, определение возможного изменения положения.
  3. Построение карты местности и локализация - дальнометрия, алгоритмы типа FastSLAM, DP-SLAM, Particle Filter.
  4. Планирование маршрута для перемещения в заданную точку пространства.

На данный момент имеется отладочная плата STM32F4Discovery и стандартный набор датчиков. Плата тяжеловата, но пока возможно сойдёт.
Не хватает средств дальнометрии, kinect или xtion пожалуй тяжеловаты будут. Хотелось бы несколько лазерных дальномеров, но таких я не нашёл в принципе.
Возможно потребуется и более производительный процессор для слэма и навигации.
ESC пока думаю оставить какие есть (от rctimer).

SergDoc

Конечно не в обиду, но, я хочу, я делаю и т.п. - куча сферических слов в вакууме, а где свои извращения результаты, какие-то наработки? Всё в секрете? Юрий я не только про вас. Один Александр rual хоть какое-то видео, какие-то решения выкладывает, да, у меня ничего особого нет - трудновато мне, и с программированием, да и с финансами, но тоже пытаюсь что-нибудь выложить по мере готовности… Выкладывайте свои наработки (эт я ко всем) мы (это не только я, а надеюсь кто-то ещё) их украдём покритикуем или возьмём на вооружение 😃

Извиняйте никого не хотел обидеть - накатило что-то 😃

lomaster

Мои наработки на данный момент времени касаются больше колёсных роботов 😃
Несколько устаревшее видео, но общий вид такой:

rual
SergDoc:

Выкладывайте свои наработки

Не вопрос, Сергей, могу выложить свой проект как есть. Вот только он у меня не под ГЦЦ, посему мэйк-файл приложить не могу, а так же не знаю как себя поведёт себя ассемблерный стартап в ГЦЦ.
Проект сумбурный, т.к. это мой первый проект на СТМ32 и первый проект применения датчиков ориентации. В некоторых местах есть упоминания Virtual Com POrt Demo , что есть следствие того, что мой проект я вырастил на этой демке. Вообще в планах переструктурировать объекты, но пока руки не доходят.
А так пользуйтесь, в принципиальных местах, если не лень, упомяните автора.
Апааратную конфигурацию выложу поздже , хотя все выводы описаны русским языком в файле hw_config.h.
Вся соль проекта в файле IMU.cpp, там описаны ИНС, стабилизатор и вычислитель угловых разностей. Фильтр альфа-бетта на кватернионах.
Все остальные файлы обеспечивают управление и настройку внутрених устройств СТМа, связь и интерфейс пользователя, снятие ППМ сигнала на входах, формирование ШИМ на выходе в соответсвии с матрицей конфигурации рамы, формирование управляющего кватерниона из входного ППМ.
Весь алгоритм вымучен мной лично, все совпадения считать случайными. Функции работы с кватернионами взяты с сайта GameDev.ru
Поздже выложу схему подключения ЛСМки и последенее видео.

MyIMU.rar

SergDoc

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

rual:

Не вопрос, Сергей, могу выложить свой проект как есть.

А с гуи виевским полностью дружит? или это задел на будущее? Мне очень нравится станция ОР, но к ней прицепится думаю сложно будет, а своё сварганить рук не хватит…

SergDoc:

не лучше завтра

ого а завтра то уже сегодня 😃

rual
SergDoc:

А с гуи виевским полностью дружит

уг
Пока совсем не дружит, я только код интерфейса с какого-то вийного проекта вставил и прикрутил к своим переменным. Но гуй мой контроллер так и не признал…

rual
SergDoc:

трудновато мне, и с программированием

я тут могу помочь, вот только времени не хватает. Ну и аппаратура у нас с тобой разная, писать код под ту железку, которой у тебя нет, дело не простое. В своём проекте последние существенные изменения сделаны ещё до майских праздников, сейчас только донастройка и лётные испытания. До компаса всё руки никак не дойдут((( Опять же гуй виевский не прикрутил ещё… Свой интерфейс надо расширять, а то у меня все буквы латиницы уже заняты )))
А вот крайнее видео:

SergDoc

Почта сработала отлично на день варенья буду с коптером 😃

SergDoc

Вот интересно, на прошлом контроллере minthrottle у меня было 1300 сейчас 1150, думаю сразу менять или потестить (пока аппарат легче предыдущего получается), был прецедент - батарейку не прицепил, а просто на пол положил, так аппарат задним ротором в пол зарылся при арминге, наверно оставлю пока как есть…
коптер почти готов (мосх оттестирован - входы выходы работают, стабилизация отрабатывает, батарейку меряет правильно, серва слишком резвая - на столе рядом с контроллером в резонанс какой-то входит - ну это уже на аппарате проверю) главно не поленится - последний рывок остался - движки к регулям подцепить (перепаиваю разъёмы - ой как я не люблю с проводами возится) и поворотку закончить, “судный день” уже близко (четверг) - жена сказала что не успею, а надо 😃

rual:

А вот крайнее видео

чёт лучи слишком близко друг к другу что это окта или гекса?

HikeR

там же “расшифровано”:

  • Powered by a proprietary technology that dramatically increases flight time and reduces recharge time

топливные ячейки либо ещё какая химическая гадость.

rual
SergDoc:

чёт лучи слишком близко друг к другу что это окта или гекса?

Квадра 525, просто авторегистратор имеет 120гр обзор.

SergDoc:

Вот интересно, на прошлом контроллере minthrottle у меня было 1300 сейчас 1150, думаю сразу менять или потестить (пока аппарат легче предыдущего получается)

у меня стоит 1200. Этот параметр надо не по весу подбирать, у моторов должен быть устойчивый режим, возможно минимимальные обороты при достаточной приёмистости.

SergDoc

Успел!!! И так:

  1. минимальный газ буду увеличивать как и раньше до 1300, моторы то стартуют хорошо, но вот когда газ уберёшь - может какой нибудь и остановится
  2. ТС с его микшером каналов надо памятник воздвигнуть нерукотворный (потестирую и начну переписывать)
  3. с сервой разобрался - пид по яв (пропорциональная составляющая) был увеличен в два раза, вот и входила в резонанс
    Ну вроде всё пока, а да, коптер с моей батарейкой (4000 - 450гр. - старая липолька) набрал весу 1070гр. не так уж и плохо для DT-шек, поменять батарею на какую-нибудь 2200 и смело можно подвес городить…
    пошел корректировать прошивку…
rual
SergDoc:

Успел!!!

Отлично, ждём видео!

Сергей, можешь актуальную принципиальную схему своей макетки с ЛСМ330 выложить? Если к моему коду подойдёт, перепишу низы под твоё железо. Самому времени на разработку ПП не хватает…

SergDoc:

коптер с моей батарейкой (4000 - 450гр. - старая липолька) набрал весу 1070гр

очень экономно! у меня с 2200мАч 1130 грамм весит, правда это квадра, тяги поболее…

SergDoc
rual:

Сергей, можешь актуальную принципиальную схему своей макетки с ЛСМ330 выложить?

Я же со своей маленькой платкой вожусь rcopen.com/forum/f134/topic224458/464 там и схема и разводка (всё по i2c), я её перешил откалибровал, попробую вечером попрыгать, а уже на выходных и кино если удастся 😃

SergDoc

Гы-гы первый блин комом, при старте сразу же кувырок вперёд - как буд-то гира или аксель перепутаны, жертв нет 😃 снимаю пропы и тестить…

В самый неподходящий момент гиры чудить начали блин 😦

SergDoc

странно перепрошил перенастроил - вроде всё работает, что за глюк был (как калибруются гиры я знаю, чудить начинали секунды через полторы две после калибровки) всё, остальное завтра…

SergDoc

С утра опять таже история 😦 гира по pitch прыгает ±50, что за бред, почти всё лето показания были прость супер, а как летать так косяк 😦

SergDoc

Может совпадение, а может и нет, такая беда возникает если при калибровке магнитометра перевернуть коптер и повернуть по яв 😵

SergDoc

Фух, попрыгал маненько 😃 вроде более менее адекват получился, пидами занятся надо, а то пока “ловить” надо да и серву пока ещё не до конца победил, вобщем надо в поле экспериментировать 😃