Users Manual

For the SilhouetteMatch component to work, special object templates are required for each type of object to
be detected. Roboception offers a template generation service on their website (https://roboception.com/en/
template-request/), where the user can upload CAD files or recorded data of the objects and request object tem-
plates for the SilhouetteMatch component.
The object templates consist of significant edges of each object. These template edges are matched to the edges
detected in the left and right camera images, considering the actual size of the objects and their distance from the
rc_visard. The poses of the detected objects are returned and can be used for grasping, for example.
Suitable objects
The SilhouetteMatch component is intended for objects which have significant edges on a common plane that is
parallel to the base plane on which the objects are placed. This applies to flat, nontransparent objects, such as
routed, laser-cut or water-cut 2D parts and flat-machined parts. More complex parts can also be detected if there
are significant edges on a common plane, e.g. a special pattern printed on a flat surface.
The SilhouetteMatch component works best for objects on a texture-free base plane. The color of the base plane
should be chosen such that a clear contrast between the objects and the base plane appears in the intensity image.
Suitable scene
The scene must meet the following conditions to be suitable for the SilhouetteMatch component:
The objects to be detected must be suitable for the SilhouetteMatch component as described above.
Only objects belonging to one specific template are visible at a time (unmixed scenario). In case other
objects are visible as well, a proper region of interest (ROI) must be set.
All visible objects are lying on a common base plane, which has to be calibrated.
The offset between the base plane normal and the line of sight of the rc_visard does not exceed 10 degrees.
The objects are not partially or fully occluded.
All visible objects are right side up (no flipped objects).
The object edges to be matched are visible in both, left and right camera images.
7.5.2 Base-plane calibration
Before objects can be detected, a base-plane calibration must be performed. Thereby, the distance and angle of
the plane on which the objects are placed is measured and stored persistently on the rc_visard.
Separating the detection of the base plane from the actual object detection renders scenarios possible in which
the base plane is temporarily occluded. Moreover, it increases performance of the object detection for scenarios
where the base plane is fixed for a certain time; thus, it is not necessary to continuously re-detect the base plane.
The base-plane calibration can be performed in three different ways, which will be explained in more detail further
down:
AprilTag based
Stereo based
Manual
The base-plane calibration is successful if the normal vector of the estimated base plane is at most 10 degrees
offset to the line of sight of the rc_visard. If the base-plane calibration is successful, it will be stored persistently
on the rc_visard until it is removed or a new base-plane calibration is performed.
In scenarios where the base plane is not accessible for calibration, a plane parallel to the base-plane can be
calibrated. Then an offset parameter can be used to shift the estimated plane onto the actual base plane where
the objects are placed. The offset parameter gives the distance in meters by which the estimated plane is shifted
towards to rc_visard.
7.5. SilhouetteMatch 105