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地址设置如下:
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机械臂相关推荐
- ROS下如何使用moveit驱动UR5机械臂
转载:http://blog.csdn.net/jayandchuxu/article/details/54693870 原来的moveit实在Ubuntu12.04上安装的,ros版本是hydro, ...
- ros通过moveit控制真实机械臂
1.demo.launch文件 在生成的demo.launch文件中,参数fake_execution的值改为false <include file="$(find tk7arm_mo ...
- Ubuntu18.04+ROS Melodic+RealsenseD435i+Robotiq-2F-85+UR5真实机械臂手眼标定(眼在手外)
一.配置环境 操作系统:Ubuntu 18.04 机械臂型号:UR5 :polyscope 3.14 夹爪型号:Robotiq 2F-85 深度相机:Intel RealSense - D435i 二 ...
- 机械臂C语言编程,ROS下C++控制UR机械臂
描述 ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动 ROS系统:kinetic UR5机械臂 电脑系统:Ubuntu16.0 ...
- 机械臂控制C语言程序,ROS下C++控制UR机械臂
描述 ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动 ROS系统:kinetic UR5机械臂 电脑系统:Ubuntu16.0 ...
- 在ROS上实现Seed robotics R8HD机械手与Ur5机械臂的连接与轨迹规划(上)模型连接
本部分讲解R8HD的模型与ur5机械臂的连接并在rviz中正常显示 前言:本文运行环境: Ubuntu 20.04 ROS noetic 工作空间ur_ws fmauch_universal_robo ...
- UR5机械臂仿真环境搭建
UR5机械臂仿真环境搭建 重要参考: ROS官网教程 前段时间,实验室采购了一台UR5机械臂,今天花了一下午,对照官网教程,完成了仿真环境搭建,期间遇到了一些问题,好在最后都解决了.机械臂的运动规划和 ...
- 机器人学习必看系列:如何使用moveit控制真实机械臂?
大家好,我是你们可爱的小鱼.最近关于moveit相关的问题感觉非常多,毕竟机械臂+视觉的应用的确是非常的火爆,小鱼都想直接开课教机械臂运动规划相关的了. 有的同学问小鱼,怎么使用moveit控制真实机 ...
- python做运动控制_ROS探索总结-61.MoveIt!编程驾驭机械臂运动控制
ROS探索总结-61.MoveIt!编程驾驭机械臂运动控制 说明: 介绍MoveIt!编程驾驭机械臂运动控制 正文 本讲我们将从以下四个部分进行讲解. 首先来回顾下MoveIt!编程接口的框架. Mo ...
最新文章
- 百度开源的 71 个项目,看看你用过几个?
- PyTorch 保存模型结构参数及加载模型
- thinkphp 前端页面js接收后端传过来的数据
- linux修改网卡名(亲测有效)
- 非常有用的101道算法部分常见面试题
- PyCharm取消启动时自动加载项目
- c语言案例游戏,C语言实现五子棋游戏的案例
- 通过phoenix导入数据到hbase出错记录
- Vmware迁移datastore注意事项
- 软件验收报告文档模版
- 【代码审计】代码安全测试的方法
- matlab 平滑曲线连接_Matlab的5个控制类工具箱介绍
- istio 防故障流量控制
- 【信息安全】数据安全与信息安全
- 一个游戏建模师一天的工作都在做什么?
- IOS调起app的终极方法:Universal Links
- 学生信息管理系统V1.0
- jquery中判断元素是否含有某个类名
- 击退加拿大鹅,波司登成年轻人冬季新欢?
- myeclipse中遇到代码run as后只有run configurations的情况
热门文章
- NASA关于编程的十条原则
- 基于人工智能的地球物理参数反演范式理论及判定条件
- java integer long 转换_long(Long)与int(Integer)之间的转换
- Java RESTful Web Service实战(第2版)
- java桌面端开发为什么没就行起来,大部分人选qt,winform,electron?
- DigitalPersona 指纹仪的使用
- 数据的正态分布验证和方差齐性检验
- CLK_OF_DECLARE 解析
- 下面这条语句一共创建了多少个对象:String bb=aa+bb+cc+dd
- 2024清华大学计算机考研信息汇总