laservisualbw

Black & white laser/visual barcode detector

Todo
This driver has not been tested with the player 2 API.

Parses a laser scan to find the retro-reflective patches (lines or circles), then points the camera at the patch, zooms in, and attempts to read the B&W barcode. Will not return sensible orientations for circular patches.

Compile-time dependencies
  • none
Provides
  • This driver provides detected target information through a interface_fiducial device.
Requires
  • interface_laser
  • interface_ptz
  • interface_camera
Configuration requests
  • PLAYER_FIDUCIAL_REQ_GET_GEOM
Configuration file options
  • max_ptz_attention (float)
    • Default: 6.0
    • ??
  • retire_time (float)
    • Default: 1.0
    • ??
  • max_dist (float) (should be a length?)
    • Default: 0.2
    • ??
  • bit_count (integer)
    • Default: 3
    • Number of bits in visual barcode
  • bit_width (length)
    • Default: 0.08 m
    • Width of each bit in visual barcode
  • guard_min (integer)
    • Default: 4
    • Minimum height of bit (pixels)
  • guard_tol (length)
    • Default: 0.2 m
    • Height tolerance of bit (ratio)
  • digit_err_first (float)
    • Default: 0.5
    • Error threshold on the best bit
  • digit_err_second (float)
    • Default: 1.0
    • Error threshold on the second-best bit
Example
driver
(
  name "laserbar"
  requires ["laser:0"]
  provides ["fiducial:0"]
  width 0.2
)
Author
Andrew Howard