Plugins/Nao/fvnao_goals

Vision plugin description: fvnao_goals

Requires

Interfaces

  • ObjectPositionInterface("Nao Camera Position") Either from the NaoQi fawkes integrator (FawkesIntegrator.xml -> provide_cam_pos) or from the naocampos plugin.
  • NaoHardwareInterface("Nao Hardware") (required if ObjectPositionInterface("Nao Camera Position") has no writer)

Config values

  • /firevision/nao/camera/
    • active_camera string Name of the sub-directory of the camera to use
  • /firevision/nao/camera/SUBDIR/
    • device string The CameraArgumentParser string to open the camera
    • horizontal_viewing_angle float [deg] The horizontal viewing angle of the camera is required for the intrinsic camera parameters that are used for the back projection of the line points
    • use_intrinsic bool If true the parameters of the intrinsic sub directory are used, else the intrinsic parameters gets calculated from the horizontal FOV and the image size
    • pitch float[rad] Required only if OPI("Nao Camera Position") has no writer as base_tilt for the RelativePositionModel
  • /firevision/nao/camera/SUBDIR/intrinsic/
    • focal_length_x float [px] The focal length in x direction
    • focal_length_y float [px] The focal length in y direction
    • principal_point_x float [sub px] The principal point's x-coordinate (center of projection plane)
    • principal_point_y float [sub px] The principal point's y-coordinate (center of projection plane)
  • /firevision/nao_goals/
    • draw_goals bool If true a SharedMemoryImageBuffer named "GoalsImage" is opened and detected goal ROIs gets drawn
    • enable_logging bool true to enable debug logging messages
    • grid_offset_x uint [px] scanline grid size
    • grid_offset_y uint [px] scanline grid size
    • update_interval uint To save computation power the camera position gets only calculated every update_interval loop
  • /plugins/naocampos/
    • default_height float [m] A default camera height instead of an actual camera position (e.g. if the plugin isn't loaded). Required only if OPI("Nao Camera Position") has no writer as camera_height for the RelativePositionModel

Provides

  • ObjectPositionInterface("Sky-Blue Goal")
    • relative_x relative x position
    • relative_y absolute y position
    • distance between Nao and goal
    • bearing angle between the Nao x-axis and the center of the goal ROI
    • is_visible true if a sky-blue goal ROI were found.
    • is_valid TODO: true if the whole goal is visible (or maybe at least the ground line)
  • ObjectPositionInterface("Yellow Goal")
    • see above.

Description

  • The plugin uses a colormap to detect goal ROIs.
  • The center of the ROI bottom line get either back projected (OPI("Nao Camera Position") has a writer) or the distance gets estimated using the BallTrigoRelativePos-model.