Ask Your Question

Revision history [back]

rviz's visualization of rotational elements of a co-variance matrix difficult to interpret

Hello,

I have a problem in how to interpret rviz's visualization of co-variance matrix in PoseWithCovariance.

Visualization of translational elements (row:0~2, column:0~2) of co-variance matrices seems quite fine (purple-ish elliptic ball).

However, rviz's visualization of rotational elements of co-variance matrices (row:3~5, column:3~5) appears weird to me.

I believe three yellowish elliptic plates correspond to the error magnitude of orientation frame axes (x axis, y axis and z axis) caused by rotational error.

If so,

  • yaw noise should cause errors in x axis to direction of y and y axis to direction of x : --> all ellipses appear good.
  • pitch noise ==> z axis to direction of x and x axis to direction of z : --> ellipse for z-axis seems weird.
  • roll noise ==> y axis to direction of z and z axis to direction of y : --> ellipse for y-axis seems weird.

I would be pleased if anyone knowledgeable in rviz give me some explanation on this phenomenon.

[ Co-variance Matrices ]

              | 0.25    0    0    0    0    0 |
  cov[3][3] = |    0 0.25    0    0    0    0 |
              |    0    0 0.25    0    0    0 |
              |    0    0    0 1.25    0    0 |      # variance of roll noise is larger
              |    0    0    0    0 0.25    0 |
              |    0    0    0    0    0 0.25 |

              | 0.25    0    0    0    0    0 |
  cov[4][4] = |    0 0.25    0    0    0    0 |
              |    0    0 0.25    0    0    0 |
              |    0    0    0 0.25    0    0 |
              |    0    0    0    0 1.25    0 |    # variance of pitch noise is larger
              |    0    0    0    0    0 0.25 |

              | 0.25    0    0    0    0    0 |
  cov[5][5] = |    0 0.25    0    0    0    0 |
              |    0    0 0.25    0    0    0 |
              |    0    0    0 0.25    0    0 |
              |    0    0    0    0 0.25    0 |
              |    0    0    0    0    0 1.25 |   # variance of yaw noise is larger

[ Visualization by rviz ]

rviz visualization of co-variance matrices 1 rviz visualization of co-variance matrices 2

[ System that I used ]

  • rviz: version 1.13.5
  • ROS: melodic
  • OS: Ubuntu 18.04.3 LTS
  • Hardware: Lenovo ThinkPad X250

Thanks.

rviz's visualization of rotational elements of a co-variance matrix difficult to interpret

Hello,

I have a problem in how to interpret rviz's visualization of co-variance matrix in PoseWithCovariance.

Visualization of translational elements (row:0~2, column:0~2) of co-variance matrices seems quite fine (purple-ish elliptic ball).

However, rviz's visualization of rotational elements of co-variance matrices (row:3~5, column:3~5) appears weird to me.

I believe three yellowish elliptic plates correspond to the error magnitude of orientation frame axes (x axis, y axis and z axis) caused by rotational error.

If so,

  • yaw noise should cause errors in x axis to direction of y and errors in y axis to direction of x : --> all ellipses attached to cov[5][5] appear good.
  • pitch noise ==> should cause errors in z axis to direction of x and errors in x axis to direction of z : --> ellipse for z-axis seems weird.weird (cov[4][4]).
  • roll noise ==> should cause errors in y axis to direction of z and errors in z axis to direction of y : --> ellipse for y-axis seems weird.weird (cov[3][3]).

I would be pleased if anyone knowledgeable in rviz give me some explanation on this phenomenon.

[ Co-variance Matrices ]

              | 0.25    0    0    0    0    0 |
  cov[3][3] = |    0 0.25    0    0    0    0 |
              |    0    0 0.25    0    0    0 |
              |    0    0    0 1.25    0    0 |   # variance of roll noise is larger
              |    0    0    0    0 0.25    0 |
              |    0    0    0    0    0 0.25 |

              | 0.25    0    0    0    0    0 |
  cov[4][4] = |    0 0.25    0    0    0    0 |
              |    0    0 0.25    0    0    0 |
              |    0    0    0 0.25    0    0 |
              |    0    0    0    0 1.25    0 |   # variance of pitch noise is larger
              |    0    0    0    0    0 0.25 |

              | 0.25    0    0    0    0    0 |
  cov[5][5] = |    0 0.25    0    0    0    0 |
              |    0    0 0.25    0    0    0 |
              |    0    0    0 0.25    0    0 |
              |    0    0    0    0 0.25    0 |
              |    0    0    0    0    0 1.25 |   # variance of yaw noise is larger

[ Visualization by rviz ]

rviz visualization of co-variance matrices 1 rviz visualization of co-variance matrices 2rviz visualization of co-variance matrices 1

rviz visualization of co-variance matrices 2

[ System that I used ]

  • rviz: version 1.13.5
  • ROS: melodic
  • OS: Ubuntu 18.04.3 LTS
  • Hardware: Lenovo ThinkPad X250

Thanks.