laserbarcode

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.

beacon.jpg
A sample laser barcode. This barcode has 8 bits, each of which is 50mm wide.
Compile-time dependencies
Provides
Requires
Configuration requests
Configuration file options
Example
driver
(
  name "laserbarcode"
  requires ["laser:0"]
  provides ["fiducial:0"]
  bit_count 5
  bit_width 0.1
)
Author:
Andrew Howard