Универсальный протокол для управления шасси робота - вар. 1

Обсуждаем рождающиеся мысли и результаты экспериментов.

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение Виталий » 02 сен 2008, 11:32

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение =DeaD= » 02 сен 2008, 12:00

Виталий писал(а):Очередь... А вот интересно, зачем она?

Затем чтобы можно было сложный маневр провести без остановки и не ловить при этом момент головным контроллером, когда надо перейти к следующему элементу движения.

Добавлено спустя 12 минут 37 секунд:
2vintch: Ты окончательно взорвал мой мозг. Я не понял как планировать движение твоим способом. Если у меня левое колесо прошло 10м и правое 10м - из этого невозможно точно определить где я сейчас, из этого можно только определить куда я сейчас повернут и отрезок в пространстве где я могу находится. И что за многовариантность пакетов тоже не понял, если ты считаешь что какой-то пакет может быть избыточен - ок, тогда напиши самый избыточный пакет и формулы как будет зависеть пройденное расстояние каждым колесом с начала маневра, скорость каждого колеса в каждый момент времени и продолжительность маневра от параметров твоей команды.

Моя команда (Ls,Rs,Lf,Rf,T);
Время выполнения команды: T
В момент времени t из отрезка [0,T] скорости левого и правого колёс speedL(t)=(Lf-Ls)*t/T+Ls и speedR(t)=(Rf-Rs)*t/T+Rs соответственно. Аналогично - расстояния пройденные колесами с начала маневра: distL(t)=t*Ls+t*t*(Lf-Ls)/2/T и distR(t)=t*Rs+t*t*(Rf-Rs)/2/T.

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение vintch » 02 сен 2008, 12:58

2vintch: Ты окончательно взорвал мой мозг.

Я старался :ROFL: :D :crazy:

Смотри. Давай условно представим очередь:
|0/дистанция колеса 1||1/дистанция колеса 1||2/дистанция колеса 1|
|0/дистанция колеса 2||1/дистанция колеса 2||2/дистанция колеса 2|
0, 1 и 2 - это просто номера элементов очереди.
А теперь давай её поместим на некую шкалу времени t. (Это только условно, просто для объяснения, т.к. время здесь не играет никакой роли.) И что мы получаем - у нас есть три отрезка времени, в каждом из которых колёса начинают одновременно и равномерно ускоряться до конечной скорости, а после, в зависимости от дистанции, начинают замедляться и останавливаться. Если дистанции были равны, то и бот проедет прямой отрезок пути. Если же не равны - будет дуга. Если какае-то из них нулевая - будет поворот (ну тоже дуга по-сути). Если какае-то отрицательна - будет просто разворот. То есть маневр разбивается на вот такие участки и передаётся контроллеру. После завершения каждого такого участка мы точно знаем где находится бот. Где здесь проблема?
vintch
 
Сообщения: 19
Зарегистрирован: 03 апр 2008, 14:46

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение =DeaD= » 02 сен 2008, 13:07

2vintch: Да здесь целых 5 проблем:
1. Невозможно осуществить поворот на ходу;
2. Невозможно совершать ряд маневров допустимых в моём варианте;
3. Движение будет рубленным. То есть с кучей остановок, разгонов и торможений, а это тупо неэффективно, хотя и примитивно;
4. Мой протокол может эмулировать твой, а наоборот нет;
5. Мой протокол проще в реализации на МК.

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение vintch » 02 сен 2008, 13:17

2=DeaD=

Тупо согласен. Точка. :Bravo: :beer: :friends:
vintch
 
Сообщения: 19
Зарегистрирован: 03 апр 2008, 14:46

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение =DeaD= » 02 сен 2008, 14:42

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение vintch » 02 сен 2008, 18:12

:ROFL: :ROFL: да уж :D
Нет, ну правда, мне даже сказать нечего) ты просто прав :) А свои взгляды и мысли я естесственно пересмотрел, иначе вот так вот бы легко не согласился :crazy:
vintch
 
Сообщения: 19
Зарегистрирован: 03 апр 2008, 14:46

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение Виталий » 04 сен 2008, 13:24

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение =DeaD= » 04 сен 2008, 13:58

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

Это как конкретно? Если x(t) и y(t) принять вида a0+t*a1+t^2*a2+t^3*a3+...+t^n*an - так чтоли?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение Виталий » 04 сен 2008, 20:29

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение =DeaD= » 04 сен 2008, 20:37

И чего теперь аппроксимировать окружности полиномами на ходу? Да-ссс, вы батенька гурман-ссс.... :)

Добавлено спустя 2 минуты 16 секунд:
Страшно представить функцию проверяющую допустимость команды (т.е. что нигде скорость не превышает заданную) ну или оценивающую время выполнения команды - это ж интегрирование численое надо мутить...

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение Виталий » 04 сен 2008, 22:42

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение vintch » 05 сен 2008, 15:02

Слушай, =DeaD=, а я тут вот что подумал... Как-то раньше совсем пропустил мимо. А как насчёт точности?
Ведь скорость может определяться с достаточной погрешностью, и если мы будем задавать дистанции только по времени, мы будем сильно мазать. Может как-то всё-же добавить контроль по расстоянию?

Может на небольших шасси это не будет сильно заметно, но что-то мне подсказывает, что на большом боте погрешность будет очеень значительной. Ну хотя-бы моменты разгон-остановка. Там ведь скорость нелинейна и даже если достаточно часто её корректировать (измерять) - то погрешность будет не маленькой.
Последний раз редактировалось vintch 05 сен 2008, 15:05, всего редактировалось 1 раз.
vintch
 
Сообщения: 19
Зарегистрирован: 03 апр 2008, 14:46

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение =DeaD= » 05 сен 2008, 15:06

2vintch: А я где-то сказал, что мы не следим за расстоянием которое должны были пройти? :)
У меня наоборот даже с предыдущего маневра если он закончился с погрешностью - она переходит к следующему маневру, чтобы мы там выровнялись, если следующий маневр есть в очереди.

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

Re: Универсальный протокол для управления шасси робота - вар. 1

Сообщение vintch » 05 сен 2008, 15:06

2=DeaD=

Нет. Ты просто нигде не сказал, что мы за ним следим :D
Каким образом, если не секрет?
vintch
 
Сообщения: 19
Зарегистрирован: 03 апр 2008, 14:46

Пред.След.

Вернуться в Идеи

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

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