roboforum.ru

Технический форум по робототехнике.

Энкодеры на колесах... есть практика использования?

Энкодеры на колесах... есть практика использования?

Сообщение Michael_K » 10 янв 2011, 23:56

Хочется задать вот такой странный вопрос...

Вот народ массово предлагает ставить энкодеры на колеса
и, более того, ставят...
Как я понимаю, число импульсов на оборот там не очень большое и в основном они используются только для мониторинга колеса, а не для прямого управления в петле короткой обратной связи. Поэтому вопросы:

Вопрос №1
Позволяют ли такие энкодеры держать скорость колеса? Например ехать мееедленно, но с хорошим моментом (как серва).

Вопрос №2
Позволяют ли такие энкодеры держать позицию колеса? Например повернуть на четверть оборота (как серва).

Понятно, что зависит от софта, но есть ли живые примеры такого использования?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Энкодеры на колесах... есть практика использования?

Сообщение =DeaD= » 11 янв 2011, 00:18

Я делал работу с энкодерами под RealRobot'а - у него одинарные энкодеры, но в принципе работало - ставил робота между двумя бутылками, он делал вокруг них восьмерку и возвращался на место с некоторой погрешностью.

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

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

Re: Энкодеры на колесах... есть практика использования?

Сообщение Michael_K » 11 янв 2011, 00:34

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

Ну, понятно, что величины связаны.
Меня в конкретном случае больше интересует скорость. Давайте пока про нее говорить.

Допустим у меня есть бот, который может кататься со скоростью метр в секунду.
Моторчики "игрушечные" (читай "плохенькие").
Я хочу, чтобы он поехал со скоростью пять сантиметров в секунду.
Нагрузка плохопредсказуемая (может тапок под колесо попасть, например).
Понятно, что без ОС такое сделать нереально...
(Если снизить пропорционально напряжение - движок просто встанет.)

Каково должно быть разрешение энкодера? Реально ли сделать такое на, ну например, пололушных колесах с энкодерами? Имеет ли смысл считать, например, период между каждым импульсом энкодера или нужно сильно усреднять? и т.п.

=DeaD= писал(а):К сожалению код не могу найти

Исходники не интересуют. Хочу принцип понять.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Энкодеры на колесах... есть практика использования?

Сообщение Виталий » 11 янв 2011, 03:51

Моторчики "игрушечные" (читай "плохенькие").

Обычно это обозначает, что у моторчика маленький динамический диапазон, т.е. регулировать скорость можно лишь в небольших пределах.
Кроме того, зачастую в таких моторчиках есть сухое трение, т.е. для того чтобы двигаться медленно, надо сперва "тронуться" на больших оборотах.
В итоге у нас получается объект управления с нелинейным звеном и маленьким диапазоном. Пытаться хоть что-то сделать с таким - малореально.
Пололушные движки у меня этим не страдают (ну от нагрузки зависит, но у меня они могут как ползти, так и довольно резво ездить).

Нагрузка плохопредсказуемая (может тапок под колесо попасть, например).

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

Каково должно быть разрешение энкодера?

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

Вот мои эксперименты с плохими энкодерами (1 импульс на сантиметр пути) и плохими движками.
Движение на заданное расстояние с заданной скоростью.
http://www.youtube.com/watch?v=7qulIGaBEU8
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Энкодеры на колесах... есть практика использования?

Сообщение Michael_K » 11 янв 2011, 04:36

Виталий писал(а):В итоге у нас получается объект управления с нелинейным звеном и маленьким диапазоном.

Ну вот и я про то же... как тут выкручиваться?

Виталий писал(а):Пытаться хоть что-то сделать с таким - малореально.

Ну вот серва, между прочим, позицию держит очень неплохо (для "игрушечного" движка).
Хотя простая по сути как валенок. Там, правда, и обратная связь по скорости есть (то есть это ПД-регулятор все-таки). Что-то не верится, что там движки на порядок лучше... ну по крайней мере в тех дешевеньких сервах, в которые я лазил.

А вообще, по вашим ощущениям (на примере этого танка, скажем) можно ли ползти очень медленно? (в ролике этого не заметил) - ну например на 1/10 или 1/20 номинала?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Энкодеры на колесах... есть практика использования?

Сообщение =DeaD= » 11 янв 2011, 08:42

Michael_K писал(а):Я хочу, чтобы он поехал со скоростью пять сантиметров в секунду.
Каково должно быть разрешение энкодера? Реально ли сделать такое на, ну например, пололушных колесах с энкодерами? Имеет ли смысл считать, например, период между каждым импульсом энкодера или нужно сильно усреднять? и т.п.

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

Re: Энкодеры на колесах... есть практика использования?

Сообщение Michael_K » 11 янв 2011, 09:27

=DeaD= писал(а):...в пределах 5-10 кликов энкодера, чтобы ПИД-регулятор успевал её исправить...

Ну, я бы тоже так предположил, но вот смотрю на пололушные колеса - там всего 12 дырок на оборот (ну пусть даже 48, если оба фронта на обоих глазах ловить и расположены они достаточно симметрично).

Это ж насколько тормозная ОС получается - 10 импульсов - это аж целых пять сантиметров два с половиной сантиметра...
Он на таком расстоянии успевает встать до нуля и разогнаться до максиумума, то есть на дистанции в 2.5 сантиметров считать скорость "примерно постоянной" ну никак нельзя.
Хм... :( :pardon:

Добавлено спустя 3 минуты 14 секунд:
Наврал - не пять, а два с половиной, но тоже ведь прилично...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Энкодеры на колесах... есть практика использования?

Сообщение =DeaD= » 11 янв 2011, 09:46

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

Re: Энкодеры на колесах... есть практика использования?

Сообщение RealRobot » 11 янв 2011, 10:09

почитайте здесь
http://realrobot.ru/catalog.php?cat=2&action=desc&id=8
и посмотрите здесь
http://www.youtube.com/watch?v=tJ_UJcp42vI
здесь внешняя камера отслеживает положение робота и передает ему текущую его координату для корректировки положения. Сам бот едет по заранее заложенному маршруту в декартовой плоскости по точкам (х,y)
http://igrybogov.com - ну о.о.очень интересно
сознание определяет бытие, улыбнись своему отражению
RealRobot
 
Сообщения: 340
Зарегистрирован: 18 окт 2007, 23:46
Откуда: Москва
прог. языки: С++ , 1С :-)
ФИО: Михаил

Re: Энкодеры на колесах... есть практика использования?

Сообщение Michael_K » 11 янв 2011, 10:17

Не-не... меня интересуют практические результаты.
Проблема понятна, как ее лечить "правильно и красиво" - тоже понятно.
Но может существуют и другие решения или хотя бы реальная практика, чего достичь удается, чего нет.
Ну вот например в мувике Виталия видно, что он подбирал (или вычислял???) параметры регулятора, чтобы убрать перерегулирование и т.п.

Добавлено спустя 5 минут 33 секунды:
RealRobot писал(а):Сам бот едет по заранее заложенному маршруту в декартовой плоскости по точкам (х,y)

я про координаты не спрашивал. Я спрашивал, как крутить игрушечный мотор медленно и стабильно. Разницу чувствуете?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Энкодеры на колесах... есть практика использования?

Сообщение avr123.nm.ru » 11 янв 2011, 11:10

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

Re: Энкодеры на колесах... есть практика использования?

Сообщение Duhas » 11 янв 2011, 11:10

медленно и стабильно - по идее нужна ОС по току.. + ось по скорости..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Энкодеры на колесах... есть практика использования?

Сообщение avr123.nm.ru » 11 янв 2011, 11:24

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

Re: Энкодеры на колесах... есть практика использования?

Сообщение Duhas » 11 янв 2011, 11:27

что значит ЛУЧШЕ? стабилизация тока даст стабилизацию момента... по идее нужна подчиненка...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Энкодеры на колесах... есть практика использования?

Сообщение avr123.nm.ru » 11 янв 2011, 11:30

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

След.

Вернуться в Сенсорика

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

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