Reusable Autonomous Skills Using Virtual Object Markers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional programming methods for autonomous systems require hand-crafted, low-fidelity representations of the environment, limiting their ability to reason about their state and environment, and resulting in cumbersome code that is difficult to generalize and test.
Innovation Solution
The use of explicit physical modeling and multi-function markers within the programming language allows for the creation of reusable skills, enabling autonomous systems to interact with physical objects by generating executable code that acts upon graphical markers and their positions, orientations, and structural information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If traditional hand-crafted programming methods are used to represent the environment and device state, then the system can operate with minimal code, but the system cannot reason about its state and environment in a general way, limiting autonomy
Solution Approach 1:
The patent creates a virtual copy of the physical environment and device state that the autonomous system can reason about. Instead of directly manipulating raw sensor data or device states, the system maintains a virtual representation that mirrors the physical world, allowing general reasoning about environment and state without dealing with low-level implementation details.
Solution Approach 2:
The virtual environment and virtual device state act as intermediaries between the physical environment and the autonomous system's reasoning processes. This layered architecture allows the system to reason about high-level concepts while the underlying implementation details are handled by the virtual representation layer.
2Adaptability or versatility
If programmers write custom solutions for every problem with hand-crafted code, then the code can be minimal and fast to write, but the code is difficult to generalize and reuse across different contexts
Solution Approach 1:
The patent creates universal virtual representations of devices and environments that can be used across multiple different tasks and contexts. Once a virtual model is created, it can serve multiple functions and be reused for different problems, eliminating the need to write custom solutions for each new task.
Solution Approach 2:
The system performs preliminary action by creating virtual representations of the environment and device state before actual autonomous operation begins. This pre-established virtual framework enables rapid development of autonomous behaviors without repeatedly creating low-level representations for each new task.
3Loss of information
If detailed low-fidelity representations are used in traditional programming, then the system is simpler to implement, but the system lacks the fidelity needed for autonomous reasoning about environment and state
Solution Approach 1:
The patent creates a virtual copy of the physical environment and device state that preserves detailed information while maintaining a structured, manageable representation. This virtual copy maintains fidelity to the physical world without requiring complex hand-crafted data structures.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A computer-implemented method of engineering autonomous system with reusable skills includes displaying a graphical user interface simulating a physical environment. The graphical user interface depicts one or more simulated objects corresponding to one or more physical objects. Graphical markers are created on the simulated objects based on instructions provided by a user via the graphical user interface. The position and orientation of each graphical marker is determined with respect to the simulated objects. A skill function is created which comprises a functional description for using a controllable physical device to interact with the physical objects based on the position and orientation of each graphical marker. Executable code operable to perform the skill function is created and used to actuate the controllable physical device.