Users Manual

Note: All changes and configuration updates to these components will affect the performance of the Silhouet-
teMatch component.
Stereo camera and stereo matching
The SilhouetteMatch component makes internally use of the rectified images from the Stereo camera compo-
nent (rc
_
stereocamera, Section 6.1). Thus, the exposure time should be set properly to achieve the optimal
performance of the component.
For base-plane calibration in stereo mode the disparity images from the Stereo matching component
(rc
_
stereomatching, Section 6.2) are used. Apart from that, the stereo-matching component should not be
run in parallel to the SilhouetteMatch component, because the detection runtime increases.
For best results it is recommended to enable smoothing (Section 6.2.4) for Stereo matching.
IO and Projector Control
In case the rc_visard is used in conjunction with an external random dot projector and the IO and Projector Control
component (rc
_
iocontrol, Section 7.2), the projector should be used for the stereo-based base-plane calibration.
The projected pattern must not be visible in the left and right camera images during object detection as it interferes
with the matching process. Therefore, it must either be switched off or operated in ExposureAlternateActive
mode.
Hand-eye calibration
In case the rc_visard has been calibrated to a robot, the SilhouetteMatch component can automatically provide
poses in the robot coordinate frame. For the SilhouetteMatch node’s Services, the frame of the input and output
poses and plane coordinates can be controlled with the pose
_
frame argument.
Two different pose
_
frame values can be chosen:
1. Camera frame (camera). All poses and plane coordinates provided to and by the component are in the
camera frame.
2. External frame (external). All poses and plane coordinates provided to and by the component are in the
external frame, configured by the user during the hand-eye calibration process. The component relies on the
on-board Hand-eye calibration component to retrieve the sensor mounting (static or robot mounted) and the
hand-eye transformation.
All pose
_
frame values that are not camera or external are rejected.
Note: If no hand-eye calibration is available, all pose
_
frame values should be set to camera.
Note: If the hand-eye calibration has changed after base-plane calibration, the base-plane calibration will be
marked as invalid and must be renewed.
Depending on the value of pose
_
frame, it is necessary to additionally provide the current robot pose
(robot
_
pose) to the SilhouetteMatch component:
If pose
_
frame is set to external, providing the robot pose is obligatory.
If pose
_
frame is set to camera, providing the robot pose is optional.
If the current robot pose is provided during calibration, it is stored persistently on the sensor. If the updated
robot pose is later provided during get
_
base
_
plane
_
calibration or detect
_
object as well, the base-plane
calibration will be transformed automatically to this new robot pose. This enables the user to change the robot
pose (and thus sensor position) between base-plane calibration and object detection.
7.5. SilhouetteMatch 108