二輪ロボットに適したモデルは何ですか?


30

二輪ロボットに適したモデルは何ですか?つまり、どの運動方程式が二輪ロボットのダイナミクスを表しているのかということです。

さまざまな忠実度のモデルを歓迎します。これには、非線形モデルと線形化モデルが含まれます。


1
この質問は非常に広いようです。「運動方程式」を、それが何であるかを説明するウィキペディアの記事(たとえば)にリンクすると役立ちます。また、ロボットをより具体的に指定する必要があります。たとえば、パッシブホイールはありますか?2つのホイールのタイプは何ですか?など
シャーバズ

1
自転車スタイルですか、セグウェイスタイルですか?より具体的にする必要があります。
ポール

回答:


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θがわかっているので、aを解きます。R=b2v1+v2v2v1Rθa

そうロボット向きで開始仮定、および位置0 0 の時間窓に沿って、及び移動をδ Tと速度V 1(左車輪)とV 2(右輪)、それの向き意志である:θ 1 = δ T0(0,0)δtv1v2との位置: PはX=COS θ 1

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

そのノート限界である P X = δ T のV PのY = 0v1v2=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.