Skip to content
maroessler edited this page Aug 6, 2019 · 6 revisions

Dependencies

  • opencv-contrib-python
  • pyquaternion

How to use

Simply execute roslaunch aruco_analyzer aruco_analyzer_node.launch. This will start the node with the configuration file config/config.yaml as parameter.

You will also have to create a launchfile for your camera. You can look at the provided examples for guidance.

If you want to start both the camera node for Raspberry Pi cameras and the aruco_analyzer node then use roslaunch aruco_analyer launch_aruco_analyzer_stack_pi.launch.

Configuration Options

The software can detect both single markers and boards. It will only detect what you tell it to!

The file config/config.yaml has various configuration options which will be explained here:

  • cameras: names of the cameras which topics will be subscribed to
  • marker_config: specifies the single markers to be detected, optional
    • dictionary: the dictionary to be used
    • marker_length: the edge length of a marker
  • board_config: specifies the boards to be detected, optional
    • type: the type of board, can be grid or cube
    • other parameters can be seen in the example config.yaml
    • also see: Aruco Marker Definitions
  • space_fixed_ids: IDs of marker which are considered space_fixed
  • average_estimations: set to True when estimation averaging should be used
  • max_analyzer_list: the maximum number of estimations which are taken into account for averaging
  • max_detection_age: the maximum age in seconds of an estimation before it is dropped
  • max_detection_images: the maximum number of images which are queued for detection
  • number_of_workers: the number of detection worker
  • print_in_image: set to True when estimations should be drawn in the image, for debugging. High IDs may not be visible in image because they are drawn out of frame.
  • draw_detected_image: set to True when detected markers should be drawn
  • draw_axis: set to True when coordinate axes of the estimation should be drawn
Clone this wiki locally