laserbarcode
Drivers

Laser barcode detector. More...

Laser barcode detector.

Todo:
  This driver has not been tested with the player 2.0 API

The laser barcode detector searches for specially constructed barcodes in the laser range finder data. An example laser barcode is shown below. The barcode is constructed using strips of retro-reflective paper. Each retro-reflective strip represents a `1' bit; each non-reflective strip represents a `0' bit. By default, the laserbarcode driver searches for barcodes containing 8 bits, each of which is exactly 50mm wide (the total barcode width is thus 400mm). The first and last bits are used as start and end markers, and the remaining bits are used to determine the identity of the barcode; with an 8-bit barcode there are 64 unique IDs. The number of bits and the width of each bit can be set in the configuration file.

The range at which barcodes can be detected identified is dependent on the bit width and the angular resolution of the laser. With 50mm bits and an angular resolution of 0.5 deg, barcodes can be detected and identified at a range of about 2.5m. With the laser resolution set to 0.25 deg, this distance is roughly doubled to about 5m.

See also the laserbar and laservisualbarcode drivers.

A sample laser barcode. This barcode has 8 bits, each of which is 50mm wide.

Compile-time dependencies

- none

Provides

- This driver provides detected target information through a fiducial device.

Requires

- This driver finds targets in scans from a laser device.

Configuration requests

- PLAYER_FIDUCIAL_REQ_GET_GEOM

Configuration file options

- bit_count (integer)
  - Default: 8
  - Number of bits in each barcode.
- bit_width (length)
  - Default: 0.05 m
  - Width of each bit.
- max_depth (length)
  - Default: 0.05 m
  - Maximum variance in the flatness of the beacon.
- accept_thresh (float)
  - Default: 1.0
  - Acceptance threshold
- zero_thresh (float)
  - Default: 0.6
  - Zero threshold
- one_thresh (float)
  - Default: 0.6
  - One threshold

Example

    driver
    (
      name "laserbarcode"
      requires ["laser:0"]
      provides ["fiducial:0"]
      bit_count 5
      bit_width 0.1
    )

Author
  Andrew Howard

Last updated 12 September 2005 21:38:45