Locater - tree row

From Rsewiki
Revision as of 07:32, 11 September 2010 by Jca (talk | contribs) (New page: based on laser scan lines and fluffy lines (tree-rows). Locater also include row-end detection for the end of the defined lines. The lines (rows) are defined in the mapbase (mapbase.so.0) ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

based on laser scan lines and fluffy lines (tree-rows). Locater also include row-end detection for the end of the defined lines. The lines (rows) are defined in the mapbase (mapbase.so.0)

The mapbase plugin (mapbase.so.0) must be loaded first.

(for svn version 992)

Configuration variables

  • keepMapPose=1 - Should locater update map-pose (in the mappose module)
  • useRowEnd=1 - (rw) determines if row end detections should be used in locater pose update
  • rowEndIn1=4.5 - (rw) distance inside coverage before row end detect when row end is expected out of range
  • rowEndIn2=2.5 - (rw) distance inside coverage before row end detect when row end is expected in range
  • rowEndMaxGap=2.8 - (rw) Max opening in a detected row to be valid (meter)
  • useAvgUpdate=1 - (rw) Flag if averaged update is to be used rather than update for each line individually
  • rowToRobotMaxDist=4 - (rw) maximum this far from robot if usable for row end detection.
  • rowEndMaxDist=6.5 - (rw) reject row end detections more than this away from expected position (m)
  • odoDistScale=1 - (rw) multiplied on driven distance in locater update
  • rowExtraLog=0 - (rw) Make extra log of correlations to mapped rows - much data

Result variables

  • kalmpose=0 0 0 - (r) Pose according to localisation
  • updcnt=0 0 0 - (r) Counts number of updates, [0]=scans since last update, [1] number of locater updates, [2]=updates since last miss.

Functions calls

  • resetstate() - Set the state to the pose (in utmPose) and resets old odoposes
  • utmToMap() - Set map pose from the utm pose - when keepMapPose is false only

Functions commands

  • locater openlog
  • locater locate

Configuration example

(in laser server configuration file ulmsserver.ini)

module load="mapbase.so.0"
mapbase mapload="./apple_cherry_map.xml"
mapbase graphload="./apple_cherry_graph.xml"

module load="locater.so.0"
var locater.useRowEnd=1
var locater.rowEndIn1=4.5
var locater.rowEndIn2=2.5
var locater.rowEndMaxGap=2.8
var locater.useAvgUpdate=1
var locater.rowEndMinCover=0.33
var locater.rowEndMaxDist=6.5
var locater.keepMapPose=1
locater openlog
var call="locater.resetstate()"
scanpush cmd="v360 update"
v360push cmd="locater locate"