接触探りオブジェクトのプロパティー設定ガイドライン
Step 1. 基本情報を設定する
基本情報に関するプロパティー(Name, Description, Enabled, StepID, AbortSeqOnFail) を設定します。
プロパティー | 説明, 設定指針 |
---|---|
Name | フォースガイドオブジェクトの名前です。 固有の名前を設定します。 |
Description | フォースガイドオブジェクトの説明です。 動作の説明などを記述します。任意の文字列を設定します。 |
Enabled | フォースガイドオブジェクトを実行するかどうかを設定します。 |
True : 通常の場合 | |
False : 別のフォースガイドオブジェクトを代わりに実行する場合など、フォースガイドオブジェクトを実行しない場合 | |
StepID | フォースガイドオブジェクト実行中のStepIDです。 任意のIDを設定します。 StepIDとは、ログデータに記録されるIDです。ログデータが、どの工程に対応するかを分かりやすくするためのものです。 フォースガイドシーケンスのAutoStepIDがFalseの場合に適用されます。 |
AbortSeqOnFail | フォースガイドオブジェクトが失敗したときにフォースガイドシーケンスを終了するか継続するかを指定します。 |
True : 通常の場合 フォースガイドシーケンスを終了します。 | |
False : フォースガイドシーケンス中に失敗したときのリカバリー動作を含んでいる場合や、失敗してもフォースガイドシーケンスを継続可能な場合 |
Step 2. 開始前のI/O処理を設定する
フォースガイドオブジェクト開始前のI/O処理に関するプロパティー(IOPreprocEnabled, IOPreprocOutputBit, IOPreprocOutputStatus)を設定します。
プロパティー | 説明, 設定指針 |
---|---|
IOPreprocEnabled | フォースガイドオブジェクト開始時に出力ビットを操作するかどうかを設定します。 出力ビットは、1個のみ操作できます。複数の出力ビットを操作する場合は、SPEL関数オブジェクトを使用してください。 |
False : 通常の場合 | |
True : 周辺装置を動作/停止させるなど、出力ビットを操作する場合 | |
IOPreprocOutputBit | フォースガイドオブジェクト開始時に操作する出力ビットを指定します。 |
IOPreprocOutputStatus | フォースガイドオブジェクト開始時に出力ビットをオンするかオフするかを設定します。 出力する状態を設定します。 |
Step 3. 探り動作を設定する
探り動作に関するプロパティー(ProbeTrajectory, ProbeDetectType, AccelS, SpeedS, SpiralDiam, SpiralPitch, DestRelativeX, DestRelativeY, DestRelativeZ)を設定します。
プロパティー | 説明, 設定指針 |
---|---|
ProbeTrajectory | 探る軌道を設定します。 螺旋軌道と、直線軌道を選択できます。 Straight : 指定直線上に対象があることが分かっている場合 Spiral : 指定直線上に対象がない場合 接触探りオブジェクトは、押付け探りオブジェクトに比べて時間がかかります。指定直線上に穴があるように、開始位置のバラツキを抑え、Straightを使用することを推奨します。 |
AccelS | 移動時の並進加速度を設定します。 下図のように、穴がなく、対象物に接触したときに次の接触開始位置へ移動する動作に使用します。 この動作は、力制御機能を実行せず、位置制御で移動します。 接触動作の加速度には影響しません。 |
SpeedS | 移動時の並進速度を設定します。 AccelSと同じように、次の接触開始位置へ移動する動作に使用されます。 接触動作の速度には影響しません。 |
SpiralDiam SpiralPitch | 螺旋軌道の直径とピッチを設定します。 |
SpiralDiam: 開始位置からバラツキを含めた検出対象の位置までの距離の最大値に、マージンを含めた値を設定します。 例: 最大値を1.1倍した数値 | |
SpiralPitch: 対象物を通り過ぎないように設定します。 穴を検出する場合は、最小隙間よりも小さい値を設定します。 | |
DestRelativeX DestRelativeY DestRelativeZ | フォースガイドオブジェクト開始位置から目標位置までの各方向の相対移動量を設定します。 下図のように、フォースガイドシーケンスのForceOrientで指定した座標系における移動量を指定します。 |
Step 4. 接触動作と力制御機能を設定する
接触動作と力制御機能に関するプロパティー(ContactInterval, ContactOrient, ContactDist, ContactDistMargin, ContactFirmnessF, CFEnabled)を設定します。
プロパティー | 説明, 設定指針 |
---|---|
ContactInterval | 隣り合う接触動作の開始位置の間隔を設定します。 下図のように、接触探りオブジェクトの開始位置から、目標位置までを、開始位置を基点として、指定した軌道上をContactIntervalで指定した距離を移動したところを、次の接触動作開始位置とします。 接触探りオブジェクトは、目標位置までの間にある接触動作開始位置で接触動作を行います。 目標位置がContactIntervalの倍数でない場合: 目標位置や目標位置を超える次の接触動作開始位置では、接触動作を実行しません。 ContactIntervalは、対象物を通り過ぎないように設定します。最小隙間よりも小さい値を設定します。ただし、値が小さい場合に時間がかかることがあります。許容できる状態に調整してください。 |
ContactOrient | 接触する方向を指定します。 ロボットは指定方向へ移動します。 |
ContactDist ContactDistMargin | 開始位置から接触予定位置までの距離と、そのマージンを指定します。 接触探りオブジェクトは、ContactOrientで指定した方向にContactDist+ContactDistMarginの距離を進んだとき、穴があったと判定します。 上図のように、ワークなどの先端から、対象物の接触面までの距離をContactDistに設定します。 ContactDistMarginは、開始位置やワークのバラツキを含むマージンを設定します。バラツキが不明な場合は、ContactDistに対する割合で計算します。 例: ContactDistの10%など |
ContactFirmnessF | 力制御機能の硬さを設定します。 大きい値を設定した場合: 硬くなり、反応が遅くなります。 小さい値を設定した場合: 柔らかくなり、反応が早くなりますが、振動的になる場合があります。 接触探りオブジェクトの場合は、接触速度に影響します。接触速度の参考値は(ContactForceThresh / ContactFirmnessF)で求めることができます。 |
CFEnabled | 次のフォースガイドオブジェクトまで、力制御機能を継続するかどうかを設定します。 False : 通常の場合 力制御機能を1度オフしてから、次のフォースガイドオブジェクトを実行します。 |
ContactOrientは、シミュレーター機能によって設定状態を確認できます。指定方向以外がグレイアウト表示された座標系が表示されます。
ただし、ロボットは、現在位置を基に表示されます。フォースガイドオブジェクトを実行する位置姿勢にした状態で確認してください。
シミュレーター機能による表示方法は、次のマニュアルを参照してください。
"Epson RC+ 8.0 ユーザーズガイド - シミュレーター - 機能説明"
Step 5. 終了条件について設定する
終了条件に関するプロパティー(ContactForceThresh, PosCheckType, PlaneNumber, PlaneEndCond, Timeout)を設定します。
プロパティー | 説明, 設定指針 |
---|---|
ContactForceThresh | 接触したと判定する閾値を設定します。 3~5[N]程度を設定します。 お客様のワークが許容する値としてください。 |
ContactOrientが正の方向の場合: 負の値を設定します。 ContactOrientが負の方向の場合: 正の値を設定します。 | |
大きい絶対値を設定した場合: 接触までの移動速度が速くなります。 値が小さすぎる場合: ロボットが移動しないことがあります。 | |
PosCheckType | 位置に関する終了条件の種類を選択します。 |
RobotPlaneを選択した場合: 設定されているPlaneを終了条件の基準とします。 下図のように、Robotの位置姿勢に関わらず、一定の位置を基準とした終了条件を設定する場合に使用します。 | |
RelativePlaneを選択した場合: フォースガイドシーケンスを実行するたび、ContactOrientで指定した方向にContactDist+ContactDistMargin進んだ位置にPlaneを作成して位置の終了条件とします。 下図のように、開始時の位置姿勢に合わせて終了条件とする位置を変更する場合に使用します。 | |
RobotPlane : 常に一定の位置を基準とする場合 RelativePlane : 開始位置からの相対距離移動したことを条件とする場合 | |
PlaneNumber | 位置の終了条件に使うPlane番号を設定します。 |
PosCheckTypeがRobotPlaneの場合: 指定した番号のPlaneを基準とした終了条件が設定されます。 | |
PosCheckTypeがRelativePlaneの場合: フォースガイドシーケンスを実行するたび、指定した番号に新しくPlaneを設定します。 | |
空いているPlane番号を設定してください。 | |
PlaneEndCond | 位置の終了条件とする状態を設定します。 平面に入った状態(Inside)と出た状態(Outside)のどちらかを終了条件として設定します。 設定した状態になったとき、位置の終了条件を満たしたと判定します。 平面に入った状態: 平面の+Z方向に位置する状態です。 |
Timeout | 1回の接触動作のタイムアウト時間を設定します。 この時間内に力か位置の条件を満たすようにしてください。 (ContactDist + ContactDistMargin) / (ContactForceThresh / ContactFirmnessF)で計算される値より大きくしてください。 |