Laser Reflectors In MobileSim

From MobileRobots Research and Academic Customer Support

Jump to: navigation, search

MobileSim has the ability to simulate special reflectance on certain map objects or on other robots in the simulation. This is analogous to the SICK LMS-200's ability to detect special high reflectance materials ("reflectors").

To add lines or other map objects with reflectance, you must define a map object type using MapInfo that either has the Sim.LaserReflect property set, or has the name Reflector. Then open the map with Mapper3 and add the reflector as an "advanced" line or sector (box). See the MobileSim README for an example. Model instances may also have high reflectance when detected by another model's laser, this is set in the model definitions file (PioneerRobotModels.world.inc) by setting the laser_return property. The default value is 1, which means a normal reflectance value (no special reflectance information is returned with the laser reading). If the value is greater than one, then one less than the laser_return value is sent to the client with the laser readings as an extra reflectance value ("extra int").

The model definitions for the SICK LMS-200 also define a set of rules for when it is able to detect reflectors: if the reflector is at a low enough angle, or is too far away, then it will be detected as a normal object, not as a reflector. Furthermore, if an object has a reflectance value or laser_return of 2, then the sicklms200 definition specifies that the value 33 is to be replaced, which is returned to the client as 32, which is the value that the real SICK LMS-200 uses.

The laser reflectance value is available in ARIA as the "Extra Int" is a laser reading, if reflector detection is enabled. For the SICK LMS-200 interface in ARIA, this is done by enabling "laser reflector bits" in the robot parameter file or on the command line.

Personal tools