gzserver: /build/ogre-1.9-B6QkmW/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreNode.cpp:630: virtual void Og

文章描述了在启动Gazebo环境时遇到的报错,该错误关联到OgreNode.cpp中的尺度设置。解决方案涉及检查和升级Gazebo版本从9.0到11.0,通过一系列的Ubuntu命令进行卸载、添加软件源、安装新版本及依赖。成功后,用户可以使用gazebo-version命令确认安装是否生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

启动gazebo环境的时候报错
在这里插入图片描述

gzserver: /build/ogre-1.9-B6QkmW/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreNode.cpp:630: virtual void Ogre::Node::setScale(const Ogre::Vector3&): Assertion `!inScale.isNaN() && “Invalid vector supplied as parameter”’ failed.

[gazebo_gui-3] process has died [pid 3813, exit code 134, cmd /opt/ros/melodic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/hlc/.ros/log/093c8b52-a5ed-11ed-891f-000c29590491/gazebo_gui-3.log].
log file: /home/hlc/.ros/log/093c8b52-a5ed-11ed-891f-000c29590491/gazebo_gui-3*.log

网上搜索了一圈说是gazebo的版本太低所致,比如我原先的版本是9.0,要升级到11.0才行。
可以通过命令行查看gazebo的版本号

gazebo -version

我的原先版本是9.0,需要卸载9.0重新装11.0才行。

解决方案

查看一下gazebo相关插件

dpkg -l | grep gazebo

接下来是是卸载命令

sudo apt-get remove gazebo9 gazebo9-common gazebo9-plugin-base libgazebo9:amd64 libgazebo9-dev:amd64 ros-melodic-gazebo-*

卸载完之后需要重新安装11的版本,安装之前请添加软件源确保可访问。

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'

可打印查看是否添加成功

cat /etc/apt/sources.list.d/gazebo-stable.list

然后设置密钥

wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

最后更新下源

sudo apt-get update

好了,接下来就可以正式安装gazebo11了。

sudo apt-get install gazebo11

继续安装依赖

sudo apt-get install libgazebo11-dev

装一下ros相关插件

sudo apt install ros-melodic-gazebo11-*

以上过程就装完了gazebo11。
可以通过 gazebo -version 来查看是否安装成功。
在这里插入图片描述
参考来源
解决Gazebo莫名其妙的问题——升级
gazebo打开仿真环境报错gzserver: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreRenderSystem

ubuntu@ubuntu:~/PX4_Firmware$ make px4_sitl_default gazebo [0/6] Performing configure step for 'sitl_gazebo' -- install-prefix: /usr/local -- Using C++17 compiler -- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.58") found components: system thread filesystem chrono date_time atomic CMake Warning (dev) at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message): The package name passed to `find_package_handle_standard_args` (PkgConfig) does not match the name of the calling package (gazebo). This can lead to problems in calling code that expects `find_package` result variables (e.g., `_FOUND`) to follow a certain pattern. Call Stack (most recent call first): /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args) /usr/lib/x86_64-linux-gnu/cmake/gazebo/gazebo-config.cmake:30 (include) CMakeLists.txt:32 (find_package) This warning is for project developers. Use -Wno-dev to suppress it. -- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.40.0") found components: thread system filesystem program_options regex iostreams date_time chrono atomic -- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.0.0") -- Found Boost: /usr/include (found version "1.65.1") -- Looking for OGRE... -- Found Ogre Ghadamon (1.9.0) -- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so -- Looking for OGRE_Paging... -- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so -- Looking for OGRE_Terrain... -- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so -- Looking for OGRE_Property... -- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so -- Look
最新发布
03-17
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值