Activity
Респект! сделать нечто подобное это круто, особенно на FPGA - предполагаю, что у системы вполне профессиональные характеристики и возможности по применению.
Пока только на одной визуальной одометрии никому еще не удалось создать полноценную навигацию.
О полноценной навигации речи не идет. Только о возврате домой по построенной ранее карте местности. Ограничений на дальность и высоту я тут не вижу.
Для простых бюджетных проектов система ориентации до 500$ остается только оптическая. SLAM-алгоритмы уже можно запускать на маломощном (по потреблению) железе, что укладывается в мобильное применение на дронах и т.д. Даже если абсолютная точность невысока, для возврата домой вполне подходит.
Все правильно, у мотора PITCH замечал такую проблему на легкой камере. На работу ПИД влияет отношение момента инерции стабилизируемого объекта к неизменным “паразитным” параметрам мотора: статический фрикционный момент, залипания, неравномерность намотки. Это все нелинейности, с ними ПИД справляется плохо. Так что нужна очень точная настройка или исправление. Более мелкий мотор как правило имеет и эти параметры поменьше.
В мануале в секции 19 перечислены все возможные опции подключения: basecamelectronics.com/…/SimpleBGC_32bit_manual_2_…
Какой порт выведен на этот коннектор и что они назвали Rx3, Tx3, я не знаю, но можно методом тыка попробовать в настройках GUI, перебирая все опции во вкладке MavLink.
Ну как можно использовать только один ГПС + гироскоп? - Очень интересно.
Нужен еще акселерометр, и условие динамики движения (т.е. ненулевые ускорения). Именно по акселерометру можно определить направление движения, сравнив его с показаниями GPS. В статике или при константной скорости - думаю никак не определить.
Настройки при повышающем обновлении не слетят, а вот при пониающем могут. Делайте бэкап и сохраняйте в файлы.
Без энкодеров смещение нуля никак не исправить - это дрейф гироскопа без внешней референции. По полю мотора можно было бы ее задать, но не уверен что такой режим реализован в прошивке. Попробуйте пример в конце документации на скрипты, где описано задание референции от неподвижной рамы “Time-lapse shooting with minimized gyroscope drift” - в энкодерном подвесе это точно работает.
Есть, поищите команду задания ограничения ускорений, или предварительно настройте ее в GUI -вкладка RC. В последней бете даже S-кривая для скорости поддерживается (параметр называется jerk limiter).
Как правило, виновата кривая установка сенсора. Еще акселерометр может быть плохо откалирован. Нужно по 6-ти точкам калибровать. Бывает что в самом сенсоре оси акселерометра непараллельны чипу, но не на такие большие углы.
Я еще не решил в деталях, т.к. движков подходящих не вижу. Делать 100 граммовый подвес для 20-граммовой камеры я точно не хочу. Но по нормальному - нужно с платой, да. Для мелких моторов изгибать шлейф скорее всего будет проблема.
Сделать подвес для мелкой модульной камеры - это даже сложнее, чем для зеркалки. DJI решили эту задачу в Spark и Mavic, но у них то и возможностей намного больше. Шлейф там сложной формы, обернут вокруг оси каждого мотора, тем самым почти не оказывает сопротивления. Если шлейф просто вывести напрямую, работать будет только в очень ограниченном диапазоне углов.
Уже три года дома 55 дюймовый 4К телек - восторгов автора поста не разделяю. Разницу 4к и Full-HD на 55 дюймах можно увидеть, только если вплотную сесть, но так никто не смотрит. Более того, 4к с Мавика - это г-но, проигрывающее по качеству нормальному Full-HD. Мавик жмет видео очень сильно, чтобы уложиться в низкий битрейт. Артефакты сжатия там забавные, например микроконтраст прыгает раз в секунду. Ну и правильно написали выше, монтаж 4К даже на мощном компе - это испытание нервов на прочность. На Мавике приходится ставить 2.7к или 4к только из-за бага с Full-HD (у меня 1080 на карте SD - это upscale c 720, которое он гонит на пульт).
“Включал первые свои ролики которые снимал в 1080p 30 к/с просто муть на 4K телевизоре” если это с Мавика - то не удивительно, учитывая баг с 1080p.
Компания ST выпустила собственный кит для создания простого полетника (вместе с исходниками прошивки): blog.st.com/steval-fcu001v1-drone-flight-controlle…
При таком размере магнита расстояние может быть больше 2мм. Можно до 4мм без проблем сделать. Кстати проверьте, что болты рядом с датчиком из немагнитного сплава, иначе не будет работать
Возможно ли сделать SimpleBGC_GUI на весь экран ?
К сожалению, невозможно, Java не дает масштабировать.
Поспешил с ответом. Оказывается, уже есть способ.
Windows7: установить Java 9 (только JRE)
Windows10: установить Java 9 (только JRE)
Второй вариант: изменить настройки старой версии JRE. Взято отсюда: superuser.com/…/how-do-i-run-java-apps-upscaled-on…
- найти где установлена java.exe
- В меню по правой кнопке выбрать Properties
- Выбрать таб Compatibility (Совместимость)
- Выбрать “Override high DPI scaling behavior”
- У параметра “Scaling performed by”: выбрать “System”
Прочитал что его нужно обновлять , ну и обновил, моргает диод на сенсоре и датчик стал не видим для программы
Напишите в техподдержку насчет этой проблемы. Я уже не помню какие там пробемы могут быть, а ребята на саппорте должны знать.
Хочется понять это просто пижонство, выпускать продукт в России ,а мануал и интерфейс без русского языка, или просто неуважение к внутреннему потребителю
Ваши претензии обоснованы, попробую объянсить почему не все переведено на русский. Во первых, поддержка нескольких языков во всех мануалах и интерфейсах требует достаточно много ресурсов. Далее, если рассуждать логично - то в первую очередь нужно добавить поддержку китайского языка, так как китайцы сейчас основные производители и потребители. Но сейчас тенденция такова, что большинство наших пользователей из этой области владеют техническим английским, поэтому задаче локализации отдан низкий приоритет. На русском есть руководство пользоватея, и там большинство настроек продублировано на русском и на английском - то есть понять можно, что к чему. Мануал по энкодерам переведем в ближайшее время. Изначально он нужен был только разработчикам промышленных систем, которые, к сожалению, в основном не из России.
20649 - не тот профиль. Он для спорта сделан, где нужна большая динамика. Для этого в два раза загрублен диапазон.
после включения сразу сильно греется проц и деталька обведённая красным
Проц в норме не должен греться, похоже на сгоревший порт. Лучше его заменить. И 250mA потребления выглядят подозрительно.
если оно то работает то не работает , это наводит на мысль , что где то просто непропай …
Да, возможен непропай (разъема или чипа сенсора на плате), возможно повреждение изоляции и замыкание на корпус, возможно контакты в разъемах барахлят.
Если вы все проверили и ошибки все равно есть - скручивание I2C-провода может помочь их решить. Уменьшение номиналов подтяжек тоже иногда помогает - напаяйте по 2к паралельно уже существующим.
Надо лишь каким то образом получить координаты этой рамочки, можно даже из приложения для андроида - у всех они есть
Это можно сделать только если фотик имеет API и там есть такие команды. Но производители не стремятся эти API открывать. Еще есть важный момент - задержка между обработкой координат рамки и реакцией подвеса должны быть небольшой, иначе он просто не сможет следить за объектом и будет осциллировать.
Для подвесов важен высокий сигнал/шум и хорошая термостабильность. 9250 - это тот же 6500 + компасс. Компасс там не самый лучший и его не стоит ставить туда же, где обычно ставится гироскоп, так что никакого смысла в переходе на 9250 я не вижу.
Вариантов термостатирования и правда много. Хочется сделать все правильно, для этого все же лучше иметь отдельный MCU который управляет нагревом посредством ШИМ и “знает” две температуры: внутри и снаружи, для оптимального ПИД-регулятора. По мере накопления опыта может быть попробуем и варианты, которые аппаратно попроще (всем будет управлять главный контроллер через I2C).
Это влияет на горизонт, или на общую работу подвеса?
Сильнее всего влияет на горизонт, а в Storm32 скорее всего и на качество работы моторов, так там больше завязано на углы, измеряемые IMU, чем в SimpleBGC.
а 9250 тестировался ??? как он в сравнении с 20602/20608 ???
Нет, не тестировал, меня он по параметрам не впечатлил.
по части температурной стабильности - эффект наблюдался только на том одном подвесе или это закономерность ??? мог быть просто дефектный чип или конденсатор на умножителе (14 нога) …
Чип я выпаял из другого сенсора, где не было подобных проблем, по крайней мере на 90% думаю, что это не проблема конкретного чипа. Если отсутсвует контакт с конденсаоторами, то это проявляется в виде сильного шума, при ручной сборке на это смотрим в первую очередь.
Термокомпенсация возможно и есть в самом чипе, и возможно она расчитана на монтаж на более толстый текстолит. Очевидно что при нагреве разнородных материалов с разным коэффициентом расшиения, их изгибает. А сенсор к этому очень чувствителен: если на это плате просто подогнуть один из проводов, эта казалось бы, небольшая статическая нагрузка, смещает ноль на десяток единиц.
Просто зачем это всё, когда свой датчик температуры уже есть в гире и вот именно от него и плясать. Из деталей надо всего лишь сам нагреватель и ключ для него на плате, ну и поддержку в прошивке)
Да, так и есть - термостатирование в теории делается очень просто парой резисторов, термобарьеом на плате в виде прорезей и термоизоляции. Мы попробуем сделать ее в новом сенсоре, который сейчас в разработке.
основная причина того что мы не греем сенсор - отсутствие достаточной для этого мощности на плате сенсора . стабилизаторы 5v на платах на это не рассчитаны . но это решаемо … дальше контроллер нужно будет включать заранее , дожидаться термостабилизации , и только после этого сбрасывать и калибровать сенсор … это дополнительная задержка в работе …
Там большие токи не нужны. Точных цифр не помню но вроде как 200mA достаточно для поддержания 50 градусов. Стаб 5V на наших контроллерах подвеса до 1А выдает, провода и разъемы сенсора 200mA должны пропустить. Алгоритм инициализации конечно усложнится, но это решаемо. Возможно будет задержка в старте системы. На чипе нужен отдельный MCU, и дело не только в его цене - его нужно прошивать, тестировать - т.е. доп. расходы при массовом производстве. Кстати, Invesense года полтора назад анонсировал гиросенсор с термостатированием. Интересно почему так и не выпустили, и убрали из списка продуктов.
Как рассчитать мотор для подвеса - вопрос довольно сложный. В норме система сбалансирована и мотор не должен быть вообще нагружен. Самое главное - это какая нагрузка идет на подшипники, насколько они качественно сделаны и сколько проработают под такой нагрузкой. А она сильно зависит от конструкции: диаметральная или осевая, какой рычаг в случае консоли, какой момент в итоге. Это все в спецификациях моторов не пишут, нужно самому прикидывать оценивая его чертежи.
Развиваемая тяга имеет смысл в основном для динамики - как быстро надо крутить камеру? Считаете момент инерции системы, требуемые ускорения, из них будет понятен момент тяги. Если допускается дисбаланс - также считаете допски, и мотор должен их перекрывать хотя бы с двухкратным запасом (чтобы оставалось и на стабилизацию). Если предполагаются воздушные потоки - моделируете и считаете моменты.
20608 это лучшее что есть у Invensense … все остальное - развитие продукта в сторону экономии энергии и DMP , что не лучшим образом сказывается на результатах . хотя этой информации больше года , видимо так ничего и не изменилось
Это было давно, за это время могли и улучшить технологии. Судя по спецификациям, в ICM20602 в два раза меньше шум и меньше зависимость от температуры по сравнению с ICM20608. По шумам я особой разницы не заметил, а вот зависимость дрейфа нуля гироскопа от температуры и правда в два раза меньше (делал тесты на выборке в три экземпляра). Так что ничего прорывного этот сенсор не дает, но как замена ICM20608 можно рассмотреть - по крайней мере он не должен быть хуже. По регистрам и по распиновке они полностью совпадают, так что кроме проверки идентификатора сенсора, в прошивке ничего и менять не пришлось для поддержки ICM20602.
Кстати температурная стабильность ОЧЕНЬ сильно зависит от печатной платы и корпуса, куда ставится сенсор. В одном микро-подвесе, который мне довелось недавно настраивать, плата сенсора всего на пару миллиметров боьше чипа и выполнена из тонкого текстолита. Там зависимость параметров от температуры в !!10 раз!! больше максимума по спецификации. Сенсор стоит рядом с камерой и греется при включении. Так вот, при нагреве на 5-10 градусов, ноль гироскпоа за это время “уезжает” на 200-300 единиц, делая любую калибровку бессмысленной. Как это решать, непонятно.
Дмитрий, думаю, что такой подвес до вас никто не собирал и идеи могут быть только теоретические. У меня пока такая: из-за выскокой степени гибкости такой системы (вес на концах относительно нежесткой и длинной штанги) способен на резонирование. Даже если моторы подвеса идеально стабилизируют углы центральной части, концы не обязательно будут ей паралельны по осям ROLL и YAW. Это и наблюдается на видео, две эти оси раскачиваются. Иллюстрация: ybex.com/…/p3dfgqiudc45p1993dqkusaqewtk8d8bjxssopa…
Добавлено: по назначению каналов нашел, а вот почему от нажатия кнопки не работает не понятно
А вообще кнопка работает? Попробуйте на два нажатия назначить, или вообще ничего не назначать и понажисать. Может не туда провод подцепили? По Home position контроллер никак не должен перезагружаться.
последнее время использую PWM серво выходы 1-4 для управления настройками камеры и постоянно появляются скачки значения шим в крайнее положение с периодом в 3-5 секунд
ШИМ там аппаратный, по идее должен стабильно работать и всякие программные косяки маловероятны. Нужно больше информации собрать.
Создайте тикет в техподдержке на сайте и пришлите конфигурацию оборудования, профили настроек, как вы выставляете уровень сигнала для сервовыхода.
И еще последнее время при включении подвеса он плавно начинает поворачивать по крену градусов на 15-20 в течении минуты а потом снова возвращается в нейтральное положение, при этом в гуи горизонт отображается ровно. Я пробовал калибровать гироскоп, акселерометр, не помогает…
Это типичная ситуация при неточной калибровке гироскопа. Проверьте калибровку, сбросьте ее, проверьте не включена ли случайно температурная калибровка. отклибруйте заново.
Получается так, что далеко выгодней лететь быстро. Скорость в два раза, а расход всего на 2А больше.
Это логично - в отличие от самолета, коптер основную долю энергии тратит на висение, а полет с высокой скоростью не сильно отличается от висения.
А как еще можно проверить? Как сильно может плющить сферу?
Я себе это так представляю: мягкое железо уплотняет поле в одном месте, растягивает в другом, и вдобавок поворачивает. Вот первое что нагуглил:
ybex.com/…/qugl3xvn4bgj302i7syzwomq5mi2ycqq1grnyun… Степень искажений сильно зависит от расстояния до железа, так что какой нибудь болтик в паре миллиметров от компасса может сделать неприятный сюрприз. Если место установки заренее не известно, нужно предполагать самое худшее.
Ух ты, я про это не слышал. А можно поподробнее?
Хм, думаю что слышали, это ж первый способ калибровки который гуглится 😃 Если точек мало, он все равно работает. Например, если просто покрутиться по двум осям как предлагает DJI, можно собрать вот такие точки: ybex.com/…/gyjo6rz5qzqo8drmjxmevnorzdb5yonpc1e76nv… (отмечены красным цветом). В них однозначно ложится только один элиипсоид (если подбирать только scale и offset). Наклон оси подбирать сложнее математически, но тоже можно. Методы фиттинга есть разные, я пробовал градиентный спуск с отжигом - он очень прост в реализации, минимум математики и работает нормально на такой задаче. Можно уравнения решать, матрицы инвертировать - задача минимизации среднеквадратичного расстояния очень хорошо изучена и описана.
Вот еще одно видео, там уже я запустил непрерывный режим калибровки. Попеременно подношу и убираю магнит.
Я думаю, что именно такие способы калибровки всех сенсоров и используются в продвинутых IMU. В описании VectorNav видел, что нужно погонять систему в тепличных условиях (когда сенсоры не перегружаются и врут по минимуму), а потом сохранить текущее состояние фильтра как “начальное”.
дополнительно выдает магнитное склонение и наклонение в данной местности
А каким образом склонение определяется, да еще с точность 1-2 градуса? По моему это лучше все же по карте склонений определить.
Кстати, масштабы по осям зря игнорируешь - они так же важны как и у акселерометра, а у компасса еще зависят от места установки, так что даже точные калибровки с завода не помогут.
Давно не интересовался как люди калибруют компас. Может я отстал от жизни и это прошлый век??
Самый популярный способ вроде как фиттинг эллипсоида. Для него достаточно покрутить по двум осям, не обязательно всю сферу собирать. DJI могут и его использовать.
Выглядит круто, особенно впечатлил интегрированные в рукоятки джойстик, кнопка и крутилки - я раньше такого подхода не встречал
Да, это правильное направление … за этим, считаю, будущее систем позиционирования в пространстве (наконец то можно принципиально отказаться от корявого акселерометра и еще более корявого магнитометра)
Ну не то чтобы будущее, но однозначно эта тема нужна и будет развиваться. Железо сейчас становится мощнее и дешевле, так что особых проблем не вижу почему бы не сделать доступным такие датчики для уровня хобби в ближайшие пару лет.
Это ж аналог “ветерана” MPU-6050, где был DMP который неплохо работал для определенных задач. BOSCH опоздал на пару-тройку лет, но все равно спрос на такие устройства есть - там где нет риальтам систем для обсчета сенсоров в жестком реальном времени, например смартфоны.
А зачем? Каких то особых преимуществ у асинхронников нет. В промышленности их применяют потому что дешевле в производстве, когда речь идет про киловатты. Мотор на редкоземельных магнитах легче при том же моменте/мощности.
Залипания - это самая серьезная проблема в подвесах сейчас. Идеальных моторов с дискретными магнитами я не встречал, выход только один - использовать кольцевые магниты, как делает DJI в своих мелких подвесах. Особенно это критично при уменьшении веса (и инерции) системы. Но кольцевые магниты слабее редкоземельных, и их нет на рынке (кроме моторов от CD приводов, которые нужно или перематывать или использовать в версии с энкодерами).
другие настройки смог сохранить, а вот эти не сохраняются в память…
Может быть старая версия прошивки? GUI вы обновиили, но прошивка эти параметры не понимает.
Настраиваю кнопку menu button, хочу поставить включение и отключение галочки follow yaw. Но в списке не могу на неё сослаться. Как мне настроить отключение режима слежения при нажатии на кнопку
Это делается через профили. Настраивате разные функции в разных профилях и переклчаете их кнопкой меню.
Если аксель калиброван по 6 точкам, и вы уверены что сенсор не перекошен при установке - то это очень странно, может он бракованный.
Еще, проверьте вкладку RC - INIT. ANGLE так, на всякий случай. Ну и вообще нет ли настроек в RC которые задают начальный угол ROLL именно таким.
Подскажите в какой вкладке откалибровать горизонт? Все держит норм кроме горизонта. Отстроил на выключеном можно сказать идеально, но все равно горизонт валит как только включаю.
В новой версии прошивки это вкладка “Hardware” - “IMU sensor” - кнопка “Calibrate IMU sensors”. Калибруйте акселерометр и гироскоп как описано в мануале, гироскоп можно настроить на калибровку при каждом включении (“Try to calibrate or use saved values”).