Ask Your Question
0

Kinect extrinsic calibration (between depth and built-in cameras)

asked 2013-05-15 10:33:29 -0600

astaranowicz gravatar image

updated 2016-10-24 09:10:00 -0600

ngrennan gravatar image

Hi all,

I am having some problems with this tutorial: http://www.ros.org/wiki/openni_launch/Tutorials/ExtrinsicCalibration

I calibrated both the RGB and the Depth camera on the Kinect, however, when I try to do this tutorial. I always get an error which says "Timed out waiting for checkerboard". I tried to find this error, however, I don't see anyone else having this problem.

I'm not sure if it is because the tutorial is broken for ROS fuerte. Anyone else having problems getting this to work?

Or if there is a better calibration method out there on ROS to calibrate the kinect. Note: I'm trying to get a better calibration than the manufacture. This is because I need more accuracy (millimeter range) than what is given (centimeter range).

EDIT: I tried to use the Contrast Augmentor using this command:

rosrun contrast contrast_augmenter image:=/camera/ir/image_raw

Then the input to the calibration was:

roslaunch camera_pose_calibration calibrate_2_camera.launch camera1_ns:=/camera/rgb_bag camera2_ns:=/camera/ir_augmented

Its the standard checkerboard so I should not need to give rows and columns. I did not have to when I did the calibration for the RGB Camera and IR Camera.

I still get the error on the screen "Timed out waiting for checkerboard". Am I missing something here?

EDIT_2:

I tried adding in the Checkerboard size and the number of columns and rows. Still can't be seen.

EDIT_3: image:

Image and video hosting by TinyPic

edit retag flag offensive close merge delete

Comments

on both RGB and IR? What version of ROS are you using?

jcc gravatar imagejcc ( 2013-05-23 01:57:51 -0600 )edit

I'm using fuerte. I'm only running the Contrast Augmentor on the IR image. Also I'm getting the error message on both the RGB and IR image.

astaranowicz gravatar imageastaranowicz ( 2013-05-23 06:30:36 -0600 )edit
1

strange. Yes, the Contrast Augmentor is only for IR. This packaged seams dead and without a substitute. I tried to use it on groovy (compiled from the source) and there is a error with cv_bridge on a conversion.

jcc gravatar imagejcc ( 2013-05-26 02:43:40 -0600 )edit

Well if the package is dead. I was able to get the intrinsics. Still need the extrinsic though.

astaranowicz gravatar imageastaranowicz ( 2013-05-28 10:10:15 -0600 )edit

Can you try to put checkerboard more closer and horizontal. It seemed a bit small to me.

CHz gravatar imageCHz ( 2013-05-30 11:06:18 -0600 )edit

That was just one instance. When I calibrated separately, that seemed like the best and stable position in both cameras. I moved it closer and change its position, still the same.

astaranowicz gravatar imageastaranowicz ( 2013-05-30 11:22:32 -0600 )edit

3 Answers

Sort by » oldest newest most voted
1

answered 2013-05-30 13:08:29 -0600

astaranowicz gravatar image

updated 2013-05-30 13:58:47 -0600

The problem was solved by reading this website: Link.

The most important part from this sequence was this line: " At the time of writing, the camera_pose_calibration package doesn’t work for us. There is a patched version that can be gotten from: https://github.com/jbohren-forks/camera_pose.git "

For some reason, the code-base on git-hub has some fixes which are not included in the version on ROS.

edit flag offensive delete link more

Comments

Is this still the case, that it is not updated?

Athoesen gravatar imageAthoesen ( 2014-01-09 09:01:55 -0600 )edit
1

answered 2013-05-19 08:06:20 -0600

jcc gravatar image

Try using this: contrast-augmenter

The theory is that there is a bug somewhere on the image pipeline (there was a topic explaining that), if i'm not mistaken the imageshow is using the 8 LSB and the checkerboard is using the 8 MSB, so you need to shift the bits to transform the LSB in MSB. The node that i liked does that for you.

Don't forget to make that the new input to the camera calibration program

edit flag offensive delete link more

Comments

Thank you for the tip. I'll try this out and report the results. I think the tutorial should be updated if this is a common problem.

astaranowicz gravatar imageastaranowicz ( 2013-05-20 10:00:37 -0600 )edit
0

answered 2013-08-06 01:46:52 -0600

Hello there! Sorry for bringing an old thread back to life, but we just calibrated some of our Kinects and also had kind of a bad time (Ubuntu 12.04 + ROS Fuerte from packages). This thread helped though, the contraster turned out to be required.

We have put all necessary steps into a wiki page available here: https://sites.google.com/site/rameyarnaud/misc/ros/kinect-calibration Hope it helps the community!

edit flag offensive delete link more

Comments

Hi, thanks for pointing out your site. it helps me a lot. I followed your steps for extrinsic parameters but i'm stuck at the optimization phase. camera_pose can detect the chessboard in both images, both bars become full green but no optimization starts...hence no extrinsic_bag file is generated. What i'm missing?? Could you help me? Thanks a lot.

GioRos gravatar imageGioRos ( 2013-09-21 07:40:39 -0600 )edit

Sorry, I saw the answer late. I had the same problem using Groovy instead of Fuerte. Try with Fuerte then. Another solution is the IT crowd meme: "Have you tried turning it off and on again?" : try restarting the whole calibration process.

Arnaud Ramey gravatar imageArnaud Ramey ( 2013-10-07 05:37:40 -0600 )edit

Your Answer

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

Add Answer

Question Tools

2 followers

Stats

Asked: 2013-05-15 10:33:29 -0600

Seen: 2,535 times

Last updated: Aug 06 '13