ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Localiztion in Nav2d is very poor on Turtlebot 2 with default configuration

asked 2015-09-07 11:31:29 -0500

Yesh88 gravatar image

Dear all,

I am running the nav2d tutorial 3 on the turtlebot with Kinect sensor. the working is fine except for the localization.

the robot keeps on localizing and every time the map is shifted little. due to this the same obstacles are mapped several times which results in a map full of black spots making it unnavigable.

I suspected error in odom so i combined Robot_Pose_Ekf but the output robot_pose_ekf/odom_combined is not used by any of the nodes! The tf frame is being published for the odom by the robot_pose_ekf.

I tried changing the min_particle & max_particle sizes with a lot of values, its little better with values 1000000 & 4000000 but not satisfatory. Any bigger value makes the system very slow.

Would you please help in finetunning the parameters to have a good map. Thanks in advance:)

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2015-09-08 02:42:29 -0500

Sebastian Kasperski gravatar image

If you are building a map (by using the mapper-node), you don't need a separate localizer (particle-filter). So I would suggest to remove the localizer and robot_pose_ekf and directly use the robots odometry in the mapper.

edit flag offensive delete link more


I did not find the localizer node seperately in the launch file of nav2d. there are nodes for mapper "<node name="Mapper" pkg="nav2d_karto" type="mapper">", GetMap, Explore, SetGoal & operator but not for localization. I am new to ROS so I would appreciate if you could give me details. Thank you,

Yesh88 gravatar image Yesh88  ( 2015-09-08 03:01:42 -0500 )edit

The mapper node implements SLAM (Simultaneous Localization and Mapping), so it builds a map and localizes the robot within the map, so you only need the nodes from the tutorial3 launch file (minus the simulator) and your robot driver, nothing else.

Sebastian Kasperski gravatar image Sebastian Kasperski  ( 2015-09-08 03:35:25 -0500 )edit

i cross checked the launch files and tutorial 2 & tutorial 3 of nav 2d. i am following tutorial 3, which does not have the selflocalization node. i suspect the shift in map while mapping is caused by SLAM itself. Is my understanding correct? is there a way to fine tune it to have a good map?

Yesh88 gravatar image Yesh88  ( 2015-09-08 03:46:18 -0500 )edit

So there is really no particle filter running on your system now? Then it might help to do a "rosrun tf view_frames" on your robot and check if any transformations are missing or double-published. Have you checked whether the odometry gives resonable results?

Sebastian Kasperski gravatar image Sebastian Kasperski  ( 2015-09-08 03:59:50 -0500 )edit

The tf tree looks good, with one single connected tree. map(/mapper)->offset(mapper)->odom_fused(robot_pose_ekf)->base_footprint(robot_state_publisher) etc. The topic /odom is subsribed by robot_pose_ekf & mobile_base_nodelet_manager. /robot_pose_ekf.odom_combined is not subscribed by any one.

Yesh88 gravatar image Yesh88  ( 2015-09-08 04:10:11 -0500 )edit

Would you please tell me how i could verify the odom output? Thanks a lot for taking time & helping me out.

Yesh88 gravatar image Yesh88  ( 2015-09-08 04:11:24 -0500 )edit

i doubt that there is particle filter is still running, maybe from SLAMs itself, because there are parametes in the mapper.yaml with regard to localization & changing the values of min_particles & max_particles changes the map quality as mentioned in the first post.

Yesh88 gravatar image Yesh88  ( 2015-09-08 04:20:05 -0500 )edit

The mapper uses a particle filter in a multi-robot setup, that's why these parameters exist. They should have no influence at all in your setup. (Make sure that robot_id is set to 1)

Sebastian Kasperski gravatar image Sebastian Kasperski  ( 2015-09-08 06:23:21 -0500 )edit

answered 2015-09-07 13:36:50 -0500

luc gravatar image

Do you know whether the optimizer is running, or not?

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2015-09-07 11:31:29 -0500

Seen: 369 times

Last updated: Sep 08 '15