我正在从事一个涉及显微镜(将摄像头连接到视口;视频馈送流到我们正在开发的应用程序)和机械臂的研究项目。显微镜和机械臂都由 Luigs & Neumann 控制盒控制(非常陈旧 - 计算机通过串行电缆与其连接,响应时间很慢www。)显微镜可以在 3 个维度上移动;X、Y 和 Z,它们的轴彼此成直角。查询该框时,它将返回每个设备每个轴的位置的十进制值。可以向每个设备发送命令以移动到特定位置,精度为亚微米。
然而,机械臂在所有 3 个维度上都是可调节的,因此不能保证其任何轴都以直角对齐。我们需要能够查看来自摄像机的视频流,然后单击屏幕上我们希望机械臂尖端移动到的点。因此,必须校准两个坐标系。
目前,我们通过将显微镜/相机的位置移动到机械臂的尖端,并将其设置为两个坐标系之间的同步点,并在X方向移动机械臂+250um,将显微镜移动到机械臂的尖端在这个新位置,然后使用这些值之间的差异来定义一个 3d 矢量,该矢量对应于机械臂移动的距离和方向,在显微镜坐标系中的每单位。对机械臂的每个轴重复此操作。
一旦获得此数据,为了将机械臂移动到显微镜坐标系中的特定位置,程序可以求解方程组,该程序确定在每个轴上移动机械臂需要多少才能将其移动到屏幕的中心点。到目前为止,这非常可靠。
我们在这里遇到的问题是,由于设备的响应时间较慢,可能需要 5-10 分钟才能完成校准过程,而且由于机械臂的尖端必须偶尔更换,这使得校准过程变得复杂在实验过程中,需要重复校准过程。我们的研究对时间相当敏感,这在该过程中造成了主要瓶颈。
我的线性代数有点杂乱无章,但似乎如果我们测量显微镜坐标系中每个单位的机械臂尖端行进的单位并将其硬编码到程序中(目前),它可能是可能的一次将操纵器的所有 3 个轴移动特定的量,然后从该信息中导出每个轴的向量。我不确定如何去做(或者是否有可能),任何建议都将不胜感激。如果您需要任何其他信息,或者如果您需要澄清任何事情,请告诉我。