Difference between revisions of "Odometry Glitches"

From wikidb
Jump to: navigation, search
(Example Graph)
(Zero Wheel Speed Glitches)
Line 22: Line 22:
 
   python motors_go_full.py 0.2 0.0
 
   python motors_go_full.py 0.2 0.0
  
A second Twist command makes this clear. The angular z component is now set to 0.4 rad/sec making the robot's angular position cross quadrant boundaries more often.
+
A second Twist command adds confusion. The angular z component is now set to 0.4 rad/sec making the robot's angular position cross quadrant boundaries more often. There are not zero velocity glitches.
  
 
   python motors_go_full.py 0.2 0.4
 
   python motors_go_full.py 0.2 0.4
  
 
[[Image:rotate_odom_glitch2.png|800px]]
 
[[Image:rotate_odom_glitch2.png|800px]]

Revision as of 12:54, 13 October 2017

Background and Set Up

These odometry glitches were discovered during motor control PID tuning. See

Example Graph

These measurements are under load.

Observations

  • Notice the odometry glitches that report a 0 m/sec wheel speed. This issue appears to be an odometry node bug when the angular velocity stays at 0 rad/sec. See below.
  • Notice the wheel speed short term oscillation. This issues appears to be an encoder node issue bug because of a lack of time precision. See below.

Plot151520.png

Zero Wheel Speed Glitches

The motor Twist messages are generated with the following command which specifies a 0.2 m/sec linear x and 0.0 rad/sec angular z. As result, the robot cross the 0/360 degree boundary multiple times. Each time a bug result in reporting a 0 speed to odometry.

 python motors_go_full.py 0.2 0.0

A second Twist command adds confusion. The angular z component is now set to 0.4 rad/sec making the robot's angular position cross quadrant boundaries more often. There are not zero velocity glitches.

 python motors_go_full.py 0.2 0.4

Rotate odom glitch2.png