草庐IT

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

乘风会落雨 2023-07-18 原文

目录

环境

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,如果正常响应,那就说明联通了。

机器人的启动

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

驱动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")

有关Ros驱动Ur5e过程 | 手把手教程 | Ros驱动真实机器人Ur5e | Ros与Ur5e建立通讯 | Ubuntu20.04驱动Ur5e机器人的更多相关文章

  1. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  2. ruby-on-rails - 如何在 Ruby on Rails 中实现由 JSF 2.0 (Primefaces) 驱动的 UI 魔法 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。问题1)我想知道ruby​​onrails是否有功能类似于primefaces的gem。我问的原因是如果您使用primefaces(http://www.primefaces.org/showcase-labs/ui/home.jsf),开发人员无需担心javascript或jquery的东西。据我所知,JSF是一个规范,基于规范的各种可用实现,prim

  3. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  4. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  5. ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么? - 2

    require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame

  6. 机器学习——时间序列ARIMA模型(四):自相关函数ACF和偏自相关函数PACF用于判断ARIMA模型中p、q参数取值 - 2

    文章目录1、自相关函数ACF2、偏自相关函数PACF3、ARIMA(p,d,q)的阶数判断4、代码实现1、引入所需依赖2、数据读取与处理3、一阶差分与绘图4、ACF5、PACF1、自相关函数ACF自相关函数反映了同一序列在不同时序的取值之间的相关性。公式:ACF(k)=ρk=Cov(yt,yt−k)Var(yt)ACF(k)=\rho_{k}=\frac{Cov(y_{t},y_{t-k})}{Var(y_{t})}ACF(k)=ρk​=Var(yt​)Cov(yt​,yt−k​)​其中分子用于求协方差矩阵,分母用于计算样本方差。求出的ACF值为[-1,1]。但对于一个平稳的AR模型,求出其滞

  7. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  8. Ubuntu20.04系统WineHQ7.0安装微信 - 2

    提供3种Ubuntu系统安装微信的方法,在Ubuntu20.04上验证都ok。1.WineHQ7.0安装微信:ubuntu20.04安装最新版微信--可以支持微信最新版,但是适配的不是特别好;比如WeChartOCR.exe报错。2.原生微信安装:linux系统下的微信安装(ubuntu20.04)--微信适配的最好,反应最快,但是微信版本只到2.1.1,版本太老,很多功能都没有。3.深度deepin-wine6安装微信:ubuntu20.04+系统deepin-wine6安装新版微信--综合比较好,当前个人使用此种方法1个月,微信版本3.4;没什么大问题,尚可。一、WineHQ7.0安装微信

  9. 智能客服 | 浅谈人工智能聊天机器人ChatGPT - 2

    2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动

  10. ruby - 运行测试时静音 Chrome 驱动程序控制台输出 - 2

    我使用的是最新版本的Chrome(32.0.1700.107)和Chrome驱动程序(V2.8)。但是当我在Ruby中使用以下代码运行示例测试时:require'selenium-webdriver'WAIT=Selenium::WebDriver::Wait.new(timeout:100)$driver=Selenium::WebDriver.for:chrome$driver.manage.window.maximize$driver.navigate.to'https://www.google.co.in'defapps_hoverele_hover=$driver.find_

随机推荐