Behavior Tree Robot Control for Shared Resource Deadlock Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing robot control systems face challenges in efficiently managing concurrent and parallel task execution of multiple tasks using shared resources, leading to issues like deadlock and resource starvation, which are difficult to design around.
Innovation Solution
A robot control system utilizing a behavior tree architecture that manages tasks and shared resources by employing a parallel node structure, resource information, and a mechanism to dynamically update the status of shared resources, including states like usable, in-use, provisional release, and releasing states, to prevent deadlock and resource starvation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple tasks are executed concurrently using shared resources, then productivity is improved, but deadlock and resource starvation occur
Solution Approach 1:
The system dynamically changes the state of resources between usable and in-use based on task execution. The behavior tree structure allows dynamic selection and execution of tasks based on current resource availability, enabling the system to adapt its operation mode to prevent deadlock while maintaining high productivity
Solution Approach 2:
The patent introduces a behavior tree control mechanism as an intermediary between multiple tasks and shared resources. This mediator manages resource allocation by evaluating task priorities and resource states, preventing direct conflict between concurrent tasks and ensuring system stability
2Reliability
If resource status management is implemented to prevent deadlock, then system reliability is improved, but device complexity increases
Solution Approach 1:
The behavior tree segments the control system into hierarchical nodes (root node, intermediate nodes, leaf nodes) that independently manage specific tasks. Each node handles resource allocation locally based on its subtree's requirements, reducing overall system complexity while maintaining reliable deadlock prevention through distributed decision-making
3Adaptability or versatility
If behavior tree architecture with parallel nodes is used to manage concurrent tasks, then adaptability is improved, but device complexity increases
Solution Approach 1:
The behavior tree divides complex task management into segmented, modular subtrees that can be independently configured and executed. Parallel nodes represent independent task groups that can operate concurrently, allowing the system to adapt to different environmental conditions without requiring complete reconfiguration of the entire control structure
Solution Approach 2:
The behavior tree architecture provides a universal framework that can manage various types of tasks (sequential and parallel) using the same structural elements. The parallel node and subtree structure serves multiple functions including task scheduling, resource allocation, and deadlock prevention, reducing the need for separate specialized mechanisms
Data Source
AI summary
A system includes a storage configured to store a behavior tree representing motions of a robot with a tree structure, and resource information including a status of a common resource. The behavior tree includes a plurality of subtrees corresponding to a plurality of tasks and a parallel node that is connected to the plurality of subtrees. The common resource is to be used for the plurality of tasks. The common resource includes the robot. The status includes at least an in-use state and a usable state. The system further includes circuitry configured to: in respective cycles, call the parallel node and each of the plurality of subtrees in order; refer to the resource information when a subtree of the plurality of subtrees is called; and in a case where the status of the common resource is the usable state, execute the task using the common resource.


