Software components¶
The rc_visard comes with several on-board software components, each of which corresponds to a certain functionality and can be interfaced via its respective node in the REST-API interface.
The Stereo camera and the Stereo matching components, which acquire stereo image pairs and compute 3D depth information such as disparity, error, and confidence images, are also accessible via the rc_visard’s GigE Vision/GenICam interface.
Fig. 18 gives an overview of the relationships between the different software components and the data they provide via rc_visard’s various interfaces.
Note
Components marked as optional extend the rc_visard’s features. Customers can extend the license to purchase additional components.
The rc_visard’s base software consists of the following components:
- Stereo camera (
rc_stereocamera
) - acquires stereo image pairs and performs planar rectification for using the stereo camera as a measurement device. Images are provided both for further internal processing by other components and for external use as GenICam image streams.
- Stereo camera (
- Stereo matching (
rc_stereomatching
) - uses the rectified stereo image pairs to compute 3D depth information such as disparity, error, and confidence images. These are provided as GenICam streams, too.
- Stereo matching (
- Sensor dynamics (
rc_dynamics
) - provides estimates of rc_visard’s dynamic state such as its pose,
velocity, and acceleration. These states are transmitted
as continuous data streams via the rc_dynamics interface.
For this purpose, the dynamics component manages and fuses data from the following individual
subcomponents:
- Visual odometry (
rc_stereovisodo
) - estimates the motion of the rc_visard device based on the motion of characteristic visual features in the left camera images.
- Visual odometry (
- Stereo INS (
rc_stereo_ins
) - combines visual odometry measurements with readings from the on-board Inertial Measurement Unit (IMU) to provide accurate and high-frequency state estimates in real time.
- Stereo INS (
- Sensor dynamics (
- Camera calibration (
rc_stereocalib
) - automatically checks and performs the self-calibration of the rc_visard’s stereo camera in case it has been decalibrated. It furthermore enables the user to check and perform recalibration manually via the WEB GUI.
- Camera calibration (
- Hand-eye calibration (
rc_hand_eye_calibration
) - enables the user to calibrate the camera with respect to a robot, either via the Web GUI or the REST-API.
- Hand-eye calibration (
- IO and Projector Control (
rc_iocontrol
) - provides control over the rc_visard’s general purpose inputs and outputs with special modes for controlling an external random dot projector.
- IO and Projector Control (
- TagDetect (
rc_april_tag_detect
andrc_qr_code_detect
) - allows the detection of AprilTags and QR codes, as well as the estimation of their poses.
- TagDetect (