roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 05:21

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 00:32 
Не в сети

Зарегистрирован: 27 ноя 2013, 15:09
Сообщения: 163
Не пойму что все уперлись в этот ПИД. Когда я тестировал прямолинейность движения с ПИД, то робота все равно уводит в сторону, хоть и не значительно. При использовании гироскопа с акселерометром, все гуд.

_________________
Магазин для DIY


Последний раз редактировалось Пяткин 01 мар 2016, 00:36, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 00:36 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
в огороде бузина, в киеве дядька. что общего между пидом и датчиками?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 00:37 
Не в сети

Зарегистрирован: 27 ноя 2013, 15:09
Сообщения: 163
Цитата:
что общего между пидом и датчиками?

Какими датчиками? Датчики бывают разными
Я так понимаю общее у них - это конечный результат.
А результат это движение по прямой

P.S.
Видать бузины у тебя в огороде много

_________________
Магазин для DIY


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 00:41 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Общее в том, что датчики, используемые для контроля движения, являются обратной связью для ПИД-регулятора. Для элементарного движения по черной полосе, уже по идее нужен ПИД. Ну маааленький хотя бы пидик. Иначе бот будет болтать, как пьяного матроса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 00:47 
Не в сети

Зарегистрирован: 27 ноя 2013, 15:09
Сообщения: 163
Код выложен по ссылке выше, найди в коде ПИД, я не нашел

_________________
Магазин для DIY


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 00:55 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2014, 13:53
Сообщения: 448
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч
Scorpio писал(а):
ПИД вообще нужен для плавности регулирования. Чтобы какой-то процесс, так сказать, не дергался. В большинстве случаев достаточно П или ПД. Стабилизации вращения колес нужна вроде для езды по прямой, но, как тут уже говорилось, любая попавшая под колесо мусорина сбивает тележку с курса. Вывод - для данной задачи никакой ПИД вообще не нужен.

Да, это так. Вот краткая статья описывающая решение задачи движения робота по заданной траектории https://habrahabr.ru/post/277829/. И, как можно видеть из статьи, ПИД здесь действительно не причем, да он и не решит поставленной задачи, ПИД это дополнительное решение, предназначенное для улучшения общих характеристик движения робота. Но, надеюсь, все прекрасно понимают, что чем меньше внешних и внутренних паразитных воздействие будет в системе, тем более прецизионно будет работа последней, а как следствие более точным движение платформы, так почему бы не попытаться исключить, или минимизировать, хоть какие то воздействия для улучшения параметров движения роботизированной платформы? Ведь не бывает идеально одинаковых моторов, не бывает одинаковых редукторов. На практике, что бы вы не говорили, и это проверено нашей практикой, ПИД помогает стабилизировать движение двухколесной платформы по прямой, а применение алгоритма описанного мной выше, дополнительно решает проблему рассинхронизации моторов при разгоне платформы, проблему подсевших источников питания, а так же частично способна перекрыть сбивание с курса при попадании под колесо мусорин или других предметов.
Еще раз повторю, да, ПИД не решает задачу движения по траектории, но как дополнительный параметр значительно улучшающий характеристики системы, применение ПИД-регулятора полезно и оправдано.


Последний раз редактировалось lorry 01 мар 2016, 01:02, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 01:07 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Пяткин писал(а):
Код выложен по ссылке выше, найди в коде ПИД, я не нашел

Ну, интегратора в коде действительно не заметно, а фильтр - это и есть дифференциальная часть. Ну и пропорциональная никуда не делась. Едет вроде прямо, значит хватает. А про пид - это ТК замутил. Он из аж 3 захотел и мгновенно испарился.

Добавлено спустя 5 минут 47 секунд:
lori писал(а):
ПИД помогает стабилизировать движение двухколесной платформы по прямой

Да, я вам верю. Сам на "Ванессе" пользовался синхронизацией колес, когда надо было откатиться назад по прямой с зарядной станции. Но, дальше движение по прямой не имело уже никакого практического смысла. Надо двигаться по карте на длинные расстояния, поподать в двери и т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 01:19 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2014, 13:53
Сообщения: 448
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч
Scorpio писал(а):
Сам на "Ванессе" пользовался синхронизацией колес, когда надо было откатиться назад по прямой с зарядной станции. Но, дальше движение по прямой не имело уже никакого практического смысла. Надо двигаться по карте на длинные расстояния, поподать в двери и т.п.

А Ванесса перемещается автономно или под управлением оператора?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 01:25 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Обижаешь. Какой- такой оператор!? Ездит куда-то по своим делам. Правда уже года 4 как в пыльном углу покоится :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 12:53 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
hax писал(а):
Имеется двухколёсный двухмоторный робот с оптическими энкодерами на каждом колесе. Управление скоростью вращения - через PWM.

Я хочу указывать скорость каждого колеса, чтобы робот двигался по определённой траектории или делал разворот на месте.
В теории можно использовать 2 отдельных ПИД контроллера, для каждого колеса


1) можно добиваться точности движения уровня CNC станка, но это сложно, дорого, работает только на однородной поверхности.
и строго говоря большого смысла не имеет, т.к. будет очень капризным.
Что делать если колесо проскальзнуло? вся программа на основе абсолютных координат летит к чёрту, робот попал в параллельную вселенную где шкаф стоит в другом месте а программа об этом не знает (энкодеры не врали колесо крутилось как нужно, но физическое перемещение не совпадает с программным ).

ввиду многих факторов даже если сделать обратную связь между левым и правым колесом строго прямо ехать не будет.
Причины уже назывались
1) проскальзывание колёс
2) разные диаметры колёс
3) люфт в редукторе
4) неровный момент двигателя
5) погрешность измерения энкодерами
6) задержки в самом алгоритме управления
Бороться с этим можно только повышением качества каждого элемента а значит увеличение стоимости и всё равно 100% гарантии не будет.

2) можно постоянно корректировать движение на основе внешних данных, например инерциальный датчик (гиро аксель компас), ультразвуковой дальномер, Lidar, kinect и т.п.

Поэтому есть вопрос на на основе каких данных вы управляете роботом?
Т.е. что является входными данными и как проверяете достигнутый результат?

В общем случае работает такой алгоритм
1) на основе последних известных данных (энкодеры,инерциальные датчики, УЗ датчики и т.п.), вычисляется скорость V и угол Q необходимый вектор движения платформы робота
2) вектор преобразуется в скорость (обороты) для левого колеса и скорость для правого
3) для каждого колеса работает пид регулятор который удерживает заданную на шаге 2 скорость в течение всего периода пока не поступит новый вектор
4) goto 1

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 15:36 
Не в сети

Зарегистрирован: 27 ноя 2013, 15:09
Сообщения: 163
Scorpio писал(а):
Сам на "Ванессе" пользовался синхронизацией колес, когда надо было откатиться назад по прямой с зарядной станции.

Дай ссылку на Ванессу, интересно глянуть

_________________
Магазин для DIY


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПИД контроллер для управления двухколёсным роботом
СообщениеДобавлено: 01 мар 2016, 19:08 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Она здесь.

Серва, со встроеным ПИД регулятором.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа


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

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


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO