pos机点位怎么加(ABB机器人如何快速定位圆形阵列点位)

快鱼网 75 0

在工业机器人技术应用赛项国赛题里,有搬运芯片的要求。如果所有点位都用手动示教,会占用大量的时间。那么有没有一种快捷方式,可以提高定点效率,缩短手动示教的时间。当然是有的。就是利用功能程序计算出点位数据。

这里以圆形芯片的圆形阵列为例,具体方法如下:

通过示教点1,点2,用功能程序计算出剩余5个点位。

功能程序的原理是:已知两点的距离和夹角,利用三角函数计算出第三点的位置

一、列出所需变量:

变量名 类型 意义

point_1 robtarget 点位1

point_2 robtarget 点位2

target robtarget 目标点

m num 目标点位号

angle num 目标点与已知两点连线的夹角

length num 半径

tga num 夹角angle的tan值

二、编写计算功能程序calcyclepointcalcyclepoint (robtarget point_1, robtarget point_2, robtarget target,num m);

1 FUNC calcyclepoint (robtarget point_1, robtarget point_2, robtarget target,num m)

2 angle:= 0;

3 tga:=0;

4 target:= point_1 ;

5 pos1:= point_1. trans;

6 pos2:= point_2.trans ;

7 length:=distance(pos1,pos2);

8 tga:=( point_2. trans. y- point_1. trans .y)/( point_2. trans .x- point_1.trans .x);

9 angle := Atan(tga)+m*60;

10 target.trans. x:= point_1. trans.x+length*cos(angle);

11 target. trans.y:= point_1. trans.y+length*sin(angle);

12 RETURN target;

13 ENDFUNC

注释如下:

//1:功能程序名称和参数calcyclepoint(点位1,点位2,目标点,目标点序号)

2:夹角赋初值0

3:夹角tan值赋初始值0

4:点位1赋值给目标点过渡

5,6,7 :计算点位1点位2的距离length

8: 计算夹角tan值

9: 计算目标点夹角

10,11:赋值目标点位X,Y轴数据,确定目标点

12:返回目标点位置

三、最后循赋值一个存储点位的数组C即可

PROC c_point()

FOR i FROM -4 TO 1 DO

y:=i+5;

C{y}:=calcyclepoint(C_1,C_2,target,i);

ENDFOR

C{7} :=C_1;

ENDPROC

最后需要注意的是,圆心是起点,计算出的是圆上的点,所以圆心单独存给数组。

标签: 点位

抱歉,评论功能暂时关闭!