LINUX.ORG.RU

Attitude Control System: Kill Rotation

 , , ,


1

2

Имеется некий 'spacecraft', у которого есть reaction control system.

Как можно реализовать функцию 'автопилота', останавливающую вращение (произвольное)?

Вращение вокруг одной из осей (x,y,z) неплохо останавливается PID регулятором, результат которого используется как команда соответственно (roll,pitch,yaw). Но когда я пытаюсь останавливать вращение вокруг нескольких осей - все ломается.

Есть тут кто-то разбирающиеся в сабже, подскажите?

Что можно почитать на эту тему?

Заранее спасибо.

★★★★★

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

Твоя главная ошибка - ты работаешь со скалярами. Нужны хотябы вектора, а лучше - кватернионы. Тензора тоже сгодятся.

cvv ★★★★★ ()
Ответ на: комментарий от cvv

Твоя главная ошибка - ты работаешь со скалярами.

Да, такая мысль была одна из первых.

invy ★★★★★ ()

загляни сюда «Л.С.ПОНТРЯГИН,
в.г БОЛТЯНСКИЙ, R В.ГАМКРЕЛИДЗЕ,
Е.Ф. МИЩЕНКО
МАТЕМАТИЧЕСКАЯ
ТЕОРИЯ
ОПТИМАЛЬНЫХ
ПРОЦЕССОВ»

тебе нужна в принципе глава про «синтез оптимального управления».

dikiy ★★☆☆☆ ()
Последнее исправление: dikiy (всего исправлений: 1)

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

invy ★★★★★ ()

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

Думю, пока-что solved :)

invy ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.