Laser configuration space

The lasercspace driver processes a laser scan to compute the configuration space (‘C-space’) boundary. That is, it shortens the range of each laser scan such that the resultant scan delimits the obstacle-free portion of the robot's configuration space. This driver is particular useful for writing obstacle avoidance algorithms, since the robot may safely move to any point in the obstacle-free portion of the configuration space.

Note that driver computes the configuration space for a robot of some fixed radius; this radius may be set in the configuration file.

Standard laser scan
Corresponding C-space scan for a robot of 0.5 m
Compile-time dependencies
  • none
Provides
  • interface_laser : output of the C-space scan
Requires
  • interface_laser : raw laser data from which to make C-space scan
Configuration requests
  • PLAYER_LASER_REQ_GET_GEOM
Configuration file options
  • radius (length)
    • Default: 0.5 m
    • Radius of robot for which to make C-space scan
  • step (integer)
    • Default: 1
    • Step size for subsampling the scan (saves CPU cycles)
Example
driver
(
  name "sicklms200"
  provides ["laser:0"]
  port "/dev/ttyS0"
)
driver
(
  name "lasercspace"
  requires ["laser:0"] # read from laser:0
  provides ["laser:1"] # output results on laser:1
  radius 0.5
)
Author
Andrew Howard