Software components¶
The rc_visard comes with several on-board software components, which provide camera images, 3D information, and dynamics state estimates, and allow calibration to be performed. Each software component corresponds to a node in the REST-API 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 on-board 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 pair 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_cameracalib
) - 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 rc_visard with respect to a robot, either via the Web GUI or the REST-API.
- Hand-eye calibration (