ティーチング
あらかじめロボットの動く位置と速度をティーチングします。ティーチングペンダントでロボットを操作し、動かしたい位置へ移動させて位置を記録します。そのときに速度の大きさも指定します。下図のようにP1とP2の2点間距離の500mmを速度100mm/sで動くようにティーチングしたとします。
速度指令計算
ティーチングした動きを再生する場合、ロボットコントローラは、P1からP2に動く前に、P1からP2に移動する際のロボットの手先速度を計算します。モータで鉄の塊を動かさないといけないので、瞬時に指定した速度にはなりません。加速と減速に時間を必要とします。モータの出せる最大トルクとモータが動かさないといけないアームの重量と重心によって、加速と減速の時間は決まります。斜線の面積は、移動量になるので、500mmです。移動量500mmから加速減速時の移動を引き、残りの移動量を速度100mm/sで割ると、定速時間が求まります。これによりP1からP2へ移動する際の速度が求まります。
位置指令計算
P1からP2に移動する際に、ロボットコントローラは、例えば100[microsecond]など一定周期で各関節の移動量を計算して、モータに指令を出していきます。毎周期の手先の移動量が上図から分かっているので、手先位置が分かります。その手先位置から逆運動学により各関節の位置を求め、各関節の移動量を求めます。この各関節の移動量をモータに位置指令として出力し、ロボットを動かしていきます。
実際には、動力学により求めたトルクを使用したフィードフォワード制御、各関節のエンコーダ値を使用したフィードバック制御も使用して制御します。これらについてはまた別途説明します。
コメント