Gazebo核心错误,闪退 Aborted (core dumped)

自己组合了arm和base的urdf后,准备导入model,启动gazebo做仿真,没想到一打开就闪退,但是rviz可以启动,弄了几个小时,网上也没有对应的解决办法,一个个可能的出错点排查。总结一下
报错如下:

log file: /home/will/.ros/log/56999eac-ad93-11eb-8ada-b8ca3a8092a4/urdf_spawner-4*.log
gzclient: /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.
Aborted (core dumped)
[gazebo_gui-3] process has died [pid 29946, exit code 134, cmd /opt/ros/melodic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/will/.ros/log/56999eac-ad93-11eb-8ada-b8ca3a8092a4/gazebo_gui-3.log].
log file: /home/will/.ros/log/56999eac-ad93-11eb-8ada-b8ca3a8092a4/gazebo_gui-3*.log

在这里插入图片描述

一顿排查,检查了各个controller和配置,最后发现问题在urdf文件中,

  <joint name="UV_joint" type="fixed">
    <origin
      xyz="0 0 0.189"
      rpy="0 0 0" />
      <parent link="third_Link"/>
    <child link="UV_BASE"/>
  </joint>
  <link name="UV">
    <visual>
      <geometry>
        <box size="0.0 0.0 0.0 "/>    <!-- 问题出在这里 -->
      </geometry>
      <material
        name="">
        <color
          rgba="0.89804 0.91765 0.92941 1" />
      </material>
    </visual>
  </link>
  <joint name="UV_joint2" type="fixed">
    <origin
      xyz="0 0 0.074"
      rpy="0 0 0" />
      <parent link="UV_BASE"/>
    <child link="UV"/>
  </joint>

问题出在上面我在机械臂的end-effector出建了一个长宽高都为0的物体,这在仿真环境中是不存在的,这也是为什么gazebo报错,而Rviz没报错的原因,gazebo是物理仿真环境,不能存在这种体积为0的物体,而Rviz是数据可视化工具,它不存在物理世界中的特性,因为只需要把这部分去掉,就能正常打开model了。


总的来说,这个问题没有一个固定的解决方法,我看别人报同样的错误 ,但错误的原因跟我的完全不同,有的可能是因为点云发布的类型或数量不对,造成的闪退,我这里就是URDF有问题,这里仅提供一些思路,希望对遇到同样报错的人有帮助。
感谢分享error和debug的所有人,分享使我们更加强大!

Reference

  1. ROS 段错误、核心转储、rviz闪退问题解决:
    https://blog.csdn.net/Electrical_IT/article/details/108243193
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值