環境:Ubuntu16.04+ROS-kinetic(ROSPC)
Windows10+RobotStudio6.07(ROBOTPC)
我用了兩臺電腦,一臺是WIN10用VMWare裝了虛擬機ubuntu,另一臺是WIN10。
也可以只用一臺電腦,只要內存夠大,運行效果ok就可以,在這臺電腦上Windows中用VMWare裝虛擬機Ubuntu,然後在Windows中裝Robot Studio6.07(現在是6.08了,6.0以上版本應該都ok,以下版本我沒試過),在Ubuntu裏裝ROS(Ubuntu和ROS版本要對應,比如16.04對應kinetic版的ROS)。
如果你用的是真實機器人,那就只需要ROSPC,因爲機器人本身就是ROBOTPC。
仿真用的是ABB irb2400,這是ROS官方支持的型號,不需要自己生成配置文件
原理類的東西,這裏不多說了。
一:安裝ROS
參考官方維基:http://wiki.ros.org/cn/kinetic/Installation/Ubuntu
二:設置虛擬機網絡(沒用虛擬機的可以跳過這一步)
這一步的目的是固定ubuntu的IP地址,利用橋接模式,使它和主機在同一個子網下,我這裏用的是以太網的ip,用無線局域網的應該也可以。
打開VMWare->編輯虛擬機設置->網絡適配器->橋接模式:
編輯->虛擬網絡編輯器->選擇你要橋接到的網絡,我選擇的是我的以太網卡,把DHCP關掉:
進入ubuntu->編輯有線連接1->編輯
IPV4設置->方法:手動->然後添加一個地址和你的以太網(或無線局域網)在同一個網段即可,可用ipconfig在WIN10上查看
設置完成之後,斷開重連,打開終端用ifconfig查看當前Ubuntu IP:
可以嘗試一下ping你的ROBOTPC,如果成功就可以進行下一步。
注意:ROBOTPC得和ROSPC在同一個網段下。
三:在RobotStudio下仿真(用真實機器人的可以跳過這一步)
參考官方教程:http://wiki.ros.org/abb/Tutorials/RobotStudio
重要的是要加入616-1 PC-interface和623-1 MultiTasking選項
四:在機器人端配置rapid代碼,運行ABB-server
參考官方教程:http://wiki.ros.org/abb/Tutorials
比較重要的是,socket設置的ip要改成ROBOTPC的ip.
五:在Ubuntu上下載abb配置包,用ROS調用:
先創建一個文件夾,叫 catkin_ws,作爲工作區,底下要有src文件夾:
參考:http://wiki.ros.org/abb_experimental
1 cd /path/to/catkin_ws/src 2 3 # retrieve the latest development version of industrial_core. If you'd rather 4 # use the latest released version, replace 'kinetic-devel' with 'kinetic' 5 git clone -b kinetic-devel https://github.com/ros-industrial/industrial_core.git 6 7 # retrieve the latest development version of abb and abb_experimental 8 # NOTE: you MUST use the '-devel' version of abb 9 git clone -b kinetic-devel https://github.com/ros-industrial/abb.git 10 git clone -b kinetic-devel https://github.com/ros-industrial/abb_experimental.git 11 12 cd /path/to/catkin_ws 13 14 # checking dependencies 15 rosdep install --from-paths src --ignore-src --rosdistro kinetic 16 17 # building 18 catkin_make 19 20 # source this workspace (only if you don't have any others) 21 source /path/to/catkin_ws/devel/setup.bash
在ROSPC能ping通ROBOTPC和ROBOTPC啓動ABB server的前提下,
進入src中放abb_irb2400_moveit_config文件的文件夾(應該是cd /path/to/catkin_ws/src/abb),執行下一指令:
roslaunch abb_irb2400_moveit_config moveit_planning_execution.launch sim:=false robot_ip:=192.168.249.100
設置的robot_ip就是ROBOTPC的IP地址。
如果成功的話在ROBOTPC端,就能看到connection提示,然後你在ROSPC彈出的rviz上進行操作,就可以控制ROBOTPC上仿真的機器人或者真實的機器人了。
祝順利。