Ubuntu20.04+ROS Foxy环境下Gazebo 11.14 SDF警告问题求解
Gazebo 11.14 SDF版本属性警告修复及降级方案
警告原因
Gazebo 11.14强化了SDF格式校验,<sdf>标签带version属性不符合规范,因此触发警告。旧版本11.11对该格式错误容忍度高,故未出现此问题。SDF规范中,版本信息应通过<model>或<world>等子元素的sdf_version属性声明,而非<sdf>标签本身。
警告修复步骤
- 定位触发警告的SDF文件(自定义模型/世界文件、ROS包引用文件均可)
- 打开文件,找到开头的
<sdf>标签,移除其中的version属性:
原错误写法:
修改后:<sdf version="1.6"> <model name="my_model"> ... </model> </sdf>
若是世界文件,将<sdf> <model name="my_model" sdf_version="1.6"> ... </model> </sdf>sdf_version加至<world>标签:<sdf> <world name="my_world" sdf_version="1.6"> ... </world> </sdf>
Gazebo降级至11.11操作
若坚持降级,执行以下命令:
- 卸载当前版本:
sudo apt remove --purge gazebo11 libgazebo11 libgazebo11-dev sudo apt autoremove --purge - 指定版本安装:
sudo apt install gazebo11=11.11.0-1* libgazebo11=11.11.0-1* libgazebo11-dev=11.11.0-1* - 锁定版本避免自动更新:
注:若提示找不到对应版本,需检查APT源是否包含旧版本包,可添加Gazebo官方源后重试。sudo apt-mark hold gazebo11 libgazebo11 libgazebo11-dev
内容的提问来源于stack exchange,提问作者Berre Sena KIRAÇ
相关产品推荐
相关产品推荐

