ROS-Melodic-Moveit 实时控制UR5机械臂

ROS-Melodic-Moveit 实时控制UR5机械臂

文章目录

  • 前言
  • 一、Universal_robot的软件包安装
  • 二、ur_modern_driver驱动修改
  • 三、设置ployscope和电脑端IP
  • 四、使用Moveit控制UR5机械臂

前言

台式电脑端系统:Ubuntu 18.04
ros版本:Melodic及以上版本
polyscope版本:3.14
机器人:UR5/CB3

Melodic版ROS需按源码编译安装Universal_robot的软件包来控制UR5机械臂


一、Universal_robot的软件包安装

1)创建工作空间

mkdir -p ~/catkin_UR5/src
cd ~/catkin_UR5/src
catkin_init_workspace
cd ~/catkin_UR5
catkin_make
source devel/setup.bash

2)进入定义好的catkin_UR5工作空间:

cd ~/catkin_UR5/src 

3)下载 Ros 服务器中的 universal_robot.git 的数据包源码,并添加到 src 中

git clone -b melodic-devel https://github.com/ros-industrial/universal_robot.git 

4)进入 catkin_UR 5工作空间

cd ~/catkin_UR5

5)安装插件

rosdep install --from-paths src --ignore-src --rosdistro melodic

6)进行编译

catkin_make 

7)运行环境变量设置脚本文件

source  devel/setup.bash 

二、ur_modern_driver驱动修改

目前 UR 机器人的控制器软件版本已更新到 3.0 版本以上,早期的ur_driver驱动不再适合,因此需要用ur_modern_driver进行替换。

ur_modern_driver 的下载链接如下:
https://github.com/ros-industrial/ur_modern_driver

1)删除 catkin_UR5/src/universal_robot 这个目录下的 ur_driver 文件夹

cd  ~/catkin_UR5/src/universal_robot 
rm -rf ur_driver 

2)将下载好的 ur_modern_driver .zip 复制到 catkin_UR5/src/universal_robot 这个目录下
(本文ur_modern_driver .zip 下载在电脑桌面)

cd  /home/ur/Desketop 
cp  ur_modern_driver.zip  ~/catkin_UR5/src/universal_robot 

3)解压 ur_modern_driver.zip

sudo  unzip  ur_modern_driver.zip 

4)修改ur_modern_driver文件夹中的ur_hardware_interface.cpp文件!!!
将所有“controller_it->hardware_interface”替换成“controller_it->type

5)进入到 catkin_UR5目录下

cd ~/catkin_UR5

6)重新编译

catkin_make 

三、设置ployscope和电脑端IP

1)设置ployscope的静态IP地址
首先用一根网线连接UR5机械臂控制箱底部和电脑主机。
下一步是确保正确配置您的计算机和机械臂间可以相互通信。
请注意,默认情况下,Universal Robot的网络功能处于禁用状态。
要启用网络连接,请使用UR的示教器导航至设置机器人->设置网络菜单(如下附件所示)。
注意,ip地址初始为0.0.0.0,我们需要更改设置,然后点击应用,会有提示网络以连接。
笔者的ployscope的ip地址设置如下:
ROS-Melodic-Moveit 实时控制UR5机械臂_第1张图片2)设置电脑端IP
笔者连接校园网会出现通信失败的情况,建议拔出校园网线,主机仅连接UR5控制箱网线。
电脑连上网线后,可以点击右上方的系统设置,点击有线连接,打开电脑IP的设置。
ROS-Melodic-Moveit 实时控制UR5机械臂_第2张图片
注意电脑IP地址跟ployscope是不一样的,笔者这边机器人的IP地址是192.168.1.10,是为了使电脑跟它处于一个局域网下,仅将最后一个小数点后面的那个设置得不一样即可,我设置成了192.168.1.11。IPV4选项设置如下图所示,点击应用即可。启动UR5机器人。
ROS-Melodic-Moveit 实时控制UR5机械臂_第3张图片

3)检验电脑和UR5机械臂网络是否连接成功!
启动一个终端,并输入:

ifconfig 

可查看ubuntu系统的IP地址(笔者系统IP地址为192.168.1.11)
再测试连接情况:(ip_of _The_Robot 为ployscope所设的IP地址,即192.168.1.10)

 ping  192.168.1.10 

ROS-Melodic-Moveit 实时控制UR5机械臂_第4张图片
出现:
64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=0.039 ms
64 bytes from 192.168.1.11: icmp_seq=3 ttl=64 time=0.038 ms

代表电脑和UR5机械臂网络是否连接成功!下一步可进行ROS驱动UR5机械臂测试。

四、使用Moveit控制UR5机械臂

(1)第一个终端打开并输入:

roscore

(2)第二个终端打开,进入catkin_UR5文件夹目录:

cd ~/catkin_UR5

(3)在此终端下,启动机器人驱动程序:(如果您另设ployscope的IP,记得修改true robot_ip:=192.168.1.10 !!)

roslaunch ur_modern_driver ur5_bringup.launch limited:=true robot_ip:=192.168.1.10 use_lowbandwidth_trajectory_follower:=true

(4)第三个终端打开,进入catkin_UR5文件夹目录,启动 moveit :

roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true

(5)第四个终端打开,进入catkin_UR5文件夹目录,启动 rviz:

roslaunch ur5_moveit_config moveit_rviz.launch config:=true

接下来就可以在 rviz 中进行运动规划,并控制真实机器人按照规划的路径运动了。
下图为机械臂初始状态和最终运动实际UR5机械臂姿态。
ROS-Melodic-Moveit 实时控制UR5机械臂_第5张图片

ROS-Melodic-Moveit 实时控制UR5机械臂_第6张图片
第四步时遇见的困难:
错误描述:
在rviz中进行运动规划时,可以规划成功,但机器人执行会失败。
开启rviz的终端显示:
ROS-Melodic-Moveit 实时控制UR5机械臂_第7张图片开启moveit的终端显示:
ROS-Melodic-Moveit 实时控制UR5机械臂_第8张图片解决方法:
将$catkin_UR5/src/ur5_moveit_config/config/controllers.yaml文件中的action_ns字段的值修改为follow_joint_trajectory,问题解决。修改后内容如下。重新执行四、使用Moveit控制UR5机械臂操作即可成功!
ROS-Melodic-Moveit 实时控制UR5机械臂_第9张图片

你可能感兴趣的:(ubuntu)