CN109807903B - Robot control method, device, equipment and medium - Google Patents

Robot control method, device, equipment and medium Download PDF

Info

Publication number
CN109807903B
CN109807903B CN201910285053.5A CN201910285053A CN109807903B CN 109807903 B CN109807903 B CN 109807903B CN 201910285053 A CN201910285053 A CN 201910285053A CN 109807903 B CN109807903 B CN 109807903B
Authority
CN
China
Prior art keywords
robot
child node
event
current
external event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910285053.5A
Other languages
Chinese (zh)
Other versions
CN109807903A (en
Inventor
张俊杰
苏衍宇
孟健
田立志
邹翼波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Bozhong Intelligent Robot Co Ltd
Bozhon Precision Industry Technology Co Ltd
Original Assignee
Suzhou Bozhong Robot Co ltd
Bozhon Precision Industry Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Bozhong Robot Co ltd, Bozhon Precision Industry Technology Co Ltd filed Critical Suzhou Bozhong Robot Co ltd
Priority to CN201910285053.5A priority Critical patent/CN109807903B/en
Publication of CN109807903A publication Critical patent/CN109807903A/en
Priority to PCT/CN2019/090169 priority patent/WO2020206827A1/en
Application granted granted Critical
Publication of CN109807903B publication Critical patent/CN109807903B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

The embodiment of the invention discloses a robot control method, a device, equipment and a medium. Wherein the method comprises the following steps: receiving external event information, responding to external event trigger acted on the robot by the external event, and determining current event information executed by a current child node in a robot behavior tree; determining a target child node to be executed currently in a robot behavior tree according to external event information and current event information executed by the current child node based on a preset event priority; and switching the execution state of the robot according to the target child node, and controlling the target child node to execute the associated behavior action. According to the embodiment of the invention, the robot behavior tree is triggered by using the external event, so that the robot can freely switch the current execution state according to the external event information and the current event information executed by the current child node, thereby realizing the timely response to the external event and being capable of planning the execution state of the robot task macroscopically.

Description

Robot control method, device, equipment and medium
Technical Field
The invention relates to the technical field of information human-computer interaction, in particular to a robot control method, device, equipment and medium.
Background
With the development of society, the robot technology is rapidly developed, and robots are widely applied to various industries, so that the performance requirements on the robots are higher and higher.
In actual needs, the robot is required to accept human commands, run pre-programmed programs and perform outline actions according to principles formulated by artificial intelligence technology. Generally, the robot performs tasks in a sequential manner, that is, the robot responds to each trigger event one by one according to the sequence of the trigger events. Further, external events such as instructions issued by a user cannot be dealt with in time at the trigger time node, and the execution state of the user cannot be switched in time according to the actual situation.
Therefore, a robot control method capable of responding to an external command in real time and flexibly switching an execution state thereof according to an actual situation is still lacking at present.
Disclosure of Invention
Embodiments of the present invention provide a robot control method, apparatus, device, and medium, so as to implement timely response and processing of a robot to an external instruction, and flexibly switch an execution state of the robot according to an actual situation.
In a first aspect, an embodiment of the present invention provides a robot control method, where the method includes:
receiving external event information, responding to external event trigger acted on the robot by the external event, and determining current event information executed by a current child node in a robot behavior tree;
determining a target child node to be executed currently in the robot behavior tree according to the external event information and the current event information executed by the current child node based on a preset event priority;
and switching the execution state of the robot according to the target child node, and controlling the target child node to execute the associated behavior action.
In a second aspect, an embodiment of the present invention further provides a robot control apparatus, where the apparatus includes:
the external event response module is used for receiving external event information, responding to external event trigger acted on the robot by the external event, and determining current event information executed by a current child node in the robot behavior tree;
the target child node determining module is used for determining a target child node to be executed currently in the robot behavior tree according to the external event information and the current event information executed by the current child node based on a preset event priority;
and the execution state switching module is used for switching the execution state of the robot according to the target child node and controlling the target child node to execute the associated behavior action.
In a third aspect, an embodiment of the present invention further provides an apparatus, where the apparatus includes:
one or more processors;
storage means for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement a robot control method according to any one of the embodiments of the present invention.
In a fourth aspect, the embodiments of the present invention further provide a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements a robot control method according to any one of the embodiments of the present invention.
The embodiment of the invention determines the current event information executed by the current child node in the robot behavior tree by receiving the external event information and responding to the external event trigger acted on the robot by the external event, determines the target child node to be executed currently in the robot behavior tree according to the external event information and the current event information executed by the current child node based on the preset event priority, and further switches the execution state of the robot according to the target child node and controls the target child node to execute the associated behavior action. According to the embodiment of the invention, the robot behavior tree is triggered by using the external event, so that the robot can freely switch the current execution state according to the external event information and the current event information executed by the current child node, thereby realizing the timely response to the external event and being capable of planning the execution state of the robot task macroscopically.
Drawings
Fig. 1 is a flowchart of a robot control method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a triggered behavior tree according to an embodiment of the present invention;
fig. 3 is a flowchart of a robot control method according to a second embodiment of the present invention;
fig. 4 is a timing diagram of a child node executing a child action when the robot receives a visitor according to the second embodiment of the present invention;
fig. 5 is a logic diagram illustrating the transition of the execution states of the robot according to the second embodiment of the present invention;
fig. 6 is a structural diagram of a robot control device according to a third embodiment of the present invention;
fig. 7 is a schematic structural diagram of an apparatus according to a fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Example one
Fig. 1 is a flowchart of a robot control method according to an embodiment of the present invention. This embodiment is applicable to the case of controlling an automated intelligent system. Typically, the present embodiment may be adapted for controlling a robot. The method may be performed by a robot control device. As shown in fig. 1, the robot control method provided in this embodiment may specifically include the following steps:
and step 110, receiving the external event information, responding to the external event trigger acted on the robot by the external event, and determining the current event information executed by the current child node in the robot behavior tree.
In the embodiment of the present invention, the external event refers to any event that can trigger the robot, and may be a trigger of an external environment change, and may also be an issue of an action instruction to the robot by a user. The external event information may be external environment change parameters acquired by the robot based on a sensor or the like, or may be an action instruction issued by a user to the robot. The external event information may be received by a robot-environment interaction system, a human-machine interaction system, a control system, and the like mounted in the robot.
The robot behavior tree may define any behavior actions that the robot may perform and the logical relationships between the sub-actions under the behavior actions. The behavior tree comprises a root node and child nodes, wherein the root node is a control node in the behavior tree and is used for controlling execution logic of the associated child nodes. The child nodes are behavior nodes associated with corresponding control nodes in the behavior tree and are used for executing child actions associated with the tasks. Correspondingly, the child node may generally include execution states such as running and completion, which is convenient for the control node to switch the execution states according to the execution states of the respective action nodes.
The robot behavior tree in this embodiment is a triggered behavior tree, and fig. 2 is a schematic diagram of the triggered behavior tree, referring to fig. 2. The triggered behavior tree triggers the behavior tree to enter an execution state corresponding to the behavior action through an external event, the behavior action corresponding to the state is executed, and under the behavior action corresponding to a certain execution state, the triggered behavior tree can be switched to another execution state.
Specifically, the robot can sense external environment changes and user triggers in real time or at regular time through various sensors integrated with the robot, and receive external event information. In this embodiment, an external event trigger condition may also be preset, so that when it is determined that the external event information satisfies the preset external event trigger condition, the external event is responded. Secondly, in the response process, based on the incidence relation between the execution state and the behavior action, the current event currently executed by the robot and the sub-action currently executed by the robot are determined according to the current execution state of the robot.
And step 120, determining a target child node to be executed currently in the robot behavior tree according to the external event information and the current event information executed by the current child node based on the preset event priority.
In the embodiment of the invention, the execution priority of each type of executable event is pre-configured in the preset event priority, and the executable event at least comprises a robot external event and a robot internal event. The executable event is an event that can be executed by the robot and is configured in advance, and may include an external instruction issued by a user, triggering of an environmental change, processing of an internal exception of the robot, and the like. The robot internal events may include robot preprogrammed task commands. Different events correspond to different priority orders, and when at least two executable events simultaneously exist to trigger the robot to execute, the robot preferentially executes the events with high priority. The target child node is at least one child node which is determined by the behavior tree when triggering and is associated with the event which is determined by the behavior tree when triggering and is currently executed based on the preset event priority when at least two executable events exist.
Specifically, after the robot behavior tree is triggered by an external event, for example, the priorities of the external event and the current event may be compared by using priority identifiers of various executable events, if the priority of the external event is higher than the priority of the current event, the external event is determined to be the current event to be executed, and then a control node corresponding to the external event is determined, and according to an execution sequence of a child node corresponding to external event information, a child node under the control node, which is associated with the external event to be executed currently, is used as a target child node for executing the external event.
And step 130, switching the execution state of the robot according to the target child node, and controlling the target child node to execute the associated behavior action.
In the specific embodiment of the invention, the execution state is state information corresponding to the robot behavior tree control node when the robot executes the task. In particular, the execution state may include an idle state, a task in execution, and a fault clear intermediate state. When the robot behavior tree is triggered by an external event, the execution state of the robot behavior tree is switched. For example, the execution state of the robot may be switched from an idle state to a task execution state, and then the target child node is controlled to execute a behavior action associated with the external event according to the target child node. Furthermore, each child node corresponds to different child actions, and the execution of each task is completed by matching different child nodes.
For example, assuming that the robot is performing a singing action, if the current user issues a dancing instruction to the robot, the robot responds to an external event of the user instruction, and determines that the singing action is the current event. And secondly, judging the priority of the singing behavior and the dancing behavior, if the priority of the singing behavior is higher than that of the dancing behavior, the robot does not switch the execution state, and continues to execute the singing behavior. Otherwise, if the dancing behavior is higher in priority than the singing behavior, determining the control node corresponding to the dancing behavior in the robot behavior tree, and taking the child node associated with the control node as a target child node. Therefore, the execution state of the singing behavior control node is switched to pause and the execution state of the dancing behavior control node is switched to be in execution according to the target child node. And finally, the control node controls the robot to respond to the dancing instruction in time at present according to the time sequence relation among all target child nodes, and executes the dancing behavior.
According to the technical scheme of the embodiment, the current event information executed by the current child node in the robot behavior tree is determined by receiving the external event information and responding to the external event trigger acted on the robot by the external event, the target child node to be executed currently in the robot behavior tree is determined according to the external event information and the current event information executed by the current child node based on the preset event priority, the execution state of the robot is switched according to the target child node, and the target child node is controlled to execute the associated behavior action. According to the embodiment of the invention, the robot behavior tree is triggered by using the external event, so that the robot can freely switch the current execution state according to the external event information and the current event information executed by the current child node, thereby realizing the timely response to the external event and being capable of planning the execution state of the robot task macroscopically.
Example two
Fig. 3 is a flowchart of a robot control method according to a second embodiment of the present invention. In this embodiment, step 110, step 120 and step 130 are further detailed on the basis of the above embodiments. As shown in fig. 3, the method may specifically include the following steps:
step 210, according to the external event information, if it is detected that the external event is the executable event type of the robot, responding to the external event trigger acted on the robot by the external event, and determining the current event information executed by the current child node in the robot behavior tree.
The executable event may include an external event of the robot and an internal event of the robot, the external event may be an external instruction issued by a user, and the internal event may be a task command pre-programmed by the robot. The executable events are various preset executable events, and whether the external events are executable events is determined by comparing the external events with the various preset executable events. Further, different executable events correspond to different priority orders.
And step 220, based on the preset event priority, determining that the child node associated with the external event in the robot behavior tree is the current target child node to be executed if the execution priority of the external event is detected to be greater than the execution priority of the current event according to the external event information and the current event information executed by the current child node.
For example, when the current robot is executing a pre-programmed task, at this time, the robot receives an operation instruction issued by a user, and since an event priority corresponding to the operation instruction is higher than that of the task pre-programmed with the robot, child nodes associated with an external instruction in a robot behavior tree are further determined, and the child nodes are used as target child nodes to be executed.
Step 230, if there are at least two target child nodes, controlling each target child node to execute the associated child action in cooperation according to the time sequence relationship between the child actions in the event associated with the target child node.
The time sequence relation among all the sub-actions represents the time logic relation of actions executed by all the sub-nodes, and the control node controls all the related sub-nodes according to the time sequence relation. Under the control of the control node, each sub-node cooperatively executes corresponding sub-actions according to the execution time of the task.
Optionally, in a response time period corresponding to an event associated with the target child node, determining a start time and an end time of each child action executed by each child node associated with the event; and controlling each target child node to execute the associated child action in a matched manner according to the starting time and the ending time of each child node executing each child action so as to execute the event.
The response time period is a time length formed by the starting and stopping execution time of executing the current event. Furthermore, when executing the sub-actions, the child nodes of the robot behavior tree are executed according to the time sequence relationship corresponding to the time axis. Specifically, in the same time, the sub-actions of the plurality of sub-nodes can be executed in parallel or alternatively, and the execution mode improves the task completion degree and the real-time performance of the robot.
Illustratively, referring to fig. 4, fig. 4 is a timing diagram of a sub-action performed by a child node when the robot is in the presence of a visitor. The sensor module of the robot comprises a voice recognition module, a visual perception module, a laser radar module and the like, wherein the sensor is used for recognizing information in an external environment; the execution module carried by the driving system of the robot comprises a mobile navigation module, an arm motion module, a finger motion module, a sound synthesis playing module, a head motion module, an expression control module, a music playing module and the like, and the execution module is used for executing corresponding instructions in a matched mode. If the user gives a dancing instruction to the robot, firstly, in a time period from t0 to t1, the robot recognizes the external instruction by using the sensor module, and specifically, the sensor module performs face recognition and voice recognition on the user. After the robot successfully identifies, the robot responds to the dancing instructions of the user within the time period from t1 to t 2. And then, if the dancing instruction has higher priority than the current execution event, executing the action associated with the dancing event. Based on the manner of the time axis, the time sequence relation among the sub-actions of completing the dancing event is preset in the time axis. And controlling the corresponding child node to execute the dancing instruction given by the user from the time point t2 according to the time sequence relation. The robot performs arm, expression, music playing and voice synthesis actions at the first time from t2 to t 3; after the preset time is executed, voice synthesis and expression actions are ended first, the actions of fingers, expressions, heads and chassis are started and ended in the execution time of arms and music in an interpenetration mode, compensation is formed on the actions of the arms and the music, actions corresponding to all child nodes are controlled to be combined in a time axis mode through a time sequence compensation mode to completely realize the behavior actions of the robot, the behavior expression of the robot is more three-dimensional and vivid, and the robot can independently and autonomously complete complex tasks. In addition, the accuracy of robot recognition can be improved by the cooperative work of a plurality of sensors in the robot system.
In addition, the robot can be freely added with sensors and execution modules according to the requirements of a user through the modularized design, and the coupling and coordination of all functional modules of the robot are not needed. The control method can perfectly coordinate different execution modules and sensors of the robot, so that the execution modules and the sensors can complete tasks specified by a user in a gapless fit mode.
According to the technical scheme of the embodiment, each target child node is controlled to execute the associated child action in a matched manner according to the time sequence relation between the child actions in the time associated with at least two target child nodes. Therefore, in the same time, the sub-actions of the plurality of sub-nodes can be executed in parallel or alternatively, and the task completion degree and the real-time performance of the robot are improved.
Further, the robot control method further includes: if the execution state of the robot is detected to be abnormal, determining child nodes related to the fault clearing event as target child nodes, and controlling the target child nodes to carry out abnormal clearing; and if the completion of the abnormal clearing is detected, returning to switch to the previous child node to execute the associated behavior action.
Wherein, the execution state exception can be triggered by the external environment change or the robot itself exception.
Specifically, referring to fig. 5, fig. 5 is a logic diagram of the transition of the robot execution state. And when the robot is in an idle state, the user issues an instruction to the robot in the idle state. Firstly, the robot classifies an instruction issued by a user into an executable event, the robot switches the self state into a task executing state, then selects a behavior mode corresponding to the user instruction from an executable task list, controls the child nodes to execute corresponding child actions, and executes an action sequence corresponding to the user instruction. When the task execution is finished, the robot returns to an idle state to wait for a new task; when the robot is in the process of executing the state, the interference of the external environment or the self problem is wrong, the robot suspends the current task, switches to the abnormal state, directly executes the behavior mode of clearing the mistake, and returns to the previous state to continue executing the task when the mistake is successfully cleared; and if the fault is cleared, executing a behavior mode of abnormal alarm. By presetting the priority of the event, the robot can timely switch the execution state of the robot according to the priority of the event, can respond to and process an external command in real time, can timely process an emergency caused by external environment change or self abnormity, and improves the intelligent level of the robot.
In addition, the task script of the robot is prestored in a file form, and a user can directly perform 'adding, deleting, modifying and checking' operation on the task script when customizing the task, so that the method has high programmability. The control method has strong adaptability and plasticity, can be transplanted to any diversified system, and is not limited to the processing of a robot system.
According to the technical scheme of the embodiment, if the external event is detected to be the executable event type of the robot according to the external event information, the external event is responded to the external event trigger acted on the robot by the external event, the execution priority of the external event and the execution priority of the current child node are compared, if the execution priority of the external event is detected to be greater than the execution priority of the current event for response, the child node related to the external event in the robot behavior tree is determined to be the current target child node to be executed, and the target child nodes are controlled to cooperate with the execution of the related child actions according to the time sequence relation among the child actions in the event related to the target child node. According to the embodiment of the invention, the execution state is switched according to the priority of the event, so that the robot can respond to an external instruction in time and can process the problem of an emergency caused by external environment change or self abnormity in time. In addition, the target child node is controlled to execute the child actions in a time sequence mode, and the task completion degree and the real-time performance of the robot can be improved.
EXAMPLE III
Fig. 6 is a structural diagram of a robot control device according to a third embodiment of the present invention. A robot control method provided in any embodiment of the present invention may be executed, and referring to fig. 6, a robot control apparatus provided in an embodiment of the present invention includes: an external event response module 310, a target child node determination module 320, and an execution state switching module 330.
The external event response module 310 is configured to receive external event information, and determine current event information executed by a current child node in a robot behavior tree in response to an external event trigger applied to the robot by an external event.
And a target child node determining module 320, configured to determine, based on the preset event priority, a target child node to be currently executed in the robot behavior tree according to the external event information and the current event information executed by the current child node.
The execution state switching module 330 is configured to switch an execution state of the robot according to the target child node, and control the target child node to execute the associated behavior.
Optionally, the external event response module 310 is specifically configured to, according to the external event information, if it is detected that the external event is an executable event category of the robot, respond to an external event trigger that the external event acts on the robot, and determine current event information executed by a current child node in the robot behavior tree.
Optionally, the target child node determining module 320 is specifically configured to, based on the preset event priority, determine, according to the external event information and the current event information executed by the current child node, that the child node associated with the external event in the robot behavior tree is the current target child node to be executed if it is detected that the execution priority of the external event is greater than the execution priority of the current event.
Specifically, the execution priority of each type of executable events is preset in the preset event priorities, and the executable events at least include external events of the robot and internal events of the robot.
Optionally, the execution state switching module 330 is specifically configured to, if there are at least two target child nodes, control each target child node to execute the associated child action in cooperation with the associated child action according to a timing relationship between the child actions in the event associated with the target child node.
The method for controlling each target child node to cooperatively execute the associated child actions according to the time sequence relation among the child actions in the event associated with the target child node includes the following steps:
determining the starting time and the ending time of each sub-action executed by each sub-node related to the event in the response time period corresponding to the event related to the target sub-node;
and controlling each target child node to execute the associated child action in a matched manner according to the starting time and the ending time of each child node executing each child action so as to execute the event.
Further, the apparatus further includes an exception clearing module 340 and a behavior action returning module 350. The exception clearing module 340 is configured to determine, if it is detected that the execution state of the robot is abnormal, a child node associated with a clearing event as a target child node, and control the target child node to perform exception clearing. The behavior action returning module 350 is configured to return to switch to the previous child node to execute the associated behavior action if it is detected that the exception clearing is completed.
The embodiment of the invention receives external event information through mutual cooperation among all functional modules, responds to external event trigger acted on the robot by an external event, determines current event information executed by a current child node in a robot behavior tree, determines a target child node to be executed currently in the robot behavior tree according to the external event information and the current event information executed by the current child node based on the preset event priority, and further switches the execution state of the robot according to the target child node and controls the target child node to execute associated behavior actions. According to the embodiment of the invention, the robot behavior tree is triggered by utilizing the external event, so that the robot can freely switch the execution state according to the external event information and the current event information executed by the current child node, thereby realizing the timely response to the external event and being capable of planning the execution state of the robot task macroscopically.
The robot control device provided by the embodiment of the invention can execute the robot control method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
Example four
Fig. 7 is a schematic structural diagram of an apparatus according to a fourth embodiment of the present invention. FIG. 7 illustrates a block diagram of an exemplary device 412 suitable for use in implementing embodiments of the present invention. The device 412 shown in fig. 7 is only an example and should not impose any limitation on the functionality or scope of use of embodiments of the present invention.
As shown in FIG. 7, device 412 is in the form of a general purpose computing device. The components of device 412 may include, but are not limited to: one or more processors 416 or processing units, a system storage 428, a bus 418 connecting the various system components (including the system storage 428 and the processors 416), and a complete point cloud data acquisition device 426.
Bus 418 represents one or more of any of several types of bus structures, including a memory device bus or memory device controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, micro-channel architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Device 412 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by device 412 and includes both volatile and nonvolatile media, removable and non-removable media.
Storage 428 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)430 and/or cache memory 432. The device 412 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 434 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 7, commonly referred to as a "hard drive"). Although not shown in FIG. 7, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 418 by one or more data media interfaces. Storage 428 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
A program/utility 440 having a set (at least one) of program modules 442 may be stored, for instance, in storage 428, such program modules 442 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. The program modules 442 generally perform the functions and/or methodologies of the described embodiments of the invention.
The device 412 may also communicate with one or more external devices 414 (e.g., keyboard, pointing device), displays 424, etc., as well as with one or more devices that enable a user to interact with the device 412, and/or any devices (e.g., network card, modem, etc.) that enable the device 412 to communicate with one or more other computing devices. Such communication may occur via input/output (I/O) interfaces 422. Also, the device 412 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) through the network adapter 420. As shown, network adapter 420 communicates with the other modules of device 412 over bus 418. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the device 412, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
The processor 416 executes various functional applications and data processing, such as implementing a robot control method provided by embodiments of the present invention, by executing programs stored in the system memory 428.
EXAMPLE five
An embodiment of the present invention further provides a storage medium containing computer-executable instructions, which when executed by a computer processor, are configured to perform a robot control method, including:
receiving external event information, responding to external event trigger acted on the robot by the external event, and determining current event information executed by a current child node in a robot behavior tree;
determining a target child node to be executed currently in a robot behavior tree according to external event information and current event information executed by the current child node based on a preset event priority;
and switching the execution state of the robot according to the target child node, and controlling the target child node to execute the associated behavior action.
Of course, the storage medium containing the computer-executable instructions provided by the embodiments of the present invention is not limited to the above method operations, and may also perform related operations in a robot control method provided by any embodiment of the present invention.
From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a terminal, or a network device) to execute the methods of the embodiments of the present invention.
It should be noted that, in the embodiment of the robot control device, the included units and modules are only divided according to functional logic, but are not limited to the above division as long as the corresponding functions can be realized; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments illustrated herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (8)

1. A robot control method, characterized in that the method comprises:
receiving external event information, responding to external event trigger acted on the robot by the external event, and determining current event information executed by a current child node in a robot behavior tree;
determining a target child node to be executed currently in the robot behavior tree according to the external event information and the current event information executed by the current child node based on a preset event priority;
switching the execution state of the robot according to the target child node, and controlling the target child node to execute the associated behavior action;
if the number of the target child nodes is at least two, switching the execution state of the robot according to the target child nodes, and controlling the target child nodes to execute associated behavior actions, wherein the steps comprise:
determining the starting time and the ending time of each sub-action executed by each sub-node related to the event on the same time axis in the response time period corresponding to the event related to the target sub-node;
and controlling each target child node to execute the event according to the starting time and the ending time of each child action executed on the same time axis by each child node.
2. The method of claim 1, wherein the receiving external event information and determining current event information executed by a current child node in a robot behavior tree in response to an external event trigger applied to the robot by an external event comprises:
and according to the external event information, if the external event is detected to be the executable event type of the robot, responding to the external event trigger acted on the robot by the external event, and determining the current event information executed by the current child node in the robot behavior tree.
3. The method of claim 1, wherein the determining a target child node to be executed currently in the robot behavior tree according to the external event information and current event information executed by a current child node based on a preset event priority comprises:
based on a preset event priority, according to the external event information and the current event information executed by the current child node, if the execution priority of the external event is detected to be greater than the execution priority of the current event, determining the child node associated with the external event in the robot behavior tree as a target child node to be executed currently.
4. The method according to claim 1, wherein the preset event priorities are pre-configured with execution priorities of various types of executable events, and the executable events at least include external events of the robot and internal events of the robot.
5. The method of claim 1, further comprising:
if the execution state of the robot is detected to be abnormal, determining a child node associated with a fault clearing event as a target child node, and controlling the target child node to carry out abnormal clearing;
and if the completion of the abnormal clearing is detected, returning to switch to the previous child node to execute the associated behavior action.
6. A robot control apparatus, characterized in that the apparatus comprises:
the external event response module is used for receiving external event information, responding to external event trigger acted on the robot by the external event, and determining current event information executed by a current child node in the robot behavior tree;
the target child node determining module is used for determining a target child node to be executed currently in the robot behavior tree according to the external event information and the current event information executed by the current child node based on a preset event priority;
the execution state switching module is used for switching the execution state of the robot according to the target child node and controlling the target child node to execute the associated behavior action;
if the number of the target child nodes is at least two, switching the execution state of the robot according to the target child nodes, and controlling the target child nodes to execute associated behavior actions, wherein the steps comprise:
determining the starting time and the ending time of each sub-action executed by each sub-node related to the event on the same time axis in the response time period corresponding to the event related to the target sub-node;
and controlling each target child node to execute the event according to the starting time and the ending time of each child action executed on the same time axis by each child node.
7. An apparatus, characterized in that the apparatus comprises:
one or more processors;
storage means for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement a robot control method as recited in any of claims 1-5.
8. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out a robot control method according to any one of claims 1-5.
CN201910285053.5A 2019-04-10 2019-04-10 Robot control method, device, equipment and medium Active CN109807903B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910285053.5A CN109807903B (en) 2019-04-10 2019-04-10 Robot control method, device, equipment and medium
PCT/CN2019/090169 WO2020206827A1 (en) 2019-04-10 2019-06-05 Robot control method and device, apparatus, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910285053.5A CN109807903B (en) 2019-04-10 2019-04-10 Robot control method, device, equipment and medium

Publications (2)

Publication Number Publication Date
CN109807903A CN109807903A (en) 2019-05-28
CN109807903B true CN109807903B (en) 2021-04-02

Family

ID=66611732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910285053.5A Active CN109807903B (en) 2019-04-10 2019-04-10 Robot control method, device, equipment and medium

Country Status (2)

Country Link
CN (1) CN109807903B (en)
WO (1) WO2020206827A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109807903B (en) * 2019-04-10 2021-04-02 博众精工科技股份有限公司 Robot control method, device, equipment and medium
CN112147954A (en) * 2019-06-28 2020-12-29 炬星科技(深圳)有限公司 Task execution method, robot, scheduling system, electronic device, and storage medium
CN111061370B (en) * 2019-12-16 2021-07-16 深圳市云网万店电子商务有限公司 Man-machine interaction device and method for intelligent equipment
CN111667169B (en) * 2020-06-04 2022-02-18 成都飞机工业(集团)有限责任公司 Intelligent position supplementing method based on multi-person collaborative assembly role
CN112549029B (en) * 2020-12-03 2022-05-27 天津(滨海)人工智能军民融合创新中心 Robot behavior control method and device based on behavior tree
CN112235419B (en) * 2020-12-09 2021-03-09 之江实验室 Robot cloud platform execution engine and execution method based on behavior tree
CN113534662B (en) * 2021-06-04 2022-12-02 中国人民解放军军事科学院国防科技创新研究院 Behavior tree-based unmanned system cluster control method
CN115213889B (en) * 2021-08-18 2023-01-13 达闼机器人股份有限公司 Robot control method, device, storage medium and robot
CN115145233B (en) * 2022-07-25 2023-08-01 西安热工研究院有限公司 Multi-stage small-granularity movement scheduling control method, device and equipment for robot
CN115741713A (en) * 2022-11-25 2023-03-07 中冶赛迪工程技术股份有限公司 Robot working state determination method, device, equipment and medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007044825A (en) * 2005-08-10 2007-02-22 Toshiba Corp Action control device, action control method and program therefor
JP2017042859A (en) * 2015-08-25 2017-03-02 キヤノン株式会社 Picking system, and processing device and method therefor and program
CN106201544A (en) * 2016-07-19 2016-12-07 北京智能管家科技有限公司 Dynamic interaction methods of exhibiting in robot system and device
JP2018073303A (en) * 2016-11-02 2018-05-10 エヌ・ティ・ティ・コミュニケーションズ株式会社 Event control apparatus, event control method and program
CN106874092A (en) * 2017-02-10 2017-06-20 深圳市笨笨机器人有限公司 Robot task trustship method and system
WO2018233857A1 (en) * 2017-06-19 2018-12-27 Zhongrui Funing Robotics (Shenyang) Co. Ltd Method for detecting the emotional state of a person by a robot
CN109129467B (en) * 2018-07-27 2022-03-25 南京阿凡达机器人科技有限公司 Robot interaction method and system based on cognition
CN109408209A (en) * 2018-09-27 2019-03-01 北京云迹科技有限公司 Task executing method and device
CN109227552A (en) * 2018-11-23 2019-01-18 上海航天控制技术研究所 The control method and control system of exoskeleton robot
CN109807903B (en) * 2019-04-10 2021-04-02 博众精工科技股份有限公司 Robot control method, device, equipment and medium

Also Published As

Publication number Publication date
WO2020206827A1 (en) 2020-10-15
CN109807903A (en) 2019-05-28

Similar Documents

Publication Publication Date Title
CN109807903B (en) Robot control method, device, equipment and medium
Akan et al. Intuitive industrial robot programming through incremental multimodal language and augmented reality
CN109471435B (en) Multi-heterogeneous mobile robot control system
US20090132057A1 (en) Control system for controlling the movements of a plurality of mechanical units
CN111465475A (en) Method for operating a robot in a multi-agent system, robot and multi-agent system
JP2012232363A (en) Robot control system, robot system and program
CN103389666A (en) Robot software architecture
CN112276943A (en) Robot teaching control method, teaching control system, computer device, and medium
CN113954104B (en) Multi-thread controller of parallel robot
CN108972593A (en) Control method and system under a kind of industrial robot system
CN111213099A (en) Motion control card, motion control system, robot system and numerical control machine tool
CN108508812B (en) AGV controller IO port multiplexing configuration system and method thereof
CN108415740B (en) Workflow scheduling method applied to data analysis task
CN106945045B (en) communication method and system for robot control based on ROS and OROCOS
EP4339779A1 (en) Software host construction method and construction system, and software host and simulation device
CN112506152A (en) Coal mining machine and controller and control method thereof
CN111309453A (en) Intelligent robot system of distributed deployment
CN115356997A (en) Integrated industrial control system and control method thereof, industrial control equipment and medium
CN106965181B (en) Robot control method and system based on ROS and OROCOS
CN114603551A (en) Control method and electronic equipment
JPH08106320A (en) Automatic machine and control method for automatic machine
CN114036645B (en) ROS-based simulation method and device and electronic equipment
WO2023019941A1 (en) Robot control method and apparatus, storage medium, and robot
CN114193459B (en) Control system of mechanical arm and test method thereof
CN114475578B (en) Method and device for generating vehicle parking strategy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 215200 No. 666 Hu Xin Road, Wujiang economic and Technological Development Zone, Suzhou, Jiangsu

Patentee after: BOZHON PRECISION INDUSTRY TECHNOLOGY Co.,Ltd.

Patentee after: Suzhou Bozhong intelligent robot Co., Ltd

Address before: 215200 No. 666 Hu Xin Road, Wujiang economic and Technological Development Zone, Suzhou, Jiangsu

Patentee before: BOZHON PRECISION INDUSTRY TECHNOLOGY Co.,Ltd.

Patentee before: Suzhou Bozhong robot Co., Ltd