【问题标题】:How to calibrate a camera and a robot如何校准相机和机器人
【发布时间】:2012-03-26 08:46:11
【问题描述】:

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

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

这就是我的问题,如何将相机和机器人联系起来。相机已经使用棋盘校准。

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

【问题讨论】:

    标签: camera computer-vision robot camera-calibration


    【解决方案1】:

    这取决于你可以接受什么样的错误。

    我们有类似的设置,我们有一个摄像头,它看着某个平面,上面有可以移动的物体。

    我们假设图像和平面是平行的。

    首先让我们计算旋转。将工具放在您看到它在图像中心的位置,在一个轴上移动它,选择图像上与工具位置相对应的点。 这两个点将为您提供图像坐标系中的矢量。 这个向量和原始图像轴之间的角度将给出旋转。

    可以以类似的方式计算比例,知道矢量长度(以像素为单位)和工具位置之间的距离(以毫米或厘米为单位)将为您提供图像和现实世界轴之间的比例因子。

    如果此方法无法提供足够的精度,您可以使用计算机视觉技术校准相机的失真和相对于平面的位置。哪个更复杂。 请参阅以下链接

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

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

    【讨论】:

    • 我校准了图像,因为失真非常高。然后我使用相机点和工具真实世界点(全部为 2D)之间的关系来计算变换矩阵(一个旋转,一个在 x 上的平移和一个在 y 上的平移)。但是我在计算翻译时遇到了问题。我可以手动完成,但是……它很容易出错。
    • 基本上你必须在图像上的工具系统中识别一些已知坐标的点,你可以放置一些标记或自己选择点,虽然我看不到你的设置,这很困难准确解释程序
    • 这是机器人:youtu.be/YZnsBhWDvFI 工具是针尖。您还可以看到相机和来自相机的图像。我的目标是从相机中单击该图像中的某个像素,然后将针移到那里。我将该图像中的针放置在 10 个不同的位置,然后让用户单击针所在的像素。然后我使用 OpenCV 中的“findhomography”来查找关系,翻译非常好,旋转不是,所以针的位置和应该在的位置之间存在巨大差异
    • @MichaelKupchick 两个链接都失效了
    猜你喜欢
    • 2011-04-05
    • 2015-10-15
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2015-09-24
    • 2013-01-28
    • 2014-10-23
    • 2013-11-02
    相关资源
    最近更新 更多