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.
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.
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:
limth: 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
TrajectoryPlannerROS:
#Set the acceleration limits of the robot
acc
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