1.本文验证环境为 Ubuntu 20.04.2 LTS amd64 ,ROS 2 Foxy Fitzroy 版本。
以下为 Foxy 安装后执行的核心验证命令及解读
第一行命令:
source /opt/ros/foxy/setup.bash
作用:加载 ROS 2 Foxy 的环境变量,让当前终端能识别所有 ROS 2 命令(比如 ros2、colcon 等)。
关键说明:
这是 ROS 2 开发的基础操作,每新开一个终端都必须执行一次(否则会提示 command not found)。
你可以把这条命令写到 ~/.bashrc 文件里,实现开机自动加载,一劳永逸。
执行结果:命令无输出,代表执行成功。
2. 第二行命令:
echo $ROS_DISTRO
作用:打印当前生效的 ROS 2 发行版(Distribution)名称,是验证环境是否正确加载的黄金标准。
执行结果:终端输出 foxy
✅ 完全正常:说明 ROS 2 Foxy 的环境变量已经成功加载,系统能正确识别当前使用的 ROS 2 版本。
如果输出为空 / 其他版本,说明 source 命令执行失败,或环境配置有误。
- ROS2 安装成功验证
执行的命令:ros2,这是 ROS 2(机器人操作系统 2)的核心命令行工具。
输出信息逐段解读
(1)开头说明
usage: ros2 [-h] Call `ros2 -h` for more detailed usage. ... ros2 is an extensible command-line tool for ROS 2.
含义:ros2 是 ROS 2 的可扩展命令行工具,基础用法是 ros2 [-h],如果需要某个子命令的详细用法,用 ros2 <子命令> -h 查看
-h/--help:就是我们这次执行的效果,用来打印帮助信息
(2)可选参数
optional arguments: -h, --help show this help message and exit
唯一的全局可选参数就是 -h/--help,作用就是显示当前这份帮助信息并退出
(3)核心子命令列表(Commands)
子命令 | 功能说明 | 常用场景 |
action | 动作相关子命令 | 机器人关节控制等需要反馈的长时任务 |
bag | rosbag 相关子命令 | 录制 / 回放传感器数据、话题数据 |
component | 组件相关子命令 | 组件化节点管理 |
daemon | 守护进程相关子命令 | 管理 ROS 2 后台守护进程 |
doctor | 检查 ROS 2 安装和潜在问题 | 排查环境配置错误、依赖问题 |
interface | 显示 ROS 2 接口信息 | 查看消息、服务、动作的定义 |
launch | 运行启动文件 | 一次性启动多个节点(比如仿真 + 控制) |
lifecycle | 生命周期相关子命令 | 管理带生命周期的节点(如传感器驱动) |
multicast | 组播相关子命令 | 网络通信配置、多机通信排查 |
node | 节点相关子命令 | 查看运行中的节点、节点信息 |
param | 参数相关子命令 | 动态修改节点参数 |
pkg | 包相关子命令 | 查找包路径、检查包信息 |
run | 运行包内的可执行文件 | 启动单个节点(比如 ros2 run turtlesim turtlesim_node) |
security | 安全相关子命令 | ROS 2 安全加密、权限配置 |
service | 服务相关子命令 | 调用服务、查看服务列表 |
topic | 话题相关子命令 | 发布 / 订阅话题、查看话题数据(比如激光雷达数据) |
wtf | doctor 的别名 | 快速排查问题(玩梗式命名,方便记忆) |
(4)结尾提示
Call `ros2 -h` for more detailed usage.
再次提示:如果需要某个子命令的详细用法,用 ros2 <子命令> -h 查看,比如 ros2 topic -h 就能看到话题相关的所有操作
关键结论
✅ 这个输出说明:你的 ROS 2 环境已经成功安装并配置完成
执行 ros2 能正常弹出帮助信息,证明:
1. ROS 2 核心包已正确安装
2. 环境变量(setup.bash)已正确 source,系统能找到 ros2 命令
3. 基础依赖无缺失,工具可以正常工作