ROS Melodic连接UR5机械臂通讯详细步骤,亲测可行

ros版本:Melodic

机械臂:优傲机器人ur5,控制器cb3,软件版本13.多

任务描述:机器人操作系统ros通过网线连接ur5,实现二者通信,在ros下控制ur5运动,为后续基于ros开发机械臂视觉抓取/避障等应用打下基础。

目录

1  ros的设置

1.1  下载安装功能包

1.2  修改控制器参数

1.3  设置IP

2 ur5机器人端的设置

2.1  在ur5上安装urcap

2.2  编程序

2.3 网络设置

3 调试

3.1 启动ur5

3.2  启动ros相应的功能包



1  ros的设置

1.1  下载安装功能包

ur的驱动有ur_driver、ur_modern_driver、ur_robot_driver,但是现在官方建议采用ur_robot_driver,该驱动在git上的地址为:https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git

ur_robot_driver的下载及安装过程如下:

 

# create a catkin workspace
mkdir -p catkin_ws/src && cd catkin_ws

# clone the driver
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver

# clone fork of the description. This is currently necessary, until the changes are merged upstream.
git clone -b calibration_devel https://github.com/fmauch/universal_robot.git src/fmauch_universal_robot

# install dependencies
sudo apt update -qq
rosdep update
rosdep install --from-paths src --ignore-src -y

# build the workspace. We need an isolated build because of the non-catkin library package.
catkin_make

# activate the workspace (ie: source it)
source devel/setup.bash

 

最后一条指令最好写进.bashrc文件中。

安装完,仿真测试一下:

#启动ur5的gazebo仿真环境
roslaunch ur_gazebo ur5.launch
#启动moveit规划执行文件
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
#启动rviz
roslaunch ur5_moveit_config moveit_rviz.launch config:=true

给ur5设定一个目标位姿,按plan可以规划路径,按execute可以使ur5运动,在gazebo上也可以看到相同的运动效果。

参考链接:http://wiki.ros.org/ur_robot_driver

https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git

1.2  修改控制器参数

ur_robot_driver安装完成后,默认的控制器名字为空的,所以需要进行修改,参照下图修改控制器名字为:scaled_pos_joint_traj_controller

1.3  设置IP

设置ros所在的设备端IP,参照下图:

2 ur5机器人端的设置

2.1  在ur5上安装urcap

要在ros上使用ur_robot_driver控制真实的ur5运动,需要在ur5机器人上安装externalcontrol-1.0.urcap,它类似一个插件,接受ros端的消息再控制ur5运动。该urcap位于Universal_Robots_ROS_Driver/ur_robot_driver的resources文件夹内。要安装此URCap,要求PolyScope的版本不得低于3.7

1、externalcontrol-1.0.urcap拷贝到U盘中;

2、U盘插入示教器中;

3、在ployscope的设置机器人中,点开URCap,找到externalcontrol-1.0.urcap,选中,然后点击重启。

2.2  编程序

安装完urcap,需要在“安装设置”中设置External Control的参数,如下图所示,hostip和hostname都是ros端设备的IP和name,端口号:50002.

之后新建一个程序,程序中插入该urcap,当需要与ros连接时,需要运行该程序。

2.3 网络设置

ur5的ip需要与ros端设备处于同一网段,参照下图。

3 调试

3.1 启动ur5

使用网线连接ur5和ros端设备,运行上述编写的ur程序。

3.2  启动ros相应的功能包

3.2.1 单关节控制

安装rqt_joint_trajectory_controller packages。

# 启动机器人驱动程序,ip需要根据机器人ip调整
roslaunch ur_robot_driver ur5_bringup.launch robot_ip:=192.168.56.101
# 启动 rqt_joint_trajectory_controller 节点
rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller

 

3.2.3 使用rviz控制

# 启动ur5驱动
roslaunch ur_robot_driver ur5_bringup.launch limited:=true robot_ip:=192.168.56.101 

# 启动moveit  
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true

# 启动rviz
roslaunch ur5_moveit_config moveit_rviz.launch config:=true

在rviz中给ur5一个目标位姿,先plan看一下能否规划成功、是否碰撞,然后execute执行,观察真实ur5的运动。这个过程一定要注意安全,手放在急停上,时刻准备按下急停。


版权声明:本文为u012252543原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。