ROS开发专栏---ROS2humble安装详细教程---适配Ubuntu 22.04

🎬 渡水无言个人主页渡水无言

专栏传送门 : 《linux专栏》《嵌入式linux驱动开发》《linux系统移植专栏》

专栏传送门 : 《freertos专栏》 《STM32 HAL库专栏》《linux裸机开发专栏

专栏传送门《产品测评专栏》 《Ai智能体专栏) 《ROS开发专栏

⭐️流水不争先,争的是滔滔不绝

📚博主简介:第二十届中国研究生电子设计竞赛全国二等奖 |国家奖学金 | 省级三好学生

| 省级优秀毕业生获得者 | csdn新星杯TOP18 | 半导纵横专栏博主 | 211在读研究生

在这里主要分享自己学习的linux嵌入式领域知识;有分享错误或者不足的地方欢迎大佬指导,也欢迎各位大佬互相三连

目录

前言

一、前置条件

二、添加ROS2存储库

2.1、安装依赖工具

[2.2、添加 GPG 密钥](#2.2、添加 GPG 密钥)

[2.3、添加 ROS 2 软件源](#2.3、添加 ROS 2 软件源)

[三、安装 ROS 2](#三、安装 ROS 2)

[3.1、 更新缓存](#3.1、 更新缓存)

[3.2、 更新系统](#3.2、 更新系统)

[3.3、安装 ROS 2 humble](#3.3、安装 ROS 2 humble)

3.4、查找ros2所在地

四、安装开发工具

五、配置环境

[六、rosdep 初始化](#六、rosdep 初始化)

七、测试

总结


前言

本期博客详解的是Ubuntu 22.04 + ROS 2 Humble 的安装教程。


一、前置条件

电脑上已经安装了Ubuntu 22.04。同时要 确保系统语言环境支持UTF-8。

二、添加ROS2存储库

这一步是把 ROS 2 的官方源加入系统,方便后续安装。

2.1、安装依赖工具

cpp 复制代码
sudo apt install software-properties-common
sudo add-apt-repository universe

2.2、添加 GPG 密钥

cpp 复制代码
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

如果报错:连接失败,一般就是网络问题,可以用国内镜像来代替

cpp 复制代码
sudo curl -sSL https://mirrors.tuna.tsinghua.edu.cn/ros2/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

2.3、添加 ROS 2 软件源

cpp 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

三、安装 ROS 2

3.1、 更新缓存

cpp 复制代码
sudo apt upgrade

3.2、 更新系统

cpp 复制代码
sudo apt upgrade

3.3、安装 ROS 2 humble

cpp 复制代码
桌面版(推荐,带 RViz、工具、示例、可视化)
sudo apt install ros-humble-desktop
基础版(无 GUI,仅核心库)
sudo apt install ros-humble-ros-base

安装好之后,可以测试一下ros2是否安装成功

1、先确认环境变量生效

cpp 复制代码
echo $ROS_DISTRO

输出humble如上图所示,说明环境变量配置成功。

2、运行 ROS 2 自带的发布 / 订阅示例

终端 1(发布者)

cpp 复制代码
ros2 run demo_nodes_cpp talker

终端 2(订阅者)

cpp 复制代码
ros2 run demo_nodes_cpp listener

如果两个终端能正常收发消息,就说明ROS 2 Humble 已经安装成功,如下图所示:

3.4、查找ros2所在地

使用如下命令:

cpp 复制代码
whereis ros2

四、安装开发工具

用于编译 ROS 2 包、调试、开发:

cpp 复制代码
sudo apt install ros-dev-tools

五、配置环境

让 ROS 2 每次打开终端都自动生效:

cpp 复制代码
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

六、rosdep 初始化

rosdep 是 ROS 的依赖管理工具,能帮你自动安装所有 ROS 包的依赖,避免手动安装的麻烦。

cpp 复制代码
sudo apt update
sudo apt install python3-rosdep2
sudo rosdep init

注意:这里初始化大概率失败,基本就是网络问题。

解决方案(推荐):使用小鱼ROS一键安装

下载脚本并执行脚本 (因为每次执行这个脚本后,都会自动删除脚本,所以需要重新执行)

cpp 复制代码
wget http://fishros.com/install -O fishros && . fishros

如下图所示:

这里我们选择 3 配置rosdep

安装好后显示如下所示:

在终端输入 rosdepc update 进行配置,显示如下图表示配置成功:

注意:使用小鱼ROS一键安装rosdep,在后续使用时请将rosdep替换为rosdepc使用。

再进行初始化

cpp 复制代码
rosdepc init

就欧克了。

七、测试

7.1、小海龟测试

现在我们可以运行测试一下小海龟了!(相当于hello world 的地位)

cpp 复制代码
ros2 run turtlesim turtlesim_node

ros2 run:ROS 2 启动节点的通用命令。

turtlesim:包名(ROS 2 自带的示例包)。

turtlesim_node:节点名,运行后会弹出一个小海龟窗口。

打开第二个终端,运行键盘控制节点,就能控制小海龟移动:

cpp 复制代码
ros2 run turtlesim turtle_teleop_key

运行后,在这个终端里按方向键,就能控制海龟移动、画轨迹了,如下图所示:

7.2、RQT可视化

保持前面两个游戏在运行状态,打开第三个终端,输入rqt。

复制代码
rqt

打开之后的窗口如下图

此时我们选择插件:Introspection / Node Graph,如下图所示:

打开后就可以看到上面几个节点之间的数据关系。


总结

此篇博客完成了ROS2humble的安装。

相关推荐
Languorous.1 小时前
Linux 系统安装 MySQL(CentOS8/Ubuntu),命令行实操完整版
linux·mysql·ubuntu
qq_5425154112 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
大明者省14 小时前
宝塔开了端口,Ubuntu 还得开相应端口才能打通
服务器·数据库·ubuntu
恋奴娇18 小时前
ubuntu 25 突破pipewire 不能以root帐号运行 系统没有声音输入输出设备
linux·运维·ubuntu
aerror19 小时前
如何使用ubuntu搭建一个无盘PC启动服务器
linux·服务器·ubuntu
恋奴娇20 小时前
ubuntu 25 gnome-screenshot 录屏启动失败 原因pipewire服务未启动
linux·运维·ubuntu
susu108301891121 小时前
windows系统的WSL的Ubuntu安装docker
linux·ubuntu·docker
a413244721 小时前
ubuntu25 安装ORG flow
ubuntu
小小ken21 小时前
vmware workstation虚拟机中点击鼠标时无法自动释放现象
ubuntu·vmware·虚拟机