Я использую свой собственный код для создания робота-квадрокоптера. Аппаратная часть выполнена, но мне нужно сбалансировать вертолет.
Оригинальное видео, демонстрирующее проблему, было передано через Dropbox и больше не доступно.
Я пытался играть со скоростью каждого мотора, чтобы сбалансировать его. Это не пошло. У меня на самом деле есть гироскоп и акселерометр на борту. Но как мне отрегулировать скорость двигателя на основе этих значений? Какие правила я должен остерегаться?
Есть ли лучшее решение, которое пытается и ошибка? С чего мне начать? Какие-нибудь советы?
balance
quadcopter
Greenonline
источник
источник
Ответы:
Я верю немного в Google, и вы обнаружите, что некоторые из существующих плат контроллеров имеют открытый исходный код. Например, на прошлой неделе я внес небольшое изменение в правление KK KK , скомпилировал его, и все было в порядке (ищите прошивку 1.5 на вкладке «Файлы»). Я думаю, что openAero также легко доступен.
Я уверен, что не пытался бы начать с нуля, но если вы это сделаете, это несколько петель ПИД на каждой оси, смешанные с сигналами управления от приемника. Крен и шаг варьируются, изменяя скорость двигателя, как вы уже догадались. Тяга изменяется путем замены противоположно вращающихся пар двигателей. высота регулируется путем одновременного изменения всех двигателей. Код, который я просмотрел, наводит меня на мысль, что вам, вероятно, будет удобно работать с углами Эйлера , чтобы объединить данные датчиков от гироскопов и ускорения (которые могут быть или не быть I2C, поэтому учитесь, если вы не знакомы с ним).
источник