ID : 5176
ForceParam
機能
力制御機能のパラメータを設定します。
構文
コンプライアンス機能の場合
ForceParam 力制御番号, 座標系, 力 [,CurLmt = 電流制限値][,PosEralw = 位置偏差許容] [,Eralw = 各軸偏差許容][,Spring = 柔らかさ][,Damp = 粘性][,OffSet = オフセット値]
力センサ有コンプライアンス機能の場合
ForceParam 力制御番号, 座標系, 力 [,Rate = 制御割合][,PosEralw = 位置偏差許容]
[,Eralw = 各軸偏差許容][,Damp = 粘性][,SpMax = 最大並進速度]
[,RSpMax = 最大回転速度][,Mass = 慣性][,Spring = 柔らかさ]
指定項目
コンプライアンス機能の場合
- 力制御番号
- 力制御番号(コンプライアンス機能のパラメータテーブル番号)1~10を選択します。整数型データで指定します。
- 座標系
- 座標を「0:ベース座標系」、「1:ツール座標系」、「2:ワーク座標系」より選択します。整数型データで指定します。
- 力
- ロボットを制御するための力で、設定した力以上は出力しません。この値を小さくすると、小さな外力に倣って動作するようになります。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。
- 電流制限値
- 電流制限値を設定します。ジョイント型データで指定します。省略可能です。付加軸は指定しても無効です。
- 位置偏差許容
- 手先位置のサーボ偏差許容値を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。
- 各軸偏差許容
- 各軸のサーボ偏差許容値を設定します。ジョイント型データで指定します。省略可能です。付加軸は指定しても無効です。
- 柔らかさ
- 位置に応じて増加する戻り力の強さの割合を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。
- 粘性
- 速度に応じて増加する抵抗力の割合を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。
- オフセット値
- 予め倣わせたい方向に誘導する為の力を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。
力センサ有コンプライアンス機能では使用しません。
力センサ有コンプライアンス機能の場合
- 力制御番号
- 力制御番号(コンプライアンス機能のパラメータテーブル番号)1~10を選択します。整数型データで指定します。
- 座標系
- 座標を「0:ベース座標系」、「1:ツール座標系」、「2:ワーク座標系」より選択します。整数型データで指定します。
- 力
- ロボットを制御するための力で、設定した力以上は出力しません。この値を小さくすると、小さな外力に倣って動作するようになります。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。
- 制御割合
- X、Y、Z方向、X軸回り、Y軸回り、Z軸回りの制御割合を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。
通常、力制御したい方向は制御割合を100%にしてください。力制御したくない方向は制御割合を0%にしてください。
コンプライアンス機能では使用しません。 - 位置偏差許容
- 手先位置のサーボ偏差許容値を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。
- 各軸偏差許容
- 各軸のサーボ偏差許容値を設定します。ジョイント型データで指定します。省略可能です。付加軸は指定しても無効です。
- 粘性
- 速度に応じて増加する抵抗力の割合を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。
- 最大並進速度
- 手先並進速度制限値[mm/s]を設定します。整数型、単精度実数型、倍精度実数型、バリアント(Variant)型、文字列型データで指定します。省略可能です。
コンプライアンス機能では使用しません。 - 最大回転速度
- 手先回転速度制限値[deg/s]を設定します。整数型、単精度実数型、倍精度実数型、バリアント(Variant)型、文字列型データで指定します。省略可能です。
コンプライアンス機能では使用しません。 - 慣性
- 加速度に応じて増加する抵抗力の割合を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。コンプライアンス機能では使用しません。
- 柔らかさ
- 位置に応じて増加する戻り力の強さの割合を設定します。ポジション型データ(X、Y、Z、RX、RY、RZ)で指定します。省略可能です。
解説
力制御機能のパラメータを設定します。
力制御機能については、機能ガイドの「力制御機能」を参照してください。
パラメータについては機能ガイドの力センサ有コンプライアンス機能の「パラメータの設定
」および、コンプライアンス機能の「パラメータ一覧」を参照してください。
注意事項
- 5軸ロボットは使用できません。
- ロボット制御権を取得(TakeArm)したタスクにて実行下さい。ロボット制御権未取得の場合は、エラー「83501024 アームセマフォを取得できません。」が発生します。
- 力センサ無しのコンプライアンス機能の場合、力制御中は実行できません。力制御中に本コマンドを実行すると、エラー「83201535 力制御中は設定できません。」が発生します。
- 力センサ有コンプライアンス機能の場合、力制御中に「力」のみ変更可能です。「粘性、慣性、柔らかさ」を変更したい場合は、ForceChangeTableを使用してください。
- 「設定値」を1とし、ツール座標を選択した場合、ツール座標は、力制御有効設定(ForceCtrl)時のツール座標となります。力制御中にChangeToolなどは反映されますが、力制御中に変更すると挙動が不安定になり、エラーになる場合があります。
- 「設定値」を2とし、ワーク座標を選択した場合、ワーク座標は、力制御有効設定(ForceCtrl)時のワーク座標となります。力制御中にChangeWorkなどは反映されますが、力制御中に変更すると挙動が不安定になり、エラーになる場合があります。
- 力制御中は、ツール座標変更、ワーク座標変更はできません。
- オフセット力、モーメントを加える方向にロボットが動作する場合があります。動作する場合は、設定値を下げてください。
- CurLmt(電流制限値)に比較的大きな値を設定した場合、ロボットが発振的になりエラーが発生する場合があります。その場合、力制御の柔らかさをSpring(柔らかさ)、Damp(粘性)にて調整してください。
- ツール端の位置、姿勢偏差が設定した許容値を超えた場合、エラー「8320152E 力制御、手先位置偏差異常」が発生します。
- Damp(粘性)は、Spring(柔らかさ)にて設定した柔らかさ割合より小さい値を設定しないでください。柔らかさ割合より小さい値を設定した場合、ロボットが振動し、エラー停止する場合があります。
- 力センサ有コンプライアンスの調整時は、「目標制御力」と「制御割合」を最初に設定してください。調整手順については、機能ガイドの力センサ有コンプライアンス機能の「調整手順」を参照してください。
- コンプライアンスの調整時は、「目標制御力」と「電流制限値」を最初に設定してください。調整方法については、機能ガイドのコンプライアンス機能の「調整方法」を参照してください。
- パラメータ調整は、ティーチングペンダントでもコマンドでもできます。併用すると、混乱により誤った設定を行う恐れがありますので、どちらかに統一して実施することをお勧めします。
- 力センサ有コンプライアンスで、制御したい方向と、Move命令などでのロボット動作命令の動作方向が一致している場合は、指定した力通りに制御はできませんので、制御を開始したい位置まで移動したらMotionSkipでロボット動作命令をスキップさせてください。
用例
用例1
Sub Main 'プログラムを開始します。
Takearm keep = 1 'アームグループの制御権を取得します。
Move P,@E P2 'P2へ移動します。
ForceParam 1,1,P(100,100,0,100,100,100)'力制御番号、座標系、各要素の外力に対する
'閾値を設定します。
ForceCtrl ON,1 '力制御機能(コンプライアンス機能)を有効にします。
Move L,@0 P3 'P3へ移動します。
:
'アンチャック動作を呼び出します。
:
Move L,@0 P2 'P2へ移動します。
ForceCtrl OFF '力制御機能(コンプライアンス機能)を無効にします。
:
:
End Sub 'プログラムを終了します。
用例2
'ツール座標系でZ方向に10Nの力を加える
ForceParam 1, 1, P(0, 0, 10, 0, 0, 0), Rate = P(0, 0, 100, 0, 0, 0)
具体的な使用方法については、機能ガイドのコンプライアンス機能の「実施例(プログラミング例)」を参照してください。
ID : 5176