我正在做一个研究项目,涉及一个显微镜(一个摄像头连接到视图端口;视频源被流式传输到我们正在开发的应用程序中)和一个操作臂。显微镜和机械臂都由Luigs & Neumann控制箱控制(非常陈旧-计算机通过串行电缆与其连接,响应时间很慢。)显微镜可以在3个维度上移动: X、Y和Z,它们的轴线彼此成直角。当查询该框时,它将返回每个设备的每个轴的位置的十进制值。可以向每个设备发送移动到特定位置的命令,精度可达亚微米。
然而,机械臂在所有3个维度上都是可调整的,因此不能保证它的任何轴都是直角对齐的。我们需要能够查看来自摄像机的视频流,然后单击屏幕上我们希望机械手手臂尖端移动到的点。因此,必须校准这两个坐标系。
现在,我们已经实现了校准,方法是将显微镜/相机的位置移动到操作臂的顶端,将其设置为两个坐标系之间的同步点,并在X方向上移动操作臂+250um,将显微镜移动到操作臂的尖端的这个新位置,然后使用这些值之间的差异来定义与操作器在显微镜坐标系中单位移动的距离和方向相对应的3d矢量。对操纵器手臂的每个轴重复此操作。
一旦获得这些数据,为了将机械手臂移动到显微镜坐标系中的特定位置,可以通过程序求解一组方程,该程序确定需要在每个轴上移动机械手多少才能将其移动到屏幕的中心点。到目前为止,这是相当可靠的。
我们在这里遇到的问题是,由于设备的响应时间较慢,可能需要5-10分钟来完成校准过程,这是因为在实验期间必须偶尔更换机械臂的尖端,这需要重复校准过程。我们的研究对时间相当敏感,这在这个过程中造成了一个主要的瓶颈。
我的线性代数有点杂乱无章,但似乎如果我们测量显微镜坐标系中每个单位的机械手手臂尖端移动的单位,并将其硬编码到程序中(目前),就可能一次移动机械手的所有3个轴特定的量,然后从这些信息中推导出每个轴的向量。我真的不确定如何做这件事(或者是否有可能做到这一点),任何建议都会非常感谢。如果你需要任何额外的信息,或者如果你需要澄清任何事情,请让我知道。
发布于 2012-05-03 05:26:14
你真的需要四个数据点来表征三个独立的运动轴。
你能添加一些其他的约束吗,即操纵器的轴是否彼此正交,即使不是相对于舞台的轴是固定的?你知道机械手的大致对齐吗,即使不是很精确?
什么是最花时间的-将舞台移到重新居中?你能同时移动操纵器和舞台吗?显微镜的视场有多宽?视图边缘附近的距离失真有多大-每次都需要重新居中才能准确吗?也许我们可以想出一个相反的屏幕失真映射?
https://stackoverflow.com/questions/10420966
复制相似问题