一、前言
“纸上得来终觉浅,绝知此事要躬行”。ROS真的有一定难度,只让它“跑”起来就得记很多的指令,看很多的文档,更别说研究它了。这个测试很早以前就想做,有难点卡住就放下,再有难点又放下了,一直没坚定信心。 本来想用Windows的wsl测试的,结果虚拟机与宿主机的通讯一直搞不定,就改用VMware的“仅主机模式:与主机共享网络”模式,搞定的ROS与abb的通讯。这个测试也加深了对通讯的理解。
ABB Robot Studio可以非常轻松地建立ABB机械臂仿真环境,并且Rapid代码可以直接导入到ABB机械臂控制器,控制实际的机械臂 。而ROS系统则有着丰富的智能控制接口,可以让机械臂的程序设计变得非常简单。后边专门写一下abb的ROS程序,写的真的很棒。 测试环境是VMware® Workstation 15 Pro、Ubuntu18.04、ABB Robot Studio 6.08、ROS Melodic、Windows10 此处默认已安装好ROS Melodic,如果没安装的可以查看“wsl2安装ros”,摘取安装部分内容看就行。
二、ABB Robot Studio 6.08 安装程序
在宿主机里运行ABB Robot Studio 6.08,可参考官方文档 在这里下载abb的搭建程序 建立了2个后台多任务;7个数字输出的虚拟信号,关联相应系统输出;加载程序模块。 按照官方文档做完以上内容,再做一下更改:配置 – Communication – IP Setting – 右键“新建IP Setting”
三、ROS Melodic创建工作区
打开终端,在虚拟机连网状态,一般是NAT模式,安装好需要的软件。 安装vim
sudo apt-get install vim
安装cktain tool
sudo apt-get install python-catkin-tools
创建工作区
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
git clone -b kinetic-devel https://github.com/ros-industrial/abb.git src/abb
git clone -b kinetic-devel https://github.com/ros-industrial/abb_experimental.git src/abb_experimental
rosdep update
rosdep install --from-paths src/ --ignore-src --rosdistro melodic
catkin build
检查工作区是否成功,如果缺失log文件夹,则执行以下。 一般第一次总是不成功,不清楚为啥!
catkin init
catkin clean
catkin build
source devel/setup.bash
四、Windows 10宿主机与Ubuntu 18.04虚拟机建立通讯
设置虚拟机的ip地址
ip a //确认有ens33虚拟网卡
sudo vim /etc/network/interfaces
把其余指令用#备注,编辑添加以下:
auto ens33
iface ens33 inet static
address 192.168.3.88
gateway 192.168.3.1
netmask 255.255.255.0
重启网络
sudo /etc/init.d/networking restart
Workstation-编辑-虚拟网络编辑器中完成以下配置
编辑虚拟机设置
Windows10中设置192.168.3.87IP地址
关闭防火墙 宿主机Windows10 ping 192.168.3.88
虚拟机ubuntu18.04 ping 192.168.3.87
五、运行测试
在终端1输入:
cd catkin_ws
source devel/setup.bash
roscore
在终端2输入:
cd catkin_ws
source devel/setup.bash
roslaunch abb_irb120_moveit_config moveit_planning_execution.launch sim:=false robot_ip:= 192.168.3.87