ABB机器人与相机视觉通讯 点击:1543 | 回复:21



机器人在线01

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 0回
  • 年度积分:3
  • 历史总积分:141
  • 注册:2017年7月13日
发表于:2019-10-15 15:19:13
楼主

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

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端。

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



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



3)之后插入创建连接socketCreate

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

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



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

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

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

8)发送完毕后,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的值的字符串

4)


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

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

7)


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

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



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

11)         


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

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

14)同理得到delta_y和delta_theta

15) 成功后可以写屏测试,如下图

 


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

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得到角度,每次只能得到一个角度

9)


10)   反斜杠\X  如下得到

11)                     


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位置和姿态。





归来仍不改初心

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 43回
  • 年度积分:0
  • 历史总积分:111
  • 注册:2018年3月05日
发表于:2019-11-28 11:54:47
1楼

支持楼主。

Workobject_1坐标系和相机里的坐标系怎么标定?能不能再详细赐教下?

归来仍不改初心

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 43回
  • 年度积分:0
  • 历史总积分:111
  • 注册:2018年3月05日
发表于:2019-11-28 11:55:01
2楼

支持楼主。

机器人坐标系和相机里的坐标系怎么标定?能不能再详细赐教下?

王鑫nb

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2019年12月04日
发表于:2019-12-04 22:11:44
3楼

多谢楼主大大,希望多多交流

sport1988

  • 精华:0帖
  • 求助:7帖
  • 帖子:9帖 | 108回
  • 年度积分:0
  • 历史总积分:125
  • 注册:2011年12月15日
发表于:2020-04-16 12:01:54
4楼

很好的资料 感谢楼主分享

xkgpassion

  • 精华:2帖
  • 求助:1帖
  • 帖子:14帖 | 30回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2006年7月25日
发表于:2020-06-18 08:05:06
5楼

谢谢楼主分享!支持一个!!谢谢楼主分享!支持一个!!谢谢楼主分享!支持一个!!

O小青年

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 349回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2018年3月26日
发表于:2020-06-19 09:15:43
6楼

谢楼主分享资料

维生素jf

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2020年5月28日
发表于:2020-08-09 16:38:34
7楼

谢谢楼主分享!支持一个!!谢谢楼主分享!支持一个!!非常好的东西

sugar1809

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 171回
  • 年度积分:0
  • 历史总积分:101
  • 注册:2015年3月11日
发表于:2020-08-12 16:20:02
8楼

很先想学习,积分不够了

moonsuperstar

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 45回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2013年3月11日
发表于:2020-08-12 18:33:05
9楼

 好东西要多分享

寂寞的陌生人

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 46回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2020年8月14日
发表于:2020-08-14 09:41:20
10楼

不够积分,凑个积分,谢谢。


qhz2020

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 77回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2020-08-14 14:40:06
11楼

好东西要多分享

会很健康

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2014年7月24日
发表于:2020-08-17 13:41:03
12楼

支持楼主

会很健康

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2014年7月24日
发表于:2020-08-17 13:41:32
13楼

中间没显示的步骤是什么楼主能否公布一下


会很健康

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2014年7月24日
发表于:2020-08-17 13:41:50
14楼

期待楼主发更多的技术贴


wleeske

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 114回
  • 年度积分:13
  • 历史总积分:198
  • 注册:2019年1月15日
发表于:2020-08-23 13:53:39
15楼

RUSHGE

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 210回
  • 年度积分:0
  • 历史总积分:126
  • 注册:2007年5月10日
发表于:2020-09-16 16:38:11
16楼

好东西,下来看看,谢谢分享!

lane2007

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 20回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2010年1月07日
发表于:2020-10-13 11:00:39
17楼

这个不错,学习了

l159

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:136
  • 历史总积分:188
  • 注册:2018年7月04日
发表于:2020-10-13 15:39:56
18楼

学习

USB_KEY

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1002回
  • 年度积分:0
  • 历史总积分:935
  • 注册:2019年3月26日
发表于:2020-11-06 18:54:39
19楼

谢谢分享,积分不够

USB_KEY

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1002回
  • 年度积分:0
  • 历史总积分:935
  • 注册:2019年3月26日
发表于:2020-11-19 16:15:35
20楼

支持一下,这个能帮很多人的,尤其我们这些初学者


热门招聘
相关主题

官方公众号

智造工程师