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地址设置如下:
2)设置电脑端IP
笔者连接校园网会出现通信失败的情况,建议拔出校园网线,主机仅连接UR5控制箱网线。
电脑连上网线后,可以点击右上方的系统设置,点击有线连接,打开电脑IP的设置。

注意电脑IP地址跟ployscope是不一样的,笔者这边机器人的IP地址是192.168.1.10,是为了使电脑跟它处于一个局域网下,仅将最后一个小数点后面的那个设置得不一样即可,我设置成了192.168.1.11。IPV4选项设置如下图所示,点击应用即可。启动UR5机器人。

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


出现:
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机械臂姿态。


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

ROS-Melodic-Moveit 实时控制UR5机械臂相关推荐

  1. ROS下如何使用moveit驱动UR5机械臂

    转载:http://blog.csdn.net/jayandchuxu/article/details/54693870 原来的moveit实在Ubuntu12.04上安装的,ros版本是hydro, ...

  2. ros通过moveit控制真实机械臂

    1.demo.launch文件 在生成的demo.launch文件中,参数fake_execution的值改为false <include file="$(find tk7arm_mo ...

  3. Ubuntu18.04+ROS Melodic+RealsenseD435i+Robotiq-2F-85+UR5真实机械臂手眼标定(眼在手外)

    一.配置环境 操作系统:Ubuntu 18.04 机械臂型号:UR5 :polyscope 3.14 夹爪型号:Robotiq 2F-85 深度相机:Intel RealSense - D435i 二 ...

  4. 机械臂C语言编程,ROS下C++控制UR机械臂

    描述 ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动 ROS系统:kinetic UR5机械臂 电脑系统:Ubuntu16.0 ...

  5. 机械臂控制C语言程序,ROS下C++控制UR机械臂

    描述 ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动 ROS系统:kinetic UR5机械臂 电脑系统:Ubuntu16.0 ...

  6. 在ROS上实现Seed robotics R8HD机械手与Ur5机械臂的连接与轨迹规划(上)模型连接

    本部分讲解R8HD的模型与ur5机械臂的连接并在rviz中正常显示 前言:本文运行环境: Ubuntu 20.04 ROS noetic 工作空间ur_ws fmauch_universal_robo ...

  7. UR5机械臂仿真环境搭建

    UR5机械臂仿真环境搭建 重要参考: ROS官网教程 前段时间,实验室采购了一台UR5机械臂,今天花了一下午,对照官网教程,完成了仿真环境搭建,期间遇到了一些问题,好在最后都解决了.机械臂的运动规划和 ...

  8. 机器人学习必看系列:如何使用moveit控制真实机械臂?

    大家好,我是你们可爱的小鱼.最近关于moveit相关的问题感觉非常多,毕竟机械臂+视觉的应用的确是非常的火爆,小鱼都想直接开课教机械臂运动规划相关的了. 有的同学问小鱼,怎么使用moveit控制真实机 ...

  9. python做运动控制_ROS探索总结-61.MoveIt!编程驾驭机械臂运动控制

    ROS探索总结-61.MoveIt!编程驾驭机械臂运动控制 说明: 介绍MoveIt!编程驾驭机械臂运动控制 正文 本讲我们将从以下四个部分进行讲解. 首先来回顾下MoveIt!编程接口的框架. Mo ...

最新文章

  1. 百度开源的 71 个项目,看看你用过几个?
  2. PyTorch 保存模型结构参数及加载模型
  3. thinkphp 前端页面js接收后端传过来的数据
  4. linux修改网卡名(亲测有效)
  5. 非常有用的101道算法部分常见面试题
  6. PyCharm取消启动时自动加载项目
  7. c语言案例游戏,C语言实现五子棋游戏的案例
  8. 通过phoenix导入数据到hbase出错记录
  9. Vmware迁移datastore注意事项
  10. 软件验收报告文档模版
  11. 【代码审计】代码安全测试的方法
  12. matlab 平滑曲线连接_Matlab的5个控制类工具箱介绍
  13. istio 防故障流量控制
  14. 【信息安全】数据安全与信息安全
  15. 一个游戏建模师一天的工作都在做什么?
  16. IOS调起app的终极方法:Universal Links
  17. 学生信息管理系统V1.0
  18. jquery中判断元素是否含有某个类名
  19. 击退加拿大鹅,波司登成年轻人冬季新欢?
  20. myeclipse中遇到代码run as后只有run configurations的情况

热门文章

  1. NASA关于编程的十条原则
  2. 基于人工智能的地球物理参数反演范式理论及判定条件
  3. java integer long 转换_long(Long)与int(Integer)之间的转换
  4. Java RESTful Web Service实战(第2版)
  5. java桌面端开发为什么没就行起来,大部分人选qt,winform,electron?
  6. DigitalPersona 指纹仪的使用
  7. 数据的正态分布验证和方差齐性检验
  8. CLK_OF_DECLARE 解析
  9. 下面这条语句一共创建了多少个对象:String bb=aa+bb+cc+dd
  10. 2024清华大学计算机考研信息汇总