Laser obstacles

From Rsewiki
Revision as of 08:36, 27 September 2010 by Jca (talk | contribs) (New page: RANSAC based obstacle detection that prioritises lines All obstacles are converted to points, lines or convex polygons. The obstacles are saved in the obstacle database 'obst' that is a r...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

RANSAC based obstacle detection that prioritises lines

All obstacles are converted to points, lines or convex polygons. The obstacles are saved in the obstacle database 'obst' that is a resource created by the plug-in module ulmspassable.so.0.

Author: Christian Andersen

(for svn version 1100)

Configuration variables

  • maxToLineDist=0.05 (r/w) max distance to line for members
  • minPointsInLine=8 (r/w) Minimum number of measurements in a line
  • maxLineIterations=25 (r/w) Max number of iterations to allign line to members
  • maxSamples=100 (r/w) Number of samples to determine best supported line
  • splitDist=0.15 (r/w) distance to split long line into two (or more)
  • minSplitCnt=2 (r/w) if a line is grouped by 'splitDist', then each group must have at least this number of supporting point (set to 0 to disable).
  • enableSplit=1 (r/w Enable split, i.e. reduce line to group with most measurements
  • lineEatDist=0.03 (r/w) after line generation, regard measurements this close to the line as false measurements
  • ignoreIfFixed=0 (r/w) ignore produced obstacles that overlap mapped fixed obstacles
  • debugDumpScanOn=0 (rw) at this scan-number will the debugDump flag be set true
  • debugDumpScanOff=0 (rw) at this scan-number will the debugDump flag be set false
  • noObst=0.33 0.17 -0.2 -0.17 (rw) Area where obstacles are ignored (below robot) front-left (x,y) and back-right (x,y) in robot coordinates

Result/status variables

  • scan=0 (r) latest scan number processed

Functions calls

none

Functions commands (for both SMR and SMRCTL resource)

From the on-line help

  • device=N Use scanner device N (else default)
  • fake=F Fake data from this device - F=1..4
  • any Use any scan (ignore already used flag)
  • make Make obstacles from scan
  • obst Send findings to obstacle resource
  • silent Do not send obstacles to client
  • list list newest ransac lines
  • help This message

Configuration example

Configuration used for indoor smr use.

module load="./aulobst.so.0"
var lobst.minSplitCnt=2
; splitDist defines minimum opening
var lobst.splitDist=0.15
var lobst.maxLineIterations=25
var lobst.maxSamples=100
var lobst.noobst="0.33 0.17 -0.2 -0.17
var lineEatDist=0.03