Технический форум по робототехнике.
steel_monkey » 14 мар 2008, 01:31
Я немного не понял, Т это количество кликов или именно тактов контроллера? То есть у Вас получается по сути алгоритм, похожий на мой, но с линейным ускорением/замедлением без привязки к пройденному расстоянию?
В принципе, я задаю скорость и её отрабатываю. Формально у меня пока формат такой: (скорость левого колеса, скорость правого колеса, время движения с установленной скоростью в тактах МК).
Мне вот больше интересен сам алгоритм низкого уровня. Вообще у меня такая идея- ввести в ПИД-алгоритм регулирования моторами попроавку, отвечающую за раность хода колес. Она при постоянной сорости движения получается линейно нарастающей. Написать что-то типа ШИМ следующий= ШИМ предыдущий +(-) (член, отвечающий за скорость) +(-) член, отвечающий за путь. По сути это линейный и интегральный член формулы пропорционального у правления. Беда в том, что функция и интеграл получаются зависимыми, и управлять придется разностью путей колес. Тогда какое-то колесо берется "опорным", а второе тормозится/ускоряеся согласно требованиям скорости
и разности путей. Короче, надо подумать
Хотя конечно, при отличии на порядок (10 и 120 дискретов на оборот), говорить о сколько-нибудь корректном сравнении трудно.
=DeaD= » 14 мар 2008, 08:44
steel_monkey писал(а):Я немного не понял, Т это количество кликов или именно тактов контроллера? То есть у Вас получается по сути алгоритм, похожий на мой, но с линейным ускорением/замедлением без привязки к пройденному расстоянию?
В принципе, я задаю скорость и её отрабатываю. Формально у меня пока формат такой: (скорость левого колеса, скорость правого колеса, время движения с установленной скоростью в тактах МК).
Мне вот больше интересен сам алгоритм низкого уровня. Вообще у меня такая идея- ввести в ПИД-алгоритм регулирования моторами попроавку, отвечающую за раность хода колес. Она при постоянной сорости движения получается линейно нарастающей. Написать что-то типа ШИМ следующий= ШИМ предыдущий +(-) (член, отвечающий за скорость) +(-) член, отвечающий за путь. По сути это линейный и интегральный член формулы пропорционального у правления. Беда в том, что функция и интеграл получаются зависимыми, и управлять придется разностью путей колес. Тогда какое-то колесо берется "опорным", а второе тормозится/ускоряеся согласно требованиям скорости
и разности путей. Короче, надо подумать
Хотя конечно, при отличии на порядок (10 и 120 дискретов на оборот), говорить о сколько-нибудь корректном сравнении трудно.
Вообще привязку к расстоянию я делаю, но только внутри, то есть я контроллирую, чтобы в каждый момент времени пройденное расстояние было правильным, и лишь во вторую очередь - скорость чтобы была правильной. Но в командах явно расстояние не задаю.
Про пару колёс и проблемы с тем, что одно из них разгонять уже некуда, а не успевает именно оно - есть такое. Решения тут два:
1. Простое - не подходить близко к верхней границе по скорости;
2. Сложное - написать хитровыдуманный алгоритм искажения команды, не искажающий траекторию, однако при этом надо отбиваться в верхний уровень, что начинаем тупить и ехать дольше положенного.
Виталий » 14 мар 2008, 14:10
А мне вот интересно другое. Как робот будет действовать и зачем ему нужна одометрия.
Т.е. по схеме, оценил ситуацию, сделал расчет траектории, выполнил. Это модель с планированием.
Есть другая модель - реактивная. Т.е. робот отвечает только на внешние реакции... помеха справа - едем влево, еще ближе справа - быстрее влево. В таком случае одометрия не нужна, так вот встает вопрос, а в чем преимущества первого варианта над вторым?
=DeaD= » 14 мар 2008, 17:14
В оптимальности

, например, Дейкстра оптимальнее поиска пути перебором;
Последний раз редактировалось
Digit 14 мар 2008, 17:56, всего редактировалось 1 раз.
Причина: ЦИТАТА! :)
Duhas » 14 мар 2008, 17:58
вопрос в том что мы делаем, если робот сможет оценить окр пр-во на то сможет ли он проехать там-то и там-то, тогда планирование рулит... если же у нас колесная платформа, задачи которой мне не ясны, то реактивное поведение будет предпочтительней..
=DeaD= » 14 мар 2008, 23:37
2Duhas: Я не понимаю, как вы можете указывать какое поведение предпочтительней, если задачи вам не ясны?

steel_monkey » 15 мар 2008, 00:26
Вообще задача в даннм случае совершенно академическая- каким образом наиболее точно рулить простейшей платформой. Вообе, проще по частям отлачивать куски сложного кода, а потом уже сшивать их, чем писать все сразу, и ловить косяки одних частей, проявляющиеся в других.
А вообще, изначально на роботе планировалось поставить еще и фототранзисторы на видимый диапазон и искать максимум интенсивности, но не просто идя на максимум, а объезжая некоторую поверхность и возвращаясь в точку с максимальной освещенностью. Тут без точного позиционирования никак.. Но, чуствую, хрен у меня такая штука выйдет. Просто на свет рулить это, конечно, не то.
Duhas » 15 мар 2008, 11:59
2Dead, все просто:
- робот может оценить -> планирование
- не может оценить пространство = данных для планирования нету -> реакции
2steel_monkey, такая задача и мне интересна, только я буду пользовать шаговики.. может скоро испытания начну.. а то как пересел на ноут шить пока нечем (
steel_monkey » 15 мар 2008, 17:29
Ну с шаговиками это уже не бюджетный вариант... Можно хоть гироскопчик простой туда вставить- вообще проблем не будет.
Кстати, бюджетный гироскоп не должен стоить дорого. Они ж в любом РУ вертолете есть. Считайте, какую часть стоимости он составляет в стодоллоровом сооснике- мизер.
Мне просто наиболее простой вариант интересен.
Добавлено спустя 2 часа 25 минут 32 секунды:Вскрыл свою стрекозу, нашел гироскоп. Поискал в инете-датчик стоит около 700 рублев

, Мурата. Появилась идея купить паленый 4-в-1 на РЦфоруме и разобрать. Пойду узнаю, за сколько продают.
steel_monkey » 16 мар 2008, 03:43
В общем, примерно оценить точность управления можно так- запустить движение типа вперед, сильно влево, сильно вправо, вперед. И сравнить начальные и конечные направления. У меня в повороте лево-право примерно 15 градусов ошибка, в повороте право-лево много меньше (трудно оценить, на глаз не видна). Станно видеть такое отличие, из общих соображений уходить должно одинаково. Может третья опора находится не строго по центру. Хотя я эту опору , изначально состоящую из двух колес параллельно, заменил на светодиод ( линзой вниз, по хорошему покрытию ездит), хочу вообще поставить туда что-то типа шарика от мышки в своем подвесе- чтобы была иедеальная вращающаяся опора. Может поможет.
Duhas » 17 мар 2008, 02:43
ну на счет бюджетности не сказать ... покупается за 50 рублей штучка )
steel_monkey » 17 мар 2008, 02:50
Мммммможно ссылку? Готов уплатить втрое.
Duhas » 17 мар 2008, 03:34
кхм.. у мну на радиорынке банчит б\ушными .. и в магазинчике одном мелком тоже по полтиннику продают ... в инете находил рублей по 300...
steel_monkey » 17 мар 2008, 04:39
Это что, типа гирокомпас аля волчок, пока вращается указывает направление?
Я не видел в инете муратовкий ENC-03R дешевле семи сотен, и нигде нет в наличии. Очень странно видеть такие цены.
Duhas » 18 мар 2008, 16:06
елки, я про шаговики )))