一、
“纸上得来终觉浅,绝知此事要躬行”。ROS真的有一定难度,只让它“跑”起来就得记很多的指令,看很多的文档,更别说研究它了。这个测试很早以前就想做,有难点卡住就放下,再有难点又放下了。
本来想用Windows的wsl测试的,结果虚拟机与宿主机的通讯一直搞不定,就改用VMware的“仅主机模式:与主机共享网络”模式,搞定的ROS与abb的通讯。这个测试也加深了对通讯的理解。
and
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,可参考官方文档:
http://wiki.ros.org/abb_driver/Tutorials/InstallServer
在这里下载abb的搭建程序
https://github.com/ros-industrial/abb_driver/tree/kinetic-devel/rapid
建立了2个后台多任务;7个数字输出的虚拟信号,关联相应系统输出;加载程序模块。
按照官方文档做完以上内容,再做一下更改:配置 - Communication - IP Setting - 右键“新建IP Setting”
三、
打开终端,在虚拟机连网状态,一般是NAT模式,安装好需要的软件。
安装vim
代码语言:javascript复制sudo apt-get install vim
安装cktain tool
代码语言:javascript复制sudo apt-get install python-catkin-tools
创建工作区
代码语言:javascript复制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文件夹,则执行以下。
一般第一次总是不成功,不清楚为啥!
代码语言:javascript复制catkin init catkin clean
catkin build
source devel/setup.bash
四、
设置虚拟机的ip地址,确认有ens33虚拟网卡
代码语言:javascript复制ip a
sudo vim /etc/network/interfaces
把其余指令用#备注,编辑添加以下:
代码语言:javascript复制auto ens33
iface ens33 inet static
address 192.168.3.88
gateway 192.168.3.1
netmask 255.255.255.0
重启网络
代码语言:javascript复制sudo /etc/init.d/networking restart
Workstation-编辑-虚拟网络编辑器中完成以下配置
编辑虚拟机设置
Windows10中设置 192.168.3.87 IP地址
关闭防火墙
宿主机Windows10 ping 192.168.3.88
虚拟机ubuntu18.04 ping 192.168.3.87
五、
在终端1输入:
代码语言:javascript复制cd catkin_ws
source devel/setup.bash
roscore
在终端2输入:
代码语言:javascript复制cd catkin_ws
source devel/setup.bash
roslaunch abb_irb120_moveit_config moveit_planning_execution.launch sim:=false robot_ip:=192.168.3.87