ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

Rviz odometry is all yellow

asked 2018-02-12 20:01:21 -0500

Andrey gravatar image

updated 2018-02-12 22:14:55 -0500

jayess gravatar image

Hello guys! I have a problem in displaying odometry in Rviz. I use robot localization to fuse odometry from wheels and visual odometry from Kinect. When I turn on visualization in Rviza all screen seems to be yellow. And after several moves it totaly paints all with yellow colour.

image description

I disabled tf from wheel odometry and from visual odometry. Only robot_localization provides tf with odom. Here is my robot_localization launch.

<launch>
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_localization" clear_params="true">

  <remap from="odometry/filtered" to="odom" />

  <param name="frequency" value="30"/>  
  <param name="sensor_timeout" value="0.1"/>  

  <param name="two_d_mode" value="false"/>
  <param name="transform_time_offset" value="0.0"/>

  <param name="map_frame" value="map"/>
  <param name="odom_frame" value="odom"/>
  <param name="base_link_frame" value="base_link"/>
  <param name="world_frame" value="odom"/>

  <param name="odom0" value="odom_base"/>
   <param name="odom1" value="odom_visual"/>

  <rosparam param="odom0_config">[true, true, false,  
                                  false, false, true, 
                                  false, false, false,   
                                  false, false, true,
                                  false, false, false]</rosparam>

  <rosparam param="odom1_config">[false, false, false, 
                                  false, false, false, 
                                  true, true, false,   
                                  false, false, false,
                                  false, false, false]</rosparam>

  <param name="odom0_differential" value="false"/>
<param name="odom1_differential" value="false"/>

  <param name="odom0_relative" value="false"/>
<param name="odom1_relative" value="false"/> 

  <param name="use_odometry_yaw" value="false"/>-->

  <param name="debug"           value="false"/>
  <param name="debug_out_file"  value="debug_ukf_localization.txt"/>

  <param name="alpha" value="0.001"/> 
  <param name="kappa" value="0"/> 

  <param name="beta" value="2"/>

</node>

</launch>

And in addition odom that I get is very inaccurate. So what's problem? Why everything is yellow?

edit retag flag offensive close merge delete

Comments

1

Odometry arrows can be yellow, that is normal. Can you check whether the scaling is off? Try zooming out (mouse scrollwheel) very far. Perhaps the arrows are just really big, and the RViz view is rendered from inside the arrow.

gvdhoorn gravatar image gvdhoorn  ( 2018-02-13 02:14:17 -0500 )edit

Yes. I just zoomed out and saw what was not right. I removed check mark from "covariance" in odom display and it work ok. Thank you!

Andrey gravatar image Andrey  ( 2018-02-14 00:40:42 -0500 )edit
2

Disabling covariance rendering is not a solution. What you're seeing could indicate that your covariances are way too large. That would not just be a visualisation problem, but a problem in general.

I would suggest you try to figure out where those covariances are coming from.

gvdhoorn gravatar image gvdhoorn  ( 2018-02-14 02:08:33 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
4

answered 2018-02-19 06:56:05 -0500

Tom Moore gravatar image

A few things:

  1. I'm guessing the yellow in rviz is the massive covariance (probably rotational). If you uncheck the Covariance checkbox under your rviz Odometry display, it'll likely go away.
  2. Thanks for posting your launch file. However, I can't make any comment regarding "why is the filter doing XYZ?" unless I have sample input messages from all of your sensors.
  3. I note that you have a hanging XML comment tag next to use_odometry_yaw
  4. Do both of your odom input sources exist in the same coordinate frame? You are fusing both absolutely.
  5. You have two_d_mode set to false, but are fusing only 2D variables. This will make your covariance for Z, roll, and pitch (as well as their velocities) explode.
edit flag offensive delete link more

Comments

Thanks, Tom! How can I check if both of odoms exit in the same coordinate frames?

Andrey gravatar image Andrey  ( 2018-02-19 18:28:34 -0500 )edit

Visualize them both at the same time . If they are always pretty much in agreement, you're fine. If they start to diverge (e.g., the headings start to differ, or they move apart from each other), then you need make one of them differential.

Tom Moore gravatar image Tom Moore  ( 2018-02-26 07:27:14 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2018-02-12 20:01:21 -0500

Seen: 1,223 times

Last updated: Feb 19 '18