Difference between revisions of "Odometry Glitches"
From wikidb
(→Example Graph) |
(→Zero Wheel Speed Glitches) |
||
Line 17: | Line 17: | ||
= Zero Wheel Speed Glitches = | = 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 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. | ||
+ | |||
+ | python motors_go_full.py 0.2 0.4 |
Revision as of 13:39, 12 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 robot's angle on the xy plane makes a quadrant change. 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.
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 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.
python motors_go_full.py 0.2 0.4