Robotics StackExchange | Archived questions

Navigation in Stage simulation without using laser

Hi!

I want to simulate a robot in stageros with only odometry information and without using laser scanner for localization. I want to use navigation stack with Lego Mindstorms in the future (they have no laser scanner). I read some information about how to exclude laser from the simulation and so I deleted it from observationsources.

image description

According to the graph, navigation really stopped using base_laser, but unexpected problem appeared - the robot started to hit the obstacles. The map is very simple - just the rectangular of 8 x 4 meters with the two walls in the middle.

image description

The robot should pass through the gap between the walls. Without the walls navigation is perfect, so it is not the localisation error, probably. I tried to watch what is happening in Rviz. It shows that global plan is almost good, and in the beginning robot starts moving according to it. But shortly after that, the robot is going like through the short cut - through the wall.

Here is baselocalplannerparams.yaml:

TrajectoryPlannerROS:
  #Set the acceleration limits of the robot
  acclimth: 3.2 
  acclimx: 2.5
  acclimy: 2.5
  #Set the velocity limits of the robot
  maxvelx: 0.65
  minvelx: 0.1
  maxrotationalvel: 1.0
  mininplacerotationalvel: 0.4
  #The velocity the robot will command when trying to escape from a stuck situation
  escapevel: -0.1
  #For this example, we'll use a holonomic robot
  holonomicrobot: true
  #Since we're using a holonomic robot, we'll set the set of y velocities it will sample
  yvels: [-0.3, -0.1, 0.1, -0.3]
  #Set the tolerance on achieving a goal
  xygoaltolerance: 0.1
  yawgoaltolerance: 0.05
  #We'll configure how long and with what granularity we'll forward simulate trajectories
  simtime: 1.7
  simgranularity: 0.025
  vxsamples: 3
  vthetasamples: 20
  #Parameters for scoring trajectories
  goaldistancebias: 0.8
  pathdistancebias: 0.6
  occdistscale: 0.01
  headinglookahead: 0.325
  #We'll use the Dynamic Window Approach to control instead of Trajectory Rollout for this example
  dwa: true
  #How far the robot must travel before oscillation flags are reset
  oscillationresetdist: 0.05
  #Eat up the plan as the robot moves along it
  prune_plan: true

Here is costmapcommonparams.yaml:

#For this example we'll configure the costmap in voxel-grid mode
maptype: voxel #Voxel grid specific parameters
originz: 0.0
zresolution: 0.2
zvoxels: 10
unknownthreshold: 9
markthreshold: 0
transformtolerance: 0.3 #Set the tolerance we're willing to have for tf transforms
obstaclerange: 2.5 #Obstacle marking parameters // in wiki - global filtering parameters
maxobstacleheight: 2.0
raytracerange: 3.0
footprint: [[-0.325, -0.325], [-0.325, 0.325], [0.325, 0.325], [0.46, 0.0], [0.325, -0.325]]#The footprint of the robot and associated padding
footprintpadding: 0.01
inflationradius: 0.35 #Cost function parameters
costscalingfactor: 10.0
lethalcostthreshold: 100 #The cost at which a cell is considered an obstacle when a map is read from the mapserver

Here is globalcostmapparams.yaml

globalcostmap:
  #Set the global and robot frames for the costmap
  globalframe: /map
  robotbaseframe: baselink
  #Set the update and publish frequency of the costmap
  updatefrequency: 0.5 # decrease not helping
  publishfrequency: 2.0
  #We'll use a map served by the mapserver to initialize this costmap
  staticmap: true
  rollingwindow: false
  footprint_padding: 0.02

Here is localcostmapparams.yaml

localcostmap:
  #We'll publish the voxel grid used by this costmap
  publishvoxelmap: true
  #Set the global and robot frames for the costmap
  globalframe: /odom
  robotbaseframe: baselink
  #Set the update and publish frequency of the costmap
  updatefrequency: 5.0
  publishfrequency: 2.0
  #We'll configure this costmap to be a rolling window... meaning it is always
  #centered at the robot
  staticmap: false
  rollingwindow: true
  width: 6.0
  height: 6.0
  resolution: 0.025
  originx: 0.0
  origin_y: 0.0

Can anyone say what is wrong and what settings need to be modified?

Asked by Dio Eraclea on 2015-05-25 06:55:10 UTC

Comments

Answers