Robotic Control Module Composition for Custom Real-Time Interfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing robotics application frameworks often dictate rigid interfaces and do not allow users to customize them for specific use cases, limiting the ability to compose generic low-level software modules into high-level modules that fit particular needs, and they lack mechanisms for easy management and asynchronous communication between devices.

Innovation Solution

A composability framework that enables users to customize data interfaces and compose software modules, providing mechanisms for asynchronous communication and discovery of capabilities, allowing for the coordination of multiple subsystems, including real-time robots, with the ability to generate high-level software modules from lower-level ones and establish communication channels between devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If closed software modules are used for highly-specialized tasks, then reliability is improved, but adaptability deteriorates

Engineering Contradiction:
Improvesystem reliabilityVSAvoidinterface customizability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The software system is divided into independent composable modules that can be selectively assembled. Each module encapsulates specific functionality while maintaining standardized interfaces, allowing reliable individual components to be combined in adaptable configurations for different applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The framework provides universal communication channels and interface definitions that enable the same module architecture to serve multiple specialized tasks. Standardized data interfaces and event mechanisms allow modules to be reused across different robot types and applications while maintaining reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Manufacturing precision

If specialized closed software modules are implemented, then manufacturing precision is improved, but device complexity increases

Engineering Contradiction:
Improvecontrol precisionVSAvoidsoftware architecture complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

Complex control functionality is segmented into manageable modules with well-defined interfaces. This reduces the cognitive and implementation complexity of the overall system while maintaining precise control capabilities within each module, making the software architecture more tractable and maintainable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The framework introduces intermediary communication channels and event mechanisms that mediate between specialized modules. This abstraction layer simplifies the interactions between modules, reducing the complexity of coordinating multiple precision-control modules while preserving their individual control capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If rigid interfaces are dictated by frameworks, then ease of operation is improved, but adaptability deteriorates

Engineering Contradiction:
Improveframework usabilityVSAvoidinterface flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The interface system is designed to be dynamic rather than static. While standardized interfaces provide ease of operation through consistency, the framework allows interfaces to be extended and customized through inheritance and composition, enabling adaptation to specific use cases without sacrificing usability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The software architecture employs nested module structures where standardized base modules can contain or be extended by specialized sub-modules. This nested composition allows users to benefit from standardized interfaces at higher levels while enabling customization at lower levels, balancing ease of operation with adaptability.

Inventive Principle:
Principle #7Nested doll (Nesting)

4Productivity

If asynchronous communication channels are established, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvesystem throughputVSAvoidcommunication architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The asynchronous communication mechanism is designed to be self-managing with built-in event routing and message handling. Modules automatically publish events and subscribe to relevant channels without requiring complex manual coordination, enabling high productivity through asynchronous operation while keeping the communication architecture manageable through self-service mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11498211B2Composability framework for robotic control system
Publication Date: 2022.11.15 INTRINSIC INNOVATION LLC
  • US11498211B2 patent drawing
  • US11498211B2 patent drawing
  • US11498211B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for a composability framework that supports the coordination of the low-level actions of multiple subsystems. One of the methods comprises receiving a multi-device application definition for a real-time robotic control system configured to perform operations comprising controlling a robotic execution environment having multiple robotic components, wherein the application definition comprises: one or more custom high-level software modules for each robotic component of the multiple robotic components; respective module interface definitions for each of the custom high-level software modules, wherein a module interface definition of a custom high-level software module specifies one or more asynchronous or real-time communication channels; and respective device interface definitions for each of the multiple robotic components; and processing the application definition to generate output programs to be executed respectively by the multiple robotic components.