机械手/相机校准问题(线性代数定向)



我正在从事一个研究项目,涉及显微镜(将摄像头连接到视口;视频源流式传输到我们正在开发的应用程序(和机械臂。显微镜和机械臂都由Luigs&Neumann控制盒控制(非常过时 - 计算机通过串行电缆与其连接,响应时间很慢。显微镜可以在3个维度上移动;X、Y 和 Z,其轴彼此成直角。查询该框时,它将返回每个设备每个轴位置的十进制值。可以向每个设备发送命令,以亚微米级精度移动到特定位置。

然而,机械臂在所有 3 个维度上都是可调的,因此不能保证其任何轴都以直角对齐。我们需要能够查看来自摄像机的视频流,然后单击屏幕上我们希望机械臂尖端移动到的点。因此,必须校准这两个坐标系。

现在,我们已经通过将显微镜/相机的位置移动到机械臂的尖端,将其设置为两个坐标系之间的同步点,并在X方向上移动机械臂+250um,将显微镜移动到这个新位置的机械臂的尖端,然后使用这些值之间的差异来定义对应于移动的距离和方向的3d矢量。由机械手,在显微镜坐标系中按单位计算。对机械臂的每个轴重复此操作。

获得此数据后,为了将机械臂移动到显微镜坐标系中的特定位置,程序可以求解方程组,该程序确定在每个轴上移动机械手需要移动多少才能将其移动到屏幕的中心点。到目前为止,这非常可靠。

我们在这里遇到的问题是,由于设备的响应时间慢,完成校准过程可能需要 5-10 分钟,这很复杂,因为在实验过程中必须偶尔更换机械臂的尖端,需要重复校准过程。我们的研究对时间相当敏感,这在这个过程中造成了一个主要的瓶颈。

我的线性代数有点不完整,但似乎如果我们测量机械臂尖端在显微镜坐标系中每单位行进的单位并将其硬编码到程序中(目前(,有可能一次移动机械手的所有 3 个轴特定数量, 然后从此信息中得出每个轴的矢量。我真的不确定如何去做(或者是否有可能做到这一点(,任何建议将不胜感激。如果您需要任何其他信息,或者如果您需要澄清任何事情,请告诉我。

您确实需要四个数据点来表征三个独立的运动轴。

您可以添加一些其他约束,即操纵器轴是否彼此正交,即使相对于舞台的轴不固定?您是否大致知道机械手的对齐方式,即使不完全了解?

什么需要最多的时间 - 移动舞台以重新居中?你能同时移动机械手和舞台吗?显微镜的视场有多宽?视图边缘附近有多少距离失真 - 是否实际上每次都必须重新居中才能准确?也许我们可以想出一个反向屏幕失真映射?

最新更新