タスクエディタコマンドのコンプライアンス/強制制御の概念の概要
強制制御とコンプライアンス制御は、ロボットの力を制御する機能です。また、モーションコマンドを追加することで、モーションが行われると同時に力を制御することができます。コンプライアンス制御と強制制御には、それぞれ次の違いがあります。
コンプライアンス管理
コンプライアンス制御の場合、ロボットはロボットの終了TCPで外力に準拠し、外力が除去されると、ロボットを元の位置に戻すための力が生成されます。
このアプローチは、ロボットがでこぼこの表面を直線で移動しているときに、ロボット自体や表面に損傷を与えずにロボットを確実に移動させる場合に利用できます。また、部材近傍での予期せぬ衝突を防止するためにも利用できます。
強制制御
力制御の場合、力はロボットの端でTCPに適用されます。力が発生した方向に加速度が生成され、ロボットは動きの方向に加えて力の方向にも同時に移動します。
ロボットが物体に接触すると、設定された力と物体の反発力が平衡になるまで、物体に力が加えられます。
このアプローチは、ロボットがでこぼこの表面を直線で移動しているときに、サーフェスに一定の力が適用されるようにする場合に利用できます。これは、ロボットが一定の力で押す必要があるタスク、つまり研磨作業にも利用できます。

注記
コンプライアンスコマンドと強制コマンドは、現在の座標に基づいて実行されます。タスクのデフォルトの座標はベース座標であり、座標は[設定(Set)]コマンドで変更できます。
図 1は、+Z方向の力/コンプライアンス制御がベース座標に適用されるときの動作方向です。
図 2は、+Z方向の力/コンプライアンス制御が工具座標に適用されるときの動作方向です。

コンプライアンス管理
コンプライアンス制御とは、ロボット端部のTCOPに力が加えられたときに設定された剛性に応じて外力に適合する機能です。ターゲットポイントで力のバランスをとり、バランスポイントから離れて変位が発生した場合に反発力を発生させる制御方法です。コンプライアンス制御中、ロボットエンドはバネのように跳ね返ります。
モーションコントロールのみを使用しているときに衝突が発生すると、衝突した物体が損傷する可能性があります。
斗山ロボティクスのロボットは、衝突が発生すると安全に停止しますが、 安全限界>衝突感度などのユーザー設定によっては、次のような状況が発生する可能性があります。
モーション制御中にコンプライアンス制御がオンに設定されている場合、ロボットは衝突したオブジェクトに準拠しながら移動します。

Fが外力、Kが剛性、Xが距離の場合、次の式が成り立ちます。
F = K * X
K = F/X
X = F/K
上記の式に基づき、コンプライアンス制御の剛性が1000N/mに設定され、ロボットが1 mm移動すると、生成される外力は1Nになります。
F = 1000 N/m * 0.001 m = 1 N(0.001 m = 1 mm)
注記
コンプライアンスコマンドのプロパティでは、次の値を設定できます。
モード
オン:コンプライアンス管理の有効化
変更:コンプライアンスモードがオンに設定されている場合、剛性に変わります
オフ:コンプライアンス制御を無効にします
剛性範囲
M/Hシリーズ:平行移動(0 ~ 20000N/m)、回転移動(0 ~ 1000Nm/rad)
Aシリーズ:平行移動(0 ~ 10000N/m)、回転移動(0 ~ 300Nm/rad)
剛性の値が低いと外力により穏やかに反応し、目標点に戻るまでに時間がかかります。
時間の設定
現在の剛性値が設定された剛性値(0 ~ 1秒)に達するまでに必要な時間です。

注意
工具重量とTCP(工具中心点)を正確に設定する必要があります。工具重量が不正確な場合、ロボットは工具重量を外力として検出する可能性があり、コンプライアンスコマンドをオンに設定すると位置エラーが生成されます。
ドレスパックの張力は、ロボットに外部トルクを発生させる可能性があります。したがって、ドレスパックを取り付けるときは注意してください。
非同期モーションまたはブレンドモーションの実行中は、コンプライアンスのオン/オフを切り替えることはできません。
コンプライアンスコマンドのオン時は、線形動作のみが許可されます。MoveJやMoveSJなどのジョイント動作は許可されていません。
コンプライアンスコマンドのオン時に、工具重量またはTCPは変更できません。
コンプライアンスコマンドのオン時に、モーション実行中に生成されるトルクのコンプライアンスのために、ターゲット点に正確に到達しない可能性があります。そのため、目標点の近くでコンプライアンス制御をオンにすることをお勧めします。あるいは、剛性値を大きく設定することで位置誤差を最小化することもできます。
強制制御
力制御は、設定された力と反発力のバランスが取れるまで力制御方向に力を加える機能です。
ロボットを設定された力の方向に移動し、オブジェクトと接触すると、入力された力(N)を維持します。
一定の力を適用しながら、力の方向とは異なる方向へのモーションコントロールが可能です。
最小設定は+/-10Nで、0.2Nの解像度で微調整できます。
特異点ゾーンで強制制御は使用できません
n一般的に、コンプライアンス制御は力制御と組み合わせて使用され、力制御が外力に適合するようにします。

注記
Forceコマンドのプロパティから、以下の値を設定できます。
モード
オン:強制制御を有効にします
オフ:強制制御を無効にします
希望する力の範囲
X、Y、Z:10 -(各ロボットの最大)N
A、B、C:5 -(各ロボットの最大)Nm
最大力の詳細については、 安全パラメータの上限/下限しきい値範囲およびデフォルト値を参照してください。
ターゲットの方向
各方向の選択したターゲット値に移動します。
複数の選択を行うことができます。
力制御は、力設定後の方向設定でのみ実行できます。
選択した複数の方向のいずれかが目標力に達すると、他の方向の目標値に達するまで移動を続けます。
相対モード
このモードを有効にすると、ロボットに加えられた外力を0に較正し、力制御精度を向上させます。
相対モードが無効の場合、ターゲットに適用される実際の力は、設定力と外力の合計に等しくなります。
相対モードが有効な場合、ターゲットに適用される実際の力は設定された力と等しくなります。
力の制御中、ポーズや外力に応じて偏差が発生する可能性があります。
力制御中は、正確な目標点に到達しない可能性があります。そのため、目標点付近の力制御を有効にすることをお勧めします。
時間の設定
現在の力の値が設定力の値(0~1秒)に達するまでに必要な時間です。


[ねじ山]コマンド
スレッドはタスクエディタで作成して実行できます。
注記
ねじ切りの制約は次のとおりです。
スレッド名の先頭に数字を付けることはできません。また、使用できるのは小文字、数字、下線のみです。名前は30文字以内にするか、別のスレッド名と重複することはできません。
タスクエディタ画面で、[スレッド]コマンドをクリックすると、[スレッド]コマンドと[スレッドの終了]コマンドの両方がタスクリストパネルに追加されます。タスクごとに最大4つのスレッドが許可されます。
次のコマンドは単独で設定することはできず、条件文内に実装する必要があります。
Move, Move L, Move J, Move SX,Move SJ, Move C, Move B, Move Spiral, Move Periodic, Move JX
Define, Set, Sub, Thread, Break, Weight Measure
Force Control Commands (Compliance, Force)
Signal Commands (Add Signal, Set Signal, Get Signal, Delete Signal)
高度なコマンド(Hand guide, Nudge)
ユーザーコマンド