
ロボットアームは、モーターで接続された複数の剛体リンクで構成されています。各モーターにどれだけ回転させるかを指示すると、アームの先端は空間内の特定の位置に到達します。この位置を計算することを順運動学と呼び、これには直角三角形の知識があれば十分です。このガイドでは、単純な3関節アームを例に、順運動学の計算方法を解説します。
関節、リンク、およびツールポイント
ロボットアームを分解してみると、部品は2種類に分けられます。
- 関節:回転し(ときにはスライドし)、モーターで動かされます。
- リンク:関節と関節の間にある剛性の高い部分で、長さは決して変わりません。
自由端にはツール先端があります。ここは、グリッパー、ペン、溶接ヘッドなどがある場所です。順運動学が答える質問は簡単です。すべての関節の角度がわかっているとき、ツール先端はどこにあるでしょうか?
その逆に、選んだ点に届く関節の角度を見つけることを逆運動学といいます。こちらのほうが難しく、終わり近くでもう一度取り上げます。まずは順運動学から始めましょう。これは毎回1つの答えが出る、純粋な幾何学の問題だからです。
平面上の2つのリンクを持つロボットアーム:三角関数を用いた解説
まず、1つの平らな平面上を動く2本のリンクを考えます。リンクの長さを L1 と L2 と呼びます。肩の角度 θ1 は水平から測り、ひじの角度 θ2 は地面に対してではなく、最初のリンクを基準に測ります。
ツールの位置は、リンク1本につき1つのベクトルを加えることで求められます。
x = L1 cos θ1 + L2 cos(θ1 + θ2)
y = L1 sin θ1 + L2 sin(θ1 + θ2)
各式の最初の項は、ひじがある位置です。2つ目の項は、ひじからツールまでの追加のずれを表します。ひじの角度は最初のリンクを基準に測るので、2本目のリンクが θ1 + θ2 の方向を向くことに注目してください。この加法を忘れるのが、最もよくある間違いです。
すべてのリンクは剛体なので、それ以外のことは関係ありません。同じ角度を2回与えれば、いつも同じ点が得られます。
ヨー:機体を全体として回転させること。
実際のアームは、1つの平面に限られません。ヨーと呼ばれる基部の関節が、鉛直軸のまわりでアーム全体を回転させます。台座の上で向きを変えるデスクランプを思い浮かべてください。
ヨーは2つのものを変えません。各リンクの長さと、台座から見たツールの高さです。ヨーがすることは、作業平面を回転させて、水平の到達方向を新しい方向へ向けることだけです。平らなアームが台座から距離 r まで伸びているなら、ヨーが ψ のとき、ツールは
horizontal position = (r cos ψ, r sin ψ)
に位置します。一方、高さはそのままです。これにより、3次元の問題を、2次元のアームの問題と回転に分けられます。だから、多くの産業用アームはこのような構造になっています。
アームはどこまで届くか?
アームの届く範囲は、リンクによって決まります。ツールが肩から最も遠くまで届くのは、2本のリンクが一直線に並ぶときです:L1 + L2。リンクの長さが1.65 mと1.25 mの場合、これは2.90 mです。
最も近くまでしか届かないのは、肘を完全に後ろへ折りたたんだときです:|L1 − L2|。この場合は0.40 mです。その間では、ツールは肩の周りのリング状の領域に届きます。そのリングの外側にあるものには、どれほど賢いコントローラーでも届きません。
この作業空間は、エンジニアがアームを選ぶときに最初に確認することの一つです。ベースの近くに見えるターゲットでも、内側の円の中にあると届かないことがあります。
なぜ、ある目標値に対して2つの解が存在する場合があるのか、あるいは解が存在しない場合があるのか。
数学を逆向きに計算すると、興味深いことが起こります。届く点を選ぶと、通常はそこへ行く方法が2通りあります。肘を一方へ曲げる方法(よく「肘上げ」と呼ばれます)と、もう一方へ曲げる方法(「肘下げ」)です。どちらもツールをまったく同じ場所に動かします。
場合は3つあります:
- 点が届くリングの内側にあるときは、解が2つ。
- アームを完全に伸ばした状態、または完全に折りたたんだ状態で、点がちょうど端にあるときは、解が1つ。
- 点がリングの外側にあるときは、解がない。
これが、逆運動学が順運動学より難しい理由です。順方向では必ず1つの答えが出ます。しかし逆方向では、2つ、1つ、または0個の答えが出る可能性があり、コントローラーはその中から、例えばテーブルとの衝突を避けるなど、適切に選ばなければなりません。
よくある誤解
- 「肘の角度は地面から測る。」 この規約では、肘の角度は最初のリンクを基準にするため、2本目のリンクの方向は両方の角度の合計になります。
- 「関節の角度が大きいほど、必ず遠くまで届く。」 届く距離は、アームがどれだけまっすぐかによって決まり、どれだけ回転したかでは決まりません。
- 「点が近くにあれば、届く。」 最小到達距離の円の内側には届きません。
- 「ヨーが高さを変える。」 高さは変わりません。ヨーはアームを鉛直軸の周りで回転させるだけです。
実験室でこれをどのように探求するか
ロボットアーム・ラボでは、ヨー、肩、肘を調整するスライダーがあり、ツール先端が3D空間を動く様子を確認できます。無料の最初のワールドにはレッスンが2つあり、このガイドの順番に沿っています:
- ロボットの座標系では、座標軸、角度の決め方、2本のリンクの長さを設定し、アームの最大リーチを求めます。
- 平面を空間で回転させるでは、ベース関節が変えるものと変えないものを学びます。
その後は、手動で目標に合わせてみて、別のアームの姿勢でも同じ目標に届くことがどれほど多いか確かめてみましょう。ラボの後半のワールドでは、目標位置を直接求める方法へと発展します。
このラボは、リンクが完全に剛体で、モーターの制限も重力によるたわみもない、単純化された教材モデルです。実際のロボットにはこれらすべてがありますが、ここで学ぶ幾何学がその基本です。
- 順運動学では、リンク1本につき1つのベクトルを加えます。それぞれのリンクは、その前にある関節角度の合計の方向を向きます。
- ひじの角度は、地面に対してではなく、前のリンクに対する相対的なものです。
- ヨーは、リンクの長さやツールの高さを変えずに、アームの平面を回転させます。
- 到達距離は |L1 − L2| から L1 + L2 までです。この輪の外側にある目標には到達できません。
- 点から関節角度を逆算すると、答えが2つ、1つ、またはない場合があります。
ロボットの座標系
約8分です。 無料で、アカウント不要。ブラウザですぐに使えます。
このガイドの無料レッスンをもっと見る
Novarekaのシミュレーションは、学習用にわざと簡略化したモデルです。アイデアがどのように動くかを示すもので、専門家、医療、工学に関するアドバイスの代わりにはなりません。
続きを読む
すべてのガイド →
解説
解説
解説

