我的linux系统选用的是windows的子系统wsl,具体的方法是在https://blog.csdn.net/qq_42944545/article/details/159929590对于ROS的安装选择鱼香roshttps://blog.csdn.net/m0_58954356/article/details/155495898里面的步骤要稍微修改一下就是到测试ros安装那一步不参考它的使用下面的方法1测试 ROS 是否成功安装如果是ros2版本 就不使用roscore去测试用ros2去测试看到下面的就是代表安装成功了在终端输入以下命令检查 ROS2 环境变量是否生效echo $ROS_DISTRO✅ 正确的测试步骤打开两个 WSL 终端终端 1订阅运行ros2 topic echo /chatter此时会显示 topic does not appear to be published yet这是正常的它正在等待消息。终端 2发布这里要注意引号和 ! 的转义用下面任意一条命令即可运行用双引号包裹避免 ! 被解析ros2 topic pub /chatter std_msgs/String “data: ‘Hello ROS2’”运行后终端 1 就会收到消息说明 ROS2 通信功能正常了。1.节点节点就是 ROS 2 里一个个独立运行的小程序 / 功能模块就是机器人部件对应的软件程序把整个机器人系统比作一间分工明确的工作室每个节点 一个专职工作人员只干自己分内事比如读取摄像头、控制电机、处理雷达数据、播报语音每一项单独做成一个节点核心特点各司其职一个节点只负责一件事比如「雷达节点」只管读雷达数据不掺和运动控制。拆分后代码简单、出问题也好排查。互相传话通信节点之间不靠直接调用代码交流而是通过话题收发数据。例雷达节点把距离数据发出去导航节点接收数据两者不用知道对方细节。独立运行每个节点都是单独进程可以单独启动、停止、重启一个节点崩了基本不影响其他节点。举个实例小车场景节点 1摄像头节点 → 采集画面节点 2图像识别节点 → 识别障碍物节点 3运动控制节点 → 接收指令、控制车轮三个节点各自跑配合起来完成小车避障这就是 ROS 2 最基础的工作模式。