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

0 前言

(2021.08)最近又有新活了。。要用ROS框架开发UR5机器人,这里综合万能的CSDN大佬们的帖子持续记录一下我的开发和学习历程,供大家也供自己日后参考。
(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系统

作为电脑小辣鸡的我实在是配置双系统无能,还是乖乖装虚拟机。。这一步在CSDN上随手一搜就能搜到很多教程,我用的是这篇: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://githu
  • 19
    点赞
  • 153
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值