Skip to the content.

🔗 Navigation


Areas for Improvement

Despite strong preparation and a robust system design, our final run encountered a critical failure that impacted performance. The main issue stemmed from an unsynchronized clock, which resulted in odom frame drops that severely affected the robot’s ability to localize and navigate accurately.

1. Clock Synchronization Issues

Although the system was synced to Google’s NTP servers, odometry frames were still intermittently dropped during runtime. This suggests that the synchronization may not have been tight enough to ensure real-time performance, particularly under load.

2. Performance Impact from Screen Recording

One hypothesis is that screen recording during the final run, which was not extensively tested prior, may have introduced additional system load. This could have skewed the OS clock on the laptop, causing inconsistencies in timestamp generation for ROS2 messages.

3. Hardware-Level Uncertainty on OpenCR Board

There is also a possibility that hardware limitations or malfunctions on the OpenCR board affected the stability and consistency of the odometry data. This includes erratic publishing rates or internal delays.


Alternative Strategy

Our current approach involved fully scanning the maze for potential heat sources, clustering the most probable detections using K-Means, and returning to those points for a final launch. While this provides high confidence in the target’s location, it is also time-consuming and potentially inefficient, especially in scenarios where rapid response is crucial.

A more reactive and opportunistic strategy could be adopted: instead of completing a full scan, the robot could immediately navigate toward the first significant heat detection and launch upon reaching a high-certainty threshold. This could reduce traversal time and decrease time and increase the possibility of finding any heat source if there were to be a catastrophic system failure similar to our last run.


Home