A decision-making system for cleaning ore in the ship cabin based on behavior tree technology
By canceling the return of the status when the task fails in the control node of the behavior tree control system and recording the status information of the behavior child nodes, the task planning is allowed to continue in the control node of the current branch, the problem that the traditional behavior tree control system needs to start from the root node after the task fails, and the task success rate and efficiency of the clean-up machine are improved.
Patent Information
- Application Number
- CN202410275967.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-12
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-03-12
AI Technical Summary
The traditional behavior tree control system needs to start over from the root node after the cabin cleaning mission fails, which is inefficient and does not meet the usage requirements.
A cabin mineral cleaning decision system based on behavior tree technology is designed. By canceling the return of the status when the task fails in the control node and recording the status information of the behavior child nodes, the task planning is allowed to continue to be carried out in the control node of the current branch until all the child nodes are executed successfully.
After the cleaning machine fails, the task planning can be continued at the control node of the current branch, which improves the task success rate and efficiency, and meets the requirements of the cleaning machine's timing planning and maneuver control.
Smart Images

Figure CN118108038B_ABST
Abstract
Description
Technical Field
[0001] The present invention mainly relates to the technical field related to cabin cleaning machine control, and specifically is a cabin mineral cleaning decision system based on behavior tree technology. Background Art
[0002] The cabin cleaning machine is a new type of automated mechanical equipment used to clean the cabin. It consists of a walking mechanism, a pushing mechanism, a scraping mechanism, a side cleaning mechanism, a bottom cleaning mechanism, etc. The walking mechanism adopts a crawler design with a maximum speed of 0.15m / s; the pushing mechanism is used to push the material in front and can perform digging actions; the side cleaning mechanism adopts a five-degree-of-freedom robotic arm design to clean the residual soil on the cabin wall, the scraping mechanism is used to scrape the material, and the bottom cleaning mechanism is used to clean the bottom. All mechanisms are controlled by external sensors that perceive the surrounding environmental conditions, and then the behavior tree system makes decisions.
[0003] The cabin cleaning operation is based on the intelligent tank cleaning machine with pusher, sweeper, and scraper mechanisms. The automation of this process requires the integration of perception, positioning, planning and other information for decision-making and control. The behavior tree is an algorithm used to describe the behavior of intelligent agents, including root nodes, control nodes and behavior nodes. The root node is the entrance of the control flow and will execute the tasks of the entire behavior tree at a certain frequency. The control node is used to control the execution order of the behavior nodes and the flow direction of the task flow. The behavior node is used to specifically execute the algorithm task. After the sub-node task under the traditional control node fails, the control flow must be executed from the root node every time. After the behavior task succeeds, the current behavior task will no longer be executed. For the tank cleaning machine, when the robot arm is planned or the pusher and other mechanism movements are carried out, if the task fails, it needs to be executed from the task root node, which does not meet the use requirements and has low efficiency. Summary of the invention
[0004] In order to solve the shortcomings of the current technology, the present invention combines the existing technology and, starting from practical applications, provides a ship cabin mineral cleaning decision system based on behavior tree technology, so that when the behavior task fails, the task planning can continue at the control node of the current branch. After the task succeeds, the task planning can continue or not be planned as needed, which can meet the decision-making planning tasks of the cabin cleaning machine.
[0005] The technical solution of the present invention is as follows:
[0006] A decision system for cleaning mineral materials in a ship cabin based on behavior tree technology is used to control the movement of a traveling mechanism, a shoveling mechanism, a side cleaning mechanism, a material scraping mechanism, and a bottom cleaning mechanism of a ship cabin cleaning machine. The cleaning machine has a positioning module and a perception module. The positioning module is used to calculate the position of the cleaning machine body, and the perception module is used to calculate the position of the bulkhead. The decision system adopts a behavior tree structure. The behavior tree adopts a multi-layer task setting, with the first-layer parallel task as the root node, and the second-layer sequential tasks, the second-layer parallel tasks, and the operation subtree tasks are mounted under the root node;
[0007] The second-layer sequential task is responsible for the decision-making before system initialization, and a system startup execution node and a third-layer sequential task are mounted under it. A system check execution node and a system initialization execution node are mounted under the third-layer sequential task. Two execution nodes are mounted under the second-layer parallel task, namely, a perception processing execution node for processing perception information and a walking execution node for walking according to planning information. The operation subtree task is responsible for the decision logic of the peripheral actuator of the tank cleaning machine, and multiple third-layer selection tasks are mounted under it. A fourth-layer sequential task and an execution node are mounted under each of the multiple third-layer selection tasks to control the shoveling, side cleaning, scraping, and bottom cleaning tasks respectively.
[0008] Among them, for the control nodes corresponding to sequential tasks and parallel tasks, the return of the status when the task fails is canceled in the control node, and the status information of the behavior sub-node is recorded. By setting the threshold, it is flexibly selected to repeat the tick task several times, which will cause the entire task to fail. After the behavior sub-node fails, the following sub-node tasks will be re-executed from the current control node until all sub-nodes are executed successfully.
[0009] Further, the third-layer selection tasks mounted under the job subtree tasks include a third-layer first selection task, a third-layer second selection task, a third-layer third selection task, and a third-layer fourth selection task;
[0010] The first selection task of the third layer is mounted with the first sequence task of the fourth layer and the bulldozer reset execution node, and the first sequence task of the fourth layer is mounted with the bulldozer switch execution node and the bulldozer movement execution node;
[0011] The second selection task of the third layer is mounted with the second sequential task of the fourth layer and the side cleaning reset execution node, and the second sequential task of the fourth layer is mounted with the side cleaning switch execution node and the side cleaning motion execution node;
[0012] Under the third layer third selection task, the fourth layer third sequence task and the material removal reset execution node are mounted; under the fourth layer third sequence task, the material removal switch execution node and the material removal movement execution node are mounted;
[0013] The fourth layer fourth selection task and the bottom cleaning reset execution node are mounted under the third layer fourth sequence task, and the bottom cleaning switch execution node and the bottom cleaning motion execution node are mounted under the fourth layer fourth sequence task.
[0014] Furthermore, for the control node of the sequential task, its design logic is as follows:
[0015] 1) Set the threshold, execute the tick, and enter the current sequential task flow;
[0016] 2) Execute the child nodes from left to right. After the child nodes are executed, they return the status to the sequential task control node. The sequential task control node records the current child node status. When the number of successful nodes is equal to the threshold, the current sequential task returns success. When the number of failed nodes is greater than (number of nodes - threshold), the current sequential task fails and the current task is re-ticked (executed) until it succeeds.
[0017] 3) End the current sequential task, reset the child node status, and route the task to the next task node;
[0018] For the control node of parallel tasks, the design logic is as follows:
[0019] 1) Set the threshold, execute the tick, and enter the current parallel task flow;
[0020] 2) Start all child nodes at the same time. After the child nodes are executed, they return the status to the parallel task control node. The parallel task control node records the current child node status. When the number of successful nodes is equal to the threshold, the current task returns success. When the number of failed nodes is greater than (number of nodes - threshold), the current task fails and the current task is re-ticked until it succeeds.
[0021] 3) End the current parallel task, reset the child node status, and route the task to the next task node.
[0022] Furthermore, after the behavior tree decision system receives and processes data from other modules, it saves the data into a shared memory area, which is called the "blackboard". Behavior tree nodes transmit data through the "blackboard". To ensure the synchronization of data access, the data is protected by a "mutex lock" in the behavior tree.
[0023] Furthermore, the perception processing execution node is used to process the data sent by the positioning and perception modules. The perception processing execution node receives 10 frames of data per second and uses a timer to determine the abnormality of the data. If no data is received within a certain period of time, the data reception is determined to be abnormal and a flag is set. Otherwise, the corresponding data stored on the "blackboard" of the behavior tree is updated.
[0024] Beneficial effects of the present invention:
[0025] The present invention designs an intelligent decision-making system suitable for the machine based on the behavior tree, and improves the behavior tree according to the operation situation, so as to realize the operation control of the tank cleaning machine, which can meet the requirements of timing planning and maneuvering control of the tank cleaning machine; the present invention designs a new control node, so that when the behavior task fails, the task planning can continue at the control node of the current branch, and after the task succeeds, the task planning can continue or not be planned according to the needs, which can meet the decision-making planning tasks of the tank cleaning machine. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Figure 1 This is a schematic diagram of the overall structure of the behavior tree of the present invention;
[0027] Figure 2 This is a schematic diagram of the job subtree structure. DETAILED DESCRIPTION
[0028] The present invention will be further described with reference to the accompanying drawings and specific embodiments. It should be understood that these embodiments are only used to illustrate the present invention and are not intended to limit the scope of the present invention. In addition, it should be understood that after reading the content taught by the present invention, those skilled in the art may make various changes or modifications to the present invention, and these equivalent forms also fall within the scope limited by the application.
[0029] Some embodiments of the present invention are described in detail below in conjunction with the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0030] At present, the cabin cleaning is mostly done by manual excavation and cleaning with excavators. In this embodiment, an intelligent cabin cleaning machine with a pushing, sweeping, and scraping mechanism is used to clean the cabin. The automation of this process requires the integration of perception, positioning, planning and other information for decision-making and control. This embodiment invents an intelligent decision-making system suitable for the machine based on a behavior tree, and improves the behavior tree according to the operation conditions, thereby realizing the operation control of the cabin cleaning machine, which can meet the requirements of timing planning and maneuvering control of the cabin cleaning machine.
[0031] For the ship hold mineral cleaning decision system, the external data acquisition method is as follows:
[0032] There are four laser radars and a combined navigation device installed on the cargo clearing locomotive. The laser radar models the surrounding environment and constructs an environmental map. The raw data is received through the "topic" mechanism of the robot operating system, and then the positioning module and the perception module process the raw data. The positioning module calculates the position of the cargo clearing locomotive, and the perception module calculates the position of the bulkhead, and then the "topic" sends out these data.
[0033] In the behavior tree, data transmission is as follows: After the behavior tree decision module receives data from other modules and processes the data, it saves the data to a shared memory area, which is called the "blackboard". The behavior tree nodes transmit data through the "blackboard". To ensure the synchronization of data access, this system protects the data through "mutual exclusion locks" in the behavior tree. For data processing: The "perception processing" node of the behavior tree decision system is mainly used to process the data sent by the positioning and perception modules. The "perception processing" node receives 10 frames of data per second and uses a timer to determine the abnormality of the data. If no data is received within a certain period of time, the data reception is determined to be abnormal and the flag is set. Otherwise, the corresponding data saved on the "blackboard" of the behavior tree is updated.
[0034] Behavior tree is a method of state conversion between different tasks, including control nodes and behavior nodes, etc. The control node is mainly responsible for the flow direction and mode of the state, and the behavior node executes specific algorithm logic. The same decision system can have multiple behavior tree structures. The behavior tree structure of this embodiment uses the parallel task node as the root node, and selects different task control nodes according to the type and processing method of the subtask, which can ensure multi-task processing and switching of the cleaning machine.
[0035] like Figure 1 , Figure 2 The following is a schematic diagram of the structure design of the behavior tree. The specific structure of the behavior tree in this embodiment is as follows:
[0036] The behavior tree adopts a multi-layer task setting, with the first-layer parallel task as the root node, and the second-layer task is mounted under the root node. The second-layer task is responsible for the decision logic of the specific task. The second-layer task mainly includes the second-layer sequential task, the second-layer parallel task and the operation subtree task from left to right. The second-layer sequential task is responsible for the decision before the system is initialized. A system startup execution node and a third-layer sequential task are mounted under it. A system check execution node and a system initialization execution node are mounted under the third-layer sequential task. Two execution nodes are mounted under the second-layer parallel task, which are the perception processing execution node for processing the perception information and the walking execution node for walking according to the planning information. The operation subtree task is responsible for the decision logic of the peripheral actuator of the cleaning machine, and four third-layer selection tasks are mounted under it. Each of the four third-layer selection tasks has a fourth-layer sequential task and an execution node mounted under it, which are used to control the shoveling, side cleaning, scraping and bottom cleaning tasks respectively. For details, refer to Figure 2As shown, the third-level selection tasks mounted under the job subtree tasks include the third-level first selection tasks, the third-level second selection tasks, the third-level third selection tasks and the third-level fourth selection tasks; the fourth-level first-sequence tasks and the bulldozer reset execution node are mounted under the third-level first selection tasks, and the bulldozer switch execution node and the bulldozer motion execution node are mounted under the fourth-level first-sequence tasks; the fourth-level second-sequence tasks and the side sweeping reset execution node are mounted under the third-level second selection tasks, and the side sweeping switch execution node and the side sweeping motion execution node are mounted under the fourth-level second-sequence tasks; the fourth-level third-sequence tasks and the scraping reset execution node are mounted under the third-level third selection tasks, and the scraping switch execution node and the scraping motion execution node are mounted under the fourth-level third-sequence tasks; the fourth-level fourth-sequence tasks and the bottom sweeping reset execution node are mounted under the third-level fourth selection tasks, and the bottom sweeping switch execution node and the bottom sweeping motion execution node are mounted under the fourth-level fourth-sequence tasks.
[0037] The behavior tree is an algorithm used to describe the behavior of an intelligent agent, including a root node, a control node and a behavior node. The root node is the entrance to the control flow and will execute the tasks of the entire behavior tree at a certain frequency. The control node is used to control the execution order of the behavior nodes and the flow direction of the task flow. The behavior node is used to specifically execute the algorithm task. After the sub-node task fails under the traditional control node, the control flow must be executed from the root node every time. After the behavior task succeeds, the current behavior task is no longer executed. For the tank cleaning machine, when performing mechanical arm planning or shovel and other mechanism movements, if the task fails, it is necessary to start from the task root node, which does not meet the use requirements and has low efficiency. In combination with the current status, this embodiment designs a new control node, so that when the behavior task fails, the task planning can continue at the control node of the current branch. After the task succeeds, the task planning can continue or not according to the needs, which can meet the decision-making planning tasks of the tank cleaning machine.
[0038] For the behavior tree structure of this embodiment, the control nodes mainly include parallel task control nodes, sequential task control nodes, and selection task control nodes; the behavior nodes mainly include system startup execution nodes, system inspection execution nodes, system initialization execution nodes, perception processing execution nodes, walking execution nodes, dozer reset execution nodes, dozer switch execution nodes, dozer movement execution nodes, side cleaning reset execution nodes, side cleaning switch execution nodes, side cleaning movement execution nodes, scraping material reset execution nodes, scraping material switch execution nodes, scraping material movement execution nodes, bottom cleaning reset execution nodes, bottom cleaning switch execution nodes, and bottom cleaning movement execution nodes.
[0039] Among them, the control logic of the above nodes is as follows:
[0040] For the first-level parallel tasks, (1) first set the threshold to 3, and start ticking (executing) the child nodes below (the child nodes include the second-level sequential task control node, the second-level parallel task control node, and the job subtree node) from the root node at a frequency of 10HZ to perform the first-level parallel task flow; (2) start all child nodes in parallel, the second-level sequential task control node, the second-level parallel task control node, and the second-level job subtree are started and executed at the same time; (3) when the number of successful nodes returned by the second-level node is 3, the first-level task returns success, otherwise the child node tasks are executed until all child nodes return success.
[0041] For the second-level sequential task, (1) first set the threshold 2, and then execute its child nodes from left to right (system startup execution node, third-level sequential task node), (2) when any child node fails to execute, the number of failed nodes > (number of child nodes - threshold), then the current child node needs to be re-executed until it returns successfully; (3) when the first child node returns successfully, the control flow is routed to the second child node (third-level sequential task node) (4) set the threshold 2 of the third-level sequential task node, and then execute its child nodes from left to right (system initialization execution node, system check execution node), when all the child nodes of the third-level sequential task node return successfully, the third-level sequential task node returns successfully. (5) when all the child nodes return successfully, the second-level sequential task node returns successfully, and the task is executed successfully.
[0042] For the second-layer parallel task, (1) first set the threshold 2, and then start the following child nodes (perception processing execution node, walking execution node) at the same time; (2) when any child node fails to execute, the number of failed nodes > (number of child nodes - threshold), then the current child node needs to be re-executed until it returns successfully; (3) when both child nodes (perception processing execution node, walking execution node) return successfully, the second-layer parallel task returns successfully and the task is executed successfully.
[0043] For a job subtree, its root node is a parallel node. First, the threshold is set to 1, and its child nodes (third-layer first selection task, third-layer second selection task, third-layer third selection task) are started at the same time. When the number of failures returned by all child nodes is greater than (number of child nodes - threshold), the job subtree returns failure and the current job subtree is re-executed. When one child node returns success, the current job subtree returns success and the task is executed successfully.(1) For the third-layer first-selection task, the first child node (the fourth-layer first-order task) is executed first. When the first child node (the fourth-layer first-order task) fails to execute, the control flow is routed to the second child node (the bulldozer reset execution node). When the first child node (the fourth-layer first-order task) is executed successfully, the third-layer first-selection task is executed successfully. For the fourth-layer first-order task, the threshold is first set to 2. When any child node (bulldozer switch execution node, bulldozer motion execution node) fails, the fourth-layer first-order task returns failure. When both child nodes return success, the fourth-layer first-order task returns success. 2) For the third-layer second selection task, first execute the first child node (the fourth-layer second order task). When the first child node (the fourth-layer second order task) fails to execute, the control flow is routed to the second child node (the side sweep reset execution node). When the first child node (the fourth-layer second order task) is executed successfully, the third-layer second selection task is executed successfully. For the fourth-layer second order task, first set the threshold to 2. When any child node (the side sweep switch execution node, the measurement sweep motion execution node) fails, the fourth-layer second order task returns failure. When both child nodes return success, the fourth-layer second order task returns success. (3) For the third-layer third selection task, the first child node (the fourth-layer third sequential task) is executed first. When the first child node (the fourth-layer third sequential task) fails to execute, the control flow is routed to the second child node (the material removal reset execution node). When the first child node (the fourth-layer third sequential task) is executed successfully, the third-layer third selection task is executed successfully. For the fourth-layer third sequential task, the threshold is first set to 2. When any child node (the material removal switch execution node, the material removal movement execution node) fails, the fourth-layer third sequential task returns failure. When both child nodes return success, the fourth-layer third sequential task returns success. 4) For the third-layer fourth selection task, the first child node (fourth-layer fourth sequential task) is executed first. When the first child node (fourth-layer fourth sequential task) fails to execute, the control flow is routed to the second child node (bottom sweep reset execution node). When the first child node (fourth-layer fourth sequential task) is executed successfully, the third-layer fourth selection task is executed successfully. For the fourth-layer fourth sequential task, the threshold is first set to 2. When any child node (bottom sweep switch execution node, bottom sweep motion execution node) fails, the fourth-layer fourth sequential task returns failure. When both child nodes return success, the fourth-layer fourth sequential task returns success.
Claims
1. A decision-making system for cleaning mineral materials in a ship cabin based on behavior tree technology, which is used to control the movement of the traveling mechanism, shoveling mechanism, side cleaning mechanism, material scraping mechanism and bottom cleaning mechanism of a ship cabin cleaning machine. The cleaning machine has a positioning module and a perception module. The positioning module is used to calculate the position of the cleaning machine body, and the perception module is used to calculate the position of the bulkhead. It is characterized in that: The decision-making system adopts a behavior tree structure. The behavior tree adopts a multi-layer task setting, with the first-layer parallel task as the root node, and the second-layer sequential task, the second-layer parallel task and the job subtree task are mounted under the root node; The second-layer sequential task is responsible for the decision-making before system initialization, and a system startup execution node and a third-layer sequential task are mounted under it. A system check execution node and a system initialization execution node are mounted under the third-layer sequential task. Two execution nodes are mounted under the second-layer parallel task, namely, a perception processing execution node for processing perception information and a walking execution node for walking according to planning information. The operation subtree task is responsible for the decision logic of the peripheral actuator of the tank cleaning machine, and multiple third-layer selection tasks are mounted under it. A fourth-layer sequential task and an execution node are mounted under each of the multiple third-layer selection tasks to control the shoveling, side cleaning, scraping, and bottom cleaning tasks respectively. Among them, for the control nodes corresponding to sequential tasks and parallel tasks, the return of the status when the task fails is canceled in the control node, and the status information of the behavior sub-node is recorded. By setting the threshold, it is flexibly selected to repeat the tick task several times, which will cause the entire task to fail. After the behavior sub-node fails, the following sub-node tasks will be re-executed from the current control node until all sub-nodes are executed successfully.
2. The ship hold mineral material cleaning decision system based on behavior tree technology according to claim 1 is characterized in that: The third-level selection tasks mounted under the job subtree tasks include the third-level first selection task, the third-level second selection task, the third-level third selection task, and the third-level fourth selection task; The first selection task of the third layer is mounted with the first sequence task of the fourth layer and the bulldozer reset execution node, and the first sequence task of the fourth layer is mounted with the bulldozer switch execution node and the bulldozer movement execution node; The second selection task of the third layer is mounted with the second sequential task of the fourth layer and the side cleaning reset execution node, and the second sequential task of the fourth layer is mounted with the side cleaning switch execution node and the side cleaning motion execution node; Under the third layer third selection task, the fourth layer third sequence task and the material removal reset execution node are mounted; under the fourth layer third sequence task, the material removal switch execution node and the material removal movement execution node are mounted; The fourth layer fourth selection task and the bottom cleaning reset execution node are mounted under the third layer fourth sequence task, and the bottom cleaning switch execution node and the bottom cleaning motion execution node are mounted under the fourth layer fourth sequence task.
3. The ship hold mineral material cleaning decision system based on behavior tree technology according to claim 1 or 2, characterized in that: For the control node of sequential tasks, the design logic is as follows: 1) Set the threshold, execute the tick, and enter the current sequential task flow; 2) Execute the child nodes from left to right. After the child nodes are executed, the status is returned to the sequential task control node. The sequential task control node records the current child node status. When the number of successful nodes is equal to the threshold, the current sequential task returns success. When the number of failed nodes is greater than the number of child nodes minus the threshold, the current sequential task fails and the current task is ticked again until it succeeds. 3) End the current sequential task, reset the child node status, and route the task to the next task node; For the control node of parallel tasks, the design logic is as follows: 1) Set the threshold, execute the tick, and enter the current parallel task flow; 2) Start all child nodes at the same time. After the child nodes are executed, they return the status to the parallel task control node. The parallel task control node records the current child node status. When the number of successful nodes is equal to the threshold, the current task returns success. When the number of failed nodes is greater than the number of child nodes minus the threshold, the current task fails and the current task is ticked again until it succeeds. 3) End the current parallel task, reset the child node status, and route the task to the next task node.
4. The ship hold mineral material cleaning decision system based on behavior tree technology according to claim 1 is characterized in that: After receiving and processing data from other modules, the behavior tree decision system saves the data to a shared memory area called the "blackboard". Data is transmitted between behavior tree nodes through the "blackboard". To ensure synchronization of data access, the data is protected in the behavior tree through a "mutex lock".
5. The ship hold mineral material cleaning decision system based on behavior tree technology according to claim 4 is characterized in that: The perception processing execution node is used to process the data sent by the positioning and perception modules. The perception processing execution node receives 10 frames of data per second and uses a timer to determine data anomalies. If no data is received within a certain period of time, the data reception is considered abnormal and a flag is set. Otherwise, the corresponding data saved on the "blackboard" of the behavior tree is updated.
Citation Information
Patent Citations
Mechanical arm task planning system based on behavior tree and application method
CN114536333A
High-precision cabin position real-time detection system for automatic bridge crane
CN114988283A