For the PR2, there is the very nice pr2_calibration stack available (http://www.ros.org/wiki/pr2_calibration). 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?
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.
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.
answered 2012-03-12 08:21:03 -0500jpapon
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?
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?
Asked: 2011-02-19 17:47:51 -0500
Seen: 545 times
Last updated: May 29 '12