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

How can I calibrate my (real) robot?

asked 2011-02-19 11:47:51 -0500

For the PR2, there is the very nice pr2_calibration stack available ( ). It would be extremely useful to have a generalized framework for calibrating arbitrary robots, or at least providing building blocks for doing that. Is there already something like this available? If not, are there plans for doing that?

edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted

answered 2011-02-24 10:45:03 -0500

vpradeep gravatar image

updated 2011-02-24 18:30:58 -0500

Hi Stefan,

A Warning:

All of the API's internal to the pr2_calibration stack are unstable and definitely could change. This code hasn't been API reviewed, and it definitely isn't as clean as many of our released and reviewed stacks. Although calibrating another robot is possible, it is definitely not a supported use case.

The techniques used in the pr2_calibration stack should port to any robot consisting of tilting lasers, monocular cameras, and stereo cameras. However, (as Dejan probably will agree), using the pr2_calibration stack on another robot will require significant reconfiguration. To get a feel for how much work must be done, the full configuration for calibrating the PR2 is in the pr2_calibration_launch package. This consists mostly of yaml files and roslaunch files for capturing data, running the optimization, and generating a calibrated URDF. Porting these files to a new robot isn't trivial, but it is also significantly less work than writing a calibration pipeline from scratch.

If you do go down the path of porting pr2_calibration_launch to your robot, please keep me in the loop, and I can try to provide advice along the way. Maybe Dejan can help too :-)

A Generalized Calibration Pipeline
Building a generalized calibration pipeline could definitely be a great benefit to the community. However, at Willow Garage, we currently don't have the resources to dedicate towards making the pr2_calibration stack more portable.

edit flag offensive delete link more

answered 2011-02-19 12:03:02 -0500

dejanpan gravatar image

Hi Stefan,

I had my high-hopes to port pr2_calibration stack to our TUM-Rosie robot but then stopped working with it after we got our PR2. I have however quite an extensive private email conversation with Vijay where he helped me understand the design of pr2_calibration stack. If you want I could send it to you.

On the other side, I have to say that I do not really understand why there is no more interest into generalization of the mentioned stack from ROS community given that 60+ robots are now running on ROS, it is really convenient to use it and essentially also solves one of the elementary issues one has with every robot.

cheers, D.

edit flag offensive delete link more


Hi Dejan. As we're switching robots to ROS, I'm in the process of evaluating what the remaining "weak points" are (multi-robot comms and calibration are high on the list). I'm not sure I'll get around to looking into them in the next few months myself, so any other takers are welcome :) regards S.
Stefan Kohlbrecher gravatar imageStefan Kohlbrecher ( 2011-02-19 17:51:59 -0500 )edit

answered 2012-05-28 23:51:10 -0500

daniel_maier gravatar image

updated 2012-05-29 02:58:36 -0500

I am also very interested in adapting the calibration routine to our Nao robots. Any chance that we can see a tutorial or updated documentation on this issue soon? I am playing around with maxwell_calibration as it seems simpler than pr2_calibration. But I am not sure, what modules need to be running. I assume, I need something publishing the image_rect_annotated topic and some kind of (FK) controllers for the arm(s) and the head, but I am not sure what kind of information they should publish and subscribe to. I would also like to know what the transforms in the yaml files (like free_cameras.yaml) supposed to represent. Is it possible that there is a lot of redundant information in the yaml files in estimate_params/config ? Is there some way to auto-generate this?

edit flag offensive delete link more


fergs can probably has a better idea as to the development goals of the calibration stack. As for the yaml files, an explanation of the robot parameters is available on the ros wiki (

vpradeep gravatar imagevpradeep ( 2012-05-29 05:47:38 -0500 )edit

answered 2012-03-12 03:21:03 -0500

jpapon gravatar image

Just wondering if there has been any progress made on a generalized calibration stack over the last year, or is it still waiting for someone to take a crack at it?

edit flag offensive delete link more



There apparently is something in the works: I guess @fergs can tell us more about it :)

Stefan Kohlbrecher gravatar imageStefan Kohlbrecher ( 2012-03-12 03:33:21 -0500 )edit

A new generic "calibration" stack will be released under Feurte, but it hasn't made it into debs yet (nor been fully documented). This has been used heavily in ROS industrial.

fergs gravatar imagefergs ( 2012-03-29 13:12:45 -0500 )edit

Your Answer

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

Add Answer

The deadline to submit a proposal to present at ROSCon 2017 is June 25, 2017. Submit yours now!

Question Tools

1 follower


Asked: 2011-02-19 11:47:51 -0500

Seen: 961 times

Last updated: May 29 '12