碧波液压网 欢迎你,游客。 登录 注册

三坐标测量机球头测针补偿技术

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引言

  在使用手动三坐标测量机对工件进行多点位测量时,由于被测物体形状各异,工作量很大。因此,提高硬件测量速度、改进操作流程、增强软件容错性及软件智能性等是提高测量效率的主要手段。

  2 测头跟踪机制

  测头跟踪机制是一种增强软件智能性的技术。其工作原理如下:

  每次测量一个点位,无论是重测还是新测,测针都需要运动一段距离,因此可在软件中设置跟踪机制,白动追踪测针的运动轨迹,根据采集到的测针碰触被测点位之前一段距离的坐标值集COOR-SET={node 1,node2...node n} (node n为跟踪的最后一个坐标值)。可分析测针从何方位碰触被测点位,再在使用球头测针时自动补偿,而不必在测量之前手动指定测量方位,增强了测量的智能化程度,提高了工作效率。

  因为必须保存坐标值集COOR-SET并且需在测针运动时不断更新数据、加入最新的坐标值、去除最老的坐标值,因此,坐标值集COOR-SET构成一个先进先出的队列。可采用两种方式实现,即链队列和循环队列。

  q.rear->next=P;q.rear=P;

  M插入队尾;构成新的队尾结点。

  q.front->next=q.front->next->next;

  free(q.front->next);

  M修改队头指针指向原队列第二个结点,同时释放原第一个结点;

  注1:xyz data及结点的数据域分别为结构型XYZ DATA和DATA,描述为:

  struct ZYZ DATA{double x; double y; dou-ble z;}

  struct DATA{double x; double y; double z;}

  为简单从事,以上语句p->data=xyzdata;表示将三维坐标值同时赋值;实际编程时C语言不支持结构型变量的整体赋值。

  若采用循环队列的方式,队列可用长度为maxsize的数组LIST(maxsize)来表示。由问题需求出发,需维护一个最新的结点集合,队空时直接加入新值,队满时,由于循环队列头尾相接,可直接覆盖队头结点。因此无须考虑队空、队满,仅需标记出最新结点的位置即可。

  更新时需进行如下操作:

  q.front=(q.front+1)MOD maxsize;M指向插入位置;

  LIST(q.front)=xyz data;M插入新结点,若队列已满,覆盖队头结点值。

  注2:xyz data及LIST的元素分别为结构型,其操作类似于注1。

  比较以上两种实现方式,无疑采用循环队列,操作简单,效率较高。

  3 补偿原理及实现

  实际测量时,被测点位情况各异,但其最基本的情形不多,以下分几种不同的情况讨论:

  假定:

  ①球头测针的半径为R;

  ②测量在笛卡尔坐标系中进行,且机器坐标系经过变换已与工件坐标系一致。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论