您好!欢迎光临工博士商城

工业机器人配件服务商

产品:445    

咨询热线:13601696230微信同号

QQ QQ
您当前的位置:首页 » 新闻中心 » ABB机器人如何计算直线上到某点指定距离的点位及平移指令
产品分类
新闻中心
ABB机器人如何计算直线上到某点指定距离的点位及平移指令
发布时间:2020-08-06        浏览次数:533        返回列表
 

1. 已知点Curr和点Refer,点Curr和点Refer构成直线,方向由Curr指向Refer

2. 要求Result点距离Curr为指定距离,且Result在直线Curr_Refer上,如何计算Result点位置

3.  可以计算Curr到Refer的距离,根据要求的Result到Curr的距离和Curr到Refer距离的倍率,计算Result的位置

4. 代码如下:

 

FUNC robtarget GetTracePoint(robtarget Current,robtarget Refer,num Dist)

        !line direction: Current to Refer

        !Dist: distance between Current and Return position

        VAR num dis_tmp;

        VAR num dx;

        VAR num dy;

        VAR num dz;

        VAR num ratio;

        VAR robtarget pResult:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

 

        pResult:=Current;

        dx:=Refer.trans.x-Current.trans.x;

        dy:=Refer.trans.y-Current.trans.y;

        dz:=Refer.trans.z-Current.trans.z;

 

        dis_tmp:=distance(Current.trans,Refer.trans);

        ratio:=Dist/dis_tmp;

        pResult.trans.x:=Current.trans.x+ratio*dx;

        pResult.trans.y:=Current.trans.y+ratio*dy;

        pResult.trans.z:=Current.trans.z+ratio*dz;

        RETURN pResult;

 

    endfunc

1、现场机器人在wobj0下有轨迹path_0,现在希望实际运行的时候,轨迹能整体沿着wobj0的x和y方向各偏移30mm,如何***快速实现?

2有平移指令SFTON,使用如下:

SFTON P003 RF

//基于机器人坐标系平移p003,p003中设置平移的xyz数值

//以下轨迹均基于RF平移p003

MOVL V=290.0

MOVL V=290.0

MOVL V=290.0

SFTOF

//关闭平移

3. 对应ABB机器人RAPID指令为:PDISPSET pose100,其中pose100为pose类型数据,包括trans(xyz)和rot(q1-q4)。Pdispset的偏移和旋转均基于当前使用坐标系,即对于当前坐标系的右乘。

 VAR posepose500:=[[0,0,0],[1,0,0,0]];

 PROC main()

        path_t1;

        !原始轨迹

        pose500.trans:=[30,30,0];

        !设置pose500数据的xyz

        PDispSet pose500;

        !以下轨迹基于当前轨迹使用的坐标系偏移pose500

        path_t1;

       PDispOff;

       !关闭偏移

  ENDPROC

  PROC path_t1()

        reg1:=100;

        MoveLp500,v100,fine,tWeldGun\WObj:=wobj0;

        MoveLoffs(p500,reg1,0,0),v100,fine,tWeldGun\WObj:=wobj0;

        MoveLoffs(p500,reg1,reg1,0),v100,fine,tWeldGun\WObj:=wobj0;

        MoveLoffs(p500,0,reg1,0),v100,fine,tWeldGun\WObj:=wobj0;

        MoveLp500,v100,fine,tWeldGun\WObj:=wobj0;

ENDPROC

4. 若机器人轨迹参考wobj1,wobj1不与wobj0平行,则使用pdispset后,轨迹偏移如下图,即偏移参考wobj1的方向。


 


分享到: 


 

联系热线:13601696230微信同号   联系人:刘朝美 联系地址:上海市嘉定区南翔镇众仁路399号B栋20层2007-2012

技术和报价服务:星期一至星期六8:00-22:00 工业机器人配件服务商