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

ABB机器人维护专营店

产品:269    
联系我们
您当前的位置:首页 » ABB机器人新闻中心 » ABB机器人如何与视觉通讯?
产品分类
ABB机器人新闻中心
ABB机器人如何与视觉通讯?
发布时间:2022-08-02        浏览次数:153        返回列表

工博士机器人技术有限公司是一家集研发、生产、销售、技术服务于一体的专注于自动化、智能化设备生产和机器人系统集成应用的科技型企业,与ABB、库卡KUKA、发那科FANUC、安川YASKAWA欧地希OTC川崎Kawasaki遨博AUBO现代HYUNDAI电装DENSO欧姆龙OMRON爱普生EPSON等机器人公司签订了战略合作关系。

公司业务范围:

◆机器人本体及配套产品销售、机器人应用技术培训服务;

◆机器人在焊接、切割、搬运、激光技术、机床上下料、钣金折弯、锻造等领域的系统集成应用;

◆机器人变位机、导轨、防护工作房、焊接工装夹具等系统周边设备的设计和生产。

 地址:上海市嘉定区南翔镇众仁路399B202007(王工:18616566200)

----------------------------------------------------------------------------------------------------------

 

 机器人与相机视觉通讯,主要包括:   

1. socket通讯建立及收发数据   

2. 数据关键信息的提取   

3. 提取信息与机器人位置robtarget(或者工件坐标系下的oframe)的转化   

一、socket的创建   

1)什么是socket通讯?   

就是TCP/IP通讯,无协议,在微软环境下称为socket   

2)socket通讯能干什么?   

可以收发制定的数据,包括sting字符串,byte数组等   

3)创建socket机器人需要什么选项?   

机器人需要616-1 PC-INTERFACE选项      

4)socket通讯网线插哪个网口?   

Service口(IP固定:192.168.125.1)或者Wan口都可以,(可以自己设置)   

5)创建client端的实例   

通常机器人和相机通讯,机器人作为client端。   

A)新建一个机器人系统,注意建立系统时加入pc-interface选项   

B)为了避免之前的连接没有关闭,先插入socketclose指令,后面的socket1为自己新建的socketdev类型的变量      

C)之后插入创建连接socketCreate   

D)插入建立连接SocketConnect,后面需要指定Server的ip和端口,如果是在电脑和另一台虚拟控制器连接,ip设为“127.0.0.1”,端口自定义,建议不要用默认的1025.   

这一步作用为机器人会和server建立连接,如果没有建立成功会一直等待,如果成功则往下执行      

E)此处做测试,在建立成功后,插入TPWrite指令,可以在示教器看到socketclinent connect successful   

F)接下去可以收发数据,此处示例为client先发送数据给server,再接受server发送回来的数据   

G)SocketSend后面可以发送string或者byte数组,具体可以选择不同可选变量   

H)发送完毕后,client接受到server发回的数据并写屏   

二、数据关键信息的提取   

1)相机通常发送字符串给机器人,比如”1.23,4.56,7.89\0D”,即x为1.23,y为4.56,z的角度为7.89,用\0D作为结束符,数据之间用“,”隔开。   

2)如果机器人收到上述字符串,如何把字符串提取出来并付给变量deltaX,deltaY,和thetaZ?   

3)建立若干num变量,用以存储过程数据,比如StartBit1,表示x的数据从第几位开始,Endbit1表示x的数据结束是第几位,Lenbit1表示x数据的长度,s1表示提取的x的值的字符串   

5)先假设x的位是1,给Startbit1赋值为1   

6)插入函数strfind,查找个“,”在第几位,得到EndBit1值  

8)EndBit1减去StartBit1就是x的数据长度   

9)同理得到y和theta的信息      

10)通过StrPart函数,提取从StartBit1开始到LenBit1结束的字符串,即x的值的字符串   

12) 同理得到y和z的字符串   

13)通过StrToVal函数,把s1转为num型,付给delta_x, StrToVal函数的反馈值为bool量,即转换成功为true不成功为false   

14)同理得到delta_y和delta_theta   

三、关键信息与点位数据的转化   

1)相机发过来的是xy和theta,我们已经从字符串里提取出x,y和theta值了,但是机器人点位robtarget里组成的是trans:xyz以及rot:q1-q4。   

2)ABB机器人用四元数表示角度,如何转化角度到四元数?   

3)新建一个routine   
   

4)Target_10_ini为之前在坐标系workobjec_1下示教的点位,通常这个点位都是这个坐标系下的0,0,0,即在坐标系0点。   

5)Workobject_1坐标系和相机里的坐标系一致(相机可以通过棋盘格标定纸标定)   

6)程序走的点位Target_10,注意存储类型为变量VAR,否则不能赋值   

7)新建num变量or_x,or_y,or_z,表示原来点Target_10的姿态ABC数据。   

8)通过函数eulerzyx得到角度,每次只能得到一个角度  

10) 反斜杠\X 如下得到     

12) 把相机发来的x和y的偏量赋给target_10的x和y   

13) 把相机发来的theta角度加给原来or_z角度,得到新的z方向角度   

14)通过orientzyx函数,把or_x,or_y,or_z三个角度重新转化为Target_10的姿态四元数   

15) 后就得到了新的target_10位置和姿态。   

更多资讯    ABB机器人配件



分享到: 


 

联系热线:18616260662   联系人:王 联系地址:上海市嘉定区南翔镇众仁路399号B栋20层2007-2012

技术和报价服务:星期一至星期六8:00-22:00 ABB机器人维护专营店