解决RTPS_TRANSPORT_SHM Error

解决以下报错

bash 复制代码
[spawn_entity.py-2] 2026-06-13 14:06:23.338 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7419: open_and_lock_file failed -> Function open_port_internal
[spawn_entity.py-2] 2026-06-13 14:06:23.338 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7423: open_and_lock_file failed -> Function open_port_internal
[spawn_entity.py-2] 2026-06-13 14:06:23.338 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7425: open_and_lock_file failed -> Function open_port_internal
[spawn_entity.py-2] 2026-06-13 14:06:23.338 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7427: open_and_lock_file failed -> Function open_port_internal
[spawn_entity.py-2] 2026-06-13 14:06:23.339 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7431: open_and_lock_file failed -> Function open_port_internal

这是 ROS 2 FastDDS(FastRTPS)共享内存(SHM)端口冲突/残留 的典型报错,不是 Gazebo 本身的错,是 ROS 2 底层通信层的问题。

一、报错含义

复制代码
Failed init_port fastrtps_port7419: open_and_lock_file failed
  • FastDDS 想用 共享内存文件 /dev/shm/fastrtps_portXXXX 做进程间通信。
  • 但这个文件已经存在、被锁、或权限不够,导致新节点抢不到,直接报错。
  • 常见于:之前没正常退出、多次启动/关闭、Gazebo+ROS2 反复启停

二、最快解决(直接复制执行)

1)杀干净所有残留 ROS2/Gazebo 进程
bash 复制代码
pkill -9 gazebo gzserver gzclient ros2 rclcpp
pkill -9 fastrtps
2)删除所有残留共享内存文件(关键)
bash 复制代码
rm -f /dev/shm/*fastrtps*

三、根本原因(简单说)

  1. 残留文件没清:上次关仿真时没正常退出,/dev/shm 里留下 fastrtps_port 文件,新进程打不开。
  2. 权限不够:当前用户对 /dev/shm 没有读写权限。
  3. Domain ID 冲突:同一机器多个 ROS2 实例用同一个 ID(默认0),互相抢端口。
  4. FastDDS 版本 bug:特定版本(如 Humble 默认)SHM 稳定性差。

相关推荐
海阔天空任鸟飞~6 小时前
rclpy
ros2
微小冷6 小时前
ROS2 URDF机器人建模初步教程
机器人·ros2·urdf·机器人建模
zh路西法5 天前
【玩转VLA具身智能机械臂】(三):视觉避障——从 RGB-D 点云到 MoveIt octomap 的完整落地
c++·ros2·gazebo·moveit2·ompl·octomap
YQ_015 天前
ROS 2 Humble Nav2 生命周期教程:启动流程、状态监控、超时诊断与自愈设计
linux·机器人·ros2·nav2
路弥行至5 天前
ROS2 通信避坑实录:从 topic/msg 底层原理到一次内存错位复盘
网络·经验分享·笔记·其他·内存·topic·ros2
zhangrelay17 天前
ROS 2 Lyrical 第9章 计算机视觉与摄像头应用
linux·笔记·学习·ubuntu·机器人·ros2
blueSatchel20 天前
香橙派4PRO安装ROS2-jazzy
ros2·香橙派
别动我齐刘海21 天前
机器学习基础3——C++、OpenCV、点云、Open3D
c++·人工智能·opencv·目标检测·机器学习·机器人·ros2
zhangrelay22 天前
ROS 2 Lyrical 第4章 URDF机器人建模与Gazebo Garden仿真
linux·笔记·学习·ubuntu·机器人·ros2
别动我齐刘海23 天前
机器学习基础2——C++、OpenCV、点云、Open3D
c++·人工智能·opencv·机器学习·计算机视觉·机器人·ros2