ros 環(huán)境搭建-tested on a UR5 robotic arm running firmware version 3.0
原理
ros-industrial通過網(wǎng)線與UR機(jī)器人的控制器鏈接,通過網(wǎng)線向ur控制器上傳URscript腳本程序碟贾,運(yùn)行腳本程序并時刻接收ros-industrial的消息移盆,腳本程序?qū)os消息轉(zhuǎn)為機(jī)器執(zhí)行命令悼院。
安裝ros-industrial(注意更改kinetic為自己的ros版本)
http://wiki.ros.org/Industrial/Install
* Industrial core: `apt-get install ros-kinetic-industrial-core`
* ABB stack: `apt-get install ros-kinetic-abb`
* Universal robot stack: `apt-get install ros-kinetic-universal-robot`
* ros_canopen stack: `apt-get install ros-kinetic-ros-canopen`
安裝源碼編譯UR的新版驅(qū)動包(適用于UR version 3.0)
建議安裝新版本的驅(qū)動:ur_modern_driver(原作者的版本目前在ros-kinetic上編譯不了,可以下載branch上的cleanup_kinetic_manifest)
https://github.com/ros-industrial/ur_modern_driver/tree/cleanup_kinetic_manifest
安裝UR機(jī)器人描述文件
描述文件用于記錄機(jī)器人的模型參數(shù)
sudo apt install ros-kinetic-ur-description
安裝Moveit!:一個規(guī)劃控制包
sudo apt-get install ros-kinetic-moveit
配置機(jī)器人與PC的網(wǎng)絡(luò)并啟動驅(qū)動
- 用示教器設(shè)置機(jī)器人的網(wǎng)絡(luò),一般情況下咒循,選擇自動分配IP即可(DHCP)据途,設(shè)置好后,重啟機(jī)器與PC叙甸,用PING命令測試通訊:
ping IP_OF_THE_ROBOT
- 與UR v3.x建立鏈接颖医,IP_OF_THE_ROBOT換成機(jī)器人的IP:
roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
- 測試下是否可以控制機(jī)器人(時刻把手放在示教器的大紅色按鈕上,以防意外):
rosrun ur_modern_driver test_move.py
啟動驅(qū)動后裆蒸,使用Moveit熔萧!來控制真實機(jī)器人
為了更好的求解規(guī)劃路徑,一般將機(jī)器人的關(guān)節(jié)運(yùn)動范圍限制于[-pi,pi]:
先啟動ur驅(qū)動:
roslaunch ur_modern_driver ur5_bringup.launch limited:=true robot_ip:=IP_OF_THE_ROBOT
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true
(規(guī)劃會一直失敗僚祷,可能因?qū)﹃P(guān)節(jié)運(yùn)動范圍進(jìn)行了限制佛致,可以檢查試教器查看機(jī)器人關(guān)節(jié)狀態(tài))
在Gazebo仿真環(huán)境下,模擬機(jī)器人運(yùn)動
roslaunch ur_gazebo ur5.launch limited:=true
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true limited:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true