ContactProbe对象
ContactProbe对象用于朝指定的方向移动机器人,直至机器人与物体(例如工件)接触,并将移动了指定距离的位置检测为孔。如果机器人与物体接触但未移动指定的距离,则返回到开始位置并改变位置以重复接触动作。
此对象用于检测工件的孔位置(例如,导线部分或连接器),而使用PressProbe对象难以执行该检测。
即使工件的尺寸或抓取位置存在误差范围,也可以稳定地检测孔位置。
上图是ContactProbe对象的动作图像。
机器人从非接触状态朝向下方向(白色箭头)移动。如果在机器人与物体接触后检测到施加的力(红色箭头),机器人将移动到下一次接触的开始位置(蓝色箭头)。重复这些动作以探测孔。
通过单个接触动作,在指定时间内满足位置的结束条件时,ContactProbe对象将成功。
ContactProbe对象始终使用与力和位置相关的结束条件。
- 在单个接触动作中,满足与力相关的结束条件时:
认定该位置没有孔,并且机器人将移动到下一个接触位置。 - 在单个接触动作中,满足与位置相关的结束条件时:
认定为孔位置,并且检测已成功。 - 在单个接触动作中既未满足与力相关的结束条件也未满足与位置相关的结束条件时:
由于错误状态(机器人未与物体接触,而且移动量不足),检测已失败。
每个条件如下:
结束条件 | 成功条件 |
---|---|
有关力的结束条件 | 在单个接触动作中,指定方向上力的绝对值在满足与位置相关的结束条件之前不超过ContactForceThresh的值 如果超过该绝对值,机器人会认定“已接触”(即该位置没有孔)并移动到下一个接触位置以开始下一个接触动作。 |
与位置相关的 结束条件 | 在一个接触动作中,在指定的Timeout内满足以下任一条件 |
PosCheckType是RobotPlane时: 对于PlaneNumber设定的Plane,满足PlaneEndCondition设定的状态。 | |
PosCheckType是RelativePlane时: 在ContactOrient方向移动的距离=ContactDist+ContactDistMargin |