私たちの現実のほとんどのロボットは剛体の組み合わせと見なすことができるので、まず剛体の速度について議論します。
物理量と数値の関係と違い#
物理の抽象的な世界では、私たちは実際に存在する 2 つのもの、すなわち点とベクトルがあると考えます。
点は物理世界における物理量の抽象的な表現であり、任意の座標系に依存せずに存在します。
剛体の位置は抽象的に 1 つの点として表現できます。座標系を設定するかどうか、またどのような座標系を設定しても、ロボットの位置は変わりません。剛体自体が静止している限り、物理世界における位置(点)は固定されています。
ベクトルもまた物理世界における物理量の抽象的な表現ですが、点とは異なり、大きさと方向を持ちます。
剛体の速度や加速度はベクトルです。同様に、座標系がどのように変わっても、速度と加速度が表すベクトルは変わりません。
ここで注意が必要なのは、私が言っている座標系と高校物理で学んだ参考系は同じではないということです。
![[ロボット研究における座標系と参考系の違いと関係 #移動ロボットの例]]
物理法則を使用して物理量を表現し計算する際、物理量の具体的な大きさには関心がなく、物理量間の関係にのみ関心がある場合、座標系や数値は必要ありません。
質点 $b$ が空間を運動しているとき、私たちはその速度を 1 つのベクトル vb で表現できます。同時に、速度の合成と分解という物理法則を使用して、任意の 2 つのベクトルを選択し、vb1+vb2=vb を満たすようにします。
質点 b は速度 vb を持ち、∣vb∣ の大きさの速度で vb の方向に運動しています。
また、質点 b は 2 つの速度 vb1 , vb2 を持つとも言えます。
この例では、私たちは座標系や数値を使用せず、物理法則を用いて記号で 3 つのベクトル間の関係を表現し、それらの物理的意味を説明しました。
点とベクトルに関して、私たちは常に適用する際に、点がどこにあるのか、ベクトルの大きさは何か、ベクトルの方向は何かを気にする必要があります。
実際の応用プロセスでは、もちろんロボットの位置がどこにあるのか、ロボットの速度がどのくらいか、どの方向に運動しているのかを知りたいと思います。
この時、私たちは座標系を定義する必要があります。座標系から、私たちは物理量を数値で表現することができます。
剛体の速度#
まず、剛体の速度とは何かを明確にする必要があります。
この授業を学ぶ前、私の剛体速度に対する直感的な理解は、剛体の質心の速度と剛体が質心を中心に回転する角速度であり、これらを統合したものが剛体の速度であるというものでした。
これは明らかに不十分なので、ここで剛体の速度を定義する必要があります。
まず、剛体は無限の点の組み合わせであることを知っています。また、剛体内のこれらの点の速度は、その剛体内での位置や他のパラメータ(例えば、剛体が軸を中心に回転する角速度)に関係しています。
したがって、剛体内の任意の点 pi の速度を vpi=f(pi,parameters) の形で表すことができます。
この形式に基づいて、剛体の速度はここでの parameters です。
言い換えれば、剛体の速度と剛体上の点の座標がわかれば、その点の速度を計算できます。
実際には、一般的に剛体の速度には関心がありません。私たちは、アームの先端の速度、車両の幾何学的中心の速度、四足ロボットの体の中心点の速度などに関心があります。
しかし、最初に剛体の速度を計算すれば、私たちが求めるすべての点の速度を非常に簡単に計算できます。
逆に、最初に 1 つの点だけを計算し、後で他の点を計算したい場合は、面倒で混乱することになります。
もちろん、ここまでの説明はあまりにも抽象的です。次に、私たちは一歩一歩拡張し、説明していきます。spatial velocity まで。
図 1 のように、剛体は固定された軸を中心に回転しています。私たちは回転軸上の剛体内の 1 つの点 p0 を基準点として選択します。高校物理での角速度と線速度の関係に基づいて、剛体内の任意の点 pi に対して、vpi=ω×p0pi であることがわかります。
次に、私たちの議論をより普遍的にするために、一歩前進します。剛体の回転軸が固定されておらず、運動していると仮定します。
p0 は依然として剛体内の回転軸上の点であり、私たちは p0 を質点の速度を表す基準点として選択します。剛体内の任意の点 pi に対して、vpi=vp0+ω×p0pi となります。
再度お知らせしますが、現在の記述はベクトル間の関係であり、したがって任意の座標系には関係せず、同時にこれらの関係は任意の座標系で満たされることを意味します。
物理的な意味から、vpi=vp0+ω×p0pi がどのように得られたかを見てみましょう。
まず、本質的に点の速度はその点の位置の変化、すなわちその導関数であり、vpi=pi˙ です。同様に、vp0=p0˙ です。
次に、理解を容易にするために、座標系の原点 o を設定します。ベクトル合成の原則に基づいて(そう、あなたは間違っていません、これは物理法則です!数学のルールではありません)、必然的に opi=op0+p0pi となります。
また、剛体が運動しているため、点 pi, p0 は時間とともに変化します。そして、任意の t 時刻において opi(t)=op0(t)+p0pi(t) が成り立ちます。
後の記号表現において pi と opi は同じ意味であり、pi を使用するのは、座標系に依存しないことを強調するためです。pi 自体と他のベクトル、点との関係は座標系に関係ありません。
したがって、pi(t)=p0(t)+p0pi(t) となり、等号の両辺を微分すると pi˙=p0˙+(p0pi)′ となります。最終的に、vpi=vp0+ω×p0pi が得られます。
(p0pi)′ の中の p0pi の長さは常に変わりません(これらの 2 つの点は剛体内にあり、剛体は変形しないため)、方向だけが変わります。
ベクトル p0pi の導関数は ω×p0pi です。
物理的な意味から理解すると、ω×p0pi は pi という点が角速度 ω によってもたらされる線速度です。
{ps: 図を描いて基本的な定義公式を使用することで、この点を理解するのは非常に簡単です}。
私たちは、vpi=vp0+ω×p0pi と vpi=ω×p0pi の違いは vp0=0 であるかどうかです。
したがって、剛体が空間で純粋に転がっているかどうかにかかわらず、剛体内の任意の点の速度と基準点 p0 の速度との関係は vpi=vp0+ω×p0pi を満たします。
vpi=vp0+ω×p0pi と隠れた関数の表現 vpi=f(pi,parameters) を組み合わせると、剛体の速度の定義に基づいて、この時の剛体の速度は (vp0, ω) であることがわかります。
前文を振り返ると:
私たちは剛体内の任意の点 pi の速度を vpi=f(pi,parameters) の形で表すことができます。この形式に基づいて、剛体の速度はその中の parameters です。
図 2 のように、私たちは次のステップに進みます。剛体上の任意の点 q を速度を表す基準点として選択します。
このステップの意義は、剛体の速度の表現における基準点の選択範囲を広げ、基準点は必ずしも回転軸上に選ぶ必要はないことを証明することです。
回転軸上に基準点を選ぶのは便利ですが、基準点が回転する問題を考慮する必要がありません。
しかし、実際の工学では、多くの場合、回転軸の速度を直接取得することはできません。
私たちは、測定速度のセンサーを機械の適切な位置に配置することしかできず、常に回転軸に取り付けることはできません。
CallBack:
剛体の速度と剛体上の点の座標がわかれば、その点の速度を計算できます。
より広範に基準点を選択できるようにすることで、多くの不完全な現実の状況の中でも、剛体の速度をうまく計算できるようになります。
したがって、vpi=vq+ω×qpi となります。
私たちは物理法則を使用して、この式がどのように得られたかをさらに推導します。
点 q に対して、vq=vp0+ω×p0q(3)
点 pi に対して、vpi=vp0+ω×p0pi(4)
式 (4)−(3) から得られるのは
vpi=vq+ω×p0pi−ω×p0qvpi=vq+ω×(p0pi−p0q)vpi=vq+ω×qpi
同様に、剛体の速度の定義に基づいて、この時の剛体の速度は (vq, ω) です。
CallBack:
私たちは剛体内の任意の点 pi の速度を vpi=f(pi,parameters) の形で表すことができます。この形式に基づいて、剛体の速度はその中の parameters です。
さて、ここまで来たので、すべての基礎部分を完成しました。
次に重要な第 3 ステップに進む必要があります。図 3 のように、剛体の外側にランダムに選ばれたボディ固定の点 q′ を選択します。
このステップの意義は、剛体の速度の表現における基準点の選択範囲をさらに広げ、基準点は剛体上に選ぶ必要はなく、ボディ固定であればよいことを証明することです。
前述の第 2 ステップでは、剛体上の任意の点を選びましたが、今回は剛体の外側にあるがボディ固定の任意の点を選びます。この 2 つの意味は完全に同じであり、重要なのはボディ固定です。
ここでは物理学の「場」の概念を用いてボディ固定を理解するのに役立ちます。
例えば、磁石の磁場の中で、磁石の磁場の中に点 A を選ぶと、その点は磁石の運動に従って運動します。これがボディ固定と呼ばれるものです。
したがって、第 2 ステップの結果に基づいて、vpi=vq′+ω×q′pi(5) が得られます。
再度繰り返しますが、この時の図の中の剛体の速度は (vq′,ω) です。
さて、最終的な第 4 ステップに進みましょう:剛体の速度の表現における基準点の選択範囲を極限まで広げ、基準点はボディ固定である必要はなく、動いている点でも静止している点でも、ボディ固定であるかどうかに関係なく選べることを証明します。
私たちは座標系 {A} を選択します。私たちは毎時毎刻、ボディ固定の点が座標系 {A} の原点 OA と重なることがあると言えます。
私たちは規定します:数学記号 vOA(t) は時刻 t において点 OA と重なるボディ固定の点 q′ の速度を表します。
この文は重要です。記号 vOA(t) は時刻 t において点 OA と重なるボディ固定の点 q′ の速度を表します。
点 OA の速度ではなく、点 OA の速度には関心がありません。どれだけの速度であっても関係ありません。
したがって、式 (5) に基づいて、vq′ を vOA に置き換えます。vpi=vOA+ω×OApi(6)
また、点 OA は原点であるため、** 座標系 {A} においてこの式を表現すると、Avpi=AvOA+Aω×AOApi(6) となります。
Avpi=AvOA+Aω×Api(7)
最後に、剛体の速度の定義に基づいて、この時の剛体の速度は (vOA,ω) です。
あなたは感じるべきです、この (vOA,ω) は直感に反するものであり、剛体の質心の XYZ 方向の速度と XYZ 周りの角速度の組み合わせではないことがわかります。それは「剛体の速度とはあまり似ていない」ように感じます......
直感の犠牲は価値があります。この知識があれば、後で多剛体構造のロボットの正逆運動学を計算する際に非常に便利です。
教科書では (vOA,ω) を spatial velocity または 旋量 (twist) と呼びます。
ここまで来ると、まだ少し混乱しているかもしれません。さらに 2 つの例を挙げてみましょう。
ω=50rad/s、∣OBOA∣=0.04 とします。ここで、座標系 {A} は固定された世界座標系であり、座標系 {B} は円錐と共に回転します。
注意:ω=50rad/s は円錐が世界座標系に対して持つ角速度を意味します。
まず、座標系 {A} における円錐の旋量は:Aν=(AωAvOA) です。
ここで、Aω=0050 です。次に、AvOA はどのくらいでしょうか?
CallBack:
記号 vOA(t) は時刻 t において点 OA と重なるボディ固定の点 q′ の速度を表します。
したがって、私たちはこのボディ固定の点 q′ を直接見つけることができます。
ボディ固定の点と剛体上の点は、意味が完全に同じであり、どちらも剛体の運動に従って運動します。
したがって、剛体上の点 q′ の速度はどのように求めるのでしょうか? 直接式 (5) を適用します。vq′=vr+ω×rq′
ここで、vr は基準点の速度であり、r は基準点です。
注意:速度 v と旋量 ν は異なることに注意してください。
私たちは便利な基準点 OB を選択して vq′ を求めます。なぜなら、vOB がゼロであることがわかっているからです。
円錐は回転しているだけで、平行移動はしていないため、vOB はゼロです。ps:この vOB は剛体上のボディ固定の点 OB の速度を指します。
現在、私たちは {A} において旋量を表現しているため、vOA のみが特別です。
再度 CallBack:
記号 vOA(t) は時刻 t において点 OA と重なるボディ固定の点 q′ の速度を表し、点 OA の速度ではありません。
したがって、私たちは次のように得られます。Avq′=AvOB+Aω×AOBq′
忘れないでください! ここでの $^{A} v_{q'}$ は実際には私たちが規定した AvOA です。
AvOAAvOAAvOAAvOA=AvOB+Aω×AOBOA=Aω×AOBOA=0050×0−0.040=200
これで、私たちは旋量で表された剛体円錐の速度を得ました。座標系 {A} における表現は Aν=0050200 です。
次に、剛体円錐の速度を座標系 {B} において表現するとどうなるでしょうか?
CallBack:
注意:ここで私たちが表現している円錐の速度は常に世界座標系に対してのものです。
私たちは異なる座標系でこの既存の物理量を数学的に表現しているだけです。
Bν=(BωBvOA)
まず、Bω ですが、図から見ると、Aω は $\widehat {z}$ 周りに回転しており、Bω は $\widehat {x}$ 軸周りに回転しています。したがって、Bω=5000 です。
図からわかるように、円錐が回転する過程で、この円錐にボディ固定の点は常に変わらず、円錐の頂点であり、回転も平行移動もしていません。したがって、BvOA=000 です。
したがって、Bν=5000000 となります。
ここで、重要な知識点である座標変換を導入できます。
私たちは異なる座標系で同じ物理ベクトルを表現しているのですから、これらの異なる座標系の表現は、どのように変換されるべきかを考える必要があります。これは、私たちが関心のある物理量を計算しやすい、またはコードを書くのに便利な座標系に変換するのに役立ちます。
[[Todo:旋量の座標変換]]
もう 1 つ、移動ロボットの例を見てみましょう。
図は、移動ロボットが回転中心 r の点を中心に回転している様子を示しています。r 点は座標系 {s} において sr=(2,−1,0) の座標を持ち、座標系 {b} においては br=(2,−1.4,0) です。回転の角速度は ω=2rad/s です。
図には 2 つの座標系、世界座標系 {s} と車両座標系 {b} があり、どちらも右手の法則に従っています。{s} の z 軸は紙面の外を指し、座標系 {b} の z 軸はその逆です。
円錐の例と同様に、まず座標系 {s} における旋量 sν=(sωsv) を見てみましょう。
ここでの記号 sv は svOs と同義であり、後続では明示的に必要でない限り sv を使用します。
ここで、sω=002 です。
svsvsvsv=vr+sω×srOs=0+ω×(−sr)=002×−210=−2−40
次に、座標系 {b} における旋量を計算します。答えは(過程を手計算して練習してください) bν=00−22.840 です。