ハンド
ハンドは、お客様が製作してください。
注意
- ハンドのセンサー側取付面は、完全に接触状態となるように設計してください。また、センサーの性能を引き出すために、剛性のあるハンドを使用してください。
- ハンドを取りつけてマニピュレーターを動作させると、下記の要因により、マニピュレーター本体に接触する場合があります。
- ハンドの外径
- ワークの大きさ
- 力覚センサーの外径
- アームの位置 など システムレイアウトを行うときは、ハンドと力覚センサーの干渉エリアに十分注意してください。
許容モーメントに関する指針
ハンドを設計する上で、注意していただきたいことを記載しています。
ロボットの関節には、許容モーメントがあります。該当する関節の許容モーメントを超えないようにハンド設計する必要があります。モーメントは、下記のように算出されます。
負荷と押しつけのモーメントの方向が同じ場合:
- モーメント[N⋅m]
- = 負荷(力覚, ハンド, ワーク)の質量[kg]×重力加速度[m/s2]×軸回転中心と負荷の重心の距離[m]+押付力[N]×軸回転中心と接触点の距離[m]
負荷と押しつけのモーメントの方向が異なる場合:
- モーメント[N⋅m]
- =負荷(力覚, ハンド, ワーク)の質量[kg]×重力加速度[m/s2]×軸回転中心と負荷の重心の距離[m]−押付力[N]×軸回転中心と接触点の距離[m]
モーメントの計算例: 上方向 (C4: J5)
上方向へ5Nの力を押しつけたときの、C4シリーズマニピュレーターのJ5にかかるモーメント計算方法
- J5 にかかるモーメント[N⋅m]
- = 負荷(力覚, ハンド, ワーク)の質量[kg]×重力加速度[m/s2]×J5回転中心と負荷の重心の距離[m]+押付力[N]×J5回転中心と接触点の距離[m]
- = 1[kg]×9.8[m/s2]×0.15[m]+5[N]×0.2[m]
- = 2.47[N⋅m]
モーメントの計算例: 下方向 (C4: J5)
下方向へ5Nの力を押しつけたときの、C4シリーズマニピュレーターのJ5にかかるモーメント計算方法
- J5 にかかるモーメント[N⋅m]
- = 負荷(力覚, ハンド, ワーク)の質量[kg]×重力加速度[m/s2]×J5 回転中心と負荷の重
心の距離[m]+押付力[N]×J5 回転中心と接触点の距離[m]
- = 1[kg]×9.8[m/s2]×0.15[m]-5[N]×0.2[m]
- = 0.47[N⋅m]
J5にかかるモーメント0.47[N(m]が、C4のJ5の許容モーメント4.41[N(m]を超えていないため問題ありません。
他の関節の場合でも、同様の検討および検証を行ってください。
関節トルクに関する指針
アプリケーションが、大きな力を加える場合や、ハンド, ワークの負荷が大きい場合は、下記の説明に従って、関節トルクの確認をおこなってください。
関節のピークトルクの確認
PTRQは、ピークトルクの取得や表示ができます。(使用方法は、サンプルプログラムを参照してください。)
PTRQが “1”の場合は、安全上の問題を引き起こす可能性があります。必ずPTRQが “1”未満であることを確認してください。
Function PTRQ_Check 'PTRQを取得、表示するサンプルプログラム
Integer i
Double PT(6)
Do '動作部分とPTRQ取得部分を繰り返す
PTCLR 'ピークトルクをクリアする
'---動作部分(例)---動作部分は例でありユーザーが記述する
TLSet 1, XY(0, 0, -49, 0, 0, 0) 'ツール1を設定
Tool 1 'ツール1を指定
Motor On 'モーターオン
Power High 'パワーハイ
Speed 100 'PTP動作速度設定
Accel 100, 100 'PTP動作加速度設定
SpeedS 50 'CP動作速度設定
AccelS 500, 500 'CP動作加速度設定
Go P1 'P1へPTP動作
Go P2 +Z(20) 'P2+Z20mmへ移動
Move P2
FSet FC1.Fz_Enabled, True 'Fzのみ力制御機能を有効
FSet FC1.Fz_Spring, 0 '仮想弾性係数は0
FSet FC1.Fz_Damper, 10 '仮想粘性係数は10
FSet FC1.Fz_Mass, 10 '仮想慣性係数は10
FSet FC1.Fz_TargetForce, -50 'Fzの目標力を-50Nに設定
Wait 0.3 '0.3秒待機
FSet FS1.Reset '力覚センサーリセット
FCKeep FC1, 10 '力制御機能を10秒間実行
Move P2 'P2へ移動
Go P2 +Z(20) 'P2+Z20mmへ移動
'-----------------------------------------------------
For i = 1 To 6 '1から6まで繰り返す
PT(i) = PTRQ(i) 'PTRQを取得
Print "PT_J", i, "=", PTRQ(i) 'PTRQを表示
Next
Loop
Fend
関節の過負荷率
OLRateは、過負荷率の取得や表示ができます。(使用方法は、サンプルプログラムを参照してください。)
OLRateは関節に過剰な負荷がかかると上昇し、負荷がかからなくなると下降します。OLRateが上昇し続け、“1”になるとサーボエラーで停止します。OLRateが上昇し続けないことを確認してください。具体的には、動作1周のOLRate上昇量が “0”であることを確認してください。
Function OLRate_Check 'OLRateを取得、表示するプログラム
Integer i, j
Double OLCheck(6), OL(6)
Do '動作部分とPTRQ取得部分を繰り返す
'---動作部分(例)--- 動作部分は例でありユーザーが記述する
TLSet 1, XY(0, 0, -49, 0, 0, 0) 'ツール1を設定
Tool 1 'ツール1を指定
Motor On 'モーターオン
Power High 'パワーハイ
Speed 100 'PTP動作速度設定
Accel 100, 100 'PTP動作加速度設定
SpeedS 50 'CP動作速度設定
AccelS 500, 500 'CP動作加速度設定
Go P1 'P1へPTP動作
Go P2 +Z(20) 'P2+Z20mmへ移動
Move P2 'P2へCP動作
FSet FC1.Fz_Enabled, True 'Fzのみ力制御機能を有効
FSet FC1.Fz_Spring, 0 '仮想弾性係数は0
FSet FC1.Fz_Damper, 10 '仮想粘性係数は10
FSet FC1.Fz_Mass, 10 '仮想慣性係数は10
FSet FC1.Fz_TargetForce, -50 'Fzの目標力を-50Nに設定
Wait 0.3 '0.3秒待機
FSet FS1.Reset '力覚センサーリセット
FCKeep FC1, 10 '力制御機能を10秒間実行
Move P2 'P2へ移動
Go P2 +Z(20) 'P2+Z20mmへ移動
-----------------------------------------------------
For i = 1 To 6 '1から6まで繰り返す
If j = 1 Then '2周目以降の場合
OLCheck(i) = OLRate(i) - OL(i)
'動作1周のOLRate上昇量を取得
OL(i) = OLRate(i) 'OLRateを取得
Print "OLCheck_J", i, "=", OLCheck(i)
'動作1周のOLRate上昇量を表示
Else '1周目の場合
OL(i) = OLRate(i) 'OLRateを取得
EndIf
Next
j = 1
Loop
Fend
配線, 配管に関する注意
ハンドに接続されたケーブルや配管に引っぱられることにより、ハンドに力が加わることがあります。力覚センサーは、この力も検出します。この力は、作業に悪影響を与えることがあります。そのため、ケーブルや配管をセンサー結束部に固定してください。
弾性力や重力の影響を小さくするために、配線や配管は、センサー結束部に固定してください。
配線や配管が、周囲の物に接触すると力やトルクが発生してしまいます。配線や配管が周囲に接触しないように固定してください。
高負荷/高重量物を取り扱う場合の注意事項
高負荷/高重量物を取り扱う場合、動作によっては力覚センサーの定格荷重を超える可能性があります。使用時はお客様環境で事前検証を行い、定格荷重を超えないように速度/加速度の設定をしてください (参考: 4. 力覚センサー)。力制御中に定格荷重を超えると、5548エラーが発生します。
力覚センサーの姿勢変化に伴う注意事項
力覚センサーをリセットした後に大きな姿勢変化を加えると、力制御可能な範囲が限定されることがあります。
以下の図は、ハンドを取りつけた力覚センサーで、ワーク(ハンドと合計で質量50[N])を把持し、姿勢AからJ5軸を180°変えた姿勢Cまで動かしたときを想定しています。
各姿勢が力覚センサーにかける負荷は、以下の表のとおりです。
Fx [N] | Fy [N] | Fz [N] | |
---|---|---|---|
姿勢A | 0 | 0 | 50 |
姿勢B | -50 | 0 | 0 |
姿勢C | 0 | 0 | -50 |
姿勢Aで力覚センサーをリセットした場合、上記表の姿勢Aを基準にして出力が0となります。その後、各姿勢に変化したときの力覚センサーの出力値は、以下のとおりです。
Fx [N] | Fy [N] | Fz [N] | |
---|---|---|---|
姿勢A | 0 | 0 | 0 |
姿勢B | -50 | 0 | -50 |
姿勢C | 0 | 0 | -100 |
姿勢Cでは、センサーにかかっている力はハンド+ワークの重量となりますが、力覚センサーから出力される値は、その2倍になります。この姿勢Cで押付け作業をした場合、力覚センサーは本来250[N]の力制御が可能ですが、すでに力覚センサーに100[N]の力を受けているため、残りが150[N]となり、力制御できる最大値が小さくなります。力制御中に力覚センサーの出力値が定格を超えると、5548エラーが発生します。定格範囲を超えないようにプログラムを作成してください。
重力補償時については、次の項を参照してください。
座標変換 , 重力補償