ROS2中gazebo无法打开URDF
-
在ROS2中打开URDF文件出现以下报错:[ERROR] [launch]: Caught exception in launch (see debug for traceback): [Errno 2] No such file or directory: '/opt/ros/humble/share/gazebo_ros/launch/empty_world.launch.py'
重新安装一遍gazebo_ROS软件包还是没有解决
终端中可以启动#ROS2#gazebo -
@wang_007 可以试试以下方法
1、更新launch命令如果Gazebo可正常启动,问题可能是使用了旧的launch文件路径。可以用新路径试一下:
# 旧命令(失败的): # ros2 launch gazebo_ros empty_world.launch.py # 这个文件不存在 # 新命令(正确的): ros2 launch gazebo_ros gazebo.launch.py- 修改URDF加载方式
如果你的launch文件中包含对empty_world.launch.py的引用,可以更新一把:
# 旧的引用方式 from launch.actions import IncludeLaunchDescription from launch.launch_description_sources import PythonLaunchDescriptionSource # 新的引用方式 gazebo = IncludeLaunchDescription( PythonLaunchDescriptionSource([ get_package_share_directory('gazebo_ros'), '/launch/gazebo.launch.py' ]) )- 检查launch文件中的引用
查找launch文件中对Gazebo的引用,将其从:
# 错误的引用 launch_py = os.path.join(get_package_share_directory('gazebo_ros'), 'launch', 'empty_world.launch.py')更改为:
# 正确的引用 launch_py = os.path.join(get_package_share_directory('gazebo_ros'), 'launch', 'gazebo.launch.py')