roboforum.ru

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

Навигация

Навигация

mandigit » 01 дек 2006, 10:42

Имеется робот:
два независимых колеса, третье подруливающее.

Начальное местоположение x0, y0, робот находится под углом u0

подаем на колеса скорость s0, s1 на время dt (база между колесами d)

Вопрос:
местоположение робота (x1, y1, u1)?

Myp » 01 дек 2006, 20:34

а хз
это как повезёт=))

Myp » 01 дек 2006, 23:46

а вобще
бред какойто :lol:

во первых под углом к чему?? к холодильнику или дивану??
или у него это азимут такой?

во вторых
подавать скорость на колёса =)))
скорость можно измерить, а подать затруднительно, можно разве что вращающий момент приложить...
к тому же не задан диаметр колёс а это важно.

и в третьих
чё за dt ???? как можно умножать время на колёсную базу? :shock:

и в пятых
третье колесо действительно подруливающее??
тоесть оно во время движения подруливает?? тады надо добавить в формулу s2 скорость подруливания.
но я думаю тут просто ошибка и третье колесо на самом деле просто обычное опорное=)

=DeaD= » 02 дек 2006, 09:53

Myp писал(а):а вобще
бред какойто :lol:

Эт с чего?

Myp писал(а):во первых под углом к чему?? к холодильнику или дивану?? или у него это азимут такой?

А есть разница? Да хоть к экватору.

Myp писал(а):во вторых
подавать скорость на колёса =)))
скорость можно измерить, а подать затруднительно, можно разве что вращающий момент приложить...
к тому же не задан диаметр колёс а это важно.

Педант!  :lol:

Myp писал(а):и в третьих
чё за dt ???? как можно умножать время на колёсную базу? :shock:

Всегда вроде dt было приращением по времени, а не произведением D*T, как вам неожиданно показалось. Опять же - с чего вы тогда тут решили что t это время? может это вообще коэффициент у него такой? :)))

Myp писал(а):и в пятых
третье колесо действительно подруливающее??
тоесть оно во время движения подруливает?? тады надо добавить в формулу s2 скорость подруливания.
но я думаю тут просто ошибка и третье колесо на самом деле просто обычное опорное=)

Это что еще за фуфел - скорость подруливания? :) сами придумали? :)

Myp » 02 дек 2006, 11:35

ну а чё чё может быть у подруливающего колеса? =)
скорость подруливания


на время dt (база между колесами d)

но ведь так написано спецально в скобочках что d это не дельта как может показатся а именно колёсная база :lol:

Vovan » 02 дек 2006, 12:25

Ну задачка-то простая, только условие, мягко говоря, корявое.
Ответ:
Х1=Х0; У1=У0; U1=S1*t/d (радиан) (ответ строго в соответствии с условием задачи!)
Объяснение: если введены Х0 и У0 значит S0 тоже ноль, следовательно робот просто поворачивается на месте в точке Х0 и У0  на угол U1 который высчитывается по приведённой, выше, формуле.
Примечание:
если есть желание получить корректный ответ на заданный вопрос, рекомендую задавать корректный вопрос, причём желательно, в соответствии с общепринятыми обозначениями, такими как скорость она и в Африке V, путь он и в Азии S, радиус он на всей Земле R, углы (ну нет тут шрифта альфа, бета, гамма...) уж ладно a,b и т.д... к времени (t) претензий нет :)
Если же ответ не интересует, то вопрос лучше не задавать. :D
___________
С уважением
Vovan

Re: Навигация

GraphD » 02 дек 2006, 14:27

mandigit писал(а):Имеется робот:
два независимых колеса, третье подруливающее.

Начальное местоположение x0, y0, робот находится под углом u0

подаем на колеса скорость s0, s1 на время dt (база между колесами d)

Вопрос:
местоположение робота (x1, y1, u1)?


Если это то, что я подумал, то помоему решение такое (см. рис., радиус колеса R, омеги - угловые скорости, которые имеют колеса, фи - угол наклона системы)
Вложения
coleso.gif
Последний раз редактировалось GraphD 02 дек 2006, 21:15, всего редактировалось 1 раз.

D-M » 02 дек 2006, 15:23

вот это тоже посмотри
Вложения
Динамика мобильных роботов.pdf
Динамика мобильных роботов
(146.65 КиБ) Скачиваний: 195

=DeaD= » 02 дек 2006, 19:14

Ну вот вам мой вариант приближенного ответа при малом dt :)

Если s0,s1 - скорости колеса в смысле по поверхности (то есть скорость движения точки на поверхности колеса), тогда ответ такой:

u1=u0+(s0-s1)*dt/d;
x1=x0+cos((u1+u0)/2)*dt*(s1+s2)/2
y1=y0+sin((u1+u0)/2)*dt*(s1+s2)/2

GraphD » 02 дек 2006, 20:43

=DeaD= писал(а):Ну вот вам мой вариант приближенного ответа при малом dt :)

Если s0,s1 - скорости колеса в смысле по поверхности (то есть скорость движения точки на поверхности колеса),


это относительно чего скорость?
Последний раз редактировалось GraphD 02 дек 2006, 21:05, всего редактировалось 1 раз.

=DeaD= » 02 дек 2006, 20:58

GraphD писал(а):
=DeaD= писал(а):Ну вот вам мой вариант приближенного ответа при малом dt :)

Если s0,s1 - скорости колеса в смысле по поверхности (то есть скорость движения точки на поверхности колеса),


что за скорость?????????
точнее относительно чего?

Ну левое колесо катится вперед со скоростью 1м/с - вот это скорость.
Соответственно когда назад, то -1м/с.

GraphD » 02 дек 2006, 21:08

=DeaD= писал(а):Ну левое колесо катится вперед со скоростью 1м/с - вот это скорость.
Соответственно когда назад, то -1м/с.

а понятно. линейная, все правильно.
у меня ошибка
u1 = u0 + R(w2-w1)t/d - так должно быть в случае угловых скоростей.
а весь вывод свой можешь запостить?

=DeaD= » 02 дек 2006, 23:42

GraphD писал(а):а понятно. линейная, все правильно.
у меня ошибка
u1 = u0 + R(w2-w1)t/d - так должно быть в случае угловых скоростей.
а весь вывод свой можешь запостить?

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

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

GraphD » 03 дек 2006, 08:50

=DeaD= писал(а):А что именно вызывает вопросы? У меня нет никакого вывода, это я сразу написал исходя из общих рассуждений, но какие нужно части могу подробно расписать.

>> u1=u0+(s0-s1)*dt/d;
ну это понятно

>> x1=x0+cos((u1+u0)/2)*dt*(s1+s2)/2
>> y1=y0+sin((u1+u0)/2)*dt*(s1+s2)/2
а тут в чем логика... как такое вывести из интуиции непонятно. я б такое сразу не вывел, а тем более как приближенное решение.

=DeaD= » 03 дек 2006, 10:27

GraphD писал(а):>> x1=x0+cos((u1+u0)/2)*dt*(s1+s2)/2
>> y1=y0+sin((u1+u0)/2)*dt*(s1+s2)/2
а тут в чем логика... как такое вывести из интуиции непонятно. я б такое сразу не вывел, а тем более как приближенное решение.

Ну как в чем - мы аппроксимируем траекторию отрезком.
Угол его наклона - это средний угол наклона по траектории. Так как он меняется плавно, то берем среднее арифметическое между начальным и конечным углом, то есть (u1+u0).

Дальше - откуда я нарыл (s1+s2)/2:

Чуть сложнее. Будем считать что наш минимальный квант движения мы разложим на 3 микрохода:
1. Развернуться на месте на половину угла;
2. Проехаться по прямой;
3. Развернуться на оставшуюся половину угла;

То есть (s1,s2) мы раскладываем на (a,-a)+(b,b)
и делаем ходы (a/2,-a/2), (b,b), (a/2,-a/2).

Из уравнения очевидным образом вытекает, что b=(s0+s2)/2

Кстати, именно эти 3 микрохода и приведут к указанным мною выше формулам.

Это как я оценивал из интуиции.

Теперь точное решение.

Скорость средней точки отрезка есть среднее скоростей её концов, легко считается из уравнений физической связи:

d(yCenter)=d((y0+y1)/2)=(d(y0)+d(y1))/2


cron
Rambler\'s Top100 Mail.ru counter