<< 前へ        次へ >>

ID : 17609

ForceParam

機能

力制御機能のパラメータを設定します。

構文

ForceParam 力制御番号, 座標系, 目標制御力 [,Rate = 制御割合][,PosEralw = 位置偏差許容]
    [,Eralw = 各軸偏差許容][,Damp = 粘性][,SpMax = 最大並進速度]
    [,RSpMax = 最大回転速度][,Mass = 慣性][,Spring = 柔らかさ]

指定項目

力制御番号
力制御番号 (力制御機能のパラメータテーブル番号) 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)で指定します。省略可能です。

解説

力制御機能のパラメータを設定します。

注意事項

  • ロボット制御権を取得 (TakeArm) したタスクにて実行してください。ロボット制御権未取得の場合は、エラー[83501024 アームセマフォを取得できません。]が発生します。
  • 力制御が有効の場合は、[力]のみ変更可能です。[粘性]、[慣性]、[柔らかさ]を変更したい場合は、ForceChangeTableを使用してください。
  • [座標系]で[1 : ツール座標系]を選択した場合、ツール座標は、力制御有効設定 (ForceCtrl) 時のツール座標となります。力制御中にChangeToolは反映されますが、力制御中に変更すると挙動が不安定になるため、座標系は変更しないでください。
  • [座標系]で[2 : ワーク座標系]を選択した場合、ワーク座標は、力制御有効設定 (ForceCtrl) 時のワーク座標となります。力制御中にChangeWorkは反映されますが、力制御中に変更すると挙動が不安定になるため、座標系は変更しないでください。
  • 手先の位置、各軸偏差が設定した許容値を超えた場合、エラー[8320152E 力制御、手先位置偏差異常]が発生します。
  • [粘性] は、[柔らかさ] にて設定した柔らかさ割合より小さい値を設定しないでください。柔らかさ割合より小さい値を設定した場合、ロボットが振動し、エラー停止する場合があります。
  • パラメータの調整時は、[力]と[制御割合]を最初に設定してください。
  • パラメータの調整は、スマートTPでもコマンドでもできます。併用すると、混乱により誤った設定を行う恐れがありますので、どちらかに統一して実施することをお勧めします。
  • 力制御機能では制御したい方向と、Move命令などのロボット動作命令の動作方向が一致している場合は、指定した力通りに制御はできませんので、制御を開始したい位置まで移動したらMotionSkipでロボット動作命令をスキップさせてください。
  • [接触判定力] または [接触判定モーメント] が [目標制御力]より大きい値に設定されている場合は、エラー[0x83201D13: 制御できない目標制御力が設定されています] が発生します。[接触判定力]、[接触判定モーメント] を変更したい場合は、ForceSensorParamを使用してください。
  • [力制御制限力] または [力制御制限モーメント] が [目標制御力]より小さい値に設定されている場合は、エラー[0x83201D13: 制御できない目標制御力が設定されています] が発生します。[力制御制限力]、[力制御制限モーメント] を変更したい場合は、ForceSensorParamを使用してください。

用例

用例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 : 17609

<< 前へ        次へ >>