SimSet
シミュレーターの各種オブジェクトのプロパティーの設定をします。また、ロボットの動作とオブジェクトの操作、シミュレーターの設定に関する操作をします。
書式
(1) オブジェクトのプロパティー設定
SimSet Object.Property, Value
SimSet Robot.Hand.Property, Value
(2) ロボットの動作設定 (PickおよびPlace)
SimSet Robot.Pick, Object [,Tool]
SimSet Robot.Place, Object
(3) オブジェクトの操作設定 (親オブジェクトの指定)
SimSet Object.SetParent [, ParentObject]
(4) シミュレーターの設定 (衝突検出のリセット)
SimSet ResetCollision
パラメーター
(1) オブジェクトのプロパティー設定
- Object
- プロパティーの値を設定するオブジェクト名を示す文字列変数
- Robot
- "Hand"で指定されたハンドが取り付けられているロボット名を示す文字列変数
- Hand
- プロパティーの値を設定するハンド名を示す文字列変数
- Property
- 新たに値を設定するプロパティーの名前。プロパティーについては後述します。
- Value
- 新しい値の式。データタイプはプロパティーによります。
(2) ロボット動作設定 (PickおよびPlace)
- Robot
- PickもしくはPlaceするロボット名を示す文字列変数
- Object
- PickもしくはPlaceされるオブジェクト名を示す文字列変数
- Tool
- Pick時に利用するTool番号を示す式
(3) オブジェクトの操作設定 (親オブジェクトの指定)
- Object
- 親オブジェクトを設定するオブジェクト名を示す文字列変数
- ParentObject
- 親オブジェクト名を示す文字列変数
解説
この命令は、シミュレーターにおける各種オブジェクトのプロパティー設定や操作、ロボット動作、シミュレーター設定の変更をするときに使用します。
(1) オブジェクトのプロパティー設定
以下に示すプロパティーを指定することで、オブジェクトの設定をすることができます。
| プロパティー | 説明 | 単位 | データタイプ | 設定値 |
|---|---|---|---|---|
| PositionX | X座標位置を設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: -100000 |
| PositionY | Y座標位置を設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: -100000 |
| PositionZ | Z座標位置を設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: -100000 |
| RotationX | X軸回転角度を設定します | 度 (degree) | Double | 最大値: 360 最小値: -360 |
| RotationY | Y軸回転角度を設定します | 度 (degree) | Double | 最大値: 360 最小値: -360 |
| RotationZ | Z軸回転角度を設定します | 度 (degree) | Double | 最大値: 360 最小値: -360 |
| CollisionCheck | 衝突検出の有効・無効を設定します | - | Boolean | TrueもしくはFalse |
| CollisionCheckSelf | ロボットの自己衝突検出の有効・無効を設定します | - | Boolean | TrueもしくはFalse |
| Visible | 表示・非表示を設定します | - | Boolean | TrueもしくはFalse |
| HalfSizeX | BoxオブジェクトのX方向の長さを設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: 0.001 |
| HalfSizeY | BoxオブジェクトのY方向の長さを設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: 0.001 |
| HalfSizeZ | BoxオブジェクトのZ方向の長さを設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: 0.001 |
| HalfSizeHeight | Planeオブジェクトの長さを設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: 0.001 |
| HalfSizeWidth | Planeオブジェクトの幅を設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: 0.001 |
| PlaneType | Planeオブジェクトのタイプを設定します | - | Integer | Horizontal: 0 Vertical: 1 |
| Radius | SphereオブジェクトまたはCylinderオブジェクトの半径を設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: 0.001 |
| Height | Cylinderオブジェクトの高さを設定します | ミリメートル(mm) | Double | 最大値: 100000 最小値: 0.001 |
| Name | オブジェクト名を設定します | String | ||
| Color | オブジェクトの表示色を設定します | String | 色名もしくは16進カラーコード(ARGB) |
以下の表に示す組み合わせでプロパティーを設定することができます。
| プロパティー | オブジェクト | |||||||
|---|---|---|---|---|---|---|---|---|
| Robot | Hand | Box | Sphere | Cylinder | Plane | CAD | Camera | |
| PositionX | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| PositionY | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| PositionZ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| RotationX | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| RotationY | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| RotationZ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| CollisionCheck | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| CollisionCheckSelf | ○ | - | - | - | - | - | - | - |
| Visible | - | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| HalfSizeX | - | - | ○ | - | - | - | - | - |
| HalfSizeY | - | - | ○ | - | - | - | - | - |
| HalfSizeZ | - | - | ○ | - | - | - | - | - |
| HalfSizeHeight | - | - | - | - | - | ○ | - | - |
| HalfSizeWidth | - | - | - | - | - | ○ | - | - |
| PlaneType | - | - | - | - | - | ○ | - | - |
| Radius | - | - | - | ○ | ○ | - | - | - |
| Height | - | - | - | - | ○ | - | - | - |
| Name | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| Color | - | - | ○ | ○ | ○ | ○ | - | - |
(2) ロボットの動作設定 (PickおよびPlace)
以下に示すロボットの動作を設定することができます。
Pick
"Robot"で指定されたロボットが、"Object"で指定されたオブジェクトを把持する動作を行います。
把持されたオブジェクトは、そのロボットのパーツとして登録されることになります。また、"Tool"に任意のツール番号を指定することで、指定されたツールを利用して把持動作を行います。"Tool"の指定が省略された場合は、Tool0を利用して把持動作を行います。
すでにパーツとして登録されているオブジェクト、もしくはアーム取付機器として設定されているオブジェクトを把持することはできません。また、カメラについても把持することはできません。
Place
"Robot"で指定されたロボットが、"Object"で指定されたオブジェクトを配置する動作を行います。配置されたオブジェクトは、そのロボットのパーツとしての登録が解除されます。
すでにパーツとしての登録が解除されているオブジェクトは配置することはできません。
以下の表に示す組み合わせで、オブジェクトの把持もしくは配置をすることができます。
動作 オブジェクト Robot Hand Box Sphere Cylinder Plane CAD Camera Pick - - ○ ○ ○ ○ ○ - Place - - ○ ○ ○ ○ ○ -
(3) オブジェクトの操作設定 (親オブジェクトの指定)
以下に示すオブジェクトの操作を設定することができます。
SetParent
"Object"で指定されたオブジェクトに対して、"ParentObject"で指定されたオブジェクトを親オブジェクトとして設定します。"ParentObject"は省略することができます。この場合、"Object"で指定されたオブジェクトが親オブジェクトとなります。例えば、"Object"で指定されたオブジェクトが、何らかのオブジェクトの子オブジェクトであった場合には、子オブジェクトとしての設定が解除されることになります。
また、"Object"で指定されたオブジェクトがパーツもしくはアーム取付機器として設定されているオブジェクトの場合は、親オブジェクトの指定をすることはできません。
SetParentを指定可能なオブジェクトは以下の表になります。カメラオブジェクトについては、固定カメラとして設定されているオブジェクトのみSetParentを利用することができます。
操作 オブジェクト Robot Hand Box Sphere Cylinder Plane CAD Camera SetParent - - ○ ○ ○ ○ ○ ○ また、以下に示す表の組み合わせでSetParentを利用することができます。
ParentObject (親オブジェクト) Robot Hand Box Sphere Cylinder Plane CAD Camera Object (子オブジェクト) Robot - - - - - - - - Hand - - - - - - - - Box - - ○ ○ ○ ○ ○ ○ Sphere - - ○ ○ ○ ○ ○ ○ Cylinder - - ○ ○ ○ ○ ○ ○ Plane - - ○ ○ ○ ○ ○ ○ CAD - - ○ ○ ○ ○ ○ ○ Camera - - ○ ○ ○ ○ ○ ○
(4)シミュレーターの設定 (衝突検出のリセット)以下に示すシミュレーター設定の変更ができます。
ResetCollision
衝突検出のリセットを行います。ResetCollisionを実行後に、ロボットとオブジェクトの間に衝突が発生していなければ、衝突状態が解除され、シミュレーターの3D表示が更新されます。ロボットとオブジェクトの間に衝突が発生している場合は、衝突状態は解除されず、シミュレーターの3D表示も更新されません。
参照
SimGet
SimSet使用例
'SBox_1オブジェクトのX座標値を100.0mmに設定する
SimSet SBox_1.PositionX, 100.0
'Robot1でSBox_1をTool1で把持する
SimSet Robot1.Pick, SBox_1, 1
'Robot1で把持しているSBox_1を配置する
SimSet Robot1.Place, SBox_1
'SBox_1の親オブジェクトにCAD_1を設定する
SimSet SBox_1.SetParent, CAD_1
'SBox_1を親オブジェクトにする
SimSet SBox_1.SetParent
'衝突検出をリセットする
SimSet ResetCollision