机器人与视觉,基于TCP(工具坐标)偏移

基于工具坐标系的移动偏转。
基于TCP旋转的特点在于,并且工作点与拍照点重合的情况。
一端固定,多端移动。
我们在建立TCP左边偏移的时候,可以将2个点近似的模拟在同一个坐标系下

在这里插入图片描述

基于TCP偏转的特点在于,工作的时候,示教点与工作点的位置相近,并且示教与工作时必然有一个点是出于固定状态,另一个点处于移动。
初始状态:
我们已知示教点1和点2的坐标,已知示教的2点距离,已知工作点1和点2的坐标,机器人示教POS角度。
第一步:我们近似的将2个点放在同一坐标系下
第二步:计算出工作点1与工作点2的X的偏移量和Y的偏移量。
第三步:将机器人的示教点1移动到工作点1中。
第四步:由拟合的工作线计算工作线的角度

在这里插入图片描述

由上图所示:我们的拍照的位置是在示教的时候就已经确定下来的。所以我们在示教时可以直接获得机器人示教Y和机器人的示教X。将机器人的示教X+点1的X值(示坐标轴来定)=X边;将机器人的示教Y+点2的Y值(示坐标轴来定)=Y边。这时候工作角度θ=arctan(Y边/X边)。
所以我们可以得到机器人需要的偏移角度=示教角度-工作角度。
第五步:我们将工作线按偏移角度进行旋转后,可以开始计算机器手的伺服偏移距离。
由于我们的初始的伺服距离就是当前机器人姿态下(POS)的示教伺服距离,在实际工作距离中由于部分原因导致2点距离并不是一定相等的,所以要计算出机器人的伺服偏移距离。
我们工作线的长度可以使用三角函数直接求得。工作距离=根号2(X边平方+Y边平方)。
伺服距离=工作距离-机器人示教距离。
最终,我们要输出的数据为:机器人伺服距离,机器人偏移角度,点1与示教点1的偏移X和Y值。

2端均是移动状态。(例如圆环状自动螺丝拧紧)
第一步:将2端伺服进行回零,检查2端伺服回零后是否有空隙,如果有空隙情况,可以在固定面绘制居中十字架,并将垂直并且尾部为尖端(如笔)粘在十字中心,用激光将笔调着垂直向下,对笔的尖端进行4点法,建机器手的TCP坐标系。
第二步:机器人进入Base0坐标系中,使用相机1对准1号孔,记录下当前机器人在base0下坐标,然后将相机1对准2号孔,记录下当前机器人在base0下坐标。将2号孔坐标减去1号孔坐标的值为相机距离。
第三步:示教2个点。将2端伺服等距离开启,将相机1对准1号孔,相机2对准2号孔,示教当前位置。
旋转中心坐标:m1.x+(m2.x-m1.x)/2,m1.y+(m2.y-m1.y)/2
两孔的距离=根号2((m1.x+camer.x+m2.x)²+(m1.y+camer.y+m2.y)²)
第一段伺服=第二段伺服=两孔的距离/2;
A=Atan((m2.y-m1.y)/(m2.x-m1.x))
则最终为:
offsetA=NowA-teachA
offsetX,Y=NowX,Y-teachX,y
对于圆形旋转拧紧的情况,我么可以旋转中心为基准,进行旋转即可,只需要示教一次

猜你喜欢

转载自blog.csdn.net/m0_51559565/article/details/128266378