О правильной одометрии

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: О правильной одометрии

Сообщение steel_monkey » 14 мар 2008, 01:31

Я немного не понял, Т это количество кликов или именно тактов контроллера? То есть у Вас получается по сути алгоритм, похожий на мой, но с линейным ускорением/замедлением без привязки к пройденному расстоянию?
В принципе, я задаю скорость и её отрабатываю. Формально у меня пока формат такой: (скорость левого колеса, скорость правого колеса, время движения с установленной скоростью в тактах МК).
Мне вот больше интересен сам алгоритм низкого уровня. Вообще у меня такая идея- ввести в ПИД-алгоритм регулирования моторами попроавку, отвечающую за раность хода колес. Она при постоянной сорости движения получается линейно нарастающей. Написать что-то типа ШИМ следующий= ШИМ предыдущий +(-) (член, отвечающий за скорость) +(-) член, отвечающий за путь. По сути это линейный и интегральный член формулы пропорционального у правления. Беда в том, что функция и интеграл получаются зависимыми, и управлять придется разностью путей колес. Тогда какое-то колесо берется "опорным", а второе тормозится/ускоряеся согласно требованиям скорости и разности путей. Короче, надо подумать :crazy:
Хотя конечно, при отличии на порядок (10 и 120 дискретов на оборот), говорить о сколько-нибудь корректном сравнении трудно.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: О правильной одометрии

Сообщение =DeaD= » 14 мар 2008, 08:44

steel_monkey писал(а):Я немного не понял, Т это количество кликов или именно тактов контроллера? То есть у Вас получается по сути алгоритм, похожий на мой, но с линейным ускорением/замедлением без привязки к пройденному расстоянию?
В принципе, я задаю скорость и её отрабатываю. Формально у меня пока формат такой: (скорость левого колеса, скорость правого колеса, время движения с установленной скоростью в тактах МК).
Мне вот больше интересен сам алгоритм низкого уровня. Вообще у меня такая идея- ввести в ПИД-алгоритм регулирования моторами попроавку, отвечающую за раность хода колес. Она при постоянной сорости движения получается линейно нарастающей. Написать что-то типа ШИМ следующий= ШИМ предыдущий +(-) (член, отвечающий за скорость) +(-) член, отвечающий за путь. По сути это линейный и интегральный член формулы пропорционального у правления. Беда в том, что функция и интеграл получаются зависимыми, и управлять придется разностью путей колес. Тогда какое-то колесо берется "опорным", а второе тормозится/ускоряеся согласно требованиям скорости и разности путей. Короче, надо подумать :crazy:
Хотя конечно, при отличии на порядок (10 и 120 дискретов на оборот), говорить о сколько-нибудь корректном сравнении трудно.

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

Re: О правильной одометрии

Сообщение Виталий » 14 мар 2008, 14:10

А мне вот интересно другое. Как робот будет действовать и зачем ему нужна одометрия.
Т.е. по схеме, оценил ситуацию, сделал расчет траектории, выполнил. Это модель с планированием.
Есть другая модель - реактивная. Т.е. робот отвечает только на внешние реакции... помеха справа - едем влево, еще ближе справа - быстрее влево. В таком случае одометрия не нужна, так вот встает вопрос, а в чем преимущества первого варианта над вторым?
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: О правильной одометрии

Сообщение =DeaD= » 14 мар 2008, 17:14

В оптимальности :), например, Дейкстра оптимальнее поиска пути перебором;
Последний раз редактировалось Digit 14 мар 2008, 17:56, всего редактировалось 1 раз.
Причина: ЦИТАТА! :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: О правильной одометрии

Сообщение Duhas » 14 мар 2008, 17:58

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

Re: О правильной одометрии

Сообщение =DeaD= » 14 мар 2008, 23:37

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

Re: О правильной одометрии

Сообщение steel_monkey » 15 мар 2008, 00:26

Вообще задача в даннм случае совершенно академическая- каким образом наиболее точно рулить простейшей платформой. Вообе, проще по частям отлачивать куски сложного кода, а потом уже сшивать их, чем писать все сразу, и ловить косяки одних частей, проявляющиеся в других.
А вообще, изначально на роботе планировалось поставить еще и фототранзисторы на видимый диапазон и искать максимум интенсивности, но не просто идя на максимум, а объезжая некоторую поверхность и возвращаясь в точку с максимальной освещенностью. Тут без точного позиционирования никак.. Но, чуствую, хрен у меня такая штука выйдет. Просто на свет рулить это, конечно, не то.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: О правильной одометрии

Сообщение Duhas » 15 мар 2008, 11:59

2Dead, все просто:
- робот может оценить -> планирование
- не может оценить пространство = данных для планирования нету -> реакции

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

Re: О правильной одометрии

Сообщение steel_monkey » 15 мар 2008, 17:29

Ну с шаговиками это уже не бюджетный вариант... Можно хоть гироскопчик простой туда вставить- вообще проблем не будет.
Кстати, бюджетный гироскоп не должен стоить дорого. Они ж в любом РУ вертолете есть. Считайте, какую часть стоимости он составляет в стодоллоровом сооснике- мизер.
Мне просто наиболее простой вариант интересен.

Добавлено спустя 2 часа 25 минут 32 секунды:
Вскрыл свою стрекозу, нашел гироскоп. Поискал в инете-датчик стоит около 700 рублев :o , Мурата. Появилась идея купить паленый 4-в-1 на РЦфоруме и разобрать. Пойду узнаю, за сколько продают.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: О правильной одометрии

Сообщение steel_monkey » 16 мар 2008, 03:43

В общем, примерно оценить точность управления можно так- запустить движение типа вперед, сильно влево, сильно вправо, вперед. И сравнить начальные и конечные направления. У меня в повороте лево-право примерно 15 градусов ошибка, в повороте право-лево много меньше (трудно оценить, на глаз не видна). Станно видеть такое отличие, из общих соображений уходить должно одинаково. Может третья опора находится не строго по центру. Хотя я эту опору , изначально состоящую из двух колес параллельно, заменил на светодиод ( линзой вниз, по хорошему покрытию ездит), хочу вообще поставить туда что-то типа шарика от мышки в своем подвесе- чтобы была иедеальная вращающаяся опора. Может поможет.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: О правильной одометрии

Сообщение Duhas » 17 мар 2008, 02:43

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

Re: О правильной одометрии

Сообщение steel_monkey » 17 мар 2008, 02:50

Мммммможно ссылку? Готов уплатить втрое.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: О правильной одометрии

Сообщение Duhas » 17 мар 2008, 03:34

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

Re: О правильной одометрии

Сообщение steel_monkey » 17 мар 2008, 04:39

Это что, типа гирокомпас аля волчок, пока вращается указывает направление? :lol:
Я не видел в инете муратовкий ENC-03R дешевле семи сотен, и нигде нет в наличии. Очень странно видеть такие цены.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: О правильной одометрии

Сообщение Duhas » 18 мар 2008, 16:06

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

Пред.След.

Вернуться в Микроконтроллеры

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

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