Basic RT components and utilities  315.12.1

Overview

This component checks self collision and stops robot motion.

implementation_idCollisionDetector
categoryexample

Collision Pair

This component checks self collision between link pairs. One link pair is like "RARM_JOINT6:WAIST".

Fail Safe

When collision, this component stops robot motion by overwriting reference joint angles, e.g., by modifying qRef and outputting to q.
When collision in qRef is resolved, this component sifts to non-overwrite mode.
Transition from overwrite mode to non-overwrite mode is implemented as min-jerk interplation by default. Transition time is 1.0[s] by default.

In collision, this component makes beep sound. If the cause of errors are removed, error flags and beep sound are removed. Since this RTC is stable RTC, we support both direct beeping from this RTC and beepring through BeeperRTC.

Data Ports

Input Ports

port namedata typeunitdescription
qRefRTC::TimedDoubleSeq[rad]Input reference joint angles
qCurrentRTC::TimedDoubleSeq[rad]Actual joint angles

Output Ports

port namedata typeunitdescription
qRTC::TimedDoubleSeq[rad]Output reference joint angles

N/A

Service Ports

Service Providers

port nameinterface nameservice typeIDLdescription
CollisionDetectorServiceservice0CollisionDetectorServiceOpenHRP::CollisionDetectorService

Service Consumers

N/A

Configuration Variables

N/A

Configuration File

keytypeunitdescription
dtdouble[s]sampling time
modelstd::stringURL of a VRML model
collision_viewerboolUse viewer or not
collision_modelstd::stringCollision model ("AABB" or "convex hull"). If not specified, use "convex hull" by default.
collision_pairlist of stringList of collision link pair. For example "RARM_JOINT6:WAIST RARM_JOINT6:LARM_JOINT6"
collision_loopintCollision loop