이륜 로봇에 적합한 모델은 무엇입니까?


30

이륜 로봇에 적합한 모델은 무엇입니까? 즉, 어떤 운동 방정식이 2 륜 로봇의 역학을 설명합니다.

다양한 충실도의 모델을 환영합니다. 여기에는 비선형 모델과 선형화 된 모델이 포함됩니다.


1
이 질문은 매우 광범위 해 보입니다. "운동 방정식"을 설명하는 위키피디아 기사 (예 : 기사)에 연결하면 도움이됩니다. 또한 로봇을보다 구체적으로 지정해야합니다. 예를 들어 패시브 휠이 있습니까? 두 바퀴의 유형은 무엇입니까? 등
Shahbaz

1
자전거 스타일이나 세그웨이 스타일? 더 구체적이어야합니다.
Paul

답변:


23

여기에 많은 정보가 없습니다. 휠을 거리 로 분리하여 고정 시키고 각 휠은 ​​휠을 연결하는 선에 대해 방향 θ i 를 갖 습니다. 그런 다음 각 바퀴가 각속도 v i 로 독립적으로 구동 될 수 있다고 가정합니다 .bθivi

바퀴가 독립적으로 구동하지만 방향으로 고정하는 경우, , 차등 드라이브 (탱크 자국) 같은 것을 가지고있다. 바퀴가 방향에 따라 수직으로 미끄러지지 않는다고 가정하면 작은 시간 동안 고정되는 속도 명령이 주어지면 닫힌 형태로 로봇베이스의 움직임을 해결할 수 있습니다 (일반적으로 소프트웨어에서 로봇의 경우와 같이) 제어). iCreate는 더 작은 개척자 및 Clearpath의 Husky와 같은 플랫폼입니다. 그런 다음 아래 θ로 표시된 받침대 방향의 변화 를 닫힌 형태로 찾을 수 있습니다.θ1=θ2=90θ

...

가 기본 속도이고 ω b 가 기본 각속도 인 이러한 것들에 대한 일반적인 모델은 다음 과 같습니다.vbωb

ωb=1

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

고정 시간 증분 경우 방향의 변화와이를 사용하여 이동 한 선형 거리를 찾을 수 있습니다. 이 시간 창에서 로봇은 원을 따라 이동합니다. 원을 따른 거리는 정확히 δ t v b 이고 원의 반지름은 R = b입니다.δtδtvb . : 즉, 이들 식에 연결하도록 충분히원형 세그먼트- 원래 위치에서의 거리를 로봇의 변위를 설명 특히 현 길이 방정식. 우리는 알고있다Rθ를위한 해결R=b2v1+v2v2v1Rθa .

따라서 로봇이 방향 시작 하고 위치 ( 0 , 0 ) 로 시작하고 속도 v 1 (왼쪽 바퀴) 및 v 2 (오른쪽 바퀴)의 시간 창 δ t 을 따라 이동 하면 방향은 다음과 같습니다. θ 1 = δ t0(0,0)δtv1v2위치가 다음과 같은 b (v2-v1): px=cos( θ 1

θ1=δtb(v2v1)
px=cos(θ12)(2Rsin(θ12))
py=sin(θ12)(2Rsin(θ12))

v1v2=v

px=δtv
py=0

예상대로.

업데이트 ?.

px

px=cos(v2v12b)2(bv1+v22(v2v1))sin(v2v12b)

px=cos(v2v12b)(v2+v1)2sin(v2v12b)v2v12b

Now note that we have three limits as v2v1.

cos(v2v12b)1

(v2+v1)2v1==v2

sin(v2v12b)v2v12b1 (see sinc function)

This is covered all over the internet, but you might start here: http://rossum.sourceforge.net/papers/DiffSteer/ or here: https://web.cecs.pdx.edu/~mperkows/CLASS_479/S2006/kinematics-mobot.pdf

If the wheels are not fixed in direction, as in you can vary the speed and orientation, it gets more complicated. In that sense, a robot can become essentially holonomic (it can move in arbitrary directions and orientations on the plane). However, I bet for fixed orientation, you end up with the same model.

There are other models for two wheels, such as a bicycle model, which is easy to imagine as setting the velocities, and only varying one orientation.

That's the best I can do for now.


1
Maybe I am a bit late but can not see why Px=dt*v if v1 = v2. We have sin(theta/2) as a part of multiplication therefore, when v1=v2 -> theta = 0, we get sin(0/2)=0 and as a consequence Px = 0. What I am missing?
Long Smith

In practice, just use the equations if θ0. To answer your question, I've updated the answer.
Josh Vander Hook

4

If you really want to dive into the mathematics of it, here's the seminal paper that unified and categorized most models for wheeled robots.


2
I'm sorry, link-only answers are discouraged on StackExchange. Could you perhaps condense the content of that link into a few paragraphs and keep it here (along with the actual link, of course). This helps prevent link rot.
Manishearth

Sure thing, I'll do that as soon as I have enough time for it this week. Sorry about that, I wasn't aware about this policy and thought the link would be useful as is.
georgebrindeiro

Excellent paper - thanks for the link! Quite a long weekend as well :-)
uhoh

0

The answer to this is simple, but the other answers obfuscate the dynamics.

Differential drive robots can be modeled with unicycle dynamics of the form:

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω],
where x and y are Cartesian coordinates of the robot, and θ(π,π] is the angle between the heading and the x-axis. The input vector [v,ω]T consists of linear and angular velocity inputs.

-1 This is merely a transformation between different coordinates. It doesn't model the dynamics of the robot at all as requested in the question. The "obfuscation" of the other answers is because they take into account that there are two wheels to control and not some abstract input vector. Such a vector could be the result of a model as requested in the question.
Bending Unit 22

The model that I have presented addresses the prompt, adds to the discussion, and is, in fact, a model of the dynamics of a non-holonomic differential drive robot (though not necessarily two-wheeled, which is a strength). While the input velocity vector (aka twist) may be an abstraction, using the twist input is standard for many two-wheeled platforms. This does, however, highlight the fact that state space representations are arbitrary. Controlling wheel velocities is an abstraction from controlling wheel torques, which is itself an abstraction from controlling motor currents.
JSycamore
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.