Ros驱动Ur5e过程 | 手把手教程 | Ros驱动真实机器人Ur5e | Ros与Ur5e建立通讯 | Ubuntu20.04驱动Ur5e机器人

news2025/7/22 11:09:09

目录

  • UR5e连接过程

  • 安装ROS

  • 安装moveit

  • 电脑端UR机器人驱动安装

  • UR实体机器人-软件安装与通信建立

    • urcap软件安装

    • 电脑端ip问题

      • 需要指定临时ip的情况

      • 不需指定临时ip

    • UR机器人IP

  • 机器人的启动

  • 驱动UR机器人

    • 电脑-ip : 192.168.56.1

    • ur5e-ip :192.168.56.101

环境

Ubuntu20.04 + Ur5e + 一根网线 + 一个U盘

安装ROS

省略,网络搜索即可

安装moveit

sudo apt install ros-noetic-moveit

电脑端UR机器人驱动安装

其实当前UR机器人的驱动不止一种,所以搜一下可以看到好几种,但是现在Universal_Robots_ROS_Driver 是比较推荐的。

  • 这里需要在工作空间内准备三个文件

    • 官方驱动Universal_Robots_ROS_Driver 用于机器人控制的驱动文件

      https://github.com/UniversalRobots/Universal_Robots_ROS_Driver

    • fmauch_universal_robot里全都是xx_moveit_config格式的文件,都是MoveIt的配置文件,即Setup Assist生成的现成文件,我们也就不需要额外进行Setup Assist操作了。

    • ur_msgs是一些机器人通信使用的msg和srv文件格式

cd  工作空间

git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver
git clone -b calibration_devel https://github.com/fmauch/universal_robot.git src/fmauch_universal_robot
git clone https://github.com/ros-industrial/ur_msgs.git src/ur_msgs

#安装依赖
rosdep install --from-paths src --ignore-src -y

#回到工作空间后编译
catkin_make
source devel/setup.bash

UR实体机器人-软件安装与通信建立

urcap软件安装

这里需要安装一个externalcontrol-1.0.5.urcap软件

  • 上面下载的Universal_Robots_ROS_Driver里就有,打开Universal_Robots_ROS_Driver/ur_robot_driver/resources文件夹里就有,拷贝至U盘中,注意U盘是FAT格式的
    在这里插入图片描述

  • 把U盘插到UR机器人控制面板上(我格式化u盘插到控制面板的时候不知道为啥还是提示格式不支持,用控制面板格式化后再在电脑上格式化了一下才行。而且UR控制面板格式化后Ubuntu突然就读不出来了,换到windows就能读出来)

  • 右上角【settings】-【System】-【URCaps】

    • 单机底部的【+】,选择U盘里的externalcontrol-1.0.5.urcap 文件,单机打开,最后选择右下角的【Restart】重启
  • 重启后,应该就能看到【Installation】和【Program】里都多了【URCaps】的选项

  • 点击【Program】-【URCaps】,点一下【External Control】,会创建一个空程序,将External Control插入到程序树中标题栏【Save】-【Save as】,我存为了external_control.urp

电脑端ip问题

这里我们首先需要用一根网线将电脑和ur5e控制箱直连,随后将电脑的ip填到ur5e功能面板中。

这个地方我卡了很久,也验证了计网的知识我还在入门阶段。

  • 如何查看我们电脑的ip地址呢?

  • 电脑上直接在终端输入ifconfig,理论上来讲第一个选项比如eno1 后面跟的就是ip地址。(但是我这里没有,只在第三个选项wlp4s0后面跟了inet,我就直接把他填到了host’s IP上(第一天还是能联通的,第二天完全就ping不通了);如果你的ip正常(例如192开头)那就直接填写到ur5e控制面板好了-跳到下方【不需指定临时ip】就可以了)

需要指定临时ip的情况

在这里插入图片描述

  • 在此情况下,输入以下来指定电脑端的临时IP地址。

    sudo ifconfig eno1 192.168.56.1 netmask 255.255.255.0
    

在这里插入图片描述

  • 这时候我们再输入ifconfig检查一下,已经有了ip地址
    在这里插入图片描述

不需指定临时ip

  • 然后在【Installation】-【URCaps】-【External Control】,然后设置你PC电脑的IP地址(上面得到的IP),端口为50002不用动。

在这里插入图片描述

UR机器人IP

给UR机器人配置静态IP,使得电脑可以连接到UR机器人

  • 点击【Setting】-【System】-【Network】-【Static Address】,【IP address】前三位与电脑地址一样,【Subnet mask】填255.255.255.0。
    在这里插入图片描述

  • 检查:我们在电脑上直接输入ping UR机器人的ip,如果正常响应,那就说明联通了。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-geFF0WxJ-1669341632040)(image/image_E2AgOMWv35.png)]

机器人的启动

左下角电源按钮,把机器人启动

驱动UR机器人

这一步就是跑程序的过程了,先记录一下我的ip

电脑-ip : 192.168.56.1

ur5e-ip :192.168.56.101

  • 官方教程

UniversalRobots/Universal_Robots_ROS_Driver: Universal Robots ROS driver supporting CB3 and e-Series (github.com)

  • 每台UR机器人在工厂内都进行了正逆运动学矫正。虽然这个过程非必要,但是官方非常推荐先提取机器人的校准信息,可以保证运动精度。直接在命令行中输入
$ roslaunch ur_calibration calibration_correction.launch \
  robot_ip:=<robot_ip> target_filename:="${HOME}/my_robot_calibration.yaml"
  

#==========我的,(我直接把我的地址改为了绝对地址)
$ roslaunch ur_calibration calibration_correction.launch robot_ip:=192.168.56.101 target_filename:="/home/zhangshidi/GitHub/Ros_control/src/fmauch_universal_robot/ur_description/config/ur5e_calibration.yaml"

注意,其中的robot_ip换成你自己的机器人ip,而target_filename是生成的文件地址,自己指定就好,可以像我一样指定绝对地址

  • 启动驱动程序(直接)
$ roslaunch ur_robot_driver <robot_type>_bringup.launch robot_ip:=192.168.56.101

#========我的
$ roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=192.168.56.101
  • 在Ur5e面板上,点击【Run】,选择【加载文件】,选择上面自己保存的external_control.urp文件,底栏是有一个【播放按钮】的,按下就可以开始运行程序

  • 打开新终端,启动moveit

roslaunch ur5e_moveit_config ur5e_moveit_planning_execution.launch limited:=true

  • 打开新终端,启动rviz
roslaunch ur5e_moveit_config moveit_rviz.launch config:=true

  • 通过【Add】添加【MotionPlanning】,再在MotionPlanning的Planning Request中选择Planning Group 为mainpulator,就可以看到规划球出来了
    在这里插入图片描述

  • 然后把球拖到一个位置,看能不能plan,plan完execute就可以看到机械臂跟着动了

任务完成!

最后放下参考,前前后后先后看了数十篇博客,我觉得以下博客写的还是不错并且有帮助的。

[ubuntu20.04安装ros-noetic,moveit,ur机器人驱动...指南!\_Dawn\_yc的博客-CSDN博客](https://blog.csdn.net/Dawn_yc/article/details/114791755 "ubuntu20.04安装ros-noetic,moveit,ur机器人驱动...指南!_Dawn_yc的博客-CSDN博客")

[ROS noetic与UR3真实机械臂通信\_junkie\_luo的博客-CSDN博客\_机械臂通信](https://blog.csdn.net/luojunqi2017/article/details/119272683 "ROS noetic与UR3真实机械臂通信_junkie_luo的博客-CSDN博客_机械臂通信")

[如何使用ROS控制真实UR5机器人\_梧桐w的博客-CSDN博客\_ros控制ur5](https://blog.csdn.net/weixin_44715231/article/details/114796006 "如何使用ROS控制真实UR5机器人_梧桐w的博客-CSDN博客_ros控制ur5")

[https://blog.csdn.net/chch2010523/article/details/124552586](https://blog.csdn.net/chch2010523/article/details/124552586 "https://blog.csdn.net/chch2010523/article/details/124552586")

[https://blog.csdn.net/zxxxiazai/article/details/103568577](https://blog.csdn.net/zxxxiazai/article/details/103568577 "https://blog.csdn.net/zxxxiazai/article/details/103568577")

[https://blog.csdn.net/santututu39/article/details/123719808](https://blog.csdn.net/santututu39/article/details/123719808 "https://blog.csdn.net/santututu39/article/details/123719808")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【STM32CubeMX】NRF24L01模块实现“1对1“及“1对多“无线通信

大家好&#xff0c;我是小政。本篇文章我将针对NRF24L01模块实现"1对1"及"1对多"无线通信的STM32CubeMX配置过程进行详细的讲解&#xff0c;让准备学习HAL库的小伙伴能够更好的理解STM32CubeMX如何配置。 NRF24L01模块实现"1对1"及"1对多&q…

【OpenCV-Python】教程:3-9 轮廓(5)轮廓层级

OpenCV Python 轮廓层次 【目标】 学习轮廓的层次关系 在前几个课程里面&#xff0c;学习了 cv2.findContours() 函数, 传递了参数 Contour Retrieval Mode . 通常是 cv.RETR_LIST or cv.RETR_TREE 工作的很好&#xff0c;但是他们是什么意思呢&#xff1f; hierarchy 到底是…

基于DMF推荐算法的推荐系统 代码+数据 (可作为毕设)

案例知识点 推荐系统任务描述:通过用户的历史行为(比如浏览记录、购买记录等等)准确的预测出用户未来的行为;好的推荐系统不仅如此,而且能够拓展用户的视野,帮助他们发现可能感兴趣的却不容易发现的item;同时将埋没在长尾中的好商品推荐给可能感兴趣的用户。DMF推荐方法…

C语言既然可以自动为变量分配内存,为什么还要用动态分配内存呢?

一、前言 不知道大家在学习C语言动态分配内存的时候有没有过这样的疑问&#xff0c;既然系统可以自动帮我们分配内存&#xff0c;为什么还需要我们程序员自己去分配内存呢&#xff1f; 如果想要弄清楚这些问题&#xff0c;我们首先就要了解静态内存和动态内存有什么区别&…

python学习笔记

第一个python程序 pycharm使用 pycharm下载链接&#xff1a; https://www.jetbrains.com/zh-cn/pycharm/download/#sectionwindows 1. 新建项目 右键test—> 点击new 输入文件名 运行 结果 2. 调节字体大小快捷键设置 右键添加鼠标快捷键 按住ctrl鼠标向上滑动 放…

计算机网络 应用层

概述 为特定应用程序提供数据服务&#xff0c;例如HTTP、FTP(File Transfer Protocol , 文件传输协议)、DNS &#xff08;Domain Name System,域名系统&#xff09;等。 域名系统 DNS DNS 全名叫 Domain Name Server&#xff0c;中文俗称“域名服务器” 在 Internet 上域名…

Docker搭建Nginx实现SpringBoot+Nginx集群

1&#xff0c;首先聊聊什么Nginx&#xff1f; Nginx 是一个高性能的HTTP和反向代理web服务器&#xff0c;因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日&#xff0c;nginx 1.0.4发布。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电…

linux三剑客awk、sed、grep与cut的总结

在Linux中&#xff0c;一切皆文件&#xff0c;对Linux的操作就是对文件的处理。对文件操作处理最重要的三个命令是grep、sed、awk&#xff0c;它们在业界被称为“三剑客”。 三剑客的功能非常强大&#xff0c;但它们各自有分别擅长的功能&#xff1a; grep擅长对文件或字符串进…

【操作系统】2.3 进程同步与互斥

这一节大概是操作系统中最难的一节了。 2.3.1 进程的同步与互斥 2.3.1 进程的同步与互斥_StudyWinter的博客-CSDN博客_进程同步思维导图 进程同步&#xff1a;在多道程序环境下&#xff0c;进程是并发执行的&#xff0c;不同进程之间存在着不同的相互制约关系。为了协调进程之…

C#界面里Form.Language 属性的使用

C#界面里Form.Language 属性的使用 现在面向全球化的应用软件、应用系统越来越多。 比如游戏正在走向全球化时代,很多游戏的服务器也会安装到各个国家去,也会请当地人来管理游戏的服务器。 这时开发的软件,就需要面向各种语言,比如英语、日语、阿拉佰语等等。 如果你正在…

什么叫共同富裕,刘强东给老板们打了个样

这两天&#xff0c;热搜上最火的男人&#xff0c;除了汪小菲&#xff0c;就是刘强东无疑了。 11月22日&#xff0c;刘强东发出了一封京东内部员工信&#xff0c;引发热议。 信里主要说了4点&#xff1a; 1、自明年1月1日起&#xff0c;为所有德邦员工缴齐五险一金&#xff1…

YOLOv5识别图像内苹果和香蕉

YOLOv5为目标检测带来了极大的方便。通过简单地训练YOLOv5&#xff0c;即可以实现一个速度快、性能高的目标检测系统。 下面介绍如何从头开始构造一个简单的目标检测系统&#xff0c;用来识别图像内的苹果和香蕉&#xff0c;并标注他们所在的位置。 特别强调的是&#xff0c;…

HTML5学习笔记(三)

离线应用 HTML5新增了一个离线存储的API&#xff0c;用于实现本地数据的缓存&#xff0c;从而使得开发离线应用成为可能。 所谓“离线存储”&#xff0c;指的是建立一个URL列表&#xff0c;该列表可以包含HTML文件、CSS文件、JavaScript文件和图片等。当与服务器建立连接时&am…

dragTabs(vue)

vue实现tabs拖拽 效果图 dragTab.vue <template><div class"yh-tabs"><draggable :list"tabList" :group"groupName" animation"300" item-key"id" end"dragEnd"><template #item"{ …

CANoe-vTESTstudio之Test Diagram编辑器(功能介绍)

1. 阶段 Test Diagram从测试设计到测试执行,分为5个阶段: Test Design 在测试设计阶段,测试设计人员使用图形元素和分配的测试代码对测试用例进行建模。这个阶段的结果是生成一个测试图表 Evaluation 生成的测试图表,需要评估其正确性。在评估期间,将验证各个元素及其…

3.7 学会这2招,让你的笔记分分钟上热门 【玩赚小红书】

什么是上热门&#xff1f; 上热门之前&#xff0c;我们先了解一下什么是上热门。上热门就是笔记被系统主动推荐&#xff0c;并在很长一段时间里&#xff0c;有源源不断的粉丝点赞、收藏&#xff0c;相当于平台给你的笔记开了专属流量口&#xff0c;推送给那些平常关注该笔记类型…

vue实战项目之vue-cli脚手架搭建过程详解

目录 1.可以参考vue-cli的中文文档进行下载安装 2.查看node和npm版本 3.安装依赖包 4.依赖包以前版本太老&#xff0c;如何更新&#xff1f; 5.创建一个项目 6.图形化界面 1.可以参考vue-cli的中文文档进行下载安装 vue-cli中文文档 2.查看node和npm版本 在cmd或者编译…

【数据库原理及应用】——关系数据库的规范化理论(学习笔记)

&#x1f4d6; 前言&#xff1a;关系数据库的规范化理论是数据库设计的一个理论指南&#xff0c;提供了判断一个关系模式优劣的理论依据。本章讨论的关系数据库的规范化理论主要包含三方面内容&#xff1a;函数依赖、范式和模式分解准则。函数依赖起着核心作用&#xff0c;是模…

易基因|TSD物种全基因组DNA甲基化模式对孵育性别和过去孵育温度的响应 | 性别决定

易基因&#xff5c;TSD物种全基因组DNA甲基化模式对孵育性别和过去孵育温度的响应 | 性别决定 大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 2022年8月23日&#xff0c;《MOLECULAR ECOLOGY》杂志发表题为“Genome-wide DNA methyla…

[附源码]java毕业设计幼儿园管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…