操纵器/摄像机校准问题(面向线性代数)

2024-04-27 02:18:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个研究项目,其中包括一个显微镜(一个摄像头连接到观察端口;视频流传输到我们正在开发的应用程序)和一个机械臂。显微镜和机械臂均由Luigs&Neumann控制箱(非常过时-计算机通过串行电缆与之连接,其响应时间很慢)。显微镜可以在3个方向移动:X、Y和Z,其轴彼此成直角。当查询该框时,它将返回每个设备的每个轴的位置的十进制值。每个装置都可以被发送一个指令,移动到一个特定的位置,具有亚微米的精度。在

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

现在,我们已经通过将显微镜/摄像机的位置移动到机械臂末端,将其设置为两个坐标系之间的同步点,并在X方向移动机械臂+250um,将显微镜移动到机械臂末端的新位置,实现了校准,然后使用这些值之间的差异来定义一个3d向量,该向量与操纵器移动的距离和方向相对应,在显微镜坐标系中。对操纵器臂的每个轴重复此操作。在

一旦获得这些数据,为了将机械臂移动到显微镜坐标系中的特定位置,可以通过程序求解方程组,该程序确定在每个轴上移动操纵器以将其移动到屏幕中心点所需的量。到目前为止,这是非常可靠的。在

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

我的线性代数有点零碎,但似乎如果我们测量机械臂末端在显微镜坐标系中每单位移动的单位,并将其硬编码到程序中(目前为止),就有可能一次性移动机械手的所有3个轴,然后从这些信息中导出每个轴的向量。我真的不知道该怎么做(或者是否有可能做到),任何建议都将不胜感激。如果您还需要其他信息,或者您需要澄清任何问题,请让我知道。在


Tags: 程序信息屏幕过程时间单位方向向量
1条回答
网友
1楼 · 发布于 2024-04-27 02:18:59

你真的需要四个数据点来描述三个独立的运动轴。在

是否可以添加其他约束,即操纵器轴是否彼此正交,即使相对于舞台的轴没有固定?您是否知道操纵器的对齐方式(即使不完全了解)?在

把舞台移到中心最耗时是什么?你能同时移动操纵器和舞台吗?显微镜的视野有多宽?在视图边缘附近有多少距离失真-它是否每次都必须重新居中才能准确?也许我们可以用一个反向的屏幕失真映射来代替?在

相关问题 更多 >