ID : 5796
プログラミング
各パラメータの決め方とプログラミングのしかたを説明します。
TOOL座標
実施例のハンドは TOOL座標のZ方向に90mmオフセットしています。
また、ワーク取り出しや圧入位置の状態でTOOL座標のRY回りに90deg回転しています。
TOOL1座標:X=0 , Y=0 , Z=90 , RX=0 , RY=90 , RZ=0

内部負荷条件
コンプライアンス機能は実際のハンドとワークの質量と重心位置が必要です。
- 先端負荷質量:1kg(ハンドの重量)
- 負荷重心位置 : X = 0 mm, Y = 0 mm, Z = 45 mm

パラメータ詳細
下図のロボット姿勢で、「TOOL1」がZ方向にコンプライアンス(倣い方向)を設定する場合の各パラメータを説明します。

座標系パラメータ | |||
---|---|---|---|
No. | TOOL座標系 | 目標制御力 | 偏差許容値 |
(1) | X | 100[N] | 10[mm] |
(2) | Y | 100[N] | 10[mm] |
(3) | Z | 0[N] | 100[mm] |
(4) | RX | 10[Nm] | 10[deg] |
(5) | RY | 10[Nm] | 10[deg] |
(6) | RZ | 10[Nm] | 10[deg] |
各軸パラメータ | |||
---|---|---|---|
No. | 軸 | 軸電流制限値 | 軸偏差許容値 |
(7) | 1軸 | 100[%] | 50[deg] |
(8) | 2軸 | 0[%] | 100[deg] |
(9) | 3軸 | 0[%] | 100[deg] |
(10) | 4軸 | 100[%] | 50[deg] |
(11) | 5軸 | 0[%] | 100[deg] |
(12) | 6軸 | 100[%] | 50[deg] |
- 力、電流制限の値はあくまで参考値です。
- 姿勢、倣い方向、ハンドの重量などにより上記表の値では柔らかくなりすぎる場合が有ります。実機で現合による調整が必要です。
- 他に現合で調整が必要なパラメータとして粘性、柔らかさが有ります。
-
目標制御力どおりに倣わせるためにはその方向に影響する軸の電流制限値は0%にする必要がありますが、電流制限値を0%にすると、ロボット動作の追従性が悪くなり、滑らかな動作ができなくなる場合があります。
期待した力通りに倣わせるためには、実際の設備での目標制御力と電流制限値の調整が必要です。
座標系パラメータ
目標制御力(力) | ロボットを制御するための力で、設定した力以上は出力しません。(範囲は0~) この値を小さくすると、小さな外力に倣って動作するようになります。 実施例ではZ方向を 0[N] に設定することで、Z方向の外力に倣いやすくなります。X方向、Y方向は 100[N]、RX、RY、RZ は 10[Nm]に設定することで、他の方向と回転系はサーボ保持が効いている状態になります。 |
---|---|
偏差許容値 (PosEralw=位置偏差値) |
手先のサーボ許容偏差値を設定します。(範囲は0~) この値を大きくする事で、倣い動作によって偏差が増加しても偏差関係のエラーは発生しなくなります。 実施例ではZ方向を 100[mm] に設定することで、100[mm]まで倣い動作で倣うことが出来ます。X方向、Y方向は10[mm]、RX、RY、RZ は 10[deg]の設定は、外力による多少の偏差許容を考慮しています。 |
各軸パラメータ
軸電流制限値 (CurLmt=電流制限値) |
各軸モータのトルク値(電流値)を設定します。(範囲は 0~100[%]) 100[%]が定格で、値を小さくすることでトルク値(電流値)を下げ柔らかさを実現します。 実施例ではTOOL座標系のZ方向に倣わす場合、2軸、3軸、5軸に負荷が掛るため 0[%] に設定します。1軸、4軸、6軸は多少の負荷が掛るため 100[%]に設定します。 |
---|---|
軸偏差許容値 (Eralw=各軸偏差許容) |
各軸のサーボ許容偏差値を設定します。(範囲は0~) 電流を制限した軸に対し、外力を受けると各関節が回転し偏差が増加しても偏差関係のエラーは発生しなくなります。 実施例ではTOOL座標系のZ方向に倣わす場合、2軸、3軸、5軸に負荷が掛るため 100[deg] に設定します。1軸、4軸、6軸は多少の負荷が掛るため 50[deg]に設定します。 |
ティーチング位置
実施例はTOOL1の時のティーチング位置です。
P1 | ワーク取出し位置 | X=200、Y=460、Z=220、RX=180、RY=0、RZ=-90、FIG=1 |
P2 | プレス前位置 | X=390、Y=-200、Z=180、RX=180、RY=0、RZ=-180、FIG=1 |
P3 | 圧入位置 | X=600、Y=-200、Z=105、RX=180、RY=0、RZ=-180、FIG=1 |
プログラミング例
Samp.pcs
メインプログラム
#Include "CompOn.pcs"
#Include "CompOff.pcs"
Sub Main
TakeArm
'--- 内部負荷 ---
V1 = V(0,0,45) 'V1 に重心位置を書込み
PayLoad 1000 , V1 '質量1000g、重心位置をV1で設定
'--- TOOL1 ---
P0 = P(0,0,90,0,90,0) 'P0 に TOOL1 に設定する値を書込み
Tool 1, P0 'TOOL1 を P0 の値で設定
ChangeTool 1 'TOOL1 変更
'--- ワーク取り出し ---
Approach P,P1,@P 80
Move L,@P P1
'ハンドチャック
Depart L,@P 80
'--- プレス前位置へ移動 ---
Move P,@P P2
'--- 圧入位置 ---
Approach P,P3,@P 70
Move L,@P P3
Call CompOn 'コンプライアンス有効
'プレス起動
'圧入中
'圧入完了
'プレス上昇
Call CompOFF 'コンプライアンス無効
'ハンドアンチャック
Depart L,@P 70
'--- プレス前位置へ移動 ---
Move P,@P P2
End Sub
CompOn.pcs
コンプライアンス有効
Sub Main
'--- コンプライアンスパラメータの設定 ---
P11 = P(100, 100, 0, 10, 10, 10) '座標系:力値の設定値
P12 = P(10,10,100,10,10,10) '座標系:位置偏差許容の設定値
J11 = J(100,0,0,100,0,100) '各軸:電流制限値の設定値
J12 = J(50,100,100,50,100,50) '各軸:偏差許容の設定値
ForceParam 1, 1, P11, PosEralw = P12, CurLmt = J11, Eralw = J12
'---コンプライアンス機能を有効にする。 ---
ForceCtrl On, 1
End Sub
CompOff.pcs
コンプライアンス無効
Sub Main
'---コンプライアンス機能を無効にする。 ---
ForceCtrl Off
End Sub
ID : 5796