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

ABB机器人配件-服务商

产品:324    
联系我们
您当前的位置:首页 » 新闻中心 » 视觉一点法计算TCP
产品分类
新闻中心
视觉一点法计算TCP
发布时间:2020-10-22        浏览次数:234        返回列表
 1. 假设相机已经与机器人做过标定,相机能直接给出对应特征点在机器人wobj0(世界坐标系)下的坐标,则可以利用当前特征点坐标和当前机器人tool0的笛卡尔坐标,直接获得当前TCP。

2. Pcam=PTool0*TCP.tframe

其中,Pcam为当前工具在机器人世界坐标系下的值x100,y100,z100,a100,b100,c100,

PTool0为当前tool0在机器人世界坐标系下的值x0,y0,z0,a0,b0,c0,

TCP.tframe为待计算的TCP坐标系xt,yt,zt,at,bt,ct.

由于Pcam(由相机提供数据,对于平面相机,可以事先固定Z和RX,RY,仅使用相机提供的X,Y和THETA)和PTool0已知,则

PTool0-1*Pcam= PTool0-1*PTool0*TCP.tframe  (两边左乘PTool0矩阵的逆矩阵)

整理得到:

TCP.tframe= PTool0-1*Pcam

Pose数据的相乘和求逆,可以使用ABB机器人PoseMult和PoseInv函数实现

3. 代码如下:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

 

PROC TCP_CAL()       VAR pose pose100;       VAR pose pose200;       VAR num rx;       VAR num ry;       VAR num rz;      VARrobtarget ptmp;
      VAR num xx;       VAR num yy;       VAR num zz;      pose100.trans:=[xx,yy,zz];      !相机提供当前工具在机器人坐标系下的值       pose100.rot:=p100.rot;       pose100.rot:=orientzyx(rz,ry,rx);       !相机提供当前工具在机器人坐标系下的欧拉角       Ptmp:=crobt(Tool:=tool0Wobj:=wobj0);       !获取当前位置的TOOL0对应的机器人位置       pose200.trans:= Ptmp.trans;       pose200.rot:= Ptmp.rot;       tCal.tframe:=PoseMult(PoseInv(pose200),pose100);      !计算获得TCP       stop;



 

联系热线:13918142902   联系人:唐燕乐 联系地址:上海市宝山区富联一路98弄6号

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