Создание собственной системы стабилизации
а какие датчики ставить будете???
MPU6000, ms5611, HMC5883, GPS MT332, сонар, optical flow…
MS5611 по SPI? Компас и гпс будете выносить или оставите на основной плате?
MPU6000, ms5611, HMC5883, GPS MT332, сонар, optical flow…
А может вместо optical flow ставить матрицу с высоким разрешением и хорошей чувствительностью (день-ночь)?
матрица у меня есть, но понятия не имею, что за она ( может маркировка и есть но снизу, а выпаивать пока не решался) и DCMI уже никак, но она вроде как по spi мало дорожек, проц на котором она висит без маркировки (похоже какая-то ПЛИС)
MS5611 по SPI? Компас и гпс будете выносить или оставите на основной плате?
5611 по i2c оставил ибо ну никак не выкручу дорожки, в нынешней интерпретации компас на основной плате (на мелкоплате танцевал с бубном пока не поменял шнурок программатора на экранированый и с компасом более проблем не имел) gps отдельно на верхней плате с батарейкой, там же пищалка и MicroSD…
Исходно про углы Эйлера почитать нужно. Матрица - это просто удобное представление для преобразования вектора при переходе из одной системы координат к другой На Диудроне была статейка на английском по DCM матрице. А реализацию алгоритма проще всего посмотреть в ArducopterNG. Дальше ничего по существу не менялось. Вынесли DCM матрицу в библиотеку.
собственно везде примерно тож самое… я давным давно разбирался как это в мвие работает… есть вектор, который в каждой итерации цикла ворочается (через матрицу апроксимированную для малых углов, для перформасу) по ролл/питч на на делту угла: произведение из угловой скорости гироскопа и времени итерации цикла… далле этот гиро вектор корректируется через комплиментарный фильтр вектором акселя для удаления дрейфа гиры… пашет быстро и хорошо! 😃
нашел занятные статейки ток что и прочитал:
- оч. доступное описание КФ и как раз на примере mwii we.easyelectronics.ru/…/plata-upravleniya-kvadroko…
после прочетения убедился, что в своем описании выше я не ошибся всеж 😃 - а тут уже более сжато: Что лучше: КФ, DCM или Калман we.easyelectronics.ru/…/plata-upravleniya-kvadroko…
А может нам придумать новую платку под самодельный контролер. Какие датчики счас самые актуальные?
Лучше наоборот - сделать прошивку под какую-то из существующих, в противном случае повторить разработку смогут единицы.
Правда вариантов-то не особо и много, кроме РХ4 в голову ничего и не приходит. STMFxxDiscovery уж больно крупные для установки на квадрик (хотя плюс - дешево и есть в любом радиомагазине).
STMFxxDiscovery уж больно крупные для установки на квадрик
STMF3Discovery не такая уж и большая (у вис.аста родная платка побольше будет) + ценник вообще смешной… без доставки 11$… правда не понятно какого качества там сенсоры, пока не полетаешь не поймешь… и даташит тут не оссобо поможет, т.к. к примеру явления внутренних резонансов и виброустойчивость там не описаны (неверно), хотя и многое конечно можно почерпнуть после подробного прочтения…
кто первый вынесет вердикт на F3? 😉
Правда вариантов-то не особо и много, кроме РХ4 в голову ничего и не приходит
Вот я и говорю давайте придумаем свою платку и будем все под нее софт писать…
Рекомендую mbed кортекс м3 96мгц прошивается элементарно - бросаем бинарник как на флешку ресет и все. Как ни странно, тест с флоат выполняется в 6 раз быстрее чем на мапле 72 мгц. К чему бы это?
Автопелот за день сваял на этом.
Забыл - mbed.org
кто первый вынесет вердикт на F3? 😉
У меня есть F4, если есть какие-то тесты, могу запустить. Но плата здоровая все же, может F3 поменьше, не знаю.
Честно говоря, думаю датчики там самые дешевые и примитивные, иначе цена платы была бы выше.
Можно было бы хоть Naze32 за основу взять… Интересно, выведены ли там пины для отладки?
Рекомендую mbed кортекс м3 96мгц прошивается элементарно - бросаем бинарник как на флешку ресет и все.
C нормальными отладочными интерфейсами - в разы удобнее, когда можно ставить точки останова, смотреть значения переменных и пр.
OpenPilot уже походу пoртанули на STM32F3DISCOVERY github.com/…/Discovery-F3-what-this-is-about
И MultiWii на STM32F4 (UAVXArm32F4)
www.multiwii.com/forum/viewtopic.php?f=23&t=2831
www.quadroufo.com/index.php?cPath=28&osCsid=rjh2ms…
code.google.com/p/uavp-mods/
кстати UAVXArm32F4 платка уже на полном фарше за 100 енотов… к лету будет 50 ))
upd: так что дело движется! учим stm32! 😃
upd2: хе! под STM32F4DISCOVERY тоже порт OpenPilot есть 😉 github.com/lilvinz/…/How-to-build-the-discovery
матрица у меня есть, но понятия не имею, что за она ( может маркировка и есть но снизу, а выпаивать пока не решался) и DCMI уже никак, но она вроде как по spi мало дорожек, проц на котором она висит без маркировки (похоже какая-то ПЛИС)
5611 по i2c оставил ибо ну никак не выкручу дорожки, в нынешней интерпретации компас на основной плате (на мелкоплате танцевал с бубном пока не поменял шнурок программатора на экранированый и с компасом более проблем не имел) gps отдельно на верхней плате с батарейкой, там же пищалка и MicroSD…
Я собственно что-то такое имел ввиду pixhawk.ethz.ch/px4/modules/px4flow
Немного отчитаюсь, нормально развести плату с датчиками на борту не выходит 😦 в частности проблемы с нормальной разводкой питания, возвращаюсь к предыдущему варианту - ИМУ - мелкая платка крепится между основной и платой GPS 😦 , блин застрял с какой-то ерундой…
кстати UAVXArm32F4 платка уже на полном фарше за 100 енотов… к лету будет 50 ))
для F4 думаю MPU6050 по i2c как-то не актуально? хотя сделать дёшево и сердито можно, меньше проводников на плате - легче разрулить…
Можно было бы хоть Naze32 за основу взять… Интересно, выведены ли там пины для отладки?
пины отладки выведены, но в f103 в отличии от F3 F4 нет FPU…
Готов принять участие в разработке/тестировании мозгов на STM32F.
гы-гы - банда собирается 😃
Я собственно что-то такое имел ввиду pixhawk.ethz.ch/px4/modules/px4flow
там по всей видимости, f407 и с DCMI, так что легче купить готовую штуку и подцеплять её к полётному контроллеру…
там по всей видимости, f407 и с DCMI, так что легче купить готовую штуку и подцеплять её к полётному контроллеру…
В 2010 игрался с флайментором И в нем был мышинный датчик. На контрастной поверхности держал аппарат на месте, а на слабоконтрастной сходил с ума. ИМХО если возится с этим, то датчик должен быть хорошим иначе будет бессмысленно.
ИМХО в качестве датчиков можно использовать hobbyking.com/…/__31138__Multiwii_and_Megapirate_A… а далее через SPI подключить к основному процессору . Дешевле вряд ли будет.
А изначально может быть интереснее обсудить алгоритмы . То что мне удалось придумать на AIO PRO FC реализовывается и STM32 не особо нужен.
Кому интересно: калибровка датчиков - линеаризация, нормирование varesano.net/…/freeimu-gui-now-making-nice-3d-sphe… varesano.net/…/freeimu-magnetometer-and-accelerome…
ArduCopter сейчас адаптируется сразу под две 32бит платформы: PX4 и какая то SMACCM. Я думаю, что без проблем можно будет и под нашу самодельную платку адаптировать. 😃
В таком случае, есть полная определённость с датчиками, настораживает другое в PX4 проц с 1м памяти, в отличии от моего и F3 где по 256кБ…