0
$\begingroup$

Rosanswers logo

Hi everyone,

I have a robot positioning problem in my simulation.

In the simulation my robot will suddenly jump place near the it`s original location. Some time it will recover by itself.

And some time it just stay there, which lead to problem of collision of something even worse.

I cannot figure out which part I have done wrong.

I will put the video of my error in below, and I can provide other detail as request.

https://www.youtube.com/watch?v=zq32QXHW6TY

you might skip to 40second to see what happen in my rviz window


Originally posted by samping on ROS Answers with karma: 33 on 2016-09-13

Post score: 0


Original comments

Comment by vmatos on 2016-09-13:
Where does the position information for the RVIZ comes from? From a localization method? Could you provide more information on what you're doing in the simulation?

Comment by samping on 2016-09-13:
I am currently running a simulation using teb_local_planner.

The following url is the paste bin for the .yaml file

http://pastebin.com/SNX6EVBT

Comment by vmatos on 2016-09-13:
Ok, What are the red arrows? Where does that information come from?

Comment by non-conventional_stuff on 2016-09-13:
there is some issue with localisation... provide more information on the launch file

Comment by samping on 2016-09-13:
The red arrows is the data from amcl.

Yes sure, the following url is the paste bin for my launch code, and there is a command after this comment

http://pastebin.com/j8HLw0EW

Comment by samping on 2016-09-13:
roslaunch teb_tut robot_carlike_in_stage1.launch map_file:="/home/samping/Desktop/teb_tut/maps/tutorial.yaml" world_file:="/home/samping/Desktop/teb_tut/stage/maze_carlike.world" initial_pose_x:=5.0 initial_pose_y:=0.0 initial_pose_a:=0.0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I guess you are using amcl to localize the robot. If that is the case, what is happening is that you have very little or redundant information about the map you are in, which results in many candidate poses for acml.

Imagine your robot is in an empty square room, facing a corner. How can you tell which corner the robot is facing?

To solve you problem, either create a map with more distinct features or play with amcl parameters, as reducing the number of particles or setting the parameters recovery_alpha_slow and recovery_alpha_fast to 0.


Originally posted by Procópio with karma: 4402 on 2016-09-14

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by samping on 2016-09-15:
Could you tell me how to create a map with more distinct feature. I am confuse about how to add more feature.My map are basically a .png file convert from my cad drawing I have try to set recovery_alpha_slow and recovery_alpha_fast 0.0, and unfortunately it does not work in this case.

Comment by samping on 2016-09-15:
I have increase my resample_interval:1 to 100 in amcl_params.yaml, and It does improve my positioning problem, but the jumping problem is still happen during the simulation.

Comment by Procópio on 2016-09-26:
to create a better map for localization, try to add more features, as walls, objects, etc...

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.