Robot Tasking Job Structure for Multi-Entity Executor Simplification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for controlling robots using behavior trees require modifications every time a different tasking entity is used, leading to complex and inefficient executor modules that need separate functions for each data structure, consuming large memory and complicating debugging.
Innovation Solution
A method involving an interface module that transforms tasking messages into a uniform job data structure, allowing the executor module to process instances of this structure without needing modifications, thus simplifying and optimizing the robot's task execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the executor module is configured to handle multiple different tasking message data structures directly, then it can support different tasking entities, but the device complexity and memory requirements increase significantly
Solution Approach 1:
The patent introduces a standardized job data structure as an intermediary between diverse tasking message formats and the executor module. This intermediate representation layer translates various tasking entity-specific data structures into a unified job structure that the executor can process, eliminating the need for the executor to handle multiple data structure formats directly.
Solution Approach 2:
The standardized job data structure serves as a universal interface that can represent tasks from any tasking entity. By designing the job structure with generic fields that can accommodate different task types and parameters, the system achieves multi-functionality without requiring separate handling code for each tasking entity.
2Adaptability or versatility
If separate functions are implemented in the executor module for each data structure, then different tasking messages can be processed, but the loss of time for debugging and maintenance increases
Solution Approach 1:
The standardized job data structure acts as a mediator that decouples the executor module from tasking entity-specific data structures. This single interface approach means that adding support for a new tasking entity only requires implementing a translator to the standard job format, not modifying the executor's core logic, thereby reducing debugging and maintenance time.
3Adaptability or versatility
If the executor module reads and processes multiple data structure instances, then it can accommodate various tasking entities, but the memory requirements increase
Solution Approach 1:
The standardized job data structure provides a universal template that can represent tasks from any tasking entity using a consistent set of fields and data types. This eliminates the need to allocate separate memory structures for each tasking entity's data format, reducing overall memory consumption while maintaining compatibility with multiple entities.
4Adaptability or versatility
If modifications are made to the executor module for each new tasking entity, then the robot can be tasked by different entities, but the ease of operation decreases
Solution Approach 1:
The standardized job data structure serves as a stable intermediary interface that remains unchanged regardless of which tasking entity is used. When a new tasking entity is added, only the translation layer needs to be modified, not the executor module itself, thereby maintaining ease of operation while improving adaptability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present invention relates to a method for tasking a robot. The method comprises (a) receiving with an interface component at least one tasking message descriptive of at least one robot task; (b) executing with the interface component an interface module to generate based on the at least one tasking message at least one job descriptive of the at least one robot task, wherein each of the at least one job is an instance of a job data structure; (c) receiving with an executor component the at least one job; and (d) executing with the executor component an executor module to cause the robot to perform the at least one robot task based on the at least one job. The present invention also relates to a system configured to carry out the method.