Abb_irb6700的连接过程:
连接方式就是将Ubuntu—PC机和ABB 控制柜用网线连接在一起就可以。
本次实验使用的是Ubuntu
16.04,对应ROS—kinetic,这个版本较为稳定。
(教程参考http://wiki.ros.org/abb/Tutorials/)
第一步:确认所用机械臂中是否有623和616软件包,这些关系着未来的通信的成功与否,在ABB示教器的
‘系统信息→系统属性→控制模块→选项’中可以看到:
第二步:在确认无误后进行下一步(缺少软件包可与机械臂客服联系),设置IP:
控制柜这边,打开示教器,在‘系统信息→网络连接→服务端口’里面可以看到IP地址。
Ubuntu这边要设置静态IP,因为实验用的是虚拟机,所以还要额外对虚拟机网络适配器进行设置,打开虚拟机左上角‘编辑→虚拟网络编辑器’,网络连接选择使用桥接模式,自己分配IP地址,保证和机械臂IP在同一网段内。
打开Ubuntu终端,输入‘ip a’查看网络编号,我的是ens33:
下面修改IP,有两种方法,图形界面方式(network-manager)和修改/etc/network/interfaces
二者之间存在冲突,(https://blog.youkuaiyun.com/weixin_34101784/article/details/92355713)这里使用后者方法来进行IP设置。
打开终端,输入‘sudo vi
/etc/network/interfaces’用VIM编辑interfaces文件,打开后进行修改:
auto ens33
#把 lo改为ens33
iface ens33 inet static
#改为static
address 192.168.125.7
#IPv4地址,网段要与机械臂一致(192.168.125.)
#最后一位自己分配一个没被使用过的数字(这里设了7)
#gateway 192.168.3.1
#网关地址(路由器地址),这里没有网关,这行删掉就可以。
netmask 255.255.255.0
编辑完成后按‘esc’ ‘:’ ‘w’ ‘q’ ‘!’
‘enter’就可以保存退出了。
保存后在终端输入‘sudo /etc/init.d/networking
restart’重启网络,显示‘OK’,即可,最后在终端里ping一下机械臂IP,看是否能ping上。输入‘ping
192.168.125.1’能ping上就说明可以通信了。
第三步:在示教器上配置ROS服务器。
因为这里使用的是ROS —16.04,所以在GitHub下载安装服务器代码:
网址为https://github.com/ros-industrial/abb/tree/indigo-devel/abb_driver/rapid
下载好后,用robotstudio打开后修改ROS_socket.sys中的
‘IF(SocketGetStatus(server_socket)= SOCKET_CREATED)SocketBind
server_socket,GetSysInfo(\ LanIp),端口;’
将‘GetSysInfo(\
LanIp)’设置为机械臂IP。还有将把ROS_MOTION里main()改为ROS_main()
改好后,开始配置控制器设置:(应该是可以在robotstudio里面配置的,示教器里也是可以配置的。)
在示教器上操作:在系统HOME文件夹下新建ROS文件夹,将上面下载的六个文件用U盘拷到ABB控制器里面,
在示教器里‘控制面板→配置’
(1):主题→controllers→Task→添加:
按照