机械臂能够接受两个点A和点B。
- 相机拍照获取当前焊缝位置,并转换到末端坐标系下
- 向机械臂发送请求(pose)得到当前机械臂位姿,将末端坐标系转换到基坐标系
- 发送基坐标系下的点P1,机械臂接受到存放到A并开始移动到A。
- 在移动过程中重复上述1,2步骤,每一次得到一个点记为P2,机械臂接收到存放到B,移动过程中总有新的P2到达,后来的P2覆盖掉之前B的值;
- 当移动至A时,开始移动到B,此时B是最新值
- 在4步骤的过程中,重复1,2步骤,每一次得到的点记为P3,机械臂接受到存放到A,同样不断有P3到达,也采用覆盖的方式
例如当前:在O1位置拍摄得到A1,发送之后机械臂开始移动至A1;移动过程中如O2位置,拍摄得到A2,A2的位置同样发送给机械臂,A2位置覆盖掉之前的值,不断重复直到机械臂移动至A1,此时机械臂的B位置应该已经存放了O3前一时刻的所拍摄的焊缝位置。移动到A1之后机械臂开始移动到内部所存放的B点,此时的B应该是在A3附近,机械臂开始移动到A3附近的时候,新拍摄的点位存放到机械臂的A中。
与机械臂的通信:
- 发送pose,返回当前的位姿
- 发送点坐标,保留最新的坐标值到A或者B(比如当前正在移动到A,把最新的值保留在B中;当A点移动结束,机械臂开始移动到B,后续坐标保留到A中),不需要返回。