Software modules

The rc_reason_stack comes with several software modules, each of which corresponds to a certain functionality and can be interfaced via its respective node in the REST-API interface or in the Generic Robot Interface.

The rc_reason_stack offers the possibility to connect multiple 3D cameras such as the rc_visard. The image data from each device is processed in a separate camera pipeline, which consists of several different software modules. The modules inside each pipeline are pipeline specific, which means that they can have different parameters for each pipeline. The modules running outside the pipelines are global and provide data for all modules in all pipelines. An overview is given in Fig. 7. The port numbers are given for the default installation as described in Installation and may be changed in the docker compose file.

_images/pipelines_diagram_container_en.svg

Fig. 7 Overview of the pipeline-specific and global software modules on the rc_reason_stack

The rc_reason_stack’s pipeline-specific software modules can be divided into

  • Camera module
    acquires images and performs planar rectification for using the camera as a measurement device. Depending on the chosen camera pipeline type, this module offers different run-time parameters.
  • 3D modules
    which provide 3D depth information such as disparity, error, and confidence images,
  • Detection & Measure modules
    which provide a variety of detection functionalities, such as grasp point computation and object detection,
  • Configuration modules
    which enable the user to perform calibrations and configure the rc_reason_stack for specific applications.

The modules that are global for all camera pipelines running on the rc_reason_stack are the

  • Database modules
    which enable the user to configure global data available to all other modules, such as load carriers, regions of interest and grippers.