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的安装。

相关推荐
BestOrNothing_20152 小时前
ROS2 话题通信实战:消息对象、Publisher 发布器与 Subscriber 订阅器保姆级教程
c++·ros2·subscriber·publisher·话题通信
北山有鸟2 小时前
用开发板的.config替换ubuntu中内核源码目录的.config
linux·运维·ubuntu
wait a minutes6 小时前
Ubuntu 升级后 NVIDIA 驱动修复指南
linux·运维·ubuntu
量子物理学10 小时前
ubuntu安装docker
ubuntu·docker·eureka
MIXLLRED11 小时前
随笔——在 Ubuntu 22.04 中查看 Markdown (.md) 文件
linux·运维·ubuntu·markdown
面向对象World13 小时前
Z8350 Broadcom SDIO网卡调试Ubuntu 22.04 Server版
linux·运维·ubuntu
wait a minutes15 小时前
【Ubuntu】Ubuntu 20.04 升级到 24.04 完整指南
ubuntu
丑过三八线16 小时前
Umi 配置文件 .umirc.ts 详解
linux·运维·ubuntu·react.js
喵喵爱自由17 小时前
ubuntu离线扩展磁盘分区
linux·运维·ubuntu
风吹夏回1 天前
TypeScript 快速上手指南:从 JavaScript 到类型安全
javascript·ubuntu·typescript