Open i-am-logger opened 1 year ago
Specify the format of the timestamps to ensure compatibility with ROS2 and downstream analysis tools.
Consider any potential clock synchronization requirements to ensure consistent timestamps across different components of the system.
The inclusion of ROS2 timestamps in both memory and disk recordings of the enhanced recorder will provide critical temporal context for the captured data. This feature is essential for conducting accurate time-window analysis and real-time scientific investigations within the Sky360 system. By meeting this requirement, the recorder will greatly enhance the system's capabilities for advanced data analysis and insight generation.
For the Aloha versions of the Sky360 system, a pivotal focus lies on capturing and analyzing two key types of information: the raw data from the all sky camera and the parameters associated with the all sky camera itself. These topics hold critical significance as they form the foundation for understanding system behavior, enabling in-depth analysis of events, and facilitating real-time insights. The raw data offers a direct glimpse into the environment, while the camera parameters provide crucial context to interpret the captured data accurately.
Background:
In the context of the Sky360 system, there is a need for an enhanced ROS2 node recorder that enables the capturing of topic data in memory using a ring buffer. This recorder should be capable of initiating recording with start/stop commands and have the ability to dump the ring buffer to disk when instructed to do so. Additionally, the recorder should continue recording to disk after the dump until a stop command is received, at which point it should continue recording for a specified duration. The objective is to ensure that relevant information leading up to a system detection event is available in cache, even before the system processes the event.
Functional Requirements:
Ring Buffer Implementation
Develop a ROS2 node recorder with an integrated ring buffer that can efficiently store topic data in memory. The size of the ring buffer should be configurable to accommodate various use cases.
Start/Stop Commands
Implement functionality to initiate and terminate recording using start and stop commands, respectively. These commands should be intuitive and easy to trigger.
Dump to Disk
Provide the ability to dump the contents of the ring buffer to disk upon receiving a designated command. This step ensures that critical data is preserved even in the event of an unexpected system shutdown.
Continuous Recording
When the stop command is received, the recorder should continue capturing data for a specified duration before completely halting. This feature ensures that post-event data is also available for analysis.
Cached Event Capture
The recorder should be designed to capture data leading up to a system detection event, ensuring that the information preceding the event is available in memory, providing a valuable cache for later analysis.
Non-Functional Requirements
Efficiency
The recorder should be optimized for memory usage and performance to prevent any impact on the overall system's operation.
Configurability
Design the recorder with configurable parameters to allow users to adapt it to their specific requirements.
Reliability
The recorder should be resilient to system failures and able to handle different scenarios, such as sudden shutdowns.
Additional Considerations
Error Handling
Implement robust error handling mechanisms to gracefully manage any unexpected situations.
Documentation
Provide comprehensive documentation that explains how to configure, initiate, and control the recorder, as well as how to interpret the recorded data.
Testing
Develop a suite of tests to ensure the recorder's functionality, including different start/stop scenarios and cache capture effectiveness.
Expected Outcome
The implementation of this enhanced ROS2 node recorder will contribute significantly to the Sky360 system's efficiency by providing a reliable mechanism for capturing critical data in memory and on disk. This feature will empower the system to have access to relevant information preceding a detection event, allowing for more insightful analysis and decision-making.