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

相关推荐
浅梦语111 天前
32-1 nav2_map_server实际作用与用法图解
ros2·nav2
指尖的爷1 天前
【地狱级难度】ubuntu系统GOCV编译安装
linux·运维·ubuntu
j7~1 天前
【C++微服务项目开发脚手架】(环境篇)虚拟机 + Docker + MySQL/Redis/RabbitMQ/ES/etcd/FastDFS 全套配齐
linux·c++·ubuntu·docker·vmware·项目开发·微服务脚手架
可涵不会debug1 天前
公司外怎么连接管家婆?从 SQL Server 安装到 cpolar 固定 TCP 远程登录
linux·运维·ubuntu
云泽8081 天前
从零搭建 WSL2 + Ubuntu C/C++ 开发环境:原理、实践与底层架构解析
linux·c++·windows·ubuntu·wsl2
我本善良ab2 天前
PVE使用GRUB如何复位ubuntu的管理员密码?
ubuntu·忘记密码
米糕闯编程2 天前
鱼香ros2(七)功能包组织C++节点
c++·ros2·cmakelists
ι:2 天前
NUC12 Pro 安装 Ubuntu 24.04 LTS 详细教程
linux·windows·ubuntu·nuc
虚无的纽扣2 天前
【Linux】一篇文章带你吃透进程控制:fork、wait、exit到底在做什么
linux·ubuntu
别动我齐刘海2 天前
ROS2 Jazzy + C++ 实战路线——基础学习1
c++·vscode·python·ubuntu·机器学习·自动驾驶·github