産業用ロボットや多軸装置の先端を制御する時、同じ2点へ先端を送っても、途中の軌道は命令の種類で変わります。たとえば、各軸の角度をそろえて動かすと、工具中心点(TCP)は弦ではなく弧に近い軌道を描きます。一方、TCP の座標を直線で埋める命令では、途中の各点をその都度関節角へ戻します。ですから、到着点だけを見れば同じでも、溶接やシールの軌道は別物になるのです。
直線を指定したあとも、速さや姿勢しだいで、実現経路は指令経路から外れることがあります。また、途中の点に精密位置決めで止まるか、近似で通過するかで、その点への近さが決まります。つまり、補間の種類、速さと姿勢、経由点の扱いの3つが、軌道と近さを決めます。なお、ある姿勢での関節と先端の対応は順運動学と逆運動学(1)、特異点の幾何は同(2)、関節サーボの一周の遅れは指令とエンコーダ戻りのずれへ渡します。
この記事の要点
| 章 | この節で置く仕事 |
|---|---|
| 関節補間と直線補間 | 補間する空間が関節角か TCP か |
| 直線補間と逆運動学 | 直線の途中点を毎周期解く |
| 経路精度 | 同じ直線指令でも速さで実現経路が外れる |
| 経由点の精密位置決めと近似 | 点で速度ゼロにするか、角を切るか |
| 教示命令との対応 | メーカ語は別名としてだけ見る |
関節補間と直線補間
2点 A と B だけを教えたとき、途中の指令は制御器が自分で埋めます。この埋め方を補間と言います。そして、ここで先に決まるのは、どの空間の軌道を直線とみなすかです。
各軸の目標角へ、同じ時刻に着くように角度を割り振るのが関節補間です。規格でいうPTP制御は「点だけ指定し、経路は問わない」側にあり、多くの教示ではこの関節補間で実装されます。このとき、TCP の軌道は弦になりません。各軸が等しい割合で回っても、手先の位置はリンクの三角関数の合成になるからです。
一方、TCP の位置を作業平面上の直線で割り振るのが直線補間です。こちらは、経路を指定するCP制御の一種です。円弧補間も同じ親に入りますが、ここでは直線だけを見ます。ちなみに、工具中心点という名前は、フランジではなく仕事をする点を指します。
下の図では、同じ A と B への動きを、関節補間と直線補間で重ねています。図の下に並ぶのは、1軸と2軸の角です。
図の到着は、どちらも B です。しかし途中では、橙は弧に寄り、青は弦に乗ります。下の角の線を見ると、直線に乗せるときは軸の忙しさが揃わないことも分かります。ですから、空走の時間を短くしたいときは関節補間、軌道そのものを仕事に残したいときは直線補間、という使い分けがここから出ます。命令名との対応は、あとの節に置きます。
ティーチングペンダントのプレビューで手先の軌道を残し、関節補間と直線補間を切り替えて重ねると、この差は一度で分かります。到着点の数字だけを見ていても、差は現れません。
直線補間と逆運動学
直線に乗せるとは、弦の上の点を順に目標にして、その都度関節角へ戻すことです。つまり、位置が先で、関節が後です。この「戻す」計算が逆運動学です。なお、枝の選び方や肘の上下はここでは固定し、詳しくは前の記事へ渡します。
周期ごとに目標の TCP が少しずつ進み、そのたびに逆運動学が新しい関節指令を出します。その指令を、各軸のサーボが追いかけます。ですから直線補間は、「TCP の軌道」と「関節の軌道」を毎周期つなぐ仕事です。このつなぎが間に合わないとどうなるかは、次の節の経路精度に現れます。
直線命令を出せば、機構が必ず弦の上を走る、と考えてしまうことです。命令が指定するのは指令経路であって、実現経路は関節速度の上限と姿勢で決まります。
経路精度
指令経路と、実際に TCP が残した軌道との差を、経路精度と言います。たとえば試験規格では、同じ軌道を、速さを変えて測ります。現場でも、遅い直線は指令経路に乗り、速い直線は指令経路から外れる、という見え方になります。
理由の一つは、関節速度の頭打ちです。弦の上を一定の手先速度で進むには、姿勢によって関節角速度が大きく変わるからです。特に特異点の近くでは、手先の微小な移動に大きな関節の変化が要ります。その幾何は逆運動学(2)へ渡します。ここでは、同じ直線指令を遅い追従と速い追従で重ね、指令経路から外れる側だけを見ます。
下の図では、同じ直線指令を、遅い追従と速い追従で重ねています。
なお図では、違いが分かるように、指令経路からの外れを大きくしています。
速さを上げると、必要な関節角速度が上限に当たります。すると、逆運動学が求めた角に間に合わず、TCP は弦の内側や外側へ逃げます。つまり故障ではなく、指令が関節の仕事量を超えた、という話です。一周の遅れそのものは、サーボの指令とエンコーダ戻りの側へ渡し、こちらは補間空間と経路精度の話に戻ります。
軌道が重要な区間だけ速度を落とすか、姿勢を特異点から離す方が、ゲインを上げるより先です。経路精度の試験も、定格経路速度の何割かで測ります。
経由点の精密位置決めと近似
A から C へ行く途中に点 V を置くとき、この V を経由点と言います。ここでの問題は、V にいったん止まってから向きを変えるか、近くを切って通過するかです。
点で速度をゼロにし、位置偏差を閉じるのが精密位置決めです。メーカ語では fine などと呼ばれます。一方、有限の加速度のまま角を丸めて次の軌道へ入るのが近似で、ゾーン、CNT、位置決めレベルなど、呼び方は分かれます。ただし、ISO の用語としては経由点が先にあり、fine や zone は現場の別名です。
角を切る半径の直感は、速さの2乗をその半径で割った加速度です。ただし、式の係数までカタログから当てる必要はありません。速いほど、同じ角でも大きく切れます。ですから、「z50 で何ミリ」と数字だけを覚えるより、止まらない以上は V を必ず外す、と押さえる方が先です。
下の図では、同じ経由点 V を、精密位置決めと近似で重ねています。
精密位置決めでは、軌道が V に触れ、そこで一度速度が落ちます。近似では、V の手前から次の軌道へ入り、V との距離がそのまま「近さ」になります。したがって、シールの角をピン角に残したいか、空走の時間を削りたいかで選びます。なお、セルの PLC が軌道を振る話は扱いません。
近似の数字を、点までの許容距離そのものと読むことです。実装は、速度や先読みにも依存します。ですから、近さを保証したい点は精密位置決めに戻します。
教示命令との対応
現場の命令名は、ここまでの仕事の別名です。ですから使い分けの早見にはせず、対応だけを置きます。
| この記事の仕事 | よくある命令・パラメータ |
|---|---|
| 関節補間 | MoveJ、J、MOVJ、PTP |
| 直線補間 | MoveL、L、MOVL、LIN |
| 精密位置決め | fine、FINE、位置決め完了 |
| 近似 | zone、CNT、C_DIS、位置決めレベル |
円弧補間や、姿勢だけを変える補間は、直線とは別のCPです。また、位置は直線で、フランジの回転は別に補間する、という向きの補間もここでは扱いません。
まとめ
同じ2点でも、関節補間と直線補間では TCP の軌道が違います。直線に乗せる仕事の中身は、毎周期の逆運動学です。その指令経路に実現経路が乗るかどうかが経路精度で、速さで外れます。そして、経由点に触るか切るかは、精密位置決めと近似で決まります。
そのうえで、現場の命令名は、これらの仕事を指す別名です。MoveJ と MoveL は関節補間と直線補間、fine と zone は精密位置決めと近似にあたります。経路精度そのものに命令名はなく、直線を速くしたときの外れ方として現れます。ですから、メーカ語は新しい仕組みとしてではなく、この対応へ戻して読めば足ります。
よくある質問
Q1. 関節補間と PTP 制御は同じか
A. 親と実装の関係です。PTP 制御は点だけを指定し、経路を問いません。多くの教示では、その実装が関節補間です。ですから、現場では重なって見えます。ただし、PTP の定義そのものは「経路を指定しない」側にあります。
Q2. 直線を出したのに軌道から外れるのは故障か
A. 多くの場合、故障ではありません。指令経路が直線でも、関節速度の上限や特異点の近くでは実現経路が外れるからです。ですから、まず速さと姿勢を見ます。一周の遅れの話は、サーボの記事へ渡します。
Q3. ゾーンや CNT の数字は、点までの距離か
A. 距離そのもの、と決めつけない方がよいです。近似は、加速度が有限であるための角の切れ方であり、速度や先読みにも依存するからです。ですから、点に触れさせたいなら精密位置決めです。
Q4. 特異点で直線が崩れる幾何は、この記事で足りるか
A. 足りません。この記事で見るのは、速さ側の経路精度だけです。一方、伸びきりや解の枝は、逆運動学(2)へ渡します。
Q5. サーボ一周の遅れと同じ現象か
A. 別の現象です。サーボ一周の遅れは、指令とエンコーダ戻りが同じ瞬間に揃わない、という話です。こちらは、補間する空間と、指令経路に実現経路が乗るかどうかの話です。なお、関節サーボはその内側で動いています。

コメントを残す