VMware17.5 + Ubuntu22.04安装ROS2

本文详细记录了作者在Ubuntu22.04的VMware17.5中安装ROS遇到的问题及解决过程,包括设置环境、添加镜像源、添加ROS源、处理依赖冲突及配置环境变量,为遇到类似问题的读者提供参考。
摘要由CSDN通过智能技术生成

背景:

最近想要学习ROS,所以在自己电脑上安装了虚拟机,我所安装的VMware版本是17.5,Ubuntu版本是22.04,在虚拟机中安装ROS的过程中遇到了比较大的麻烦,花费了将近两天的时间才弄好,所以想着将自己安装的过程记录下来,一方面可以加深自己的印象,另一方面,可以为遇到相似问题的你提供一些思路!


安装流程

1、设置环境

ctrl + alt + t 打开终端,依次输入下列命令:

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

运行结果如下图:
设置环境运行图

2、添加镜像源

在终端中输入下列命令:

sudo apt install software-properties-common
sudo add-apt-repository universe

之后可以运行下面命令检查是否安装成功:

apt-cache policy | grep universe

运行结果如下图:
添加镜像源运行结果图

3、添加ROS源

在终端中输入下列命令:

sudo apt update && sudo apt install curl gnupg lsb-release

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg 
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

运行结果如下图:
报错连接已被重设图
运行会报错说:curl: (35) OpenSSL SSL_connect: 连接被对方重设 in connection to sh.rustup.rs:443
解决方案是安装git 在终端中输入下面命令:

sudo apt -get install git

之后会问你说:这些包将会被安装,是否继续,输入y 即可
运行结果如下图:
安装git运行结果图
git 安装成功后,再次执行安装ROS源指令

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg 
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

ROS源就安装成功啦!运行结果如下图:
安装ROS源成功结果图
至此,准备工作已经全部完成,可以开始安装ROS系统啦!

4、安装ROS

在终端中执行下列命令:

sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop

这里需要注意,不同的Ubuntun版本所支持的ROS是不一样的,对应关系参考下图:
对应关系图
这里会报错说:E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系,如下图所示:
安装ROS报错图
解决方法是:单独安装有冲突的包,将他们的版本降低到不冲突的版本,需要用到aptitude ,先安装它,安装命令是:

sudo apt-get install aptitude

执行结果如下图:

安装aptitude
安装完成后就可以用sudo aptitude install xxx 代替 sudo apt-get install xxx,但是注意,一般aptitude安装时候第一次推荐给你的方案都是没有改变原有依赖关系的,所以第一次提示你输入 y还是 n的时候,需要你输入 n,第二次才会给你具体处理依赖的方法,如降级等,这时候可以输入 y,之后会列出需要安装的软件包,你可以选择 y,然后依次安装冲突的包,我这里主要安装冲突的5个包(上面报错时会提示那些包有冲突)。
首先安装 libgbm-dev,安装命令是:

sudo aptitude install libgbm-dev

运行结果如下图:
安装libgbm-dev
下面安装 libicu-dev,安装命令是:

sudo aptitude install libicu-dev

运行结果如下图:
安装libicu-dev
之后安装libmount-dev,安装命令是:

sudo aptitude install libmount-dev

运行结果:
安装libmount-dev
接下来安装libudev-dev,安装命令是:

sudo aptitude install libudev-dev

运行结果:
安装libudev-dev
最后安装libxft-dev,安装命令:

sudo aptitude install libxft-dev

运行结果:
安装libxft-dev
安装完毕之后,就可以再次安装ROS啦,在终端执行:

sudo apt install ros-hunble-desktop

不出意外的话,ROS就可以被成功安装啦,这个过程可能需要一段时间,具体需要多久跟你的网速有关系,(如果报错,可以尝试再执行一次这条命令)执行结果如下图:
安装ROS

在过程中,还会询问你下面这些安装包将会被安装,输入y即可,执行结果如下图:
继续安装图片

5、添加环境变量

安装到这一步,就快要成功了!下面我们需要添加环境变量(类似于Windows系统的环境变量)。在终端中输入下面命令:

source /opt/ros/humble/setup.bash echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc

执行结果如下图:
添加环境变量

6、检查是否安装成功

在终端中输入下面命令:

ros2 run turtlesim turtlesim_node

就可以看到心心念念的小海龟了。如下图:
小海龟
之后,ctrl + alt + t 打开一个新的终端,这时就可以用键盘上的上下左右键控制小海龟的移动啦!
控制小海龟动起来


总结:

以上是我再安装过程中所遇到的问题,如果有描述错误或者不准确的地方,还请各位及时指出!


参考

ROS官方教程:https://wiki.ros.org/cn/ROS/Tutorials

  • 22
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值