Специальные цены   новые товары
+ Ответить в теме
Страница 22 из 165 ПерваяПервая ... 12 20 21 22 23 24 32 ... ПоследняяПоследняя
Показано с 841 по 880 из 6569

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

Тема раздела Квадрокоптеры. Общие вопросы в категории Квадрокоптеры и мультироторы; Сообщение от HikeR в наших широтах вертикальная составляющая магнитного поля в несколько раз больше горизонтальной. берем компас, добавляем GPS для ...

  1. #841

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    29
    Сообщений
    1,392
    Цитата Сообщение от HikeR Посмотреть сообщение
    в наших широтах вертикальная составляющая магнитного поля в несколько раз больше горизонтальной. берем компас, добавляем GPS для корректировки широты, загружаем карту напряженности магнитного поля — готова IMU без акселей и гир (то есть без I). с полным отсутствием влияния вибраций, ускорений и прочих напастей.
    Я пробовал библиотеку "FreeIMU library", которая построена на http://code.google.com/p/imumargalgorithm30042010sohm/ без коптера, в руках. Во FreeIMU был косяк с присвоениями, который давал броски по курсу.
    M - 3 оси магнетометра, А - 3 оси акселерометр. ДУС всегда включено.
    1. mx=0; my=0; mz=0; Коррекция ДУС только по акселерометру. Работает, но сильнее "ловит" линейные ускорения и дает несуществующие наклоны.
    2. ax=0; ay=0; az=0; Коррекция ДУС только по магнетометру. Работает, но заторможеннее, чем в комплексе с акселерометром.
    3. mx=0; my=0; mz=0; ax=0; ay=0;az=0; Коррекции ДУС не происходит. Работает, но по курсу плывет.

    В домашних условиях БИНС на базе ДУС и 3х-осевого магнитометра вполне работала. Только у нас вектор магнитного поля входит в землю почти вертикально, поэтому его проекция на горизонт мала - может утонуть в шумах от питания моторов и rxtx.

  2.  
  3. #842

    Регистрация
    11.05.2008
    Адрес
    Великий Новгород
    Возраст
    38
    Сообщений
    3,939
    Записей в дневнике
    22
    2rual:
    я же конкретную систему упомянул, флайментор (как хеликоманд) делает из вертолета (или коптера) простой соосник, стик в центре - модель в горизонте. вернее в положение "запомненном" при включении, коптеры ставят горизонтально, вертолеты с небольшим наклоном в сторону хвостового ротора, далее идет то самое интегрирование угловых скоростей в ориентацию. (причем начальные отклонения стика означают "наклонись на заданный угол", а близкие к крайним - "начни выдерживать заданную скорость поворота", но это так, детали).

    у меня ход мыслей следующий. меняем гиру на компас, вместо относительного датчика получаем абсолютный. по изменению положения можно обратно наинтегрировать угловые скорости если вдруг потребуется. нет акселя — уже не нужен гироскоп для его коррекции. ограничиваем наклоны аппарата до +/-30° и забываем про точки в которых положение по одной оси будет неопределенным.

    про спицу и ластик аналогия вполне понятна, но это больше к связке аксель+гира относится. вот еще "на пальцах" попробую объяснить, почему-то практически все системы требуют установки строго по уровню, далее нужно как-то смонтировать плату на пепелаце с сохранением этого положения. одному лишь коптерконтролу (и, по слухам, автокваде) пофиг на положение платы, главное откалибровать связку плата+аппарат.
    для меня было огромным потрясением недавно прочитать в тутошних блогах следующее:
    Плату датчиков надо выставлять в LEVEL на ровной горизонтальной поверхности! Потом уже крепить на пепелац и, подкладывая что-то под края, добиваться желаемого угла атаки и т.п.
    Создатели различных ардупилотов заигрывают с пользователем, пытаясь устанавливать LEVEL при произвольном положении платы. Это в корне неправильно. Не считая удобства настройки, это полностью испоганит алгоритм ориентации из-за паразитных составляющих по сдвинутым осям гироскопа.
    я всегда считал (и продолжаю считать) что гироскопам абсолютно пофигу на "сдвинутые оси". а тут такое из уст человека, который вроде бы "в теме".

    это все к тому, что даже в коптерконтроле изначальное "кривое" положение первым делом выравнивается и все расчеты идут уже от этого значения. то есть система принудительно загоняется в такое положение, в котором аксель+гира не могут отследить вертикальную ось вращения. но зачем?? чем "кривее" начальное положение, тем больше информации поступает от гироскопов, тем точнее итоговый результат. почему этот начальный "нуль" обязательно должен совпадать с нулем координат?

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

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

    однако теперь смущает "маленький" факт:
    Цитата Сообщение от Musgravehill Посмотреть сообщение
    Коррекция ДУС только по магнетометру. Работает, но заторможеннее, чем в комплексе с акселерометром.
    как быстро и стабильно с компасов можно снимать показания? если с этим делом не очень, то вся затея рушится и оставляет компас только как корректирующий датчик.

    Цитата Сообщение от Musgravehill Посмотреть сообщение
    Только у нас вектор магнитного поля входит в землю почти вертикально
    "у вас" (впрочем и у нас) по данным разведки примерно так:
    15,490.24 nT (North Comp)
    03,238.94 nT (East Comp)
    50,558.38 nT (Vertical Comp)
    52,977.24 nT (Total Field)

    вполне себе вычислябельные цифры ;)

  4. #843

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    29
    Сообщений
    1,392
    Цитата Сообщение от HikeR Посмотреть сообщение
    как быстро и стабильно с компасов можно снимать показания? если с этим делом не очень, то вся затея рушится и оставляет компас только как корректирующий датчик.
    http://www51.honeywell.com/aero/comm...Compass_IC.pdf
    HMC5883L максимум 160Гц.
    Калибровка, насколько помню, только вращение платы и нахождение max-min показаний для нормирования. Soft\hard iron (попарно все оси графически - в виде приведения кривой фигуры с провалами к идеальной окружности) не делал.
    Библиотека сносно работала на ATmega328, выдавая 3 угла с частотой 200-300Гц. Конечно, это без дополнительных нагрузок в виде ПИД-регулирования, ШИМ на моторы, парсинг PPMSUM и прочее.

    После этого играл с fusion алгоритмом в MPU6050. Чип выдает готовые кватернионы ДУС + акселерометр. Магнитометр никак не подключается в алгоритм. Причем, магнитометр запаян байпасом через MPU6050. В итоге, или 6DOF готовые кватернионы без учета магнитометра, или сырье ДУС, акселерометр + данные с магнитометра транзитом через MPU6050. Эх, мечты. Вот бы доступный готовый чип 9DOF с Калманом (опционально GPS, барометр), чтобы сразу давал углы и высоту. Как http://www.vectornav.com/, только хоббийный.

  5. #844

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от Musgravehill Посмотреть сообщение
    После этого играл с fusion алгоритмом в MPU6050. Чип выдает готовые кватернионы ДУС + акселерометр. Магнитометр никак не подключается в алгоритм. Причем, магнитометр запаян байпасом через MPU6050.
    Вот это интересно, SergDoc тут ссылку давал на код с двоичными массивами для МПУ6050. Эт я так понимаю микрокод для МПУ?
    Где хотя бы обобщенное описание по русски? Сам код, как грузить в МПУ, как забрать данные?

  6.  
  7. #845

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    29
    Сообщений
    1,392
    Цитата Сообщение от rual Посмотреть сообщение
    Где хотя бы обобщенное описание по русски? Сам код, как грузить в МПУ, как забрать данные?
    По-русски не видел. По-английски и то мало описания.
    Качаете у Varesano внизу библиотеку http://www.varesano.net/projects/hardware/FreeIMU, находите в архиве MPU60X0_6AXIS_MOTIONAPPS20 - там массивы для закачки в MPU и куцый текст.

    http://www.varesano.net/blog/fabio/i...04-and-mpu6050 - опыты.

    http://www.i2cdevlib.com/devices/mpu6050 - как перехватывали инициализацию MPU6050 с оригинальной devboard.

  8. #846

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,290
    Записей в дневнике
    19
    Что все так ухватились за embedded DMP mpu6050?! Ну разгрузится проц чутка, что еще актуально для AVR-ок и уже совсем не важно для stm32 или ARM.
    Если интерсно, то по ссылке ниже доволно креативный фриЦ Sebbi, сейчас теребит Invensense developer support на предмет документации...
    http://www.multiwii.com/forum/viewto...tart=10#p26381

    По поводу IMU на базе лишь компаса, идея может и трезвая, но не практичная совершенно, даже если и возможно было бы получить на выходе мат. модели углы и угловые скорости:
    - компас довольно сильно шумит
    - ГПС не всегда в коннекте и т.д.
    - коптер должен быть из дерева не исключая моторы

  9. #847

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    29
    Сообщений
    1,392
    Цитата Сообщение от mahowik Посмотреть сообщение
    теребит Invensense developer support на предмет документации...
    "total vaporware" (с) Crashpilot1000

    9DOF DMP существует только в воображении. Зато продажи датчика идут в реальности. В уголке разработчика зарегистрирован, но скачать ничего не могу - статус обычного пользователя не позволяет.
    Последний раз редактировалось Musgravehill; 15.11.2012 в 22:37.

  10.  
  11. #848

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от mahowik Посмотреть сообщение
    Что все так ухватились за embedded DMP mpu6050?! Ну разгрузится проц чутка, что еще актуально для AVR-ок и уже совсем не важно для stm32 или ARM.
    Да не то чтоб ухватился, просто хотелось пощупать и сравнить. Самое главное разгрузится не только проц, но и шина (особо важно для и и2ц).

    Цитата Сообщение от mahowik Посмотреть сообщение
    По поводу IMU на базе лишь компаса, идея может и трезвая, но не практичная совершенно, даже если и возможно было бы получить на выходе мат. модели углы и угловые скорости: - компас довольно сильно шумит - ГПС не всегда в коннекте и т.д. - коптер должен быть из дерева не исключая моторы
    1. Полностью определить положение по ОДНОМУ вектору нельзя! И дело здесь не в качестве и производителе датчика, известная мне математика не позволяет ОДНОЗНАЧНО определить положение тела в 3х мерном пространстве ОДНИМ 3х мерным вектором, так как тело остается свободным в плоскости нормальной вектору. Кватеринионы позволяют полностью оперделить, но содержат 4 параметра.
    2. За всех не скажу, но у меня компас 5883 практически не шумит.
    3. ГПС - согласен, но в нашем случае постояное обновление склонения не особо нужно, не на тысячи км летаем.
    4. Не думаю, что рама и прочие элемены, правильно расположенные, смогут сильно ( до невозмжности практического применения) исказить показания мага.

  12. #849

    Регистрация
    11.05.2008
    Адрес
    Великий Новгород
    Возраст
    38
    Сообщений
    3,939
    Записей в дневнике
    22
    в обратном порядке

    4) аппараты из чугуния и прочих магнитных материалов действительно давно не в ходу, композиты на компасы не влияют. силовые провода равномерно скрученные и симметрично уложенные вобще могут самокомпенсировать наводимые ими помехи
    3) GPS нужен один раз при старте, да и то можно обойтись захардкоденой переменной (наклонение в текущей местности)
    1) и наконец, у нас есть ДВА вектора, по которым положение определяется однозначно:
    - включение, поиск максимальной компоненты компаса, поворот её на наклонение — получаем "низ"
    - выделяем горизонтальные компоненты — получаем "север" (магнитный, географический нам ни к чему)
    - векторное произведение дает третью ось
    - профит

    и да, кватернион не вектор, а комбинация вращений, ну или более компактная форма матрицы вращения.

  13. #850

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    Цитата Сообщение от HikeR Посмотреть сообщение
    поворот её на наклонение — получаем "низ"
    а в какую сторону поворот?

  14. #851
    DVE
    DVE вне форума

    Регистрация
    16.06.2008
    Адрес
    EU
    Возраст
    37
    Сообщений
    4,386
    Цитата Сообщение от HikeR Посмотреть сообщение
    аппараты из чугуния и прочих магнитных материалов действительно давно не в ходу, композиты на компасы не влияют. силовые провода равномерно скрученные и симметрично уложенные вобще могут самокомпенсировать наводимые ими помехи
    И иметь глюк вплоть до краша при пролете над любой железной трубой? А главное нафиг, ради 3$ экономии на гироскопе?

    Думается, если б можно было создать сверхдешевый контроллер на одном только компасе, китайцы бы давно их клонировали и продавали по 10$/шт.
    Впрочем, если большое желание почему бы не попробовать, в любом контроллере компас есть Теоретически, может оно даже кое как и полетит...

    Цитата Сообщение от HikeR Посмотреть сообщение
    чем больше датчиков, тем больше настроечно-подстроечных коэффициентов, которые не подлежат математической реализации. только итерационный подбор, только хардкор.
    Фильтр Калмана вроде может, в подробности правда не вдавался.

  15. #852

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    Цитата Сообщение от DVE Посмотреть сообщение
    Фильтр Калмана вроде может, в подробности правда не вдавался.
    Конечно может, но танцевать с бубном над ним перефразирую Дмитрия : чем больше Калман, тем больше настроечно-подстроечных коэффициентов, которые не подлежат математической реализации. только итерационный подбор, только хардкор

  16. #853

    Регистрация
    11.05.2008
    Адрес
    Великий Новгород
    Возраст
    38
    Сообщений
    3,939
    Записей в дневнике
    22
    Цитата Сообщение от SergDoc Посмотреть сообщение
    а в какую сторону поворот?
    в правую, конечно же ;)

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

    аналогия — калибровка акселерометра, есть абы как установленная плата и мы знаем, что в покое ускорение свободного падения направлено к центру планеты. запомнив один раз смещения потом всегда знаем где у нас "низ".

    Цитата Сообщение от DVE Посмотреть сообщение
    при пролете над любой железной трубой
    ничего не случится, не делают у нас трубы из магнитотвердых материалов ;)

  17. #854

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,290
    Записей в дневнике
    19
    Цитата Сообщение от rual Посмотреть сообщение
    2. За всех не скажу, но у меня компас 5883 практически не шумит.
    я имел ввиду что достаточно шумный, что бы посчитать дифФ. угла, т.е. угловую скорость, что в чистом виде можно взять с гиры...
    Цитата Сообщение от DVE Посмотреть сообщение
    может оно даже кое как и полетит...
    уверен что не полетит , либо если и удастся подняться, то с оч. малыми пидами и будет болтать как гг в проруби при малейшем возмущении... В частности с малым П, т.к. Д будет никакой, по причине описанной выше, где при увеличении П будет расколбас...

  18. #855
    DVE
    DVE вне форума

    Регистрация
    16.06.2008
    Адрес
    EU
    Возраст
    37
    Сообщений
    4,386
    Я не знаю как в теории, на практике компас в том же Multiwii например, болтает как г** в проруби от малейшего чиха, достаточно отвертку в руки взять чтобы стрелку повело.

    Коптер летающий только на компасе я бы запускать побоялся

  19. #856

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,290
    Записей в дневнике
    19
    Цитата Сообщение от HikeR Посмотреть сообщение
    ничего не случится, не делают у нас трубы из магнитотвердых материалов
    летаю иногда по вечерам на стоянке около супермаркета... пару раз грубо падал на асфальт (примерно в одной и той же зоне) из-за глюков по компасу... рядом обычная не высоковольтная линия передач и в метрах 10-20 вышка сотовой связи... за пару сек. до крашей резко проворачивало на 90-180 град по yaw... FS небыло... так и не понял в чем дело, одни подозрения...

  20. #857

    Регистрация
    11.05.2008
    Адрес
    Великий Новгород
    Возраст
    38
    Сообщений
    3,939
    Записей в дневнике
    22
    Цитата Сообщение от mahowik Посмотреть сообщение
    достаточно шумный, что бы посчитать дифФ. угла, т.е. угловую скорость
    а зачем вам будет нужна угловая скорость?

    Цитата Сообщение от mahowik Посмотреть сообщение
    рядом обычная не высоковольтная линия передач и в метрах 10-20 вышка сотовой связи
    казалось бы, при чем тут компас...

  21. #858
    DVE
    DVE вне форума

    Регистрация
    16.06.2008
    Адрес
    EU
    Возраст
    37
    Сообщений
    4,386
    Цитата Сообщение от mahowik Посмотреть сообщение
    так и не понял в чем дело, одни подозрения...
    А в Ардукоптере (оригинальном) кстати полетный лог во флеш пишется... Реально полезная штука при всяких разборах полетов.

    Не помню точно, но компас там вроде тоже в списке данных лога есть.

  22. #859

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,290
    Записей в дневнике
    19
    Цитата Сообщение от DVE Посмотреть сообщение
    Я не знаю как в теории, на практике компас в том же Multiwii например, болтает как г** в проруби от малейшего чиха, достаточно отвертку в руки взять чтобы стрелку повело.
    дада так и есть... гира спасает... фактор в 400-500 и вперед!
    Код:
    /* Set the Gyro Weight for Gyro/Magnetometer complementary filter */
    /* Increasing this value would reduce and delay Magnetometer influence on the output of the filter*/
    #define GYR_CMPFM_FACTOR 400.0f
    Цитата Сообщение от HikeR Посмотреть сообщение
    а зачем вам будет нужна угловая скорость?
    а без нее стабилизации в конечном ПИД контроллере не получите...

    Цитата Сообщение от HikeR Посмотреть сообщение
    казалось бы, при чем тут компас...
    я в физике полей не силен , но что то мне подсказывает что там силовое поле нехилое...

  23. #860

    Регистрация
    11.05.2008
    Адрес
    Великий Новгород
    Возраст
    38
    Сообщений
    3,939
    Записей в дневнике
    22
    Цитата Сообщение от mahowik Посмотреть сообщение
    там силовое поле нехилое...
    магнитное поле прямо пропорционально силе тока. напомните, какой там ток в этих киловольтовых линиях?

    Цитата Сообщение от mahowik Посмотреть сообщение
    а без нее стабилизации в конечном ПИД контроллере не получите...
    так нет ни акселя ни гиры, на выходе уже готовый вектор ориентации. который, напомню, обычно получают напрямую от акселя корректируя его показания гироскопом, для которых и требуется вся эта возьня с ПИД-ами.

  24. #861

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,290
    Записей в дневнике
    19
    Цитата Сообщение от HikeR Посмотреть сообщение
    магнитное поле прямо пропорционально силе тока. напомните, какой там ток в этих киловольтовых линиях?
    тут спор прекращаю, т.к. небыло "черного ящика" с логами... бессмысленно спорить...

    Цитата Сообщение от HikeR Посмотреть сообщение
    нет акселя — уже не нужен гироскоп для его коррекции
    Цитата Сообщение от HikeR Посмотреть сообщение
    так нет ни акселя ни гиры, на выходе уже готовый вектор ориентации. который, напомню, обычно получают напрямую от акселя корректируя его показания гироскопом, для которых и требуется вся эта возьня с ПИД-ами.
    все не так
    1) аксель как правило для корректировки дрейфа гиры, а не наоборот как вы пишете, т.к. аксель чтука шумная, тормозная и капризная, НО всегда знает где земля... потому аксель давится НЧ фильтром и меееееееедленно корректурует гиру, через компл. фильтр к примеру...
    2) ПИД регуляторы к ИМУ непосредственно никакого отношения не имеют... на выходе ИМУ должна быть величина (по которой осуществляется стабилизация системы), которая скармливается на вход ПИД регулю... в акро моде - это угловая скорость, в стаб/горизонт моде - это как правило комплекс ПИ-ПД регулятор, где для ПИ на вход угол, а для ПД - скорость...

    НО ни в коем случае не отговариваю вас от реализации идеи, именно реализации, а не теоретизирования...
    Последний раз редактировалось mahowik; 16.11.2012 в 06:09.

  25. #862

    Регистрация
    11.05.2008
    Адрес
    Великий Новгород
    Возраст
    38
    Сообщений
    3,939
    Записей в дневнике
    22
    ну, кто кого корректирует зависит больше от реализации. для CC одно время предлагался вариант с "плавающим" коэфф-ом влияния гира/аксель, чем дольше не происходит значительных ускорений, тем меньше влияние данных полученных от гироскопа. и наоборот, чем активнее мы вертим стиками (или ветер поддувает), тем меньше учитывается аксель.
    но моя фраза не совсем корректная, согласен.

    Цитата Сообщение от mahowik Посмотреть сообщение
    аксель... всегда знает где земля
    аксель выдает 20м/с по оси X (преположим, прямо по курсу). где сейчас земля? это я к тому, что большую часть времени аксель совершенно без понятия где там земля.

    по поводу 2). на выходе IMU должны быть матрица/кватернион и/или банальные углы эйлера, а куда они дальше там подаются - это уже дело десятое. хоть на вход простейшего "автопилота" стабилизируещего горизонт (на входе матрица описывающая ориентацию, на выходе команды для серв/плоскостей/...):
    Код:
    if (autoPilot==1) {
    	Vector4f up=new Vector4f(0,1,0,0); // world up vector
    	fd.modelToWorld.invert();
    	fd.modelToWorld.transform(up); // world up in model coordinates, use it to level the model
    
    	// magika begin
    	fd.ailStick=0.3f+up.z;
    	fd.eleStick=-up.x;
    	// magika end
    	// ...
    }
    дубовый и работающий автомат без пидов и прочих премудростей, чем больше ошибка, тем больше обратное воздействие. а для управления положение стика напрямую влияет на поворот вектора up (к которому стремится автопилот), пара коэфф-ов задают лишь максимальные углы.

    я ж не говорю, что нельзя использовать что вам нравится в стабилизаторе, но к компасу это уже отношения не имеет.

    Цитата Сообщение от mahowik Посмотреть сообщение
    именно реализации, а не теоретизирования...
    реализация пока уперлась в hard-iron коррекцию, компас в телефоне дает даже не эллипсоид (после всякоразного вращения), а какую-то картофелину.

  26. #863

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,290
    Записей в дневнике
    19
    upd: в вашей же идее ИМУ будет оперировать лишь данными магнитометра и выход (углы по ролл/пич/яв) все равно идет на ПИД регилятор, где для устойчивой стабилизации, все равно, придется брать дифференциал ошибки (по сути входной величины - угла)... вот он и будет шуметь мама не горюй...

  27. #864

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    29
    Сообщений
    1,392
    Вот еще темы про полет компаса
    Делаю OSD, автопилот и инерциалку... - как лететь без акселерометров. Автор утверждал, что способен избавить компас от шумов.
    Цитата Сообщение от Diman_Y Посмотреть сообщение
    Если собираетесь мерять компас раз в секунду, то зачем вам 160 Гц? Отфильтруйте до 1 Гц. Это уже шум в 40 раз меньше. Т.е. было 2 градуса, а стало 0,05.


    Cellular Control - управление моделью через GSM связь, antenna tracker и поисковик. - тут про готовую систему, тема затихла.

    Летать по компасу на поле можно, кривизна ничтожно мала.
    Нажмите на изображение для увеличения
Название: compass_needle_5.jpg
Просмотров: 19
Размер:	70.4 Кб
ID:	716712

  28. #865

    Регистрация
    05.06.2012
    Адрес
    Москва
    Возраст
    30
    Сообщений
    60
    Решил собрать собственную систему стабилизации для камеры. Данные по i2c шине получил от акселя, гиро и магнето. Вопрос встал в обработке данных для определения угла поворота по оси Х и У. Кто подскажет где искать?. Заранее благодарю за ответ. Сижу уж 5 день и негде не могу найти реально полезную информацию для написания кода под ARDUINO. Буду очень признателен за информацию.

  29. #866

    Регистрация
    07.04.2012
    Адрес
    Брянск
    Возраст
    29
    Сообщений
    1,674
    Записей в дневнике
    6
    Цитата Сообщение от allcaponne Посмотреть сообщение
    Сижу уж 5 день и негде не могу найти реально полезную информацию для написания кода под ARDUINO. Буду очень признателен за информацию.
    взяять кусок кода из мультивия (правда аккуратно вырезать его будет немного гемморойно)

  30. #867

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    Блин, проц большеватый и не хочу переходные отверстия под процем делать , что если сделать 2.5 этажа, нижний - проц, входы выходы: сразу над процем платку ИМУ (как отнесётся MPU6000 к компасу подцепленному к ней, баро SPI), со своим питателем - 1.5шный этаж на низких разъёмах, ну и верхний этаж GPS, батарейка, пищалка.
    Плюсы - легче развести, MPU ближе к центру платы, меньше габариты (высота не поменяется)
    Минусы - лишний вес платы ИМУ+разъёмы, ИМУ близко к GPS

  31. #868

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    29
    Сообщений
    1,392
    Цитата Сообщение от SergDoc Посмотреть сообщение
    не хочу переходные отверстия под процем делать
    Если в домашних условиях делать, то потом процессор не садится - бугорки мешают.

    Цитата Сообщение от SergDoc Посмотреть сообщение
    как отнесётся MPU6000 к компасу подцепленному к ней
    Байпасом данные идут. Когда включал 6DOF fusion, то данные с компаса не проходили транзитом, компас не мог считать.

  32. #869

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    6DOF fusion, пока не интересует, иначе нафига такой (F407) проц, I2C можно и на ИМУ завести...
    у меня сейчас есть разведёная плата - можно делать и дома, но хочу барометр подцепить по SPI (на данный момент I2C) и вернуть все 8 входных каналов (пока 1) - с такими изменениями очень много отверстий (переходных) в одной плате получается что не есть хорошо...

  33. #870

    Регистрация
    11.01.2011
    Адрес
    Ярославль
    Возраст
    29
    Сообщений
    1,392
    Цитата Сообщение от SergDoc Посмотреть сообщение
    6DOF fusion, пока не интересует, иначе нафига такой (F407) проц
    Это точно! С таким процессором всякая шелупонь, требующая специфичного кода, не должна интересовать. Я вам даже немного завидую =) Можно писать понятный код без костылей и хитровыдуманных оптимизаций (быстрое извлечение корня, таблицы значений синуса и логарифмов). Не париться насчет int vs float. Можно организовать ИМУ алгоритм в лоб. За этим будущее - очевидный си-образнный код, мгновенное портирование и доработка\отладка\тестирование, когда видишь "x *= 10;" вместо "x = (4*x +x)*2;"
    Цитата Сообщение от SergDoc Посмотреть сообщение
    хочу барометр подцепить по SPI (на данный момент I2C)
    А зачем вам SPI барометр? Я как-то думал, что лучше: использовать децимацию и включить сглаживание в барометре ИЛИ отключить сглаживание в барометре, с максимальной частотой скачивать сырье и в процессоре уже обрабатывать..

  34. #871

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Насчёт дерготни компаса, см. видео, система кординат мировая, синий "самолётик" -текущее положение ИНС, красный "самолётик" - заданное положение(через р\у), синий вектор (в левом окне) - проекция магнита на плоскость нормальную G, белый вектор - аксель приведенный к мировой СК, в правом окне магнит в бортовой СК (крутиться вместе с ней). Смотрите сами...

  35. #872

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    Решился я на авантюру, IMU будет отдельно, пока только схема основной платы вырисовалась, следующая будет IMU:

  36. #873

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Сергей, зачем трех этажную плату городить? Насколько я понял это нужно под утюг? Может лучше сделать разводку под промышленные нормы?
    Несколько вопросов/предложений по твоей плате:
    1. Если хочешь использовать АЦП VDDA подключай через LC-фильтр, землю и VDDA (если нужно) выводи на разъем под аналоговые входы для каждого входа и рядом с полем аналоговой земли а плате. Выводы VREF вести отдельными проводниками до полей VDDA и AGND рядом с разъёмом. Как пример, у меня оптодатчики на одной плате работают замечательно, а на другой (полётной) такая дерготня, что даже тяжелыми фильтрами не успокоишь... В последней все вышеперечисленные правила нарушены. Можно сделать больше аналоговых входов?
    2. Стандартный УСБ загрузчик будет работать? Ему вроде как один из выводов PD нужен вроде USB+5V, ну и выводы или кнопки BOOT.
    3. Ус-во экспериментальное - нужен JTAG.
    4. Резисторы на линиях ШИМ тоже не помешают.
    Вроде всё. В остальном всё очень красиво: много входов/выходов, юсартов , СД.

  37. #874

    Регистрация
    22.08.2011
    Адрес
    Калининград
    Возраст
    35
    Сообщений
    945
    Записей в дневнике
    2
    Цитата Сообщение от rual Посмотреть сообщение
    Сергей, зачем трех этажную плату городить?

    А чем плоха модульность? потом если что доделать переделать надо меньше времени, вот хороший пример PX4 контроллера тоже модульный принцип. Тут главное сразу заложить при разводке плат некое подобие интерфейсных разъемов.

  38. #875

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    Цитата Сообщение от rual Посмотреть сообщение
    Может лучше сделать разводку под промышленные нормы?
    Я бы с удовольствием, но пока нет золотого запаса тратится ещё и на платы....
    Цитата Сообщение от rual Посмотреть сообщение
    сли хочешь использовать АЦП VDDA подключай через LC-фильтр, землю и VDDA (если нужно) выводи на разъем под аналоговые входы для каждого входа и рядом с полем аналоговой земли а плате. Выводы VREF вести отдельными проводниками до полей VDDA и AGND рядом с разъёмом.
    планирую вообще отдельный питатель( при данной разводке позволяет), так же и на ИМУ будет два
    Цитата Сообщение от rual Посмотреть сообщение
    Стандартный УСБ загрузчик будет работать? Ему вроде как один из выводов PD нужен вроде USB+5V, ну и выводы или кнопки BOOT.
    PD4, на BOOT0 перемычка есть
    Цитата Сообщение от rual Посмотреть сообщение
    Резисторы на линиях ШИМ тоже не помешают.
    на входе есть, выходы только на моторы поместятся, а вот на "серво" могут и не влезть, постараюсь повесить...

    а да, трёхэтажная - ИМУ и GPS можно менять без замены всего, думаю проц на долго останется и ИМУ ближе к ЦТ аппарата...

    с АЦП ещё покумекаю, но лапы остальные далеко, пока 3-х думаю хватит, если нет, то подпаяюсь куда-нибудь ...

  39. #876

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от SergDoc Посмотреть сообщение
    а да, трёхэтажная - ИМУ и GPS можно менять без замены всего, думаю проц на долго останется и ИМУ ближе к ЦТ аппарата...
    причина понятна.

    Ещё один момент, почему на SPI выделил только один CS? Если стремишся к универсальности, то возможно будешь ставить датчики с несколькими ус-вами SPI.

  40. #877

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    В принципе да, можно ещё по две лапы задействовать на одном и на втором

  41. #878

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    Вобщем, дабы не плодить ненужных файлов, отпишусь на словах:
    Сонар переехал на PE7 - эхо, PE8 - триггер, тем самым отжал ИМУ 4 резервных вывода(PE0,PE1,PC4, PC5), 2 из которых могут также быть и входами АЦП и входами прерываний PC4, PC5...
    также добавил к выносному SPI два резервных вывода PB10, PB11, которые также могут быть второй шиной I2C...
    Ну и добавил питатель на аналоговую часть, а также отделил дросселями аналоговую землю и аналоговые 5В от остального...
    Вроде всё, а ещё, у F4 нет VREF- вмесо неё просто аналоговая земля, а то что у F1XX было VSSA у 4-го VDD ! чуть не напоролся
    Буду разводить, проц и большинство деталей будут со стороны пайки (внизу), чтобы с разъёмами проблем не было и ИМУ ниже ляжет....

  42. #879

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Приветствую Вас, единомышленники.
    прочитал вашу ветку на форуме и сделал вывод что можете мне помочь советом (или подсказкой).
    Также как и вы хочу написать собственный софт для квадрокоптера.
    Изучил в инете темы по алгоритмам и принципам стабилизации, решил для начала просто повторить рабочий мультивийный алгоритм, но тут столкнулся с проблемой.
    Проблема в том что программирую в CVavr на Си, попытки разобраться с листингом проекта мультивии не увенчались успехом (уж очень он универсальный и "оброс" доп. функциями).
    Понял только, что в нем допускаются некоторые упрощения в отличии от базовой теории.
    Хочу всего лишь понять основной математический прием для гироскопа и акселерометра.
    Постановка вопроса:
    имеем последовательно считанные в основном цикле программы данные с гиры и акса (магнетометр о др. не интересует)
    типа INT, назовем их условно Gx,Gy,Gz,Ax,Ay,Az.

    Можете просто подставить их в формулу чтобы получить текущую переменную воздействия для скармливания ПИДу?
    Или хотя бы объяснить мне бестолковому последовательность работы с этими величинами для получения результата стабилизации. Понятно что еще есть данные со стиков пульта, но допустим, чтоб не усложнять ответ примем их за ноль.

    Надеюсь не утомил Вас длинным изложением, подскажите хоть что то, кто может.....

  43. #880

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,459
    Записей в дневнике
    8
    ну если смотреть комплиментарный фильтр то
    Код:
    уголX = (0.8*(уголX+(угловая_скорость_с_гиры*dt)))+(0.2*(угол_X_с_акселя));
    где уголX+угловая_скорость_с_гиры*dt интегрирование угловой скорости по времени - угол из показаний гироскопа, угол_X_с_акселя - угол, высчитанный из показаний акселя, ну это если по простому....

+ Ответить в теме

Похожие темы

  1. Система стабилизации гиро+акселерометр
    от Фантомас в разделе Полеты по камере, телеметрия
    Ответов: 32
    Последнее сообщение: 25.01.2011, 14:47
  2. Продам Продам Клона Trex 450SEV2 + Аппаратура + Запчасти+ система стабилизации RTF
    от omegapraim в разделе Барахолка. Вертолеты
    Ответов: 1
    Последнее сообщение: 12.01.2011, 18:16
  3. Продам Трёхосевую систему стабилизации Turnigy V-Bar 600
    от avi@tor в разделе Барахолка. Аппаратура
    Ответов: 1
    Последнее сообщение: 08.11.2010, 13:02
  4. Продам Gaui система стабилизации GU365, дёшево.
    от avi@tor в разделе Барахолка. Вертолеты
    Ответов: 3
    Последнее сообщение: 03.08.2010, 11:13
  5. Системы стабилизации
    от max815 в разделе Фото и видеосъемка, системы стабилизации
    Ответов: 16
    Последнее сообщение: 11.03.2010, 03:14

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения