Current behavior: updates at 20 Hz. Tries to get input from both agents, if no update from agents do previous command again.
Proposed new behavior: updates at 100 Hz. Same synchronization and zero-order-hold scheme.
Why? by taking commands at 20 Hz and running physics at 100 Hz visualizations etc are being displayed at 1/5th of real time
If you miss a control input at 20 Hz performance suffers. Synchronization is artificial, this alleviates the aliasing problem.
Solution:
updated both the self.timer and self.drive_timer rate to 100Hz
added test script (test_timer.py) that runs three simple tests:
-- test_timer_fps using /tf or /odom topic
-- test_drive_timer_fps using /race_info topic
-- test_fps_dummy_agents, spin up a dummy agent and measure the update rate
Problem description:
Solution: