ubuntu22.04 安装ROS2

1、ros官网getting start找到ros-humble进行安装。

#设定环境
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 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

3、安装ros-humble-desktop。

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

4、安装完后配置环境。

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

问题汇总:

1、前面配置环境和添加源的时候,我遇到的问题是:

仓库 “http://packages.ros.org/ros/ubuntu jammy Release” 没有 Release 文件

我是在软件更新器其他软件的位置将这个网址删除了,但其实这个问题主要还是源的问题,现在不做换源,之后sudo apt install ros-humble-desktop的时候还是会需要换源

2、在sudo apt install ros-humble-desktop时遇到了依赖项的问题,这个问题是22.04安装ros的通用问题,不过只在ros官方论坛里传播,也没有清晰的解决方案。

那么遇到这个问题后,我们需要的是手动换源,在root权限下运行

sudo vi /etc/apt/sources.list

删除所有内容,更换为以下内容

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

保存退出,然后打开软件更新器,可能会更新下载很多内容,按着流程来,都安装,如果遇到问题就在终端执行。交替执行,直到两者都没有新内容更新。如果这个过程中遇到软件更新器失去响应,影响不大,只要在终端执行无新内容即可。

sudo apt update
sudo apt upgrade

3、让后此时再重新执行ros安装流程,此时仍是到了sudo apt install ros-humble-desktop时,遇到了问题

ros-humble-ros-workspace : 冲突: libsystemd0 (<= 249.11-0ubuntu3) 但是 249.11-0ubuntu3 正要被安装

E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

此时是libsystemd0的版本问题,ros-humble的要求为0ubuntu3.1,我的系统为3,不行的,以下为官方论坛的解读,还是挺有用的。

 附上以上官方论坛这一问题的网址:

https://github.com/ros2/ros2/issues/1272

打开这个网页找到这个人的发言,点击其中lib……进入官方下载论坛,libs又叫链接库,在链接库下找到,按照提示进入,找到libsystemd0

 点击进入找到自己amd64的界面。

按照提示,复制粘贴到sources.list添加一行。

接下来为我的后续操作步骤,成功了但不知道原因,因为添加了又得删除o-o。

之后再进行

sudo apt update
sudo apt upgrade

提示会报错很大一串,此时只需要再进入sources.list将最后一行删除,也就是刚刚我们添加的那一行,再执行

sudo apt update
sudo apt upgrade

神奇的是,libsystemd0正在更新到0ubuntu3.4。

更新完毕之后,再执行前述ros安装流程,没有任何问题,完美安装。

最后运行下小乌龟(成功安装测试案例)

打开一个终端命令,输入如下内容:

ros2 run turtlesim turtlesim_node

输入后你会发现,屏幕上会出现一个海龟在蓝色背景中,同时打开另外一个终端,如数如下内容:

ros2 run turtlesim turtle_teleop_key

你就可以通过键盘上的方向键来控制小海龟了。
测试效果图如下图所示:

 成功,有什么问题可以一起探讨,现在中文搜索关于22.04安装ros2的还比较少,可以一起补充。总不能一遇到问题就退回安装18.04吧,22.04界面用起来那么香O-O。

  • 30
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值