Real-Time Robot Control Callbacks Under Tight Timing Constraints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing robotics application frameworks do not allow users to customize interfaces for real-time, custom use cases, limiting the ability to implement custom software modules that can handle real-time sensor information and control logic within strict timing constraints, which is essential for precise and reliable robot operations.
Innovation Solution
A real-time robotics control framework that enables users to define custom real-time reactions, callback functions, and streaming inputs, allowing for the integration of real-time sensor data and asynchronous programming, while maintaining tight timing constraints, thereby facilitating higher precision and reliability in robot movements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If closed software modules are used for highly-specialized tasks, then timing requirements are met, but adaptability and versatility are reduced
Solution Approach 1:
The software control system is divided into distinct layers: a real-time control layer that handles timing-critical operations and an application layer that provides customization capabilities. This segmentation allows each layer to specialize in its function while working together, resolving the contradiction between reliability and adaptability.
Solution Approach 2:
A framework acts as an intermediary between the real-time control system and application-level code. This framework enables custom software modules to interface with the real-time system without compromising timing requirements, as it manages the integration and communication between different software components.
2Adaptability or versatility
If custom software modules are integrated, then adaptability is improved, but system complexity increases
Solution Approach 1:
The framework provides universal interfaces and standardized mechanisms that work across different custom software modules. This multi-functionality allows various modules to be integrated through common protocols, reducing the complexity that would otherwise arise from custom integration logic for each module.
Solution Approach 2:
The system employs event-driven architecture where components automatically respond to events without requiring complex centralized coordination. This self-service mechanism reduces system complexity by allowing modules to independently manage their own operations and interactions.
3Adaptability or versatility
If asynchronous programming is supported, then versatility is improved, but real-time performance may deteriorate
Solution Approach 1:
The system separates asynchronous application logic from real-time control execution. Asynchronous operations are processed in the application layer or through callback mechanisms, while the real-time control layer maintains deterministic timing by executing only time-critical operations at fixed intervals.
Solution Approach 2:
The framework uses event callbacks and interrupt mechanisms that provide feedback from asynchronous operations to the real-time system. This allows the system to respond to asynchronous events while maintaining real-time performance by processing only essential timing-critical data in the real-time control loop.
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 that uses a callback function. One of the methods comprises receiving a definition of a custom real-time control function that specifies a custom callback function, an action, and a custom reaction that references the custom callback function; providing a command to initiate the action; repeatedly executing, by the control layer of the real-time robotics control framework, the custom real-time control function at each tick of a real-time robotics system driving one or more physical robots, including: obtaining current values of one or more state variables, evaluating the custom reaction specified by the custom real-time control function according to the current values of the one or more state variables, and whenever the one or more conditions of the custom reaction are satisfied, invoking the custom callback function.


