天天看點

rviz閃退問題: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252一、問題描述二、解決方法三、自己遇到的情況是這樣的:

一、問題描述

使用 rviz 訂閱某個話題的時候,rviz 終端出現以下報錯:

rviz: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252: void Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const Ogre::Vector3&): Assertion `(min.x <= max.x && min.y <= max.y && min.z <= max.z) && "The minimum corner of the box must be less than or equal to maximum corner"' failed.
Aborted
           
rviz閃退問題: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252一、問題描述二、解決方法三、自己遇到的情況是這樣的:

二、解決方法

經過分析測試,發現這個問題的主要原因就是因為目前要 訂 閱 的 話 題 數 據 中 有 不 正 确 的 數 據 或 者 配 置 信 息 . \color{#FF0000}{訂閱的話題資料中有不正确的資料或者配置資訊.} 訂閱的話題資料中有不正确的資料或者配置資訊.

是以需要修改話題的釋出,使話題能夠釋出正确的資料。

三、自己遇到的情況是這樣的:

自己使用 rviz 訂閱某一個 odom 話題的時候,直接導緻 rviz 閃退,并且報上面的錯誤。但是此時 rviz 訂閱其他話題都能正常顯示。是以猜測是 該 odom 話題有問題。

通過 rostopic echo 發現:

使 rviz 報錯閃退的話題中的

odom_msg.pose.covariance

中有幾個非常大的資料。是這幾個非常大的資料導緻的。

是以重新修改掉這幾個非常大的協方差資料,就可以在 rviz 中正常顯示了。

修改前的 odom 資料(這個話題資料 會導緻 rviz 閃退):

---
header: 
  seq: 5682
  stamp: 
    secs: 1264198839
    nsecs: 200013000
  frame_id: "odom"
child_frame_id: ''
pose: 
  pose: 
    position: 
      x: 5.10070188766
      y: -0.0767400033807
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: -0.351045426132
      w: 0.936358429658
  covariance: [4e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00028900000000000003]
twist: 
  twist: 
    linear: 
      x: 0.480280011892
      y: 0.0031543020159
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: -0.141017943621
  covariance: [4e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00028900000000000003]
---
           

修改後的 odom 資料(這個話題資料 可以在 rviz 中正常顯示):

---
header: 
  seq: 109
  stamp: 
    secs: 1264198823
    nsecs: 591010000
  frame_id: "odom"
child_frame_id: ''
pose: 
  pose: 
    position: 
      x: -0.00228483468371
      y: 0.000182211201756
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: -0.00160702870368
      w: 0.999998708729
  covariance: [4e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00028900000000000003]
twist: 
  twist: 
    linear: 
      x: 0.0
      y: -0.0
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 0.0
  covariance: [4e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4e-06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00028900000000000003]
---
           

剛開始自己以為是話題的

child_frame_id

為空導緻的,但是測試之發現,

child_frame_id

為空并不影響 rviz 的顯示。是以按照上面分析的進行修改之後就可以正常顯示話題資料了。