Behavior Tree Generation for Easier Autonomous Machine Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current programming methods for autonomous machines in industrial automation, such as the IEC 61131 standard for PLCs, are rigid and require extensive training, making it difficult to efficiently program and coordinate modular and autonomous machines, especially in complex scenarios.
Innovation Solution
A computer-implemented method for automatically generating behavior tree programs using statistical inference to derive the structure and components of the tree from user interactions and supervision data, reducing the need for explicit programming and enhancing user understanding and error prevention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If classical PLC programming languages (structured text, function block diagrams) are used to control autonomous machines, then the machine can execute precisely defined repetitive movements with limited states, but the programming becomes rigid and difficult to coordinate for modular and autonomous machines
Solution Approach 1:
The patent replaces traditional imperative PLC programming paradigms with behavior tree programming, which offers a more intuitive and modular approach to controlling autonomous machines. Behavior trees allow automation engineers to program complex behaviors through hierarchical task decomposition rather than rigid sequential code, making the system easier to coordinate while maintaining precise execution capabilities
Solution Approach 2:
The patent segments machine behavior into discrete tasks organized in a hierarchical tree structure. Each node in the behavior tree represents a specific task or decision point, allowing independent programming and coordination of machine functions. This segmentation enables modular autonomous machines to be programmed more easily while maintaining reliable execution of repetitive movements
2Ease of operation
If behavior trees are manually created and entered to a controller by automation engineers, then the programming paradigm overcomes limitations of classical PLC approaches, but it still requires training and time to generate
Solution Approach 1:
The patent implements self-service by enabling the system to automatically generate behavior tree programs from observed user interactions with the machine. The assistance system monitors user commands and machine responses, then autonomously creates the behavior tree program, eliminating the need for manual programming while preserving the ease of handling benefits of behavior trees
Solution Approach 2:
The patent applies preliminary action by having the assistance system observe and analyze user interactions in advance to infer the desired behavior tree structure. This preliminary analysis allows the system to pre-generate the behavior tree program before actual machine operation begins, saving time during deployment while maintaining the intuitive nature of behavior tree programming
3Ease of manufacture
If statistical inference is used to automatically generate behavior tree programs from user interactions, then the programming process is simplified and complexity is reduced, but the system must observe and process extensive user interaction data
Solution Approach 1:
The patent introduces an assistance system as an intermediary between the user and the controller. This intermediary observes user interactions, processes the data through statistical inference, and generates behavior tree programs automatically. While this adds a processing layer, it simplifies the overall programming process by eliminating manual behavior tree creation and providing an automated solution that manages the data processing complexity
Data Source
AI summary
A computer implemented method for automatically generating a behavior tree program for controlling a machine includes the steps of: transmitting a sequence of machine commands input by a user from a user interface to a controller, receiving supervision data in the user interface from the controller while the machine commands are executed in the controller controlling the machine, observing and copying the machine commands and supervision data transmitted between the controller and the user interface, storing the machine commands and the supervision data in a logging unit, generating a behavior tree program derived from the stored machine commands and the supervision data by statistical inference, and sending the generated behavior tree program to the controller unit to control the machine.


