基于ros開發(fā)ur5----機(jī)械臂控制規(guī)劃

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ū)動

參考:http://wiki.ros.org/universal_robot/Tutorials/Getting%20Started%20with%20a%20Universal%20Robot%20and%20ROS-Industrial

  1. 用示教器設(shè)置機(jī)器人的網(wǎng)絡(luò),一般情況下,選擇自動分配IP即可(DHCP),設(shè)置好后,重啟機(jī)器與PC,用PING命令測試通訊:
ping IP_OF_THE_ROBOT
  1. 與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]
  1. 測試下是否可以控制機(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

使用代碼控制UR5機(jī)器人

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容