Streaming Input Buffer for Deterministic Real-Time Robot Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing real-time software control systems for robotic systems struggle to handle streaming inputs that arrive at varying rates or non-deterministically, leading to potential fault states due to timing constraints.
Innovation Solution
A real-time robotics control framework with a buffering mechanism that supports custom real-time handling of streaming inputs by storing data elements in a streaming input buffer, allowing for prompt execution of actions even when the buffer is partially filled, and accommodating non-real-time trajectory generators and sensor-guided motions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the system waits for the entire sequence of control data to be computed before execution, then the completeness and accuracy of control commands is improved, but the response time and cycle time increase
Solution Approach 1:
The system pre-computes and stores a sequence of control data elements in a buffer before execution is needed. This allows the real-time control system to retrieve pre-computed data immediately when needed, rather than waiting for computation during the critical execution window, thus reducing cycle time while maintaining control precision.
Solution Approach 2:
The control data sequence is divided into discrete data elements that can be independently computed, stored, and retrieved. This segmentation allows the system to process and store control data in manageable chunks, enabling partial buffer filling and selective retrieval of specific control elements without requiring the entire sequence to be ready at once.
2Productivity
If the system uses a buffering mechanism to store streaming control data, then the real-time control capability and response speed are improved, but the system complexity increases
Solution Approach 1:
A buffer is introduced as an intermediary component between the control data generation process and the real-time execution process. This buffer absorbs the variability in data arrival rates and provides a steady stream of control data to the executor, decoupling the timing requirements of data generation from execution and improving responsiveness without requiring complex real-time synchronization mechanisms.
Solution Approach 2:
The system changes the temporal parameters of control data by storing multiple data elements in advance, transforming the data stream from a potentially irregular arrival pattern into a predictable, evenly-spaced retrieval pattern. This parameter transformation simplifies the real-time execution requirements while maintaining high responsiveness.
3Reliability
If the system requires strict timing requirements for all control operations, then the real-time control guarantees are improved, but the ability to handle non-deterministic streaming inputs deteriorates
Solution Approach 1:
The buffer acts as a cushion that absorbs the non-deterministic variability in streaming input arrival rates. By pre-storing multiple data elements, the system creates a time cushion that allows it to meet strict real-time execution requirements even when inputs arrive irregularly, protecting the real-time control guarantee from input variability.
Solution Approach 2:
The system performs preliminary computation and storage of control data elements before they are needed for execution. This advance preparation decouples the timing of data generation from data consumption, allowing the system to handle non-deterministic input rates while maintaining deterministic execution timing through the buffer's pre-stored data.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for controlling a robot to perform a custom real-time action. One of the system comprises a non-real-time control layer configured to compute a sequences of control data and to continually write data elements of the sequence of control data into a real-time streaming input buffer; and a real-time control layer configured to continually read data elements of the sequence of control data from the real-time streaming input buffer and to compute a robot control signal from the read data elements of the sequence of control data at every tick of a real-time control loop.


