Additional parameters for body model¶
When user uses AGXDynamics plugin, user can use following additional parameters for his body model.
How to write¶
links:
-
name: Arm
jointCompliance: 1e-8
jointSpookDamping: 0.0333
jointMotor: true
jointMotorCompliance: 1e-8
jointMotorSpookDamping: 0.0333
jointMotorForceRange: [ -1000, 1000 ]
jointRangeCompliance: 1e-8
jointRangeSpookDamping: 0.0333
jointRangeForceRange: [ -1000, 1000 ]
jointLock: true
jointLockCompliance: 1e-8
jointLockSpookDamping: 0.0333
jointLockForceRange: [ -1000, 1000 ]
convexDecomposition: true
AMOR: true
autoSleep: true
collisionDetection:
excludeTreeDepth: 3
excludeLinks: [ ]
excludeLinksDynamic: [ ]
excludeLinkGroups:
-
name: groupA
links: [ linkA, linkB, linkC, ... ]
-
name: groupB
links: [ linkZ, linkY, linkX, ... ]
excludeSelfCollisionLinks: [ linkP ]
enableAGXWireContact: true
excludeLinksWireContact: [ linkQ, linkR, ... ]
Explanation of parameters¶
link¶
Parameter | Default value | unit | data type | explanation |
---|---|---|---|---|
jointCompliance | 1e-8 | m/N or rad/Nm | double | compliance of joint. If value is large joint will be dislocation. |
jointSpookDamping | 0.0333 | s | double | spook damping of joint |
jointMotor | false | - | bool | activation of joint motor. It is automatically enabled when ActuationMode is JOINT_TORQUE or JOINT_VELOCITY. |
jointMotorCompliance | 1e-8 | m/N or rad/Nm | double | compliance of joint motor. It is used for speed control. If the value is reduced, it will output a large force/torque to reach the target speed. If it is enlarged, it becomes impossible to resist external force (gravity and contact force) and it will not reach the target speed. |
jointMotorSpookDamping | 0.0333 | s | double | spook damping of joint motor |
jointMotorForceRange | [ double_min, double_max ] | N or Nm | Vec2 | Maximum/Minimum force/torque of joint motor |
jointRangeCompliance | 1e-8 | m/N or rad/Nm | double | compliance for limitation of joint position/angle. If the value is reduced, it will output a large force/torque to fit the limit position/angle. If it is enlarged, it may come out of the limit angle due to external force (gravity or contact force). |
jointRangeSpookDamping | 0.0333 | s | double | spook damping of limitation of joint position/angle |
jointRangeForceRange | [ double_min, double_max ] | N or Nm | Vec2 | Maximum/Minimum force/torque of joint for limitation |
jointLock | false | - | bool | activation of lock joint. It is used for position control. It is automatically enabled when ActuationMode is JOINT_ANGLE. |
jointLockCompliance | 1e-8 | m/N or rad/Nm | double | compliance for lock joint. If the value is reduced, it will output a large force/torque to reach the target position/angle. If it is enlarged, it becomes impossible to resist external force (gravity and contact force) and it will not reach the target position/angle. |
jointLockSpookDamping | 0.0333 | s | double | spook damping of lock joint |
jointLockForceRange | [ double_min, double_max ] | N or Nm | Vec2 | Maximum/Minimum force/toque for lock joint |
convexDecomposition | false | - | bool | activation/deactivation of convex decomposition by true/false |
AMOR | false | - | bool | Merge the relatively resting rigid bodies together and reduce the amount of solver calculation. Specify true or false. Also required to set AMOR of AGXSimulator Item. |
autoSleep | false | - | bool | activation/disactivation of auto sleep by true/false. It provides the function of removing non-moving solid from the solver, then reduce the calculation amount.property of AGXSimulator Item needs to be changed to true. |
Settings of collision detection¶
Parameter | Default value | unit | data type | explanation |
---|---|---|---|---|
excludeLinksDynamic | - | - | string list | disable collision of selected link |
excludeLinkGroups:
-
name
links
|
- | - | string
string list
|
disable collisions between the links registered in group
name of group
name of link
|
excludeSelfCollisionLinks | - | - | string list | disable self-collision of selected link and body. |
excludeLinksWireCollision | - | - | string list | disable collision between selected link and AGXWire. |
Convex Decomposition(divide concave to convexes)¶
AGX Dynamics has a function to divide tri-mesh into convex object. Set true in convexDecomposition for link paramaeter, convex decomposition (from tri-mesh) is activated. It will contribute to improve the perormance of collision detection.
Note
Complex object/shape may be failed.
Note
It may cause different behavior when collides, because the contact point(s) is(are) different between tri-mesh and convex decomposite object.
Samples are available in below directory.
- Project file: chorenoid/sample/AGXDynamics/agxConvexDecomposition.cnoid
- Body file: chorenoid/sample/AGXDynamics/vmark.body
If you run a sample, convex decomposition is activated and the object is divided into some convex objects.