Cameras Cleanup

The current camera_interface + orogen/camera_base is trying very hard to unify the interface for all our cameras but is adding too much complexity.

  • doubles the GenICam standard
  • adds countless properties
  • adds two additional layers between the real driver and the orogen component of the camera

Most of our cameras supports the GenICam standard, therefore we can simply us the aravis driver ( to integrate all of them into rock.

  • Basler (OK)
  • Prosilica (OK)
  • Imaging Source (OK)

To cleanup the code base the following changes should be made:

  • keep the following packages for backward compatibility
    • camera_base
    • camera_interface
  • deprecate
    • camera_prosilica
    • orgogen/camera_prosilica
    • camera_v4l
    • camera_aravis
    • orogen/camera_aravis
  • implement orogen/cameras
    • in the long run should host all rock cameras
    • uses opencv to get basic access to all sorts of cameras
    • uses aravis to support genicam cameras
      • string based operations for camera features
      • property std::vector<Pair<String>> for configure camera from config file
    • uses CMake infrastructure to decide which camera gets build
    • graphical user interface for generating config files and change current configuration
    • stand alone tool for genicam can be found here
  • implement orogen components for:
    • scaling images
    • undistort images
    • convert color format
Last modified 7 years ago Last modified on 03/03/15 10:40:44