Ubuntu18.04+ROS melodic 控制UR5机器人(持续更新)

本文档详细记录了使用Ubuntu18.04和ROS Melodic在虚拟机中配置、仿真及控制UR5机器人的全过程。内容包括Ubuntu系统的安装、ROS Melodic的配置、工作空间创建、GitHub仓库导入、Rviz可视化界面操作、Python轨迹规划,以及实体UR5机器人的驱动与避坑指南。此外,还涉及到了Ubuntu环境的日常设置,如安装中文输入法、修改分辨率等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0 前言

(2021.08)最近又有新活了。。要用ROS框架开发UR5机器人,这里综合万能的优快云大佬们的帖子持续记录一下我的开发和学习历程,供大家也供自己日后参考。
(2021.12)断更好久了回来维护一下,前两个月都在忙组里别的项目,最近重新开始弄UR5机器人这个项目了,近阶段主要将会完成脚本控制仿真环境的机器人和ROS系统与实体UR5机器人的通讯,还有一些机器人运行的数据接口需要学习一下,嗯就是这样。

1 前置准备工作

1.1 环境配置

刚打开ROS官网页面的时候我那叫一个懵逼啊,别人家的系统版本都叫1.0,2.0这种,ROS偏不,人家叫kinetic、melodic、noetic,我当时顶着满脑袋的问号随便找了一个Ubuntu+ROS+UR机器人关键词的帖子就按着人家的操作开始装了,后来才发现这玩意好像是和Ubuntu系统的版本对应的,总结放这儿了:

Ubuntu版本 ROS版本
20.04 Noetic
18.04 Melodic
16.04 Kinetic
14.04 Indigo

以我当前对ROS浅薄的了解,似乎Melodic和Kinetic版本在GitHub上对应的资源更丰富,大家可按需取用。

1.1.1 使用虚拟机安装Ubuntu系统

作为电脑小辣鸡的我实在是配置双系统无能,还是乖乖装虚拟机。。这一步在优快云上随手一搜就能搜到很多教程,我用的是这篇:Windows 10上如何安装ubuntu虚拟机。直接按照帖子一步步操作就行了,值得注意的一点是虚拟机的内存和硬盘大小的分配,文章里都选的默认值:1G内存和10G硬盘,我还寻思Ubuntu系统这么资源友好的吗?结果后面装ROS的时候直接卡的妈都不认识了。
所以这里记录一下虚拟机的内存和硬盘的扩容方式,因为虚拟机说到底用的还是笔记本自己的内存和硬盘资源,所以扩容的时候性能也别拉太满,比如我的笔记本加了内存条之后一共32G的内存,分给虚拟8G+25G的硬盘。内存扩容很简单,直接在虚拟机的设置界面配置就行,如图:
点击设置
系统选项卡里直接拖那个条就能分配内存
在虚拟机关机情况下可以直接拖那个条来扩容。顺便,我还把旁边的处理器从1个调成了2个,小提一下性能。
硬盘的扩容就比较复杂了,扩容成功案例可以参考这篇帖子:Oracle VM VirtualBox 虚拟硬盘扩容(Linux)不过我的VirtualBox版本跟他不太一样,所以在第一步分配空间的操作上是直接在windows系统的CMD里面完成的:

  1. 使用管理员权限打开CMD
  2. 切换到VirtualBox的安装目录下,找一个叫VBoxManage的东西,然后输入以下命令:
D:\Program Files (x86)\VirtualBox>VBoxManage modifyhd "D:\VirtualBox VMS\Ubuntu_cym\Ubuntu_cym.vdi" --resize 25000

其中双引号里面替换成虚拟硬盘vdi文件的绝对路径 ,resize后面输入需要的硬盘容量大小,这一步只是物理扩容,扩容完后会发现虚拟机的存储那一栏写着“容量多少,已分配多少”,接下来还需要在虚拟机的控制台里调整分区大小,这个 跟着那篇参考帖子从第二步开始做就行。

1.1.2 ROS melodic安装

终于把Ubuntu系统搞定了,现在开始装ROS。这里推荐这篇文章如何使用ROS控制真实UR5机器人。可以参考里面ROS的安装部分,安装主要分以下几步:

  1. 去Ubuntu的软件配置库里面把图中的几个选项勾上,点桌面左下角那个软件列表就能找到这个。我参考的这篇帖子里面用了一个阿里的镜像源去导入ros的包,要是有vpn可以直接挂到ros官网上的源文件。
    软件和更新
  2. 设置sourcelist,也就是导入ros的源文件,如果设置镜像源的话可以用参考帖子里的那两句命令,如果直接翻墙的话可以用下面这两句话:
$ sudo sh -c 'echo "deb http"//packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  1. 开始安装,跟新包–>然后安装
$ sudo apt update
$ sudo apt install ros-melodic-desktop-full

这一步要等挺久的,可以去吃个饭喝杯茶或者最小化虚拟机去打打游戏啥的

  1. 配置环境变量,这样就不用每打开一次控制台就要执行一次source那句话了,和windows里面的环境变量差不多意思
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
  1. 安装依赖包
$ sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
$ sudo apt install python-rosdep
$ sudo rosdep init
$ rosdep update

这里最后一句update语句必须挂vpn才能执行,不过根据我参考的那篇帖子,不能更新问题也不是很大(暂时来看)。到这里,ros的环境就安装完毕了,接下来需要创建一个工作空间。

1.2 工作空间配置

先贴一下参考的帖子Ubuntu18.04+ROSmelodic配置UR机器人,这块我其实还有一点混乱,感觉不同的帖子导入的 Github项目都不一样,现在处于,能打开Rivz环境就行的阶段。。后面再研究吧

1.2.1 创建工作空间

这步对应到windows里面就是创建一个新文件夹,嗯

$ mkdir -p ~/catkin_ws/src
$ cd catkin_ws/src

1.2.2 导入Github仓库并更新依赖包

就是下载Github对应的项目到之前创建的那个src文件夹,然后刷新一下依赖
2021/12/13更新:根据ros官方的最新公告,若需要使用项目控制真实的UR机器人,需要使用唯一得到ur官方支持的ur_robot_driver(不是ur_driver也不是ur_modern_driver)具体的GitHub项目地址和克隆方法补充在这章的最后(注意下载的时候需要创建新的工作空间)

$ git clone -b melodic-devel https://github.com/ros-industrial/universal_robot.git
$ cd ~/catkin_ws/
$ rosdep update
$ rosdep install --rosdistro melodic --ignore-src --from-paths src

记得update的时候翻一下墙

# clone the driver
$ git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver

# clone fork of the description to use the calibration feature  # -b表示下载分支
$ git clone -b calibration_devel https://github<
### 配置 Ubuntu 18.04ROS Melodic 以连接真实 UR5 机械臂 #### 安装依赖包 为了确保可以顺利安装和配置ROS以及UR5驱动程序,在开始之前需要确认已经安装了一些必要的软件包。这些包括`ros-melodic-desktop-full`以及其他可能必需的库。 ```bash sudo apt-get update && sudo apt-get install ros-melodic-desktop-full python-wstool python-rosdep ``` #### 设置工作空间 创建一个新的Catkin工作区来管理所有的源码文件: ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ wstool init src ``` #### 获取 Universal_Robots_ROS_Driver Universal Robots官方提供了用于ROS集成的支持包,可以通过Git克隆仓库到刚刚初始化的工作区内: ```bash git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git -b melodic-devel src/universal_robot ``` #### 初始化并更新Rosdep 为了让系统能够识别新的依赖关系,并自动下载所需的第三方库,需先刷新本地数据库再执行一次完整的更新操作: ```bash sudo rosdep init rosdep update ``` #### 编译项目 返回至根目录后编译整个工程,期间可能会提示缺少某些特定版本的Python模块或其他资源,按照指示逐一解决即可继续前进。 ```bash cd ~/catkin_ws/ catkin_make source devel/setup.bash ``` #### 启动实际硬件支持节点 当一切准备就绪之后就可以尝试启动针对物理设备优化过的launch脚本了。这里假设读者已经在Polyscope界面完成了基本设置(例如启用TCP/IP通信接口),并且知晓目标机器人的IP地址。 ```bash roslaunch ur_robot_driver ur5_bringup.launch robot_ip:=<robot-ip> ``` 上述命令中的 `<robot-ip>` 应替换为具体数值形式的目标主机名或IPv4地址[^1]。 #### 使用 MoveIt! 进行运动规划与控制 如果希望进一步利用高级功能比如路径规划,则推荐安装MoveIt框架并与现有环境相结合。完成前述步骤后再依照官方文档指引添加额外组件[^3]。 ```bash roslaunch ur5_moveit_config moveit_planning_execution.launch limited:=true ``` 此过程会加载预定义好的参数集以便更好地适配不同应用场景下的需求差异。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值