図 63しくみ館

ロボットアームのしくみ:関節の動きを順に見る

6 軸ロボットアームの指先を、空間のある一本の線のそばで 250 mm/s で横にすべらせると、手首の関節の一つは毎秒 510° で回らなければなりません。

ロボットアームのしくみ:関節の動きを順に見る
モデルを読み込んでいます

この端末では 3D を表示できません。下の解説のステップを文章で読むことができます。

1 / 11 二つの台のあいだの 6 軸アームアームは床にボルトで固定され、両側に台が一つずつあります。6 つのモーターが 6 つの関節を回し、青いボールは指のあいだの点が行くべき場所を示します。今は鋼のブロックを一方の台からもう一方へ運んでいるところです。

ドラッグで回転、ホイールか二本指で拡大します。

更新 資料確認
広告

この模型が見せるもの

自動車の車体が溶接ラインを流れていくと、オレンジ色のアームが車体に近づいて継ぎ目に触れ、また離れる動きが、1 時間に何百回も繰り返されます。どのアームも、道具を空間の正確な一点に、正確な向きで置かなければなりません。ところが、モーターに「あそこへ行け」とは命じられず、角度しか伝えられません。このページは、その二つのあいだにある計算を扱います。

模型は 6 つの回転関節を持つ中型の産業用アームで、二つの台のあいだの床にボルトで固定されています。肩の軸は床から 520 mm の高さで、ベースの軸の 160 mm 前にあります。上腕の長さは 620 mm、前腕は 600 mm、工具中心点 (指先のあいだの点) は手首から 240 mm 先です。これらは、この種類の典型的なアームのように見え、動くように選んだモデルの値であり、特定の製品の数値ではありません。

青いボールをドラッグするとアームがついてきます。6 本の関節スライダーを使えば、アームの動きにボールがついてくるのが見られます。隅の読み出しには、6 つの角度すべて、ミリメートル単位の先端の位置、先端の速さ、いちばん速く回っている関節が表示されます。

アームに 6 つの関節が必要な理由

空間の中の剛体には、独立した動き方が 6 つあります。3 つの方向に滑らせることができ、3 本の軸のまわりに回すこともできます。どんな位置から、どんな角度でも部品をつかむグリッパーは、この 6 つすべてを制御する必要があるので、汎用のアームには関節が 6 つあります。

最初の 3 つの関節が、移動の大部分を受け持ちます。J1 は腕全体を垂直軸のまわりに回し、J2 は肩で上腕を傾け、J3 は肘で前腕を傾けます。この三つで、手首がどこへ行くかが決まります。残りの 3 つの関節は手首にあります。J4 は前腕を自分の長さ方向の軸のまわりに回し、J5 は手首を曲げ、J6 は工具を載せたフランジを回します。この三つが、工具がどちらを向くかを決めます。

この模型では、ほとんどの産業用アームと同じく、J4、J5、J6 の軸がすべて手首中心と呼ばれる一点を通ります。この設計上の選択が非常に大きな意味を持つことは、次の節以降で見ていきます。

関節角度から先端の位置へ

角度から位置を求めることを順運動学といい、こちらは易しい向きです。どの関節も、それより先のすべてを回すので、ベースから順に回転を連ねていけます。

アームの垂直面で、J1 の軸からの距離を r、床からの高さを h とします。J2 を垂直な状態から、J3 を水平な前腕から測ると、手首中心は次の位置にあります。

  • r = 160 + 620 sin J2 + 600 cos(J2 + J3)
  • h = 520 + 620 cos J2 − 600 sin(J2 + J3)

単位はすべてミリメートルです。初期姿勢では J2 が 15°、J3 が 0° で、r = 160 + 160.5 + 579.6 = 900.0 mm、h = 520 + 598.9 − 155.3 = 963.6 mm になります。J5 は 75° で、前腕の 15° の下向きの傾きと合わせて、グリッパーをまっすぐ下に向けます。そのため先端は 240 mm 低い 723.6 mm の高さです。そのあと J1 が、この面全体を垂直軸のまわりに振ります。

手首の関節は、その上にさらに 3 つの回転を加えます。模型では、関節ごとに一つずつの通常の 3 × 3 回転行列を順に掛け合わせて計算します。スライダーを動かすたびに、ページはこの連なりをもう一度計算し直しています。

先端から逆算する

逆運動学は反対の向きです。先端がいるべき位置と、グリッパーが向くべき方向を与えて、6 つの角度を求めます。ロボットのコントローラーは、直線の動きを計画するたびにこれを必要とし、順運動学よりずっと難しい問題です。方程式は非線形で、答えが複数あることもあれば、一つもないこともあります。

解き方は大きく二つあります。数値ソルバーは今の角度から出発し、各関節を少し動かすと先端がどう動くか (ヤコビ行列) を求め、誤差が減る方向に一歩進んで、誤差が十分小さくなるまで繰り返します。この方法はほとんどどんなアームにも使えます。最後の 3 つの軸が一点で交わるアームには、繰り返しの要らない閉じた形の解もあり、模型はそれを使っています。

手首中心で問題を二つに分ける

3 本の手首の軸が一点で交わるので、J4、J5、J6 を回しても、その点は動きません。そのため、関節角度が一つも分かっていなくても、手首中心は先に求められます。目標の先端から出発して、グリッパーが向くべき方向に沿って 240 mm 戻れば、それが手首中心です。

これで、問題は二つの小さな問題に分かれます。

  1. 位置。 J1 は手首中心の方を向かなければならないので、J1 は上から見たその点の方位角そのものです。アームの面の中では、肩、肘、手首中心が三角形をつくります。二辺 (620 mm と 600 mm) は分かっていて、第三の辺 D は肩から手首中心までの測った距離です。余弦定理から肘の角度が出ます: sin J3 = (620² + 600² − D²) ÷ (2 × 620 × 600)。J2 は、手首中心の方向から、肘の曲がりが加える角度を引いたものになります。
  2. 向き。 J1 から J3 が分かれば、その三つが生む回転も分かります。それと、グリッパーに必要な回転との差は手首が受け持たなければならず、手首の 3 つの角度は、その残りの回転行列から直接読み取れます。

左側の台でつかむ位置を考えます。先端は前方 620 mm、高さ 285 mm、横方向 600 mm で、グリッパーは下向きです。手首中心はその 240 mm 上の 525 mm にあります。上から見ると J1 の軸から 862.8 mm、方位 44.06° の位置にあるので、J1 = −44.06° です。アームの面では r = 702.8 mm、h = 5 mm なので、D = 702.8 mm です。すると sin J3 = 0.3366 で、J3 = 19.67° です。手首中心の方向は垂直から 89.59°、肘の曲がりが占めるのは 53.50° なので、J2 = 36.09° になります。グリッパーを下に向けるには、J5 が 90° との差を埋めなければなりません: 90 − 36.09 − 19.67 = 34.24°。

ソルバーを両方向から確かめる

こうした数値は、わずかな間違いが紛れ込みやすいので、このページのソルバーは、ブラウザが使うのと同じ方法でテストされています。テストでは、関節の可動範囲内でランダムな関節角度の組を 20,000 通り選び、順運動学で先端の位置とグリッパーの回転を計算し、それを逆運動学ソルバーに入力して、得られた答えにもう一度順運動学をかけます。J5 = 0 の約 1° 以内の組は、後で説明する理由で除いています。残りの 19,836 通りで、先端の誤差の最大は 7 × 10⁻¹² mm、どの組も元の角度に 10⁻¹³ ラジアン以内で戻りました。

ブラウザでも、ドラッグしているあいだ、フレームごとに同じ確認が行われます。読み出しの先端の位置は、ソルバーが選んだ角度に順運動学をかけて出しています。そのため、ボールと読み出しが食い違えば、どこかがおかしいということになります。

アームが届く範囲

アームを完全に伸ばしたとき、手首中心が肩の軸から離れられる距離は、最大でも 620 + 600 = 1,220 mm です。グリッパーを水平に保つと、先端は J1 の軸から最大 1,620 mm です。ボールをそれより遠くへドラッグすると、アームはその方向へ精いっぱい伸びます。ボールは赤くなり、読み出しには先端があと何ミリメートル足りないかが出ます。肩の高さで 2 m 先の点を指定すると、先端は 1,617 mm で止まり、386 mm 足りません。

関節に限界があるので、届く範囲はきれいな球殻にはなりません。モデルでは、J2 は後ろに 60°、前に 100° まで傾けられ、J3 は上に 85°、下に 80° まで動かせます。「到達範囲を表示」をオンにすると、グリッパーが今の角度のとき、指先が行ける領域をアームの面で見られます。グリッパーの角度を変えると、先端は手首中心から別の方向に 240 mm のところに来るので、形全体がずれます。床の輪は、J1 が振れる 340° の範囲を示しています。

手首が一直線になると何が起こるか

向きの段階をもう一度見てください。手首の角度は、3 つの手首の関節が生み出さなければならない回転から読み取ります。J5 がちょうど 0 のとき、J4 と J6 の軸は一本の線の上に並びます。すると、J4 を前に回し、J6 を同じ量だけ戻しても、グリッパーはまったく動きません。同じ働きをする角度の組が無数にあり、ソルバーはそれらを区別できません。これを手首特異点といいます。往復テストで J5 = 0 にごく近い角度の組を除いているのも、このためです。ソルバーが別の、同じように正しい組を返すので、角度を比べられなくなります。

本当の困難は、特異点そのものより、そのそばで生じます。ガイドのステップ 6 では、グリッパーをまっすぐ前に向けて水平に保ち、床から 1,155 mm の高さで先端を 440 mm 横にすべらせます。動きの中ほどで 250 mm/s に達します。この経路は、前腕がグリッパーとまったく同じ方向を向く線から 20 mm のところを通ります。交差する場所から遠いと、手首はほとんど動きません。近づくと、J4 は J5 の曲がりを一方の側から反対の側へ回さなければならず、J6 はグリッパーがねじれないように、そのロールを打ち消さなければなりません。経路全体で J4 は −81.2° から +81.2° まで動き、そのうち 39.2° は先端が中央の 20 mm を通るあいだに起こります。いちばん速いところでは、先端が 1 mm 進むごとに J4 が 2.04° 回らなければならず、250 mm/s なら毎秒 510° です。1,000 mm/s なら約 2,040°/s になり、経路を 10 mm 近づけると、どちらの値もおよそ 2 倍になります。

これほどの速さに追従できるモーターはありません。そのため実際のコントローラーは、先端を減速させるか、エラーで止めるか、経路を直線から外れるように曲げるしかありません。ロボット工学の教科書は、二つの回転関節の軸が一直線になることを、特異点の基本的な例として挙げています。その姿勢では、アームは工具をある方向へ動かす能力を失います。対策は計画です。グリッパーを数度傾けたり、経路を動かしたりして、手首が決して近づかないようにします。

ブロックを一方の台から他方へ運ぶ

模型のピックアンドプレースの一巡は、8 つの動きでできています。まず関節補間で、アームがブロックの上に来ます。続いて直線補間が 3 つ続きます。つかむ高さまで下がる、指が閉じたあとに上がる、もう一方の台まで 1.2 m 横に運ぶ、です。そのあと再び下がり、指を開いて、上に抜けます。

どの直線補間も、フレームごとに逆運動学ソルバーに角度を求めて計画します。グリッパーの空間での向きは動きのあいだ固定されたままなので、J1 が −44.06° から +44.06° まで振れるあいだ、J6 も同じ 88° 回って、ブロックが指の中で回らないようにしています。

どの動きも、なめらかに加速し、なめらかに減速します。この速度の形では、最高速度は平均の 1.5 倍になるので、最高速度 v で計画した長さ L の動きには 1.5 L ÷ v だけかかります。1 m/s なら、1.2 m の移送は 1.8 秒です。

人と同じ床で働く

従来の産業用アームは柵の中で働き、扉を開けると止まります。協働ロボット (コボット) は人のすぐそばで働くように作られていて、そのための安全規格は、確かめられる数値を決めています。

産業用ロボットの安全規格 ISO 10218-1 は、低減速度制御のとき、工具中心点の速度が 250 mm/s を超えてはならないと定めています。「協働モード」をオンにすると、模型は先端をこの値に抑えます。1.2 m の移送は 1.8 秒ではなく 7.2 秒かかります。

ISO/TS 15066 は、人とロボットが空間を共有する方法を四つ挙げています。安全定格付きの監視停止、ハンドガイディング、速度・距離の監視、そして出力・力の制限です。出力・力の制限については、身体の部位ごとに、ロボットがどれだけ強く押してよいかを一覧にしています。手と指の限界は、手が何かに挟まれる場合 (準静的接触) で 140 N、手が逃げられる一瞬のぶつかり (過渡接触) ではその 2 倍の 280 N です。顔については表に 65 N とありますが、同じ文書は、顔、頭蓋、額への接触はそもそも許されないとも述べています。

同じ文書は、力の限界を速度の限界に換算します。手を剛性 75 N/mm、質量 0.6 kg のばねとし、ロボットを可動部分の半分とペイロードを足した有効質量とみなします。すると安全な最高速度は v = F ÷ √(μk) で、μ は二つの換算質量です。可動部分が 30 kg で 2 kg の荷を持つアームでは、有効質量は 17 kg、μ は 0.58 kg で、手に対する過渡接触の限界は 1.34 m/s と計算されます。アームやペイロードが重くなると、この値は下がります。協働ロボットが軽いのは、これが理由の一つです。これはこの模型の例としての数値で、規格は実際のロボットの値によるリスクアセスメントを求めています。

模型が実物のアームより単純なところ

  • 関節は命じられたとおりに正確に動きます。実際の関節には減速機があり、多くは波動歯車で、わずかなバックラッシと弾性があります。実際のリンクも、荷重でたわみます。
  • 動力学はありません。実際のコントローラーは、加速度、トルク、モーター電流も制限しなければならず、特異点や関節の限界の近くでは減速します。
  • ソルバーは、いつも今の角度にいちばん近い答えを選びます。幾何学的には、一つの先端姿勢に対して最大 8 通りの答えがあります。J1 が点の方を向くか背を向けるか、肘が上か下か、手首が反転しているかどうかです。模型が使うのは、肘が上の組だけです。
  • アーム、台、床のあいだの衝突は、目標を床より上に保つ以外には調べていません。
  • 協働モードは速度を抑えるだけで、接触力は測りません。

簡単な歴史

George Devol は、プログラム可能な搬送アームの特許を 1954 年に出願し、1961 年に認められました。それをもとに作られた機械 Unimate は、1961 年、ニュージャージー州ユーイング・タウンシップのゼネラルモーターズのラインで働き始めました。1969 年には、スタンフォード大学の Victor Scheinman が Stanford Arm を設計しました。6 自由度を持つ全電動のアームで、アームの解がすばやく計算できるようにリンクが配置されていました。1973 年には、KUKA が最初のロボット FAMULUS を作り、ASEA が IRB 6 を発表しました。IRB 6 は、全電動でマイクロプロセッサ制御の最初の産業用ロボットで、第 1 号機はスウェーデンのゲナルプにある Magnussons に渡り、90° に曲げた鋼管にワックスをかけて磨く仕事をしました。協働ロボットはもっとあとのことで、ノースウェスタン大学の J. Edward Colgate と Michael Peshkin が 1996 年に発明しました。

広告

二つの関節で考える、答えが二つある例

6 軸のソルバーは、先に同じ仕事を 2 つの関節でやってみると分かりやすくなります。上腕 620 mm、前腕 600 mm という模型と同じ長さの平らなアームを考え、肩を原点に置きます。ここでの角度は平面での普通の角度なので、J2 や J3 のスライダーとは数値が一致しません。肩の角度は水平から測り、肘の角度は前腕が上腕の延長線からどれだけ曲がっているかです。

手首を前方 800 mm、高さ 300 mm の点に届かせるとします。肩からの距離は D = √(800² + 300²) = 854.4 mm です。余弦定理から肘の曲がりが出ます。

  • cos(肘) = (D² − 620² − 600²) ÷ (2 × 620 × 600) = (730,000 − 384,400 − 360,000) ÷ 744,000 = −0.01935

したがって、肘は 91.11° 曲がります。余弦は角度が正か負かを教えてくれません。答えが二つになるのは、すべてこのためです。曲がりが −91.11° (肘が上) なら、肩の角度は 65.15° で、肘は (260, 563) mm、つまり肩と手首を結ぶ線の上側にあります。+91.11° (肘が下) なら、肩の角度は −24.04° で、肘は (566, −253) mm、その線の下側にあります。どちらの角度の組を順運動学の式に戻しても、ちょうど (800, 300) になります。二つの腕はどちらも実在し、どちらも正しく、コントローラーはどちらかを選ばなければなりません。6 軸のアームでは、J1 が反対を向く場合と手首が反転する場合の二つが加わって倍になり、一つの工具姿勢に最大 8 通りの解が生まれます。

どれを選ぶかは実用上の問題です。この例で肘が下の答えを選ぶと、肘は肩より 253 mm 下に来ます。床に固定したアームでは、ベースや台にぶつかるかもしれません。コントローラーはたいてい、今の角度にいちばん近い解を選びます。動きの途中で、肘が突然反対側へ振れることがないようにするためです。模型も同じようにしていて、反転が起きないのはこのためです。

各関節にはどれだけのトルクが必要か

関節はどれも同じ強さで働いているわけではありません。重力はすべてのリンクを引き、関節にかかる引きは、重さに、その関節から重さまでの水平距離を掛けたものです。肩は、それより先のすべてを、いちばん長い距離で支えます。

模型には質量がないので、仮の質量を置いた大まかな見積りをしてみます。上腕は 20 kg で重心は肩から 310 mm、手首のモーターを含む前腕は 12 kg で重心は肘から先 300 mm、グリッパーは伸ばし切った 1.22 m の位置で 6 kg のブロックを持っているとします。腕全体を水平にすると、次のようになります。

  • 上腕: 20 × 9.81 × 0.31 = 61 N·m
  • 前腕: 12 × 9.81 × 0.92 = 108 N·m
  • 荷: 6 × 9.81 × 1.22 = 72 N·m
  • 肩の合計: 約 241 N·m

肘が支えるのは、それより先にあるものだけです: 12 × 9.81 × 0.30 + 6 × 9.81 × 0.60 = 71 N·m。手首が受け持つ量はずっと小さく、手首のモーターが小さく、前腕の後ろ側に付いているのはこのためです。肩が腕でいちばん大きなモーターである理由も、荷を根元に近く持つときより、腕を伸ばしたときのほうがずっと持ち上げられる量が減る理由も、ここから分かります。距離が 4 分の 1 なら、同じブロックが肩にかけるトルクも 4 分の 1 になります。

サーボモーターが 241 N·m を直接出すことはできません。減速比と効率で割ります。減速比 120、効率は仮に 80 パーセントとすると、モーターに必要なのは 241 ÷ (120 × 0.8) = 2.5 N·m で、数百ワットのモーターが出せる程度です。代わりに速度を失います。毎分 3,000 回転で回るモーターは、関節を毎分 25 回転、つまり毎秒 150° で動かします。

モーターに減速機が必要な理由

この減速比があるので、実際のアームのほとんどすべての関節には、モーターの隣に減速機があります。モーターは軽くて速いのですが、力が弱いのです。減速機は速度をトルクと交換します。ロボットでは、そのうえ剛性が高く、遊びがほとんどなく、関節の中に収まらなければなりません。主な方式は二つです。

波動歯車は、ハーモニックドライブの名前で売られていて、3 つの部品でできています。モーターの軸に付いた楕円形のウェーブジェネレータ、外側に歯を持つ薄くて柔軟な鋼のカップ (フレクスプライン)、内側に歯を持つ剛性のあるリング (サーキュラスプライン) です。サーキュラスプラインの歯は、フレクスプラインより 2 枚多くなっています。楕円が回ると、フレクスプラインの歯は反対側の二か所でリングとかみ合い、入力が半回転するごとに、フレクスプラインは歯 1 枚分だけ後ろへ進みます。そのため、歯数 200 のフレクスプラインなら、1 段で減速比は 200 ÷ 2 = 100 になります (この歯数は例です)。メーカーによれば、歯がかみ合ったままなのでバックラッシはゼロで、大きさと重さは減速比に左右されません。

サイクロイド減速機は、Nabtesco が RV 減速機の名前で売っているもので、2 段構成です。まず平歯車の段でモーターの回転を落とし、次に、クランク軸が、ピンの輪の中で 2 枚のローブ付きの円板を動かします。円板のローブはピンより 1 つ少ないので、クランク軸が 1 回転するごとに、出力はピン 1 本分進みます。減速比はおよそ 30:1 から 300:1 を超えるものまであり、バックラッシは 1 分角未満で、ハウジングの中に、アームの荷重を受ける大きな軸受が入っています。Nabtesco によれば、このサイクロイド減速機は、非常停止のとき定格トルクの最大 5 倍まで受け止められます。RV 方式が市場に出たのは 1985 年です。

波動歯車は軽くて小型で、サイクロイド減速機は大きな荷重や衝撃に耐えるので、設計者は関節ごとにその特徴を比べることが多いようです。どちらの方式にも弾性がなくなるわけではなく、減速比 100:1 の関節は、荷重がかかるとわずかにねじれます。実際のアームの先端が計算された位置から少しずれる理由の一つです。

実在のロボットと実際の数値

最初の産業用ロボットアームは、ダイカストの工場で働きました。1961 年、George Devol の特許をもとに設計された Unimate が、ニュージャージー州トレントン周辺にあるゼネラルモーターズの工場に据え付けられ、ダイカストマシンから鋳物を取り出しました。熱くて危険な作業です。ヘンリー・フォード博物館には、その最初の機械が収蔵されています。IEEE Spectrum によれば、試作機の重さは約 1,360 kg で、制御と記憶の仕組みを自分で発明しなければなりませんでした。

それから 60 年以上たった今、アームはありふれたものになりました。国際ロボット連盟 (IFR) は、2024 年に世界で 542,000 台の産業用ロボットが設置され、稼働中のものは 4,664,000 台と数えました。中国は 295,000 台を設置し、世界の 54 パーセントを占めます。日本は 44,500 台、大韓民国は 30,600 台で、年間設置台数では 4 番目に大きな市場です。こうした数字の背後にあるのは、この模型に似たアームで、6 つの関節、球面手首、各軸の減速機を備えています。

安全規則も並行して整えられました。ISO 10218-1 は、協働モードが使う低減速度制御での 250 mm/s の上限を定め、ISO/TS 15066 は四つの協働方法と、身体の部位ごとの力の限界を述べています。ドイツのロボットインテグレーターによれば、その内容は 2025 年版の ISO 10218-2 に取り込まれました。手への一瞬のぶつかりの 280 N と、挟まれた手の 140 N は、接触に対する限界です。ロボットが一般に出せる力ではなく、それはペイロードと速度で決まります。

医療用ロボットも、同じ運動学を別の仕事に使います。米国食品医薬品局 (FDA) は、ロボット支援手術装置を、外科医のコンソールと、カメラや器具を保持する関節のある 3 本または 4 本のアームを備えたカートをつないだものと説明し、人が直接操作しなければ動かせないので、実際にはロボットではないと述べています。FDA は、胆のう摘出や子宮摘出などの手術にこうした装置を承認していますが、がんの治療や予防を特に目的とするものは、どれも認可していません。

アームを DH 表として書く

順運動学には、アームの記述が必要です。各関節の軸が、一つ前の軸に対してどこにあるかです。ロボットメーカーは、Jacques Denavit と Richard Hartenberg にちなんだ簡潔な表記を使っています。関節ごとに 4 つの数値が並んだ 1 行を持ちます。d は前の関節軸に沿った距離、a は次の軸との共通垂線の長さ、α は二つの軸のあいだのねじれ、θ は関節角度そのものです。6 軸のアームは 6 行で記述でき、6 つの小さな変換を掛け合わせると、工具の姿勢が得られます。

このページのアームも、そのように書けます。最初の行は d = 520 mm、a = 160 mm、ねじれ 90° で、肩の軸を J1 の上かつ前に置きます。2 行目は上腕の a = 620 mm で、模型は J2 を垂直から数えるため、θ = J2 − 90° です。4 行目は d = 600 mm で、前腕から手首中心まで、最後の行は d = 240 mm で、手首中心から指先のあいだの点までです。「操作」タブの表に、6 行すべてが載っています。ランダムな 5,000 通りの姿勢で確かめたところ、DH の積とこのページの直接の式は、100 万分の 1 ミリメートルより良い精度で一致しました。

Universal Robots は、自社のアームについて同じ形式の表を、全リンクの質量と重心とともに公表しています。UR7e と表を共有する UR5e では、各行が d1 = 162.5 mm、a2 = −425 mm、a3 = −392.2 mm、d4 = 133.3 mm、d5 = 99.7 mm、d6 = 99.6 mm です。すべての関節が 0 のとき、フランジは x = −425 − 392.2 = −817.2 mm、y = −(133.3 + 99.6) = −232.9 mm、z = 162.5 − 99.7 = 62.8 mm にあり、この確認はそれをぴったり再現します。d4 と d5 のオフセットが、UR のアームに特徴的な段のある手首をつくります。3 つの手首の軸が一点で交わらないのです。

この一点が、解き方を変えます。球面手首がないと、位置と向きの問題は、手首中心では分かれません。そのためステージの透明な腕は数値的に解いています。前回の答えから出発し、各関節をごくわずか動かしたときにフランジがどう動くか (ヤコビ行列) を計算し、誤差が縮むように関節を進めます。特異点の近くでは、一歩が小さくなるよう、少しだけ減衰を加えます。8 通りの表それぞれについてランダムな姿勢で 60 回実行したとき、ソルバーは目標から 0.04 mm 以内に収まりました。

方向を失う 3 つの形

特異点とは、ヤコビ行列が階数を失う姿勢で、工具のある方向への動きに、無限に速い関節が必要になります。この模型のような球面手首のアームでは、ヤコビ行列の行列式がきれいに因数分解できます。それは L2 × L3 × |cos J3| × r × |sin J5| に等しく、L2 と L3 は 620 mm と 600 mm のリンク、r は手首中心の J1 の軸からの水平距離です。この確認では、この式を数値的な行列式とランダムな 2,000 通りの姿勢で比べ、両者が等しいことを確かめています。

各因子は、特異点の一つの種類に対応します。sin J5 が 0 なら J4 と J6 が一直線になります。この展示の最初に取り上げた手首特異点です。cos J3 が 0 なら、上腕と前腕が一本の線に並び、伸び切っているか折りたたまれています。到達範囲の縁にある、肘特異点です。r が 0 なら、手首中心が J1 の真上にあります。J1 を回すと手首が横に動かずその場で回るだけの、肩特異点です。

読み出しの「可操作性」バーは、この行列式を、関節の可動範囲内での最大値に対する割合で示します。「特異点マップ」は、位置の因子 |cos J3| × r で到達範囲を色分けするので、薄い帯は、速い直線の動きを計画するときに避けるべき場所です。Universal Robots のアームにも、同じ 3 種類の特異点がありますが、手首のオフセットのために、位置が少しずれます。

関節補間と直線補間

ロボットのプログラムは、二つの方法で動きを頼めます。関節補間では、すべての関節が始めの角度から終わりの角度まで一緒に回り、それぞれが一定の歩調で動きます。直線補間では、工具を直線上に保ち、その全行程で逆運動学を解き続けます。どちらも同じ姿勢で始まり、同じ姿勢で止まるので、違いはその間の経路です。

二つの台のあいだでは、直線補間は 1,000 mm/s で 1.200 m を 1.80 秒で動きます。同じ姿勢のあいだの関節補間では J1 と J6 だけが回るので、先端は J1 の軸から半径 863 mm の円弧に沿って振れます。この円弧の長さは 1.327 m で 1.99 秒かかりますが、アームが特異点に近づくことはありません。ステージの軌跡には、両方の経路が描かれています。

手首特異点のそばでは、違いが劇的です。直線補間は先端を最大 250 mm/s で 440 mm すべらせ、J4 のピークは毎秒 510° です。同じ二つの姿勢のあいだの関節補間は、経路がわずか 5 mm 長いだけで、J4 は毎秒 10° を超えません。実際のコントローラーが両方の動きを備えているのは、このためです。経路が途中でどうなってもよいときは、関節補間のほうが速く安全です。工具が溶接の継ぎ目や接着剤のビードのような線をたどる必要があるときは、プログラマーが特異点がないか経路を確かめたうえで、直線補間を使います。

実在の協働ロボットでの可搬質量と関節トルク

トルクのパネルは、上の見積りと同じ原理を使います。ある関節まわりのトルクは、その関節が回ったときに位置エネルギーが変化する割合です。モデルのアームでは、見積りで仮定した質量、上腕 20 kg と前腕 12 kg を使い、腕を水平にして、グリッパーに 6 kg を持たせたときの肩の 241 N·m と肘の 71 N·m を再現します。

Universal Robots のアームには、メーカーの表にあるリンクの質量と重心を使います。すべての関節を 0 にして (手首の関節 J4 だけは −90°) まっすぐ前に伸ばし、フランジに定格の 7.5 kg を持たせると、UR7e は肩に約 129 N·m、肘に約 56 N·m を必要とします。UR20 は、20 kg でリーチ 1,750 mm のとき、肩に約 657 N·m が必要です。これらの数字は、定格可搬質量とリーチが引き換えになる理由を示しています。UR16e は 900 mm でしか 16 kg を運べず、UR30 は 1,300 mm で 30 kg を運びます。ここの数値は静的なものです。実際のコントローラーは、リンクを加速するのに必要なトルクも加えるので、全速力ではモーターにこれ以上が必要です。

グリッパーを選ぶ

フランジの先の工具は、アームと同じくらい重要です。二本指グリッパーは部品を側面から挟むので、平行な面を持つ部品に向いていて、横向きの力に対してもしっかり保持できます。Robotiq は 2F-85 をストローク 85 mm、可搬質量 5 kg、幅の広い 2F-140 をストローク 140 mm、2.5 kg と表示していて、どちらも重さは約 1 kg です。吸盤は真空で部品の上面を保持するので、箱、板金、ガラスに向いていますが、平らで密閉できる面が必要です。電磁石は鋼の部品を上面で保持し、電流が止まると放します。模型では、吸盤と磁石は 70 mm のブロックを上面で保持するので、工具中心点は指のときより 35 mm 高くなり、ピックアンドプレースの一巡はそれに合わせて高さを調整します。

ロボット一覧の数値

ロボット一覧の各項目は、メーカーの製品ページか宇宙機関のページによるもので、2026 年 10 月 27 日に確認しており、出典へのリンクは各項目の下にあります。可搬質量は定格可搬質量で、リーチはメーカーの数値であり、ほとんどのアームでは、完全に伸ばしたときの J1 軸から手首またはフランジまでの距離です。Yaskawa は水平リーチと垂直リーチを別々に示していて、一覧では水平リーチを使っています。宇宙用のアームは、各機関が示している値のとおりに載せています。Canadarm2 は長さ 17 m で、軌道上で最大 116,000 kg の荷を扱えます。European Robotic Arm は長さ 11 m、7 関節で、8 t のペイロードを動かします。Perseverance ローバーのアームは長さ 2.1 m、5 自由度です。出典に記載がない値は、推測せずに省いています。

よくある誤解

「アームは自分の手がどこにあるかを見ている。」 この模型でも、ほとんどの産業用アームでも、コントローラーは工具を見ていません。各関節のエンコーダーを読み、順運動学を計算し、リンクが教えられた長さだと仮定しています。リンクがたわんだり、歯車がねじれたりすれば、実際の先端は計算された位置とずれます。精度が必要なときにカメラやキャリブレーションが加えられるのは、このためです。

「A から B への移動は、直線の移動である。」 コントローラーがそう計画した場合だけです。関節補間では、すべての関節が始めから終わりまで一定に回り、先端は曲線を描きます。直線補間では、フレームごとに逆運動学ソルバーが必要です。模型がピックアンドプレースの一巡の 3 つの直線補間でしているのがこれで、特異点にぶつかる可能性があるのも、この種類の動きです。

「関節が多いほど、腕前が上がる。」 工具の位置と向きを決めるには 6 つで十分です。7 つ目の関節は冗長性を加え、同じ工具姿勢を異なる肘の位置で実現できるようになるので、障害物を避けるのに役立ちます。その反面、ソルバーにとって答えが有限個ではなく無限にあることになるので、どう選ぶかを教えなければなりません。

「協働ロボットは、それだけで安全である。」 規格は、応用全体を評価します。やさしい動きのアームでも、鋭いナイフを持っていれば安全ではありませんし、手には問題のない速度制限も、頭には問題があるかもしれません。ISO/TS 15066 は、実際のロボット、工具、ペイロードによるリスクアセスメントを求めています。この展示の数値は例です。

「250 mm/s が協働ロボットの速度制限である。」 これは ISO 10218-1 での低減速度制御の限界です。出力・力の制限では、許される速度は力の限界と有効質量から決まり、上の 1.34 m/s の例のように、ずっと高くなることがあります。

画面で試すこと

  1. 「部品名」をタップし、青いボールをアームのまわりで円を描くようにゆっくりドラッグします。J1 の読み出しが、上から見たボールの方位に追従するのを見てください。ボールがベースに近づくと、どの関節の読み出しが変わるかも見てみましょう。
  2. 「到達範囲を表示」をオンにして、「グリッパーの角度」スライダーを 0 から 90 まで動かします。先端が手首中心から別の方向に 240 mm ぶら下がるので、青い領域がずれます。アームがいちばん高く届く角度を探してみましょう。
  3. アームが伸びられる距離より遠くへボールをドラッグします。ボールは赤くなり、読み出しは先端があとどれだけ足りないかを示します。グリッパーが水平なら、限界は約 1.6 m です。
  4. J5 を 0 にします。J4 と J6 の軸は一本の線に並ぶので、J4 を一方に回し、J6 を同じ量だけ戻すと、グリッパーは元の位置のままです。これが、前の節の手首特異点を、そのまま見たものです。
  5. 「再生」を押してから「協働モード」をオンにし、移送を一回、時間を計ります。1.8 秒ではなく 7.2 秒かかります。
  6. ボールには触れずに 6 本の関節スライダーだけを試し、先端を二つの台のあいだの床に置く J2 と J3 の組を書き留めます。そのあと、ボールをそこへドラッグして確かめます。
  7. 「操作」タブで DH ベンチを開き、UR3e を選んで、ボールを台のほうへドラッグします。リーチが 500 mm なので、透明な腕は途中で止まり、パネルが何ミリメートル足りないかを示します。
  8. 「特異点マップ」をオンにして、ボールを薄い帯の上へドラッグし、「可操作性」バーがゼロに向かって下がるのを見ます。

よくある質問

6 軸とはどういう意味ですか?

鎖のようにつながった 6 つの関節があり、それぞれが自分の軸のまわりに回るという意味です。届く範囲のどの位置にも工具を置き、どの方向にも向けるために必要な数が 6 です。剛体は 3 つの方向に滑り、3 つの方向に回るからです。

モーターが角度しか受け付けないのに、なぜロボットに逆運動学が必要なのですか?

仕事は、工具がどこにいなければならないかで記述されます。溶接の継ぎ目、コンベヤーの上の部品、ねじ穴などです。それぞれの点を 6 つの角度に変換するものが必要です。直線の動きでは、コントローラーは両端だけでなく、経路に沿って何度もこれを行います。

一つの位置に対して、角度の組は一つだけですか?

たいていは違います。この模型のようなアームでは、一つの先端姿勢に最大 8 通りの届き方があります。J1 を点の方に向けるか背を向けるか、肘を上に曲げるか下に曲げるか、手首を反転させるかです。模型は、今の角度にいちばん近い答えを選ぶので、アームが急に飛ぶことはありません。

特異点とは、正確には何ですか?

二つ以上の関節軸が一直線に並び、アームが工具をある方向に動かす能力を失う、あるいは複数の関節の組み合わせが同じ働きをする姿勢です。特異点の近くでは、小さくゆっくりした工具の動きに、非常に速い関節の動きが必要になることがあります。模型では、手首特異点から 20 mm の経路は、先端速度 250 mm/s のとき、J4 に毎秒 510° を要求します。

なぜボールは赤くなるのですか?

ソルバーが点にちょうど届かないときです。伸ばしたアームよりも遠いか、関節が限界を越えなければならないかのどちらかです。そのときアームはできるだけ近くまで行き、読み出しは、どれだけ足りないか、どの関節が限界にあるかを示します。

協働ロボットは、どうやって人を傷つけないようにしているのですか?

規格にあるいくつかの対策を組み合わせています。工具の速度を制限する、人との距離を監視して近づくと減速する、誰かがエリアに入ると止まる、押せる力を制限する、といった対策です。ISO/TS 15066 は、身体の部位ごとの力の限界を挙げていて、たとえば挟まれた手では 140 N です。

実際のコントローラーも、同じやり方で方程式を解いているのですか?

3 つの手首の軸が一点で交わるアームでは、ここにあるような閉じた形の解がよく使われます。速くて予測しやすいからです。その配置でないアームや、7 つの関節を持つアームは、たいていヤコビ行列を使い、答えに向かって繰り返す数値的な方法に頼ります。

アームは自分の後ろに届きますか?

一部は届きます。J1 は左右とも 170° 回れるので、ベースの後ろに 20° のすき間が残り、上腕は後ろに 60° 倒れます。ソルバーは、J1 が点に背を向け、上腕がベースの上に後ろ向きに倒れる解も考慮します。ただし、可動範囲に収まり、今の姿勢により近いときだけその解を使います。

なぜ、肘のあるアームで点に届かせる問題の答えが二つになるのですか?

余弦定理が与えるのは肘の角度の余弦で、余弦は正の角度でも負の角度でも同じ値になります。二つの角度は、肘を、肩と手首を結ぶ線の上側か下側に置きます。手首が前方 800 mm、高さ 300 mm の例では、肘が上の姿勢で肩が 65.15°、肘が下の姿勢で −24.04° で、どちらも点にぴったり届きます。

なぜロボットの関節には減速機が必要なのですか?

モーターは速くて軽いのですが、力が弱いからです。上のトルクの見積りでは、肩に約 241 N·m が必要ですが、減速比 120:1、効率 80 パーセントの減速機の後ろにあるモーターなら、約 2.5 N·m で済みます。代わりに速度を失い、モーターの毎分 3,000 回転が、関節では毎分 25 回転になります。

波動歯車とサイクロイド減速機は、何が違うのですか?

波動歯車は、薄い鋼のカップを、歯が 2 枚多いリングに押し当てて変形させ、歯数から減速比を得ます。たとえば 200 ÷ 2 = 100 です。サイクロイド減速機は、平歯車の段のあとに、ピンの上を転がるローブ付きの円板を置き、減速比は両方の段から決まります。どちらもバックラッシは非常に小さくなります。

手術ロボットは本当にロボットですか?

米国 FDA は、ロボット支援手術装置は、人が直接操作しなければ手術できないので、実際にはロボットではないと述べています。外科医はコンソールの操作装置を動かし、ベッドサイドのカートにあるアームが器具を動かします。

DH パラメータとは何ですか?

Denavit と Hartenberg にちなんだ、関節ごとの 4 つの数値で、各関節軸が前の軸に対してどう配置されているかを表します。前の軸に沿った距離 (d)、新しい軸までの横方向の距離 (a)、ねじれ (α)、関節角度 (θ) です。6 行あれば 6 軸のアームを記述できます。Universal Robots は表を公開していて、「操作」タブにそれが表示されます。

このアームには公式があるのに、なぜ UR のアームには数値ソルバーが必要なのですか?

UR のアームでは d4 と d5 のオフセットのために、3 つの手首の軸が一点で交わらず、問題を手首中心で分けることができないからです。この配置にも閉じた形の解はありますが、減衰付きのヤコビ行列ソルバーのほうが示しやすく、確認では 0.04 mm 以内に収まります。

関節補間と直線補間では、どちらが速いですか?

たいていは関節補間です。各関節が最短の回り方をするからです。二つの台のあいだでは、同じ先端速度の上限で、関節補間は長さ 1.327 m の円弧を 1.99 秒、直線補間は 1.200 m を 1.80 秒で動きますが、手首特異点のそばでは、直線補間で J4 が毎秒 510° に達します。

用語

  • 関節 (軸): アームの回転する接続部分。J1 が床にいちばん近く、J6 が工具にいちばん近い。
  • 順運動学: 関節角度から、工具がどこにあるかを求めること。
  • 逆運動学: 工具を与えられた位置と向きに置く関節角度を求めること。
  • 工具中心点 (TCP): コントローラーが位置を決める、工具上の基準点。ここでは指先のあいだの点。
  • 手首中心: J4、J5、J6 の軸が交わる点。
  • 球面手首: 3 つの軸が一点で交わる手首。閉じた形の逆運動学の解が使える。
  • ヤコビ行列: 各関節角度を少し変えたとき、工具がどれだけ速く動くかを表す行列。
  • 特異点: 関節の軸が一直線に並び、アームが動ける方向を一つ失う姿勢。手首の場合は手首の反転ともいう。
  • 作業領域: 工具が届く点の集まり。
  • 協働ロボット (コボット): 人と直接、近い距離で接して働くように設計されたロボット。
  • 出力・力の制限: 接触は起こりうるが、力と圧力を決められた限界以下に保つ協働の方法。
  • 準静的接触と過渡接触: 体の一部が何かに挟まれた場合と、逃げられる一瞬のぶつかり。
  • バックラッシ: 歯車の歯のあいだの小さな遊びで、入力が動かす前に出力が少し動けてしまう。
  • 減速比: 関節が 1 回転するのにモーターが何回転するか。たとえば 120:1。
  • 肘が上・肘が下: 2 リンクのアームが同じ点に届く二通りの形。
  • DH パラメータ: 関節ごとの 4 つの数値 (d、a、α、θ) で、直列アームの幾何を表す。
  • 可操作性: ヤコビ行列の行列式の大きさ。特異点では 0 になる。
  • 関節補間と直線補間: 関節角度を補間するか、工具を直線上に保つか。
  • 定格可搬質量: メーカーがフランジで認める最大の荷。たいてい、重心の位置などに条件がつく。

参考資料

解説とシミュレーションは CC BY-NC-SA 4.0(特記のあるものを除く)。

広告

この展示を埋め込む

このコードをウェブページやブログ記事に貼り付けると、そこに動く模型が表示されます。

非営利目的なら無料で使えます。出典の行は残してください。 解説とシミュレーションは CC BY-NC-SA 4.0(特記のあるものを除く)。

サイズ

埋め込んだ展示は日本語で開きます。別の言語にするには、このページの言語を切り替えてからコードをコピーしてください。