ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Turtlebot Odometry Calibration procedure

asked 2012-12-19 03:22:37 -0600

Fabian Saccilotto gravatar image

updated 2012-12-20 20:14:06 -0600

Hi all, I recognized that the odometry of my turtlebot didn't work correctly. Therefore I rerun the calibration procedure http://www.ros.org/wiki/turtlebot_calibration/Tutorials/Calibrate%20Odometry%20and%20Gyro (Calibration Tutorial).

When I calibrated the first time, I considered the calibration successfull when the robot stopped again facing the wall perpendicular.

Then I read the Tutorial again:

If the TurtleBot does not successfully return to facing the wall before executing the next rotation the data will be incorrect. This can be caused by too big of an error in the existing parameters. If it under rotates, increase the odom parameter and retry. If it over rotates, lower the odom_parameter and retry.

When I got the turtlebot to face the wall correctly during the procedure, it wasn't at the end and vice versa. (The factor proposed by the calibration would work opposite the statement of the tutorial - Overrotating and a factor greater 1)

Therefore my question is: Is the stop at the end of the procedure also important? Am I doing something wrong?

Another probably important information: I changed the position of the kinect on the turtlebot from the back to the front (Because I also wanted to mount an arm on the middle platform). For that I changed the urdf file as well as the turtlebot_calib_cam_x value under turtlebot_description/turtlebot_calibration.xacro.

edit retag flag offensive close merge delete

Comments

Did you set gyro_measurement_range before performing the calibration?

Ryan gravatar image Ryan  ( 2012-12-19 04:08:47 -0600 )edit

Yes, I set it to 250 according to clearpath.

Fabian Saccilotto gravatar image Fabian Saccilotto  ( 2012-12-20 20:13:33 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted
1

answered 2012-12-19 03:32:20 -0600

dornhege gravatar image

I don't know how this works internally, but here is my guess: It tracks the wall, performs what it thinks it 360 deg rotation and then retracks the wall to compute the angle exactly.

So if it is perpendicular it might have taken another wall for the start wall. This would mean that the calibration is way off and thus it is important to stop at the wall.

edit flag offensive delete link more

Comments

Just want to add that because the last rotation is at a high speed, the robot will usually NOT end with facing the wall. So far it seems as long as the low speeds get relatively good 360 rotations, gmapping is able to correct any rotational errors at the next stage

weiin gravatar image weiin  ( 2012-12-19 13:40:36 -0600 )edit
0

answered 2012-12-20 12:25:35 -0600

JillTurtle gravatar image

updated 2012-12-20 12:26:28 -0600

While doing my calibration, the turtlebot would spin and attempt to line up with the wall and then would correct the error by realigning with the wall before starting the next spin. (of course it did a couple of spins before the actual calibration spins).

NOTE: I was having issues with my calibration and it turned out it was because I was performing the calibration in a hallway... do not do that. go to larger room that does not have a wall directly behind the one you are trying to calibrate against and you should get better results... my odom measurement was close to 1 and the gyro measurement was about 1.5 when I was finished.

edit flag offensive delete link more

Comments

Thanks for that hint. I have other obstacles behind my turtlebot and will try it in a bigger room.

Fabian Saccilotto gravatar image Fabian Saccilotto  ( 2012-12-20 20:14:52 -0600 )edit
0

answered 2013-01-08 00:16:42 -0600

Fabian Saccilotto gravatar image

updated 2013-01-08 00:17:31 -0600

My robot still isn't aligned precise to the wall but I found another method to check whether the calibration was successfull: http://www.ros.org/wiki/navigation/Tutorials/Navigation%20Tuning%20Guide Chapter 2.2 Odometry

(RVIZ) If you rotate your bot with a high decay time of laser scan data, the displayed points should be approximately at the same place.

When the robot aligned quite well during the calibration the result was acceptable.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-12-19 03:22:37 -0600

Seen: 1,794 times

Last updated: Jan 08 '13