Behavior Tree Robot Control for Shared-Resource Task Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies face challenges in efficiently executing a plurality of tasks using a common resource while avoiding deadlock and resource starvation in robot control systems.
Innovation Solution
A robot control system utilizing a behavior tree architecture that includes a storage unit, tree management unit, and task control unit to manage and execute tasks based on the status of a common resource, such as a robot, by calling subtrees in cycles and controlling task execution using resource information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple tasks are executed using a common resource, then productivity is improved, but resource conflicts and deadlock occur
Solution Approach 1:
The system checks resource availability status before executing each task subtree. The tree management unit queries whether the common resource is available (not in use) before allowing task execution, preventing resource conflicts and deadlock by ensuring proper resource allocation order
Solution Approach 2:
The behavior tree architecture with parallel nodes and subtrees serves as an intermediary control layer between multiple tasks and the common resource. It manages task execution order and resource allocation, allowing multiple tasks to be coordinated efficiently while preventing conflicts
2Productivity
If tasks are executed in parallel, then productivity is improved, but resource starvation occurs
Solution Approach 1:
The system dynamically adjusts task execution based on real-time resource availability status. The tree management unit continuously monitors whether the common resource is available and enables or disables task execution accordingly, optimizing parallel execution while preventing resource starvation
Solution Approach 2:
The system implements feedback mechanisms where the resource status is continuously checked before task execution. The behavior tree structure provides feedback on task completion and resource availability, allowing the system to adaptively manage task scheduling and minimize waiting time
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A robot control system includes a storage unit configured to store a behavior tree comprising a plurality of subtrees corresponding to a plurality of tasks and a parallel node that is a parent node connected to the plurality of subtrees, and resource information including a status of a common resource to be used for the plurality of tasks; a tree management unit configured to, in respective cycles, call each of the plurality of subtrees in order with respect to the parallel node, based on the behavior tree; and a task control unit configured to execute the task corresponding to the called subtree. The common resource includes a robot. The status includes at least an in-use state and a usable state. The task control unit is configured, for each of the plurality of subtrees, to: refer to the resource information in response to the subtree being called; and in a case where the status of the common resource to be used for the task corresponding to the subtree is the usable state, execute the task using the common resource.