Перевернутый маятник на модуле OpenRobotics

Обсуждаем рождающиеся мысли и результаты экспериментов.

Перевернутый маятник на модуле OpenRobotics

Сообщение runaway » 13 авг 2009, 10:10

Начало обсуждения этой темы можно увидеть здесь:
viewtopic.php?f=4&t=6380&p=112753#p112753

Эволюцию проекта можно проследить, ознакомившись с материалами темы "Кобра":
http://forums.airbase.ru/2007/01/t53182--kobra.html

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

С глубоким уважением и твердой уверенностью в плодотворном сотрудничестве -
runaway (Non-conformist)
Аватара пользователя
runaway
 
Сообщения: 48
Зарегистрирован: 27 сен 2007, 12:34
Откуда: г. Чернигов, Украина
Skype: a_schabanow

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение runaway » 14 авг 2009, 14:13

Duhas писал(а):тогда можно попробовать... я думал меряете с вала движка актуатора обороты...

Не, от такого "датчика положения" я отказался. Там столько люфтов до выхода механической системы набирается, что страшновато за потраченные усилия и время становится. Надо бить наверняка - контролировать положение непосредственно того, что нужно (РДТТ).
Аватара пользователя
runaway
 
Сообщения: 48
Зарегистрирован: 27 сен 2007, 12:34
Откуда: г. Чернигов, Украина
Skype: a_schabanow

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение =DeaD= » 14 авг 2009, 14:20

2runaway: Сколько у вас там люфтов? Если достаточно много - ПИД регулятор в автоколебательный режим может войти или не выйти на необходимую вам скорость реакции на события.

Добавлено спустя 56 секунд:
Кстати, я не понял, ПИД регулятор на входе что имеет? Датчик положения РДТТ или датчик солнца? Может датчик положения РДТТ не нужен вовсе? :)

Добавлено спустя 21 секунду:
Я же при управлении авто не вижу положения колёс? ;)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение runaway » 14 авг 2009, 14:23

=DeaD= писал(а):2runaway: Может разложить задачу на N подзадач явно и это деление вести и инфу там собирать? А может даже в вике это сделать - есть у вас опыт работы с ней?

Дельное предложение. С Викой я не работал, и думаю, это будет лишнее - обсуждение и так много времени отнимает. Пока остановился на таком делении:

electronics_controller
electronics_power_supply
electronics_sensor_direction
electronics_sensor_position
electronics_wiring
mechanics_body_head
mechanics_drive
mechanics_rescue_system
mechanics_rocket_motor
misc
Аватара пользователя
runaway
 
Сообщения: 48
Зарегистрирован: 27 сен 2007, 12:34
Откуда: г. Чернигов, Украина
Skype: a_schabanow

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение =DeaD= » 14 авг 2009, 14:26

При активном обсуждении надо где-то будет актуальную инфу держать и отслеживать её изменение.

Можете в принципе в первом сообщении актуальное состояние поддерживать, редактируя его.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение runaway » 14 авг 2009, 14:41

=DeaD= писал(а):... ПИД регулятор в автоколебательный режим может войти ...

Люфтов немного. С колебаниями будем разбираться только тогда, когда они возникнут. Не раньше. :) Вплоть до того, что "сузим на них глаза".


Добавлено спустя 56 секунд:
=DeaD= писал(а):Кстати, я не понял, ПИД регулятор на входе что имеет? Датчик положения РДТТ или датчик солнца? Может датчик положения РДТТ не нужен вовсе? :)

Датчик Солнца И датчик положения мотора. Петля электромеханической ОС замыкается лишь в том случае, когда мотор ДАЕТ ТЯГУ, и таким образом воздействует на систему. Без датчика положения и при НЕработающем моторе, петля ОС оказывается разорванной, и мотору остается только лавинообразно отклоняться в зашкал, до упора. Кроме того, датчик положения мотора дает существенные бонусы при наземных экспериментах и наладке привода. Да-а, в свое время этот вопрос ВЕСЬМА активно обсуждался на Ракетомодельном. Чуть не за грудкИ друг дружку хватали...

Добавлено спустя 21 секунду:
=DeaD= писал(а):Я же при управлении авто не вижу положения колёс? ;)

Когда едем - оно и действительно не нужно видеть колеса, поскольку ориентируемся по изменениям ракурса наблюдаемого за окошком пейзажа и по вестибулярке. А когда СТОИМ? :)

Добавлено спустя 3 минуты 22 секунды:
=DeaD= писал(а):... в первом сообщении актуальное состояние поддерживать, редактируя его.

Имхо лучше всего делать именно так.
Аватара пользователя
runaway
 
Сообщения: 48
Зарегистрирован: 27 сен 2007, 12:34
Откуда: г. Чернигов, Украина
Skype: a_schabanow

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение =DeaD= » 14 авг 2009, 14:43

Когда стоим - сначала чуть-чуть едем :-D

Вопрос в общем в том, что при запуске РДТТ надо чтобы движок был прямо направлен или в чем? :)

Добавлено спустя 2 минуты 13 секунд:
Тогда надо инфу - когда как какие датчики пользуются, как организованы ОС? Иерархически?
Т.е. типа датчик положения РДТТ это типа внутреннего датчика на серве, которой даём команду с внешего цикла ОС?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение setar » 14 авг 2009, 14:45

поставил флажок "показывать на каждой странице" для первого сообщения, можно редактировать и вносить туда информацию.
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение runaway » 14 авг 2009, 15:09

Вопрос в общем в том, что при запуске РДТТ надо чтобы движок был прямо направлен или в чем?

Проблема в том, что первый этап - это не минометный ВЕРТИКАЛЬНЫЙ старт (с эффектными вихляниями попой в момент запуска маршевого мотора в воздухе и разворотом на Солнце), а запуск ракеты из наклонной трубы, направленной ПРЯМО на Солнце (упрощенная задача).

Т.е. при скольжении внутри наклонной пусковой трубы мотор без ОС по положению будет зашкален в упор, и в момент выхода кормового среза изделия из направляющей пусковой трубы будет иметь место резкое возмущение, которое будет "испытывать на прочность" систему управления (ее быстродействие и качество подбора коэффициентов), чего мне СОВСЕМ не хочется. Следующая задача, после пуска "прямой наводкой" - ЧУТЬ отклонить трубу от солнца, и после приземления по логу посмотреть на поведение МОТОРА и на поведение КОРПУСА, откорректировать коэффициенты, еще чуть отклонить, еще раз пустить, еще раз посмотреть, сравнить, нащупать зависимость... И так далее, до сияющих высот минометного старта. :) Много запусков, много видео, много впечатлений. Все это обеспечивает разделение большой проблемы на несколько более простых.

Можно, конечно - ТЕОРЕТИЧЕСКИ - обеспечить замыкание петли ОС и без датчика положения. Это если крепить ракету на стартовом столе не за КОРПУС, а за МОТОР (т.е. привод будет дергать уже не мотором, а корпусом ракеты ВМЕСТЕ С ДАТЧИКОМ СОЛНЦА). Но практически это невозможно, и прежде всего потому, что масса корпуса и внутренностей в несколько раз больше массы мотора - коэффициенты нужны другие; а после отрыва изделия от направляющей потребуется новый комплект коэффициентов - уже "штатный", для руления МОТОРОМ, а не "стартовый" - для руления корпусом... Плюс лишаемся лога положения мотора - хорошего куска данных.

НУЖЕН, короче, датчик положения. Даже, я бы сказал, необходим.
Последний раз редактировалось runaway 14 авг 2009, 15:14, всего редактировалось 1 раз.
Аватара пользователя
runaway
 
Сообщения: 48
Зарегистрирован: 27 сен 2007, 12:34
Откуда: г. Чернигов, Украина
Skype: a_schabanow

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение =DeaD= » 14 авг 2009, 15:13

Лог положения мотора - это не вопрос, меня интересовала схема по которой мы цепляем ОС.

Держать ракету за мотор нафиг не надо :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение runaway » 14 авг 2009, 15:25

... меня интересовала схема по которой мы цепляем ОС.

Не знаю, хотел у вас узнать! :) Имхо стандартная схема... А как той же паровой задвижкой ПИД-ом рулят - датчик температуры, или расхода, или давления - и ДАТЧИК ПОЛОЖЕНИЯ (у нас на работе - крестьянский, реостатный). Это немного не по моей части, но я спрошу у коллег, если надо. Однако я уверен, что все автоматические регуляторы именно так и работают... Температура ведь, к примеру - величина зело инерционная, пока она изменится, задвижка десять раз на упор выйдет - тут вам и колебания незатухающие... Думаю, что эту проблему решает именно датчик положения задвижки...
Аватара пользователя
runaway
 
Сообщения: 48
Зарегистрирован: 27 сен 2007, 12:34
Откуда: г. Чернигов, Украина
Skype: a_schabanow

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение =DeaD= » 14 авг 2009, 15:32

Я думаю иерархически организовано.

Т.е. есть задвижка с датчиком своего положения и входящей командой на установку положения.

А есть управляемый объект состояние которого через ПИД регулятор превращается в команду для задвижки.

Но что-то мне подсказывает, что это хорошо работает, если циклы регуляции у них по длине так же вложены, то есть вложенный объект регулируется быстрее, а если они будут соизмеримы - тогда может быть всё сложнее. И такая пара регуляторов может друг с другом начать конфликтовать.

Добавлено спустя 1 минуту 1 секунду:
Статейку кстати можете посмотреть которую я переводил тут на сайте в вики:
[[Перевод статьи "Просто о ПИД-алгоритмах"]]
.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение Duhas » 14 авг 2009, 15:36

в том то и проблема... ПИД регулятор как и многие другие призван минимизировать разницу между заданием и реальностью. мучая последнюю...

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

Деад, ты говоришь о подчиненном регулировании.. внутренний контур всегда должен иметь большее быстродействие.... я только ОУ для внешнего контура чот пока не вижу О_о

будет полезно, правда ето для манипуляторов и т.д.
Методика синтеза систем автоматического регулирования привода постоянного тока базируется на применении следующих принципов подчинённого регулирования.
1. Объект регулирования представляется в виде последовательно включённых звеньев, на выходе которых представлены параметры, подлежащие регулированию. Весь объект расчленяется на несколько последовательно включённых объектов, каждый из которых будет оптимизирован отдельно своим контуром регулирования.
2. Число контуров регулирования соответствует числу регулируемых параметров. При этом внешний контур называется основным, а внутренний – подчинённым.
3. В каждом контуре последовательно с объектом регулирования данного контура включается регулятор с передаточной функцией, обеспечивающей оптимальную настройку контура.
4. Регуляторы включаются каскадно, то есть последовательно друг за другом. При этом выходной параметр внешнего регулятора является заданием параметра для внутреннего контура.
5. Ограничение параметра внутреннего контура реализуется путём ограничения сигнала его задания.
6. Принцип подчинённости внутреннего контура внешнему заключается в том, что внутренний контур отрабатывает команду внешнего. Поэтому быстродействие внешнего контура ограничивается, прежде всего, быстродействием внутреннего контура и корректная работа внешнего контура возможна только при нормальной настройке внутреннего контура.
7. При выборе количества контуров регулирования необходимо делать так, чтобы в каждом контуре была одна большая постоянная времени или, максимум, две постоянных времени, которые могут быть скомпенсированы регулятором. Остальные инерционности контура должны быть несоизмеримо меньше. Все эти малые инерционности контура заменяются эквивалентной суммарной малой постоянной времени, которая называется T.
Внутренний контур обладает наибольшим быстродействием. Каждый внешний контур имеет быстродействие более чем в два раза меньшее, чем непосредственно ему подчинённый внутренний.
Последний раз редактировалось Duhas 14 авг 2009, 15:39, всего редактировалось 1 раз.
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение =DeaD= » 14 авг 2009, 15:38

Чего не видишь?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение runaway » 14 авг 2009, 15:39

Ну как-то летала же ФАУ-2! :) И гироскопы у неё были (в нашем варианте - датчик Солнца) и реостатные датчики положения газовых рулей! Неужели не найдем современных схемотехнических аналогов, чтобы потом перевести логику их работы на язык, понятный МК?
Аватара пользователя
runaway
 
Сообщения: 48
Зарегистрирован: 27 сен 2007, 12:34
Откуда: г. Чернигов, Украина
Skype: a_schabanow

Re: Перевернутый маятник на модуле OpenRobotics

Сообщение =DeaD= » 14 авг 2009, 15:41

Ну это надо соотв. товарищей искать, у которых в таких областях знания есть.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42