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

ABB传动服务商

产品:75    

咨询热线:13761095232

QQ QQ
您当前的位置:首页 » 新闻中心 » 技术贴|ABB机器人如何计算直线上,ABB机器人|ABB工业机器人|ABB机器人保养|
产品分类
新闻中心
技术贴|ABB机器人如何计算直线上,ABB机器人|ABB工业机器人|ABB机器人保养|
发布时间:2020-08-06        浏览次数:479        返回列表

(一)ABB机器人如何计算直线上到某点指定距离的点位

      1. 给定点Curr和点- reference,构成一条直线,方向由Curr指向Refer

      2. 如果结果点与Curr之间的距离是指定的距离,并且结果在curr_reference直线上,如何计算结果点的位置

      3.可以计算出Curr到参照的距离,根据需要的Curr到参照的距离乘以Curr到参照的距离,可以计算出结果的位置

      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


(二)ABB机器人平移指令

      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的方向。





以上内容转载于网络
更多:
ABB机器人




 

联系热线:13761095232   联系人:申妹华 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 ABB传动服务商