Какая модель подходит для двухколесных роботов?


30

Какая модель подходит для двухколесных роботов? То есть какими уравнениями движения описывается динамика двухколесного робота.

Модели разной верности приветствуются. Это включает в себя нелинейные модели, а также линеаризованные модели.


1
Этот вопрос кажется очень широким. Было бы полезно, если бы вы связали «уравнения движения» со статьей в Википедии (например), которая описывает, что это такое. Также вам следует указать робота более конкретно. Например, есть ли пассивные колеса? Какие бывают два колеса? и т. д.
Шахбаз

1
Велосипедный стиль или стиль сегвей? Вы должны быть более конкретными.
Пол

Ответы:


23

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

Если колеса приводятся в движение независимо, но фиксируются в направлении, , у вас есть что-то вроде дифференциального привода (ступени бака). Стоит отметить, что, предполагая, что колеса не скользят перпендикулярно их ориентации, вы можете решить для движения базы робота в закрытом виде, учитывая команды скорости, которые фиксированы в течение небольшого промежутка времени (как это обычно бывает с роботами под программным обеспечением). контроль). ICreate - такая же платформа, как и пионеры меньшего размера, и Husky от Clearpath. Тогда изменение ориентации основания, обозначенное θ ниже, может быть найдено в закрытом виде.θ1=θ2=90θ

...

Обычная модель для этих вещей, где - базовая скорость, а ω b - угловая скорость базы:vbωb

ωb=1

vb=12(v1+v2)
ωb=1b(v2v1)

Для фиксированного приращения времени, , вы можете найти изменение ориентации и линейного расстояния, пройденного с помощью них. Обратите внимание, что робот перемещается по кругу в этом временном окне. Расстояние по кругу в точности равно δ t v b , а радиус круга равен R = bδtδtvb . Этого достаточно, чтобы включить в эти уравнения:круговые сегменты- в частности, уравнение длины хорды, которое описывает расстояние, которое робот смещает от своего первоначального местоположения. Мы знаемRиθ, решаем дляa.рзнак равноб2v1+v2v2-v1рθa

Таким образом, предполагая, что робот начинает с ориентации и положения ( 0 , 0 ) и движется вдоль временного окна δ t со скоростями v 1 (левое колесо) и v 2 (правое колесо), его ориентация будет: θ 1 = δ t0(0,0)δTv1v2с положением: px=cos( θ 1

θ1знак равноδTб(v2-v1)
py=sin(θ1
пИксзнак равносоз(θ12)(2ргрех(θ12))
пYзнак равногрех(θ12)(2ргрех(θ12))

Обратите внимание, что при предел равен p x = δ t v p y = 0v1v2знак равноv

пИксзнак равноδTv
пYзнак равно0

как и ожидалось.

Обновить почему?

пИкс

пИксзнак равносоs(v2-v12б)*2*(бv1+v22(v2-v1))*sяN(v2-v12б)

пИксзнак равносоs(v2-v12б)*(v2+v1)2*sяN(v2-v12б)v2-v12б

v2v1

соs(v2-v12б)1

(v2+v1)2v1==v2

sяN(v2-v12б)v2-v12б1 (см. функцию Sinc)

Это рассматривается во всем Интернете, но вы можете начать здесь: http://rossum.sourceforge.net/papers/DiffSteer/ или здесь: https://web.cecs.pdx.edu/~mperkows/CLASS_479/S2006/ кинематика-mobot.pdf

Если колеса не зафиксированы по направлению, так как у вас могут меняться скорость и ориентация, это усложняется. В этом смысле робот может стать по существу голономным (он может двигаться в произвольных направлениях и ориентациях на плоскости). Тем не менее, я держу пари, что для фиксированной ориентации, вы в конечном итоге с той же моделью.

Существуют и другие модели для двух колес, например модель велосипеда, которую легко представить как устанавливающую скорость и изменяющую только одну ориентацию.

Это лучшее, что я могу сделать сейчас.


1
Может быть, я немного опоздал, но не могу понять, почему, Px=dt*vесли v1 = v2. Мы имеем sin(theta/2)в качестве части умножения, поэтому, когда v1=v2 -> theta = 0мы получаем sin(0/2)=0и, как следствие Px = 0. Чего мне не хватает?
Лонг Смит

θ0

4

Если вы действительно хотите погрузиться в математику этого, вот основополагающий документ, который объединил и классифицировал большинство моделей для колесных роботов.


2
Извините, ответы только на ссылки не рекомендуется использовать в StackExchange. Не могли бы вы, возможно, сжать содержание этой ссылки в несколько абзацев и сохранить его здесь (вместе с реальной ссылкой, конечно). Это помогает предотвратить гниение ссылок.
Manishearth

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

Отличная статья - спасибо за ссылку! Довольно длинные выходные , а также :-)
UHOH

0

Ответ на этот вопрос прост, но другие ответы запутывают динамику.

[Икс˙Y˙θ˙]знак равно[соs(θ)0sяN(θ)001][vω],
ИксYθ(-π,π]Икс[v,ω]T

-1 Это просто трансформация между разными координатами. Он не моделирует динамику робота вообще, как того требует вопрос. « Обфускация » других ответов заключается в том, что они принимают во внимание, что есть два колеса для управления, а не какой-то абстрактный входной вектор. Такой вектор может быть результатом модели в соответствии с запросом в вопросе.
Блок гибки 22

Модель, которую я представил, обращается к подсказке, добавляет к обсуждению и, фактически, представляет собой модель динамики робота с неголономным дифференциальным приводом (хотя и не обязательно двухколесного, что является сильной стороной). Несмотря на то, что входной вектор скорости (он же поворот) может быть абстракцией, использование закручивания является стандартным для многих двухколесных платформ. Это, однако, подчеркивает тот факт, что представления в пространстве состояний являются произвольными. Управление скоростью вращения колес является абстракцией от управления крутящими моментами колес, что само по себе является абстракцией от управления токами двигателя.
JSycamore
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.