Mapped obstacles: Difference between revisions

From Rsewiki
Line 30: Line 30:
  # as obstacles are handled in odometry coordinates and mapped obstacles in map coordinates
  # as obstacles are handled in odometry coordinates and mapped obstacles in map coordinates
  # mapped obstacles need to be reloaded regularly
  # mapped obstacles need to be reloaded regularly
  push t=3 cmd="obst getfrommap"
  push t=3 cmd="obst getfrommap makeonly"

Revision as of 11:05, 3 November 2010

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 new coordinate system.

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"