Mapped obstacles

From Rsewiki

Introduction

This plug-in is dependent on the mapbase plug-in, and must be loaded after the mapbase plug-in, otherwise all links are not resolved.

The plugin are primarily used by the ulmspassable plug-in to correlate laser scanner obstacles with known fixed obstales.

General description

The method 'getObst' finds mapped lines near a box arount current positin. These lines are then converted to a local (odometry) coordinates based on a provided origin pose of the odometry coordinate system in map coordinates.

To enable the use of mapped obstacles to remove detected obstacles in the vicinity, the pass.ignoreIfFixed must be set to true, e.g.:

var pass.ignoreIfFixed=true

Mapped obstacles must also be passed to the obstacle pool (obst). This is done using a regular call to obst getFromMap. This requires that the plug-in mapobst and mapbase is loaded, e.g. this could be part of laser scanner server ulmsserver initialization:

# map database
module load="mapbase.so.0"
# load some maps
mapbase graphload="./apple_cherry_graph.xml"
mapbase mapload="./apple_cherry_map.xml"
# load module to utilize mapped obstacles
module load="aumapobst.so.0"
var mapobst.marginSolidFactor=0.3
var mapobst.marginFluffyFactor=1.4
# and obstacle pool - part of aupassable.so.0 
module load="ulmspassable.so.0"
var pass.ignoreIfFixed=true
# as obstacles are handled in odometry coordinates and mapped obstacles in map coordinates
# mapped obstacles need to be reloaded regularly
push t=3 cmd="obst getfrommap makeonly"