1

我有一个机器人和一个相机。该机器人只是一台 3D 打印机,我在其中将挤出机更换为工具,因此它不会打印,但它会独立移动每个轴。床是透明的,床下有一个摄像头,摄像头永远不动。它只是一个普通的网络摄像头(playstation eye)。

我想校准机器人和相机,这样当我点击相机提供的图像上的一个像素时,机器人就会去那里。我知道我可以测量两个帧之间的平移和旋转,但这可能会返回很多错误。

所以这就是我的问题,我怎样才能将相机和机器人联系起来。相机已经使用棋盘校准。

为了让一切更容易,Z轴可以忽略。所以校准将超过 X 和 Y。

4

1 回答 1

1

It depends of what error is acceptable for you.

We have similar setup where we have camera which looks at some plane with object on it that can be moved.

We assume that the image and plane are parallel.

First lets calculate the rotation. Put the tool in such position that you see it on the center of the image, move it on one axis select the point on the image that is corresponding to tool position. Those two points will give you a vector in the image coordinate system. The angle between this vector and original image axis will give the rotation.

The scale may be calculated in the similar way, knowing the vector length (in pixels) and the distance between the tool positions(in mm or cm) will give you the scale factor between the image and real world axis.

If this method won't provide enough accuracy you may calibrate the camera for distortion and relative position to the plane using computer vision techniques. Which is more complicated. See the following links

http://opencv.willowgarage.com/documentation/camera_calibration_and_3d_reconstruction.html

http://dasl.mem.drexel.edu/~noahKuntz/openCVTut10.html

于 2012-04-05T12:41:45.607 回答