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

SergDoc

Фигня, меня тут из Минска просили 32 - аврку запрограммировать, в двух режимах - как мышу и как камеру, при чём с матрицы через АЦП всё дёргать 😵 - о цели данного девайса так и не сообщили 😃

SergDoc

Усё приплыли, Элитан больше не работает с Беларусью, ибо реэкспорт штатовских “полупроводников” - ню-ню в Беларусь

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

Наш выбор был - или лишиться каналов поставки из США, или производить приводящую к убытку процедуру регистрации экспортного контроля по каждому факту отгрузки за границу России, или закрыть любые наши продажи за пределы России.

В сложившихся условиях мы можем поставлять только на российский рынок, строго соблюдая требования законодательства США.

Вот такой сегодня глобальный мир.

Решение данной проблемы находится в исключительной компетенции правительств соответствующих государств, а отнюдь не во власти законопослушных торговых компаний, подобных нашей.

Факт в том, что нам нет абсолютно никакого интереса “таскать каштаны из огня” для кого-то.
Мы занимаемся исключительно легальным бизнесом. Легальный экспорт/реэкспорт электронных компонентов из России - не представляет выгоды, поэтому мы им не занимаемся.

, значит остаётся F407VET6 - больше процев не достану 😦

rual
SergDoc:

Фигня, меня тут из Минска просили 32 - аврку запрограммировать, в двух режимах - как мышу и как камеру, при чём с матрицы через АЦП всё дёргать - о цели данного девайса так и не сообщили

В смысле оптический датчик движения?

SergDoc:

Элитан больше не работает с Беларусью, ибо реэкспорт штатовских “полупроводников” - ню-ню в Беларусь

#@&$%&%$!!! глобализаторы наступают… СТМ под эту хрень тоже подпадает? К китайцам не обращался? Интересно, в РФ тоже прикроют поставки? Или наших потребителей сдавали дяде сэму?

SergDoc
rual:

В смысле оптический датчик движения?

да - только цели данного мероприятия мне не раскрыли, сказали как датчик движения и переключение в режим камеры…

rual:

СТМ под эту хрень тоже подпадает?

да и всегда были

rual:

Интересно, в РФ тоже прикроют поставки?

нет в Россию слать можно, а вот примерно как мне когда-то ответили на дигикей, на вопрос о покупке F103 -

в страны третьего мира комплектующие к высокоточному оружию не высылаем

остаются пока только китайцы, но найти магазин ORZ- не работает, а может тоже в Беларусь не шлёт - на запросы не отвечают - деньги через палку возвращают… Ладно, что есть то есть, 256 к флеши сойдёт пока, лапы разрулю 😃

mahowik
SergDoc:

сказали как датчик движения и переключение в режим камеры…

почти и готовое решение и кодярник вроде открыт 😉
pixhawk.ethz.ch/px4/modules/px4flow

SergDoc

Не дело не в этом, на сколько я понял - программер какой-то взялся, а сам не сдюжил (до нового года сдать надо), вышел на меня через знакомого(точно перекуп какой-то) и сам толком мне объяснить не смог что и кто чего хотят, я культурно предложил ему по парку прогуляться, он же тоже из далека начал 😃 уже второй раз такое дело, первый раз вообще - вот такой модуль есть (WiFi) - сделай из него автоматический выключатель света на пике, а то сыпемся - через неделю в Москву - показывать надо😵

P.S.
Конкуренты по мелкоплате на LSM-ке rc-fpv.pl/viewtopic.php?t=7783&postdays=0&postorde… 😃

mahowik
SergDoc:

программер какой-то взялся, а сам не сдюжил (до нового года сдать надо)

хххеее! это на халтурку да еще и за месяц не тянет! 😃
тут как мин халтурище, т.к. optflow реализовать это не цацки-пецки, как по мне… имхо заведомо рисковый проект, да еще и в срок до НГ… я бы не взял 😃

SergDoc:

Конкуренты по мелкоплате

знаю этого чувака, по оф. вии форуму…

SkyKsandr

Товарищи, здравствуйте,

ваяю полетный контроллер на stm32f4, хочется очень иметь на борту понимание, сколько “топлива” осталось.
и вот вопрос - при 4 аккумуляторах по 3 банки получается два варианта - через делитель напряжения “смотреть” на 11.1 в или “смотреть” на напряжение в банках?
Что по Вашему мнению практичнее и полезнее?
Ножек хватает и для того чтобы смотреть 12 банок
Делать планирую через ADC Analog WatchDog

rual
SkyKsandr:

Товарищи, здравствуйте,

ваяю полетный контроллер на stm32f4, хочется очень иметь на борту понимание, сколько “топлива” осталось.
и вот вопрос - при 4 аккумуляторах по 3 банки получается два варианта - через делитель напряжения “смотреть” на 11.1 в или “смотреть” на напряжение в банках?
Что по Вашему мнению практичнее и полезнее?
Ножек хватает и для того чтобы смотреть 12 банок
Делать планирую через ADC Analog WatchDog

Практичней и полезней считать амперчасы при условии что акум адекватный. А напряжение ожно снимать с верхней банки, но это будет грубый контроль аварийного остатка.

Gapey

ну контроль каждой банки в отдельности ессно лучше чем всех разом … но как уже правильно написали это грубый контроль …
те нужно летать так чтобы в аккумах оставалосЪ хотябы 20% заряда … просто у лития отследить по напряжению момент разряда достаточно сложно , в конце разряда напряжение падает достаточно быстро и можно банально неуспеть сесть …
если планируется летать с меньшим запасом заряда , то только ставить датчик тока и считать миллиамперчасы … ессно нужно знать точную емкость аккума …

8 days later
rual

Ну вот достиг небольших успехов в освоении STM32F3Discovery, собрал из ейного родного УСБ демо-проекта и своих кусочков демоИНС, соответственно в самом простом минимальном варианте без компаса и подсчетов линейных скоростей. Последнее проблематично, т.к. для считывания акселя использую родной демо драйвер с неисчислимым временем считывания, что размывает постоянную интеграции и соответветсвенно точность подсчёта линскорости. Продвижение на начальном этапе слишком осложнили праздники, собственная невнимательность, обновленные переф.библиотеки и отсутсвие в кейле 460 отладки (!!!) под перефирию F3. Но дальше должно пойти легче)))
Проектик прилагаю, кому недосуг но есть желание ХЕкс тожа приложен ))). Если хотите могу выложить демо-отображалку под питон сколоченную без единого гвоздя из pololu’вской.

За стиль не ругать! - это “пьяный кулак палец”

RusINS10F3.rar

mahowik
rual:

Ну вот достиг небольших успехов в освоении STM32F3Discovery, собрал из ейного родного УСБ демо-проекта и своих кусочков демоИНС, соответственно в самом простом минимальном варианте без компаса и подсчетов линейных скоростей.

я вот тоже решил добраться до освоения stm32, но заказал STM32F4Discovery… начнем сразу с F4 так сказать! 😃
кстати, по поводу вашей собственой системы стабилизации? код открыт или проект для себя/коммерческий?
если открыт, то какие фишки у вас уже летабельные? и где можно посмотреть?

В данный момент, оссобенно интересны, решения увеличения точности ГПС по акселю… по сути таже инерциалка, но с коррекцией нулей/биасов на устранение дрейфа…
я вот на днях получил X,Y ускорения горизонтальные независимые от наклонов коптера, проинтегрил в скорость, привязал к основному пид регулю и даже полетал 😃
резкие толчки отрабатывает, но блин да, без коррекции дрейф безбожный…

rual
mahowik:

но заказал STM32F4Discovery… начнем сразу с F4 так сказать!

Процы F3 и F4 имеют аппартурное умножение, но Ф4 в 2 раза быстрее по такту, но мне это особо без надобности пока, Ф103й пока не догружен. Ф3Дескавери брал потому,что самому паять лень, если б китайцы прислали PX4FMU то и не брал бы)))
там ведь всё иму есть, ну кроме баро и памяти настроек, стОит копейки. На Ф4дискавери только аксель из интересного… ну и там эта… микраУСБ… для отладочной платы штука наипративнейшая…

mahowik:

код открыт или проект для себя/коммерческий? если открыт, то какие фишки у вас уже летабельные? и где можно посмотреть?

проект я делал для себя из-за личных комплексов (как тут в одной ветке сказали) - “сам смогу или нет?” Продовать никому не собирался, но в связи с конкурсом Крока получается “коммерческий для себя”. Но так как в самом лётном алгоритме ничего секретного нет, то летающий проект под Ф103 валяется гдето на этой ветке (лень искать ссылку).
Фишек особо нет никаких потому как цель “на слабо” с самим собой достигнута. Хотя прикрутить ГПС не составляет особого труда, но вот для того чтоб его использовать (полёты по точкам и т.п.) требуется много рутинного программирования (что лень и некогда), фишки с оптодальномерами по понятным причинам обнародовать пока не могу,а видео с удержанием высоты вверху этой страницы.
А вообще самая интересная (на мой взгляд), и не реализованная пока, фишка к коптерам не относится - автоматический пилотаж самоля, либо удержание пилотирумого делитантом (ребенком) аппарата в заданном кубе пространства (высота не выше\не ниже, и квадрат очерченный координатами). Т.е. пилот внутри этого куба творит всё что хочет, но как только аппарат приближается к границе, он от неё “отскакивает” внутрь куба. Математика под это на мат модели проверена, допилить код не долго, но вот мозга для установки на самоль я пока не сделал(((

mahowik:

В данный момент, оссобенно интересны, решения увеличения точности ГПС по акселю… по сути таже инерциалка, но с коррекцией нулей/биасов на устранение дрейфа…

Это у меня в коде есть,

  //vAccSm += (vVins-vVabsB)* 0.007f;
  //vVins -= (vVins-vVabsB)*kVcor; 

в это проекте пока закоментировано,т.к. работа с акселем пока неадекватна.
На рабочем проекте практика показала что не всё так просто… какнидь покажу видео…
Нуа эту Ф3дискавери планируюиспользовать как основную в конкурсе крока.

mahowik
rual:

Процы F3 и F4 имеют аппартурное умножение

rual:

там ведь всё иму есть, ну кроме баро и памяти настроек, стОит копейки

нда… проглядел я F3… тут и FPU и сенсоры все что надо есть на поиграться, но не понятно какого качества и применимы ли на вибро-платформах… также у F3 ресурсов поменьше, памяти и флеша в 4 раза…

rual:

но в связи с конкурсом Крока получается “коммерческий для себя”. Но так как в самом лётном алгоритме ничего секретного нет, то летающий проект под Ф103 валяется гдето на этой ветке (лень искать ссылку)

я уже решил отказаться от участия… времени мало и далеко от рашки… проблематично будет высылать все оборудование и дистанционно подготавливать техника-пилота к конкурсу…

rual:

А вообще самая интересная (на мой взгляд), и не реализованная пока, фишка к коптерам не относится - автоматический пилотаж самоля, либо удержание пилотирумого делитантом (ребенком) аппарата в заданном кубе пространства (высота не выше\не ниже, и квадрат очерченный координатами). Т.е. пилот внутри этого куба творит всё что хочет, но как только аппарат приближается к границе, он от неё “отскакивает” внутрь куба. Математика под это на мат модели проверена, допилить код не долго, но вот мозга для установки на самоль я пока не сделал(((

это вроде как уже есть в арду…
вопрос: как моделирование делаете? какие тулы/проги для этого удобнее… мне этого часто не хватает, но тоже руки не дошли пробить почву… вроде как матлаб можно с некоторыми из симуляторов коннектить?

rual:

На рабочем проекте практика показала что не всё так просто…

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

rual
mahowik:

это вроде как уже есть в арду…

неслышал о таком, надо будет поинтересоваться…

mahowik:

вопрос: как моделирование делаете? какие тулы/проги для этого удобнее… мне этого часто не хватает, но тоже руки не дошли пробить почву… вроде как матлаб можно с некоторыми из симуляторов коннектить?

В матлабе есть Симулинк, в нем есть чтототам “авиакосмос”,вот в нем есть готовые объекты акселей гиро и тд, кроме того туда можно джойстик подключить и рулить матмоделькой).Я отрабатываю чисто математические модели, зачастую примитивные, но позволяющие проверить качество теории, а вот потом при переходе к практике начинается самое интересно)))

mahowik:

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

Всё верно, у меня всё так, ингода правда наоборот ))) всё приводится к бортовой СК, у меня методы вращений сразу в ИНС-объект вставлены

/* ïîëó÷èòü âåêòîð â áîðòîâîé ÑÊ */
vector3 INS::Vect2Bort(vector3 vVg)
{
 Quaternion q(vVg.x,vVg.y,vVg.z,0);
 q = qINS.conjugated()*q*qINS;
 vector3 v(q.x,q.y,q.z);
 return v;
}
/* ïîëó÷èòü âåêòîð â ãëîáàëüíîé ÑÊ */
vector3 INS::Vect2Glob(vector3 vVb)
{
 Quaternion q(vVb.x,vVb.y,vVb.z,0);
 q = qINS*q*qINS.conjugated();
 vector3 v(q.x,q.y,q.z);
 return v;
}

в кватернионах это просто!

HikeR
mahowik:

вроде как матлаб можно с некоторыми из симуляторов коннектить?

я когда-то подключал симулятор AeroSimRC к CopterControl-у и прочим наземным станциям, там железо рулило симуляторной моделькой. однако интерес к опенпилоту как-то угас, но осталась не совсем законченная идейка: подключить к симу простой скриптовый язык, чтобы отрабатывать алгоритмы управления просто переписывая скрипты, без компиляций и прочего железа.

сейчас имеет передача из сима данных от акселя, гиры, GPS в Lua-плагин (данных намного больше, но выбраны только имеющие свои реальные “аналоги”), дальше все зависит только от фантазии. есть стандартные математические функции, чуть-чуть векторно-матричных преобразований, работает простейший ПИД-контроллер. практический минус только один, частота обновления не превышает 60Гц (частота развертки монитора), более синхронизироваться не на чем.

собственно, если есть интерес по отработке именно алгоритмов используя Lua (вернее, LuaJIT 2.0.0), то могу как-то это дело выложить в удобоваримом виде.

p.s.
матлаб это конечно здорово, но самолеты-коптеры модельных размеров более-менее адекватно симулирует только вышеназванный сим.

mahowik
rual:

неслышал о таком, надо будет поинтересоваться…

мне знакомый ардукоптерист говорил, ток вот забыл как это мод называется…

а я вот с матрицами поворотов и кватернионами туплю пока… оссобено со знаками осей… в двух осях заблудиться можно… ))

rual:

Всё верно, у меня всё так, ингода правда наоборот ))) всё приводится к бортовой СК, у меня методы вращений сразу в ИНС-объект вставлены

тогда где демо удержания позиции как у вис.аста? 😃

igor_v_t
mahowik:

а я вот с матрицами поворотов и кватернионами туплю пока… оссобено со знаками осей… в двух осях заблудиться можно… ))

Да не надо блудить. Если понимаете, что такое углы Эйлера ДСМ матрицу могу объяснить на пальцах (не путать с распальцовкой) Квартерионы это просто другое представление. Все очень просто.

mahowik

Игорь, рад видеть! Давновато вас видно не было…

igor_v_t:

Да не надо блудить. Если понимаете, что такое углы Эйлера ДСМ матрицу могу объяснить на пальцах (не путать с распальцовкой) Квартерионы это просто другое представление. Все очень просто.

Накидайте ссылок полезных тогда на статьи/литературу, которая вам помогла 😃
Гуглить то я умею, но интересны именно “полезные” материалы…

HikeR
igor_v_t:

Квартерионы это просто другое представление. Все очень просто.

кстати, я вполне могу объяснить использование кватернионов в 3D-графике и/или в играх, но до сих пор не понимаю, зачем они нужны в “нашем” случае. их использование дает профит только в одном случае, когда нужно повернуть одновременно больше 4-х точек в пространстве либо для построения “гладкого” пути (сплайна) между двумя положениями.

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

Sir_Alex
rual:

неслышал о таком, надо будет поинтересоваться…

Фича называется GeoFence.