一、問題描述
使用 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
二、解決方法
經過分析測試,發現這個問題的主要原因就是因為目前要 訂 閱 的 話 題 數 據 中 有 不 正 确 的 數 據 或 者 配 置 信 息 . \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 的顯示。是以按照上面分析的進行修改之後就可以正常顯示話題資料了。