ПИД регулятор для движения робота по тунелю (прав. Roborace)

Автомат, адаптивный автомат ... разум

ПИД регулятор для движения робота по тунелю (прав. Roborace)

Сообщение sklipus » 08 янв 2014, 10:35

Добрый день уважаемое сообщество. Предлагаю обсудить проблему ПИД регулирования для робота.
Вот так проходят соревнования:
http://www.youtube.com/watch?v=YHBOE8Mur4A
ширина трассы варьируется от метра до полутора.
Ссылка на регламент http://vk.com/doc13383479_229500015?hash=66c97143feecf8f7c2&dl=ab5b610d775c5aa6d7

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

Сенсорная система робота состоит из 3х дальномеров SHARP gp2y0a
датчики установлены со следующими углами от продольной оси робота -50, 0, +50
2014-01-03 01.28.28.jpg


Итак что уже надумал =)
Выходными данными регулятора будет угол поворота колёс, в диапазоне от -30 до +30
А вот с входными данными всё сложнее, одним из вариантов был брать ПРАВЫЙ_ДАТЧИК-ЛЕВЫЙ_ДАТЧИК. ещё чуть подумал и решил что (ПРАВЫЙ_ДАТЧИК-ЛЕВЫЙ_ДАТЧИК)/(ПРАВЫЙ_ДАТЧИК+ЛЕВЫЙ_ДАТЧИК) в последнем случае мы знаем относительное положение робота на трассе что мне представляется более правильным. НО у нас есть ещё же центральный датчик! Его тоже надо учитывать... но как я не знаю
sklipus
 
Сообщения: 28
Зарегистрирован: 20 сен 2011, 17:04
Откуда: Брест город герой
Skype: sklipus
прог. языки: С

Re: ПИД регулятор для движения робота по тунелю (прав. Robor

Сообщение avr123.nm.ru » 08 янв 2014, 13:43

Входной величиной должно быть положение относительно заданого положения. И наверно достаточно будет ПИ т.е. Кд=0
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: ПИД регулятор для движения робота по тунелю (прав. Robor

Сообщение sklipus » 08 янв 2014, 14:42

В данном случае 0 является заданным положением при функции (ПРАВЫЙ_ДАТЧИК-ЛЕВЫЙ_ДАТЧИК)/(ПРАВЫЙ_ДАТЧИК+ЛЕВЫЙ_ДАТЧИК)
так? или я что-то путаю?
sklipus
 
Сообщения: 28
Зарегистрирован: 20 сен 2011, 17:04
Откуда: Брест город герой
Skype: sklipus
прог. языки: С

Re: ПИД регулятор для движения робота по тунелю (прав. Robor

Сообщение pdk » 12 янв 2014, 18:56

Прежде чем рассчитывать управление хорошо бы понять «а где мы собственно находимся». Алгоритмы управления подвижными объектами обычно разделяются на насколько стадий:
-оценка текущего положения ( комплексирование данных с датчиков)
-вычисление требуемого положения ( локальный планировщик )
-расчет управления по оценки текущего положения и требуемому положению (а вот только здесь может появиться ПИД)

В Вашем случае можно поступить так:

-оценка текущего положения по трем дальномерам
возможные случаи (движение назад не рассматриваем):
1)все три «точки на правой стенке»
2)все три «точки на левой стенке»
3)две на левой, одна на правой
4)одна на левой, одна на правой
5)одна на левой, одна на правой, от центра данных нет
…..

Первые 4 случая дают нам однозначное решение (расположение относительно центральной линии).

Теперь зададимся требуемым положением. Один из вариантов — выбираем «поводковую точку» на осевой линии на заданном удалении от текущего положения (удаление желательно менять ~V для поддержания постоянства бокового ускорения).

Задавшись положением поводковой точки наконец добрались до ПИД. Можно задать угол установки колес как выход ПИД регулятора от угла поводковой точки в связанной ск.
pdk
 
Сообщения: 99
Зарегистрирован: 20 янв 2010, 16:48
Откуда: Королев
Skype: pdkdrp
ФИО: Антон


Вернуться в Алгоритмы

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

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