WO2019179440A1 - 机器人动作序列生成方法和装置 - Google Patents

机器人动作序列生成方法和装置 Download PDF

Info

Publication number
WO2019179440A1
WO2019179440A1 PCT/CN2019/078746 CN2019078746W WO2019179440A1 WO 2019179440 A1 WO2019179440 A1 WO 2019179440A1 CN 2019078746 W CN2019078746 W CN 2019078746W WO 2019179440 A1 WO2019179440 A1 WO 2019179440A1
Authority
WO
WIPO (PCT)
Prior art keywords
action
node
robot
target
directed
Prior art date
Application number
PCT/CN2019/078746
Other languages
English (en)
French (fr)
Inventor
张彦刚
Original Assignee
北京猎户星空科技有限公司
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 北京猎户星空科技有限公司 filed Critical 北京猎户星空科技有限公司
Priority to JP2020550853A priority Critical patent/JP7316294B2/ja
Priority to EP19770593.2A priority patent/EP3770757A4/en
Publication of WO2019179440A1 publication Critical patent/WO2019179440A1/zh
Priority to US17/025,522 priority patent/US20210069905A1/en

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
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • 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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40438Global, compute free configuration space, connectivity graph is then searched
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40446Graph based

Definitions

  • the present disclosure relates to the field of robot control technologies, and in particular, to a robot motion sequence generation method and apparatus.
  • robots are widely used in daily generation and life because they can liberate users to perform corresponding tasks according to the needs of the scene. For example, the robot can liberate the user's hands to sweep the ground, pour coffee and other tasks.
  • robot control is performed by means of manual teaching reproduction, which is a robot that can repeatedly reproduce a work program stored by teaching programming.
  • "teaching programming” refers to the completion of the program by: manually guiding the robot end effector (the holder attached to the end of the robot joint structure, tools, welding torch, spray gun, etc.), or by manual operation Introduce a mechanical simulation device, or use a teaching box (a handheld device connected to the control system to program or move the robot) to cause the robot to perform the desired action; the "operating program” (task program) is A set of motion and auxiliary function instructions to determine the specific expected job of the robot, which is usually programmed by the user. Since the programming of such a robot is realized by a real-time online teaching program, and the robot itself operates by memory, it can be repeatedly reproduced.
  • the present disclosure proposes a robot motion sequence generation method, which automatically determines the actions and sequences required for the robot to perform tasks based on the directed graph, improves the convenience of the robot control, and adapts the robot to the flexible and varied scene task.
  • the invention provides a technical problem that solves the problem of low control efficiency and large task amount when introducing a new task in the prior art.
  • the present disclosure proposes a robot motion sequence generating device.
  • the present disclosure proposes a computer device.
  • the present disclosure proposes a computer readable storage medium.
  • a method for generating a robot motion sequence includes the following steps: acquiring a directed graph; the directed graph includes a plurality of nodes for indicating robot motion, and a directional connection connecting different nodes Obtaining each target action involved in the task, and an execution order of each target action; in the directed graph, searching in a direction indicated by the directed edge to obtain a target path; a node through which the target path passes The target node corresponding to each target action is included, and the order of the target path passing through each target node conforms to the execution order of the corresponding target actions; and the robot action sequence is generated according to each action indicated by the target path and its execution sequence.
  • the robot motion sequence generating method of the embodiment of the present disclosure automatically determines the actions and sequences of the execution required by the robot to complete the task based on the directed graph, improves the convenience of the robot control, and provides the robot with the flexible and variable scene task. Supporting and solving the technical problems in the prior art that the manual teaching robot requires low control efficiency and a large amount of tasks when introducing a new task.
  • the robot action sequence generating method of the embodiment of the present disclosure further includes the following additional technical features:
  • the node in the directed graph includes a first node for indicating a set of consecutive actions, and a second node for indicating a static action; in the directed graph, along the Searching in the direction indicated by the edge, and obtaining the target path, including: in the directed graph, starting from a preset second node, searching in the direction indicated by the directed edge through each target node, and a preset path ending by a second node; wherein the target node belongs to a first node for indicating a set of consecutive actions; and the target path is determined according to the searched path.
  • each directed edge in the directed graph has a weight
  • the weight is used to indicate an action indicated by the execution of the directed edge connecting one node, and the other performing the directed edge connection is performed.
  • the action indicated by the node the length of time required by the robot; in the directed graph, searching in the direction indicated by the directed edge to obtain a target path, including: in the directed graph, along the Searching in the direction indicated by the directed edge.
  • the searched path is at least two, weighting the directed edges passing through each path to obtain a total weight of each path; The path with the shortest duration indicated by the total weight is taken as the target path.
  • the static action indicated by the second node includes: a preset reset action, a start action in a set of consecutive actions indicated by each first node, and a set of consecutive actions indicated by each first node At least one of the ending actions in .
  • the static action indicated by the second node includes: a transition action; the transition action is used to engage two actions performed before and after the transition action; and after the generating the robot action sequence, the method further includes: Controlling the robot according to the sequence of robot actions; if there is an abnormality in controlling the robot, determining a last action performed before the abnormality exists, and determining a first action to be performed after the abnormality exists;
  • a node corresponding to the transition action is added between the node corresponding to the last action and the node corresponding to the first action; the node corresponding to the last action and the first action ???the direction of the edge to the corresponding node, determining the direction of the directed edge between the node corresponding to the transition action and the node corresponding to the last action, and determining the second node corresponding to the transition action a direction of the edge between the nodes corresponding to the first action; deleting the node corresponding to the last action and the first action It should be directed edge between nodes.
  • the adding the second node corresponding to the transition action includes: determining a parameter of the transition action according to the obstacle position indicated by the abnormality; adding a second corresponding to the transition action according to the parameter of the transition action node.
  • a set of consecutive actions indicated by the first node in the directed graph is determined according to a subtask obtained by disassembling the task, and a set of consecutive actions is used to execute a corresponding subtask;
  • the direction of the directed edge in the directed graph is determined according to the logical sequence between the corresponding different sets of consecutive motions.
  • the method further includes: arranging the control commands associated with the actions according to the execution order of the actions in the robot action sequence; and controlling the robot according to the sorted control commands.
  • a robot action sequence generating apparatus includes: a first acquiring module, configured to acquire a directed graph; the directed graph includes a plurality of nodes for indicating a robot motion, and a connection a directional edge of a different node; a second acquiring module, configured to acquire each target action involved in the task, and an execution sequence of each target action; and a search module, configured to indicate along the directed edge in the directed graph The direction of the search is performed to obtain a target path; the node through which the target path passes includes a target node corresponding to each target action, and the order of the target path through each target node conforms to the execution order of the corresponding target action; the control module, And generating a robot motion sequence according to each action indicated by the target path and an execution sequence thereof.
  • the robot action sequence generating device of the embodiment of the present invention automatically determines the actions and sequences of the execution required by the robot to complete the task based on the directed graph, improves the convenience of the robot control, and provides the robot with the flexible and variable scene task. Supporting and solving the technical problems in the prior art that the manual teaching robot requires low control efficiency and a large amount of tasks when introducing a new task.
  • the robot action sequence generating apparatus of the embodiment of the present disclosure further includes the following additional technical features:
  • the node in the directed graph includes a first node for indicating a set of consecutive actions, and a second node for indicating a static action;
  • the search module is specifically configured to be in the directed graph Starting from a preset second node, searching in the direction indicated by the directed edge through each target node, and ending with the preset one of the second nodes; wherein the target node belongs to The first node indicating a set of consecutive actions determines the target path based on the searched path.
  • each directed edge in the directed graph has a weight
  • the weight is used to indicate an action indicated by the execution of the directed edge connecting one node, and the other performing the directed edge connection is performed.
  • the action indicated by the node the duration required by the robot
  • the search module is specifically configured to search in the direction indicated by the directed edge in the directed graph, when the searched path is at least two
  • the directed edges passing through each path are summed to obtain the total weight of each path; and the path with the shortest duration indicated by the total weight is used as the target path.
  • the static action indicated by the second node includes: a transition action; the transition action is used to engage two actions performed before and after the transition action; the control module is further configured to: a robot motion sequence for controlling the robot; if there is an abnormality in controlling the robot, determining a last action performed before the abnormality exists, and determining a first action to be performed after the abnormality exists;
  • a second node corresponding to the transition action is added between the node corresponding to the last action and the node corresponding to the first action; and the node corresponding to the last action corresponds to the first action Having a direction to the edge between the nodes, determining a direction of the directed edge between the node corresponding to the transition action and the node corresponding to the last action, and determining the second node and the corresponding corresponding to the transition action
  • the direction corresponding to the first action has a direction of the edge; the node corresponding to the last action is deleted and the node corresponding to the first action Directed side.
  • control module is configured to determine a parameter of the transition action according to the obstacle position indicated by the abnormality, and add a second node corresponding to the transition action according to the parameter of the transition action.
  • control module is further configured to: arrange control instructions associated with each action according to an execution order of each action in the sequence of the robot actions; and control the robot according to the sorted control commands.
  • the computer device includes: a memory, a processor, and a computer program stored on the memory and operable on the processor, when the processor executes the program, implementing the foregoing embodiment The robot motion sequence generation method described.
  • a computer readable storage medium according to a fourth aspect of the present disclosure, wherein a computer program is stored thereon, and when the program is executed by the processor, the robot motion sequence generating method according to the foregoing embodiment is implemented.
  • FIG. 1 is a flowchart of a robot motion sequence generating method according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart of a robot motion sequence generation method according to another embodiment of the present disclosure.
  • FIG. 3 is a flowchart of a robot motion sequence generating method according to still another embodiment of the present disclosure.
  • FIG. 4(a) is a schematic diagram of a scenario of a robot motion sequence generation method according to an embodiment of the present disclosure
  • 4(b) is a schematic diagram of a scenario of a robot motion sequence generation method according to another embodiment of the present disclosure.
  • 4(c) is a schematic diagram of a scenario of a robot motion sequence generation method according to still another embodiment of the present disclosure.
  • 4(d) is a schematic diagram of a scenario of a robot motion sequence generation method according to still another embodiment of the present disclosure.
  • FIG. 5 is a flowchart of a robot motion sequence generating method according to still another embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a robot motion sequence generating apparatus according to an embodiment of the present disclosure.
  • FIG. 1 is a flowchart of a method for generating a robot motion sequence according to an embodiment of the present disclosure. As shown in FIG. 1, the method includes:
  • Step 101 Acquire a directed graph; the directed graph includes a plurality of nodes for indicating the motion of the robot, and a directed edge connecting the different nodes.
  • the executed tasks can be regarded as being composed of multiple actions, and each action is divided between different tasks with different flexibility and when splitting into corresponding actions. It has relative consistency.
  • the robot includes “pick up” and “open” actions when performing the pouring coffee task and performing the water burning task.
  • the consistency of the action may be embodied by a node indicating the action of the robot according to the principle of the execution action of the robot, and the node indicating the action of the robot includes a position at which the start posture, the end posture, and the like are completed when the robot motion is performed.
  • a directed graph is constructed based on nodes corresponding to robot actions that can be shared between execution tasks, the directed graph including a robot corresponding to a plurality of tasks that are flexible in the execution scenario The indication node of the action.
  • the technical problem of low robot control efficiency is introduced, and the mechanism for indicating the robot motion is introduced.
  • the nodes are connected by directed edges between the nodes, wherein the directed edges between the nodes are used to indicate the execution order between the nodes, and the directed graphs are formed by the plurality of nodes connected by the directed edges.
  • the related robot motion sequence can be automatically generated based on the matching of the related nodes on the directed map, thereby improving the robot control efficiency and providing an implementation manner for satisfying the flexible scene task;
  • the directed map is composed of nodes. Therefore, when expanding a new task or updating a task implementation mode, it can be realized by adding, deleting, and updating the node on the basis of the original node. High sex and strong stability.
  • the target path required to complete the current scenario task may be automatically generated according to the specific action indicated by the multiple related nodes and the directed edge between the multiple related nodes, and the target path indicated by the target path is automatically
  • the execution order of the nodes indicated by the directed edges between the related nodes and the plurality of related nodes can perform the current task requirements.
  • the directed graph includes a plurality of nodes for indicating the robot motion, and the connection Directed edges of different nodes, where directed edges connecting different nodes are used to indicate the order of execution between the nodes.
  • Step 102 Acquire each target action involved in the task, and the execution order of each target action.
  • the task is actually composed of multiple actions. For example, for the scene task of “making a cup of coffee”, it is actually “scratching the cup”, “putting the cup under the coffee machine”, and “pressing” The coffee machine's out of the coffee button” and other actions. Therefore, in order to control the robot to satisfy the current task, the target actions involved in the task are acquired, and the execution order of each target action is determined, wherein the execution order of each target action corresponds to the action execution logic, for example, the action “put down the cup” must be taken Wait for the cup after the action.
  • Step 103 In the directed graph, searching in a direction indicated by the directed edge to obtain a target path; the node through which the target path passes includes a target node corresponding to each target action, and the order of the target path passing through each target node conforms to the corresponding The order in which each target action is executed.
  • Step 104 Generate a robot motion sequence according to each action indicated by the target path and its execution sequence.
  • the action is actually indicated by a plurality of nodes indicating the action, and thus, after determining the target action and the execution order of the target action, in the directed map, indicating along the directed edge
  • the direction is searched to obtain a target path, wherein the node through which the target path passes includes the target node corresponding to each target action, and the order of the target path through each target node conforms to the execution order of the corresponding target actions.
  • a robot motion sequence is generated according to each action indicated by the target path and its execution sequence, so that the robot implements the corresponding scene task by executing the motion sequence.
  • control robot executes the corresponding action sequence.
  • control commands of the associated actions are arranged according to the execution order of each action in the robot action sequence, and then according to The arranged control commands control the robot.
  • the target path in the embodiment of the present disclosure is determined by two factors, one is a node indicating the action of the robot, and the other is the execution order determined by the directed edge between the nodes, through the above two
  • the combination of factors can compose the corresponding target path to achieve different tasks.
  • the node in the directed graph includes a first node for indicating a set of consecutive actions, and the set of consecutive actions corresponding to the first node is determined according to the subtask obtained by disassembling the task.
  • a set of coherent actions is used to execute a corresponding subtask. For example, if the current task is “drink service”, it is disassembled into subtasks “ brewing a cup of American coffee” and “making a cup of latte” according to the task.
  • the directed graph further includes a second node for indicating a static action, including a direction of the directed edge in the directed graph of the first node and the second node, according to a logical sequence between the corresponding different sets of consecutive actions, ie
  • the logical sequence between the subtasks is determined, and the static action included in the second node is used to complete the target action of the current scene task. For example, if the current subtask is “a cup of American coffee”, the target action of completing the current scene task is “ Grab the cup, "put the cup under the coffee machine”, “press the coffee button of the coffee machine” and so on.
  • the static action indicated by the second node includes a preset reset action (the reset action is used to control the robot to always be in a fixed initial state of the reset action indication when the task ends, thereby ensuring that when the robot performs the task, a closed loop operation mode from the start of the reset operation to the end of the reset operation, facilitating control of the robot) and a start action in a set of consecutive actions indicated by each first node and a stop action in a set of consecutive actions indicated by each first node At least one of the first actions (such as only including a start action in a set of consecutive actions indicated by each first node, such as only including a final action in a set of consecutive actions indicated by each first node, and including, for example, each first node A relative statically existing positional element, such as a starting motion and an ending motion in a set of consecutive motions indicated.
  • a preset reset action the reset action is used to control the robot to always be in a fixed initial state of the reset action indication when the task ends, thereby ensuring that
  • the first node and the second node are common nodes, and the mutual conversion relationship between the nodes is a directed edge, and a directed graph is constructed, and the target path is according to the task requirement.
  • the first node and the second node are combined in a certain order, and the combined target path not only describes the spatial conversion relationship of the action indicated by the node, but also describes the execution logical relationship between the actions, for example, the current task is “ When a cup of American coffee is brewed, the last step of the "reset position" in the node through which the target path is generated must be “put down the coffee cup”.
  • This execution logic of the directed map ensures that when passing the target path.
  • the consistency of the execution logic with the logic of executing the corresponding task in the actual application ensures the stability and practicability of the directed map.
  • the robot because the robot performs certain actions, it needs a certain amount of space redundancy to ensure that the robot does not collide during the execution of the task, such as its own collision or collision with obstacles.
  • the node of the target path passes through, the node can move freely between the nodes.
  • the second node in the embodiment of the present disclosure further includes a transition action for engaging the actions indicated by the two nodes before and after the transition action, and avoiding the robot. A collision directly caused by the transition from the initial action to the termination action.
  • the addition of the second node corresponding to the transition action may be preset according to the action required by the robot when performing the action and the space required to perform the action, or may be performed on the second node corresponding to the transition action by the robot performing the action. Add or update, etc.
  • the processing method of the second node corresponding to the transition action is to add or update the second node corresponding to the transition action when the action is performed by the robot, as shown in FIG. 2 , the method includes the following steps:
  • step 201 the robot is controlled according to the sequence of robot actions.
  • Step 202 If there is an abnormality in controlling the robot, determine the last action performed before the abnormality exists, and determine the first action that should be performed after the abnormality exists.
  • Step 203 In the directed graph, the second node corresponding to the transition action is added between the node corresponding to the last action and the node corresponding to the first action.
  • the cause of the abnormality in the process of controlling the robot may be due to the fact that when the robot is switched from the previous node to the current node, due to insufficient active space, collision or collision with external obstacles, the previous one is guaranteed.
  • the node switches to the consistency of the current node, and a second node corresponding to the transition action is introduced between the previous node and the current node.
  • first determining the last action performed before the abnormality exists, and determining the first action that should be performed after the abnormality exists, that is, determining the previous node and the current node, and in the directed graph, corresponding to the last action The node and the node corresponding to the first action add a second node corresponding to the transition action.
  • determining parameters of the transition action according to the obstacle position indicated by the abnormality for example, moving direction, moving distance, and The moving speed or the like is further added to the second node that is excessively operated according to the parameters of the transition operation.
  • Step 204 Determine a direction of a directed edge between a node corresponding to the transition action and a node corresponding to the last action according to a direction of the edge between the node corresponding to the last action and the node corresponding to the first action, and It is determined that there is a direction of the edge between the second node corresponding to the transition action and the node corresponding to the first action.
  • step 205 the directed edge between the node corresponding to the last action and the node corresponding to the first action is deleted.
  • the directed graph includes a directed edge in addition to the node, in order to ensure the validity of the second node corresponding to the transition action, after adding the second node corresponding to the transition action, the transition action is performed. The corresponding directed edge of the second node is added.
  • the direction of the directed edge between the node corresponding to the last action and the node corresponding to the first action determining the direction of the directed edge between the node corresponding to the transition action and the node corresponding to the last action, and Determining a direction of a side edge between the second node corresponding to the transition action and the node corresponding to the first action, the direction of the directed edge being logically executed according to the action corresponding to the node corresponding to the last action and the node corresponding to the first action It is determined that the node corresponding to the last action can be transitioned to the node corresponding to the first action. At this time, the node corresponding to the last action and the node corresponding to the first action are deleted, and the node corresponding to the last action is implemented.
  • the nodes corresponding to the first action are connected by a second node corresponding to the transition action.
  • the manner of obtaining the target path includes the following steps:
  • Step 301 in the directed graph, starting from a preset second node, searching in a direction indicated by the directed edge, passing through each target node, and ending with a preset second node; wherein, the target A node belongs to a first node that is used to indicate a set of consecutive actions.
  • Step 302 Determine a target path according to the searched path.
  • a start second node and an end second node are preset, for example, the current task is “a cup of American coffee”, and the preset one starts the second node is “takes up the coffee cup”. "End”, the second node is "reset position”, etc., and further, in the directed graph, starting from a preset second node, the search direction in the direction indicated by the directed edge passes through each target node, and is preset A path ending by a second node; wherein the target node belongs to a first node for indicating a set of consecutive actions, and the target path is determined according to the searched path.
  • the current scene is a coffee robot
  • the corresponding directed graph is as shown in FIG. 4( a ).
  • the first node in the directed graph includes “put down the coffee cup” and “ Pick up hot water, "take the coffee cup out of the coffee machine”, “put the coffee cup into the coffee machine”, etc.
  • the second node includes “putting the coffee cup starting position", “reset position”, “transition node” Wait. 4(a)
  • the direction of the arrow in the directed graph is used to indicate the directed edge between the nodes.
  • the target node of a set of consecutive actions indicating the task is the relevant first node: "Pick up the coffee cup”, “put the coffee cup into the coffee machine”, “take the heat” Water, etc.
  • the second node of the preset start is "pick up the coffee cup start position”
  • the second node of the preset end is "reset position", starting from a preset second node, along the direction
  • the target path is as shown by the dotted line in FIG. 4(b), referring to FIG. (b)
  • the target path combines the associated first node and the second node in order of execution to complete the current task.
  • the target node indicating a set of consecutive actions of the task that is, the relevant first node is “take up the coffee cup", “take hot water”, etc.
  • the preset start The two nodes are “pick up the coffee cup start position”, and the second node of the preset end is “reset position”, starting from a preset second node, and searching in the direction indicated by the directed edge through each target node After that, and the path ending with a preset second node "reset position", the determined target path is as shown by the dotted line in FIG. 4(c). Referring to FIG. 4(c), the target path will be related first. The node and the second node are combined in order of execution to complete the current task.
  • the execution cost of the robot when passing through different paths is different.
  • the execution cost can also be embodied in the directed graph, so that the optimal path can be selected as the target path.
  • the execution cost is time cost.
  • weights are set for each directed edge in the directed graph, the weight is used to indicate the action indicated by the execution of the directed edge connecting one node, and the action indicated by the other node performing the directed edge connection, the robot
  • the required length of time as shown in Figures 4(a) - 4(c), the number on the directed edge indicates the action indicated by the connection of a node from the execution of the directed edge, to the indication of another node performing the directed edge connection.
  • Action the length of time the robot takes.
  • the manner in which the target path is obtained includes the following steps:
  • Step 401 in the directed graph, searching in the direction indicated by the directed edge.
  • the searched path is at least two, weighting the directed edges passing through each path to obtain each path. Total weight.
  • Step 402 The path with the shortest duration indicated by the total weight is taken as the target path.
  • the directed edges of each path are summed to obtain the total weight of each path, and the path with the shortest duration indicated by the total weight is used as the target.
  • the path is to ensure that the robot has the shortest time to complete the task and to ensure the efficiency of the robot's execution.
  • path 1 when the current task is "take hot water", one path generated therein is path 1 as shown by a broken line in FIG. 4(c), and the other path is as shown by a broken line in FIG. 4(d).
  • Path 2 summing the weights of the directed edges passing through each path, and obtaining the total weight of path 1 is 6.9, and the total weight of path 2 is 7.3, then selecting path 1 as the target path to ensure "connection" The efficiency of taking hot water.
  • the robot motion sequence generation method automatically determines the actions and sequences of the execution required by the robot to complete the task based on the directed graph, improves the convenience of the robot control, and adapts the flexibility of the robot.
  • the scenario task provides support and solves the technical problem that the prior art requires the manual control robot to have low control efficiency and a large task when introducing a new task.
  • FIG. 6 is a schematic structural diagram of a robot motion sequence generating apparatus according to an embodiment of the present disclosure. As shown in FIG. 6, the apparatus includes: first acquiring The module 100, the second acquisition module 200, the search module 300, and the control module 400.
  • the first obtaining module 100 is configured to acquire a directed graph; the directed graph includes a plurality of nodes for indicating the motion of the robot, and a directed edge connecting the different nodes.
  • the second obtaining module 200 is configured to acquire each target action involved in the task, and an execution sequence of each target action.
  • the search module 300 is configured to search in a direction indicated by the directed edge in the directed graph to obtain a target path; the node that the target path passes includes a target node corresponding to each target action, and the target path passes through each target node.
  • the order corresponds to the execution order of the corresponding target actions.
  • the control module 400 is configured to generate a robot motion sequence according to each action indicated by the target path and its execution sequence.
  • the node in the directed graph includes a first node for indicating a set of consecutive actions, and a second node for indicating a static action.
  • the search module 300 is specifically used. In the directed graph, starting from a preset second node, searching in the direction indicated by the directed edge through each target node, and ending with a preset second node; wherein, the target node belongs to A first node for indicating a set of consecutive actions, determining a target path based on the searched path.
  • each directed edge in the directed graph has a weight
  • the weight is used to indicate an action indicated by the execution of the directed edge connecting one node, and the other node indicating the directed edge connection is indicated.
  • the action module, the length of time required by the robot, in the embodiment, the search module 300 is specifically configured to search in the direction indicated by the directed edge in the directed graph, and when the searched path is at least two, for each The directed edges passing through the path are summed with weights to obtain the total weight of each path, and the path with the shortest duration indicated by the total weight is used as the target path.
  • the static action indicated by the second node includes: a transition action; the transition action is used to perform the two actions performed before and after the transition action.
  • the control module 400 is specifically used. Controlling the robot according to the sequence of robot actions; if there is an abnormality in the process of controlling the robot, determining the last action performed before the abnormality exists, and determining the first action to be performed after the abnormality exists; in the directed graph, at the end A node corresponding to the action and a node corresponding to the first action are added with a second node corresponding to the transition action; and according to the direction of the edge between the node corresponding to the last action and the node corresponding to the first action, the transition action is determined.
  • control module 400 is specifically configured to determine a parameter of the transition action according to the obstacle position indicated by the abnormality, and add a second node corresponding to the transition action according to the parameter of the transition action.
  • control module 400 is further configured to arrange the control commands associated with the actions according to the execution order of the actions in the sequence of the robot actions, and control the robot according to the sorted control commands.
  • the robot motion sequence generating apparatus automatically determines the operations and sequences required for the robot to complete the task based on the directed graph, improves the convenience of the robot control, and adapts the flexibility of the robot.
  • the scenario task provides support and solves the technical problem that the prior art requires the manual control robot to have low control efficiency and a large task when introducing a new task.
  • an embodiment of the present disclosure further provides a computer device, including: a memory, a processor, and a computer program stored on the memory and operable on the processor, when the processor executes the computer program, implementing the foregoing The robot motion sequence generation method described in the embodiment of the robot motion sequence generation method.
  • an embodiment of the present disclosure further provides a computer readable storage medium having stored thereon a computer program, when the computer program is executed by a processor, implementing the method described in the foregoing robot action sequence generation method embodiment.
  • Robot motion sequence generation method Robot motion sequence generation method.
  • first and second are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated.
  • features defining “first” or “second” may include at least one of the features, either explicitly or implicitly.
  • the meaning of "a plurality” is at least two, such as two, three, etc., unless specifically defined otherwise.
  • Any process or method description in the flowcharts or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a custom logic function or process.
  • the scope of the preferred embodiments of the present disclosure includes additional implementations, in which the functions may be performed in a substantially simultaneous manner or in an inverse order depending on the functions involved, in the order shown or discussed. It will be understood by those skilled in the art to which the embodiments of the present disclosure pertain.
  • a "computer-readable medium” can be any apparatus that can contain, store, communicate, propagate, or transport a program for use in an instruction execution system, apparatus, or device, or in conjunction with such an instruction execution system, apparatus, or device.
  • computer readable media include the following: electrical connections (electronic devices) having one or more wires, portable computer disk cartridges (magnetic devices), random access memory (RAM), Read only memory (ROM), erasable editable read only memory (EPROM or flash memory), fiber optic devices, and portable compact disk read only memory (CDROM).
  • the computer readable medium may even be a paper or other suitable medium on which the program can be printed, as it may be optically scanned, for example by paper or other medium, followed by editing, interpretation or, if appropriate, other suitable The method is processed to obtain the program electronically and then stored in computer memory.
  • portions of the present disclosure can be implemented in hardware, software, firmware, or a combination thereof.
  • multiple steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system.
  • a suitable instruction execution system For example, if implemented in hardware and in another embodiment, it can be implemented by any one or combination of the following techniques well known in the art: discrete with logic gates for implementing logic functions on data signals Logic circuits, application specific integrated circuits with suitable combinational logic gates, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), and the like.
  • each functional unit in various embodiments of the present disclosure may be integrated into one processing module, or each unit may exist physically separately, or two or more units may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated modules, if implemented in the form of software functional modules and sold or used as stand-alone products, may also be stored in a computer readable storage medium.
  • the above mentioned storage medium may be a read only memory, a magnetic disk or an optical disk or the like. While the embodiments of the present disclosure have been shown and described above, it is understood that the foregoing embodiments are illustrative and are not to be construed as limiting the scope of the disclosure The embodiments are subject to variations, modifications, substitutions and variations.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Landscapes

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

Abstract

本公开提出一种机器人动作序列生成方法和装置,其中,方法包括:获取有向图;有向图中包含用于指示机器人动作的多个节点,以及连接不同节点的有向边;获取任务涉及的各目标动作,以及各目标动作的执行顺序;在有向图中,沿有向边指示的方向进行搜索,得到目标路径;目标路径所经过的节点中包含各目标动作对应的目标节点,且目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序;根据目标路径指示的各动作及其执行顺序,生成机器人动作序列。由此,基于有向图自动确定出机器人完成任务所需要的执行的各动作和顺序,提高了机器人控制的便捷性,为机器人适应灵活多变的场景任务提供了支持。

Description

机器人动作序列生成方法和装置
相关申请的交叉引用
本公开要求北京猎户星空科技有限公司于2018年3月21日提交的、发明名称为“机器人动作序列生成方法和装置”的、中国专利申请号“201810236770.4”的优先权。
技术领域
本公开涉及机器人控制技术领域,尤其涉及一种机器人动作序列生成方法和装置。
背景技术
目前,机器人由于可以根据场景需求解放用户执行相应的任务,在日常生成和生活中得到广泛应用。比如,机器人可以解放用户的双手进行扫地、倒咖啡等任务。
相关技术中,采用手动示教再现的方式进行机器人的控制,示教再现是一种可重复再现通过示教编程存储起来的作业程序的机器人。其中,“示教编程”指通过下述方式完成程序的编制:由人工导引机器人末端执行器(安装于机器人关节结构末端的夹持器、工具、焊枪、喷枪等),或由人工操作导引机械模拟装置,或用示教盒(与控制系统相连接的一种手持装置,用以对机器人进行编程或使之运动)来使机器人完成预期的动作;“作业程序”(任务程序)为一组运动及辅助功能指令,用以确定机器人特定的预期作业,这类程序通常由用户编制。由于此类机器人的编程通过实时在线示教程序来实现,而机器人本身凭记忆操作,故能不断重复再现。
发明内容
本公开提出一种机器人动作序列生成方法,该方法基于有向图自动确定出机器人完成任务所需要的执行的各动作和顺序,提高了机器人控制的便捷性,为机器人适应灵活多变的场景任务提供了支持,解决了现有技术中,需要手动示教机器人带来的控制效率低、引入新任务时任务量大的技术问题。
本公开提出一种机器人动作序列生成装置。
本公开提出一种计算机设备。
本公开提出一种计算机可读存储介质。
本公开第一方面实施例提出的一种机器人动作序列生成方法,包括以下步骤:获取有向图;所述有向图中包含用于指示机器人动作的多个节点,以及连接不同节点的有向边; 获取任务涉及的各目标动作,以及各目标动作的执行顺序;在所述有向图中,沿所述有向边指示的方向进行搜索,得到目标路径;所述目标路径所经过的节点中包含各目标动作对应的目标节点,且所述目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序;根据所述目标路径指示的各动作及其执行顺序,生成机器人动作序列。
本公开实施例的机器人动作序列生成方法,基于有向图自动确定出机器人完成任务所需要的执行的各动作和顺序,提高了机器人控制的便捷性,为机器人适应灵活多变的场景任务提供了支持,解决了现有技术中,需要手动示教机器人带来的控制效率低、引入新任务时任务量大的技术问题。
另外,本公开实施例的机器人动作序列生成方法,还包括如下附加的技术特征:
可选地,所述有向图中的节点包括用于指示一组连贯动作的第一节点,以及用于指示静态动作的第二节点;所述在所述有向图中,沿所述有向边指示的方向进行搜索,得到目标路径,包括:在所述有向图中,从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以所述预设的一个第二节点结束的路径;其中,所述目标节点属于用于指示一组连贯动作的第一节点;根据搜索到的路径,确定所述目标路径。
可选地,所述有向图中各有向边具有权值,所述权值用于指示从执行所述有向边连接一个节点指示的动作,到执行所述有向边连接的另一个节点指示的动作,所述机器人所需的时长;所述在所述有向图中,沿所述有向边指示的方向进行搜索,得到目标路径,包括:在所述有向图中,沿所述有向边指示的方向进行搜索,当搜索到的路径为至少两个时,对每个路径所经过的有向边进行权值求和,得到每个路径的总权值;将所述总权值指示的时长最短的路径,作为所述目标路径。
可选地,所述第二节点指示的静态动作,包括:预设的复位动作、各第一节点指示的一组连贯动作中的起始动作和所述各第一节点指示的一组连贯动作中的结束动作中的至少一种。
可选地,所述第二节点指示的静态动作,包括:过渡动作;所述过渡动作用于衔接所述过渡动作前和后执行的两个动作;所述生成机器人动作序列之后,还包括:根据所述机器人动作序列,对所述机器人进行控制;若在控制所述机器人过程中存在异常,确定存在异常前执行的最后一个动作,以及确定存在异常后应执行的首个动作;在所述有向图中,位于所述最后一个动作对应的节点和所述首个动作对应的节点之间,添加过渡动作对应的第二节点;根据所述最后一个动作对应的节点和所述首个动作对应的节点之间有向边的方向,确定所述过渡动作对应的第二节点与所述最后一个动作对应的节点之间的有向边的方向,以及确定所述过渡动作对应的第二节点与所述首个动作对应的节点之间有向边的方向;删除所述最后一个动作对应的节点和所述首个动作对应的节点之间有向边。
可选地,所述添加过渡动作对应的第二节点,包括:根据所述异常指示的障碍物位置,确定所述过渡动作的参数;根据所述过渡动作的参数,添加过渡动作对应的第二节点。
可选地,所述有向图中第一节点指示的一组连贯动作,是根据对所述任务拆解得到的子任务确定的,一组连贯动作用于执行对应的一个子任务;所述有向图中有向边的方向,是根据对应的不同组连贯动作之间逻辑顺序确定的。
可选地,所述生成机器人动作序列之后,还包括:根据所述机器人动作序列中各动作的执行顺序排列各动作关联的控制指令;根据排序后的控制指令对所述机器人进行控制。
本公开第二方面实施例提出的一种机器人动作序列生成装置,包括:第一获取模块,用于获取有向图;所述有向图中包含用于指示机器人动作的多个节点,以及连接不同节点的有向边;第二获取模块,用于获取任务涉及的各目标动作,以及各目标动作的执行顺序;搜索模块,用于在所述有向图中,沿所述有向边指示的方向进行搜索,得到目标路径;所述目标路径所经过的节点中包含各目标动作对应的目标节点,且所述目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序;控制模块,用于根据所述目标路径指示的各动作及其执行顺序,生成机器人动作序列。
本公开实施例的机器人动作序列生成装置,基于有向图自动确定出机器人完成任务所需要的执行的各动作和顺序,提高了机器人控制的便捷性,为机器人适应灵活多变的场景任务提供了支持,解决了现有技术中,需要手动示教机器人带来的控制效率低、引入新任务时任务量大的技术问题。
另外,本公开实施例的机器人动作序列生成装置,还包括如下附加的技术特征:
可选地,所述有向图中的节点包括用于指示一组连贯动作的第一节点,以及用于指示静态动作的第二节点;所述搜索模块,具体用于在所述有向图中,从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以所述预设的一个第二节点结束的路径;其中,所述目标节点属于用于指示一组连贯动作的第一节点,根据搜索到的路径,确定所述目标路径。
可选地,所述有向图中各有向边具有权值,所述权值用于指示从执行所述有向边连接一个节点指示的动作,到执行所述有向边连接的另一个节点指示的动作,所述机器人所需的时长;所述搜索模块,具体用于在所述有向图中,沿所述有向边指示的方向进行搜索,当搜索到的路径为至少两个时,对每个路径所经过的有向边进行权值求和,得到每个路径的总权值;将所述总权值指示的时长最短的路径,作为所述目标路径。
可选地,所述第二节点指示的静态动作,包括:过渡动作;所述过渡动作用于衔接所述过渡动作前和后执行的两个动作;所述控制模块,还用于:根据所述机器人动作序列,对所述机器人进行控制;若在控制所述机器人过程中存在异常,确定存在异常前执行的最 后一个动作,以及确定存在异常后应执行的首个动作;在所述有向图中,位于所述最后一个动作对应的节点和所述首个动作对应的节点之间,添加过渡动作对应的第二节点;根据所述最后一个动作对应的节点和所述首个动作对应的节点之间有向边的方向,确定所述过渡动作对应的第二节点与所述最后一个动作对应的节点之间的有向边的方向,以及确定所述过渡动作对应的第二节点与所述首个动作对应的节点之间有向边的方向;删除所述最后一个动作对应的节点和所述首个动作对应的节点之间有向边。
可选地,所述控制模块,具体用于根据所述异常指示的障碍物位置,确定所述过渡动作的参数,并根据所述过渡动作的参数,添加过渡动作对应的第二节点。
可选地,所述控制模块,还用于:根据所述机器人动作序列中各动作的执行顺序排列各动作关联的控制指令;根据排序后的控制指令对所述机器人进行控制。本公开第三方面实施例提出的计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前述实施例所述的机器人动作序列生成方法。
本公开第四方面实施例提出的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述实施例所述的机器人动作序列生成方法。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本公开一个实施例的机器人动作序列生成方法的流程图;
图2是根据本公开另一个实施例的机器人动作序列生成方法的流程图;
图3是根据本公开又一个实施例的机器人动作序列生成方法的流程图;
图4(a)是根据本公开一个实施例的机器人动作序列生成方法的场景示意图;
图4(b)是根据本公开另一个实施例的机器人动作序列生成方法的场景示意图;
图4(c)是根据本公开又一个实施例的机器人动作序列生成方法的场景示意图;
图4(d)是根据本公开再一个实施例的机器人动作序列生成方法的场景示意图;
图5是根据本公开再一个实施例的机器人动作序列生成方法的流程图;以及
图6是根据本公开一个实施例的机器人动作序列生成装置的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
下面参考附图描述本公开实施例的机器人动作序列生成方法和装置。
图1是根据本公开一个实施例的机器人动作序列生成方法的流程图,如图1所示,该方法包括:
步骤101,获取有向图;有向图中包含用于指示机器人动作的多个节点,以及连接不同节点的有向边。
可以理解,机器人在完成每个场景任务时,所执行的任务都可以看成是由多个动作组成的,灵活多变的不同的任务之间,在拆分为对应的动作时,每个动作具有相对一致性,比如,机器人在执行倒咖啡任务和执行烧水任务时,都包括“拿起”和“打开”动作等。
而这种动作的一致性,根据机器人的执行动作的原理,可以通过指示机器人动作的节点体现,该指示机器人动作的节点包括执行机器人动作时的起始位姿、终止位姿等完成动作的位置元素等,因此,在本公开的实施例中,基于执行任务之间可以共享的机器人动作对应的节点构建有向图,该有向图包含了执行场景中灵活多变的多个任务对应的机器人动作的指示节点。
也就是说,在本公开的实施例中,为了解决现有技术中,需要手动示教再现的方式对机器人进行控制,因而导致机器人控制效率较低的技术问题,引入用于指示机器人动作的多个节点,多个节点之间的通过有向边进行连接,其中,节点之间的有向边用于指示节点之间的执行顺序,通过有向边连接的多个节点形成了有向图。
由此,一方面,为了满足当前场景的任务需求,可以基于有向地图进行相关节点的匹配而自动生成相关机器人动作序列,提高了机器人控制效率,为满足灵活的场景任务提供了实现的方式;另一方面,有向地图由节点组成,因而,在扩展新的任务或者更新任务实施方式时,均可以通过在原有节点的基础上,通过节点的添加、删除以及连接方式的更新来实现,实用性较高、稳定性较强。
在实际应用中,根据场景任务要求,可以根据多个相关节点指示的具体动作以及多个相关节点之间的有向边,自动生成完成当前场景任务要求的目标路径,通过该目标路径指示的多个相关节点及多个相关节点之间的有向边指示的节点执行顺序,可以执行当前任务要求。
因而,在实际应用中,为了根据当前场景任务要求控制机器人,在本公开的实施例中,首先需要获取有向图,该有向图中包含了用于指示机器人动作的多个节点,以及连接不同节点的有向边,其中,连接不同节点的有向边用以指示节点之间的执行顺序。
步骤102,获取任务涉及的各目标动作,以及各目标动作的执行顺序。
正如以上描述的,任务实际上是由多个动作组成,比如,对于“冲一杯咖啡”的场景任务,实际上是由“抓起杯子”、“把杯子放到咖啡机下”、“按动咖啡机的出咖啡按钮”等动作组成的。因此,为了控制机器人满足当前任务,获取任务涉及的各目标动作,以及确定各目标动作的执行顺序,其中,各个目标动作的执行顺序对应动作执行逻辑,比如,动作“放下杯子”一定在“拿起杯子”动作之后等。
步骤103,在有向图中,沿有向边指示的方向进行搜索,得到目标路径;目标路径所经过的节点中包含各目标动作对应的目标节点,且目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序。
步骤104,根据目标路径指示的各动作及其执行顺序,生成机器人动作序列。
具体地,在本公开的实施例中,动作实际上是由指示动作的多个节点指示的,因而,在确定目标动作以及目标动作的执行顺序后,在有向地图中,沿有向边指示方向进行搜索,得到目标路径,其中,目标路径所经过的节点中包含各目标动作对应的目标节点,且目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序。
进而,根据目标路径指示的各动作及其执行顺序,生成机器人动作序列,以便于机器人通过执行该动作序列实现对应的场景任务。
需要说明的是,根据机器人控制原理的不同,控制机器人执行对应的动作序列的方式不同,在一些可能的示例中,根据机器人动作序列中各动作的执行顺序排列各关联动作的控制指令,进而根据排列后的控制指令对机器人进行控制。
基于以上描述,不难理解,本公开实施例中的目标路径由两种因素决定,其一为指示机器人动作的节点,其二为节点之间的有向边决定的执行顺序,通过以上两种因素的组合可以组成对应的目标路径以实现不同的任务。
为了更加清楚的描述目标路径的确定过程,下面结合在一些可能的示例中的实现方式进行说明。
在本公开的一个实施例中,有向图中的节点包括用于指示一组连贯动作的第一节点,第一节点对应的一组连贯动作是根据对任务拆解得到的子任务确定的,一组连贯动作用于执行对应的一个子任务,比如,当前任务为“饮品服务”,则根据该任务拆解为子任务“冲泡一杯美式咖啡”、“冲泡一杯拿铁”等。
有向图中还包括用于指示静态动作的第二节点,包含第一节点和第二节点的有向图中有向边的方向,是根据对应的不同组连贯动作之间的逻辑顺序、即子任务之间的逻辑顺序确定的,第二节点包括的静态动作用于完成当前场景任务的目标动作,比如,当前子任务为“冲一杯美式咖啡”,则完成当前场景任务的目标动作为“抓起杯子”、“把杯子放到 咖啡机下”、“按动咖啡机的出咖啡按钮”等。
其中,第二节点指示的静态动作,包括预设的复位动作(复位动作用于控制机器人在执行任务结束时,始终处于复位动作指示的固定的初始状态,从而,保证机器人在执行任务时,以从复位动作开始到复位动作结束的闭环操作方式,便于对机器人的控制)以及各第一节点指示的一组连贯动作中的起始动作和各第一节点指示的一组连贯动作中的结束动作中的至少一种(比如仅仅包含各第一节点指示的一组连贯动作中的起始动作,比如仅仅包括各第一节点指示的一组连贯动作中的结束动作,又比如包含各第一节点指示的一组连贯动作中的起始动作和结束动作)等相对静态存在的位置元素。
可以理解,本公开实施例中,以第一节点和第二节点为共同节点,以节点之间的相互转换关系为有向边,构建了一个有向图,所谓目标路径即为根据任务要求,将第一节点和第二节点按照一定的顺序组合起来,该组合起来的目标路径不但描述了节点指示的动作的空间转换关系,还描述了动作之间的执行逻辑关系,比如,当前任务为“冲一杯美式咖啡”时,生成的目标路径经过的节点中,“复位位置”的上一步一定是“放下咖啡杯”,有向地图的这种执行逻辑的体现,保证了在经过目标路径时的执行逻辑与实际应用中执行对应任务的逻辑的一致性,保证了有向地图的稳定性和实用性。
其中,由于机器人在执行动作时,需要一定的执行空间冗余,以保证机器人在执行任务的过程中不会发生碰撞,比如,自身的碰撞或者与障碍物的碰撞等,因而,要保证机器人在经过目标路径的节点时,能够在各个节点之间自由移动,本公开实施例中的第二节点还包括过渡动作,以用于衔接过渡动作前和后执行的两个节点指示的动作,避免机器人直接由起始动作过渡到终止动作导致的碰撞。
需要说明的是,过渡动作对应的第二节点的添加,可以根据机器人在执行动作时的动作和执行动作所需空间预先设置,也可以通过机器人执行动作的情况对过渡动作对应的第二节点进行添加或更新等。
具体而言,作为一种可能的实现方式,当对过渡动作对应的第二节点的处理方式为通过机器人执行动作的情况对过渡动作对应的第二节点进行添加或者更新时,如图2所示,该方式包括以下步骤:
步骤201,根据机器人动作序列,对机器人进行控制。
步骤202,若在控制机器人过程中存在异常,确定存在异常前执行的最后一个动作,以及确定存在异常后应执行的首个动作。
步骤203,在有向图中,位于最后一个动作对应的节点和首个动作对应的节点之间,添加过渡动作对应的第二节点。
可以理解,控制机器人的过程中出现异常的原因,可能是由于机器人在由上一个节点 切换到当前节点时,由于活动空间不足,自身碰撞或者与外界障碍物碰撞导致的,因而,为了保证上一个节点切换到当前节点的连贯性,在上一个节点和当前节点之间引入过渡动作对应的第二节点。
具体地,首先确定存在异常前执行的最后一个动作,以及确定存在异常后应执行的首个动作,即确定上述上一个节点和当前节点,并在有向图中,在位于最后一个动作对应的节点和首个动作对应的节点之间,添加过渡动作对应的第二节点。
在本公开的一个实施例中,为了保证引入的过渡动作的第二节点可以实现节点之间的自由切换,根据异常指示的障碍物位置,确定过渡动作的参数,比如,移动方向、移动距离和移动速度等,进而,根据过渡动作的参数,添加过度动作的第二节点。
步骤204,根据最后一个动作对应的节点和首个动作对应的节点之间有向边的方向,确定过渡动作对应的第二节点与最后一个动作对应的节点之间的有向边的方向,以及确定过渡动作对应的第二节点与首个动作对应的节点之间有向边的方向。
步骤205,删除最后一个动作对应的节点和首个动作对应的节点之间有向边。
由于有向图中除了包含节点外,还包含节点之间的有向边,因此,为了保证过渡动作对应的第二节点添加的有效性,在添加过渡动作对应的第二节点后,对过渡动作对应的第二节点的有向边进行添加。
具体地,根据最后一个动作对应的节点和首个动作对应的节点之间有向边的方向,确定过渡动作对应的第二节点与最后一个动作对应的节点之间的有向边的方向,以及确定过渡动作对应的第二节点与首个动作对应的节点之间有向边的方向,该有向边的方向根据最后一个动作对应的节点和首个动作对应的节点对应的动作的执行的逻辑确定,保证最后一个动作对应的节点可以过渡到首个动作对应的节点,此时,删除最后一个动作对应的节点和首个动作对应的节点之间有向边,实现最后一个动作对应的节点和首个动作对应的节点之间通过过渡动作对应的第二节点过渡连接。
进一步地,如图3所示,得到目标路径的方式包括以下步骤:
步骤301,在有向图中,从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以预设的一个第二节点结束的路径;其中,目标节点属于用于指示一组连贯动作的第一节点。
步骤302,根据搜索到的路径,确定目标路径。
具体而言,根据任务执行逻辑,预先设置一个开始第二节点和一个结束第二节点,比如,当前任务为“冲一杯美式咖啡”,则预设的一个开始第二节点为“拿起咖啡杯”,结束第二节点为“复位位置”等,进而,在有向图中,从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以预设的一个第二节点结束的路径;其中, 目标节点属于用于指示一组连贯动作的第一节点,根据搜索得到的路径,确定目标路径。
为了使得本公开实施例的目标路径的确定过程更加直观,下面结合具体的应用场景进行举例说明。
在本示例中,当前场景为咖啡机器人,对应的有向图如图4(a)所示,其中,参照图4(a),有向图中的第一节点包括“放下咖啡杯”、“接取热水”、“将咖啡杯从咖啡机中取出”、“将咖啡杯放入咖啡机”等,第二节点包括“放咖啡杯起始位置”、“复位位置”、“过渡节点”等。其中,参照图4(a),有向图中箭头的方向用于指示节点之间的有向边。
在当前任务为“冲一杯美式咖啡”时,指示该任务的一组连贯动作的目标节点即相关第一节点为“拿起咖啡杯”、“将咖啡杯放入咖啡机”、“接取热水”等,预设的开始的第二节点为“拿起咖啡杯开始位置”,预设的结束的第二节点为“复位位置”,则从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以预设的一个第二节点“复位位置”结束的路径,确定出的目标路径为如图4(b)中虚线线条所示,参照图4(b),目标路径将相关第一节点和第二节点按照执行顺序组合在一起,以完成当前任务。
在当前任务为“接取热水”时,指示该任务的一组连贯动作的目标节点即相关第一节点为“拿起咖啡杯”、“接取热水”等,预设的开始的第二节点为“拿起咖啡杯开始位置”,预设的结束的第二节点为“复位位置”,则从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以预设的一个第二节点“复位位置”结束的路径,确定出的目标路径为如图4(c)中虚线线条所示,参照图4(c),目标路径将相关第一节点和第二节点按照执行顺序组合在一起,以完成当前任务。
其中,在实际执行过程中,可能满足任务要求的路径不只一条,但是基于机器人的运作原理,机器人在经过不同的路径时的执行成本是不同的,比如,当机器人为机械臂时,机器人在经过不同路径的节点时,机器臂进行节点之间切换所需要的操作时间是不同的,因而,还可将执行成本体现在有向图中,以便于择优选择最优的路径作为目标路径。
作为一种可能的实现方式,执行成本为时间成本。在本示例中,为有向图中各有向边设置权值,权值用于指示从执行有向边连接一个节点指示的动作,到执行有向边连接的另一个节点指示的动作,机器人所需的时长,即如图4(a)-图4(c),有向边上的数字指示从执行有向边连接一个节点指示的动作,到执行有向边连接的另一个节点指示的动作,机器人所需的时长。
在本示例中,如图5所示,得到目标路径的方式包括以下步骤:
步骤401,在有向图中,沿有向边指示的方向进行搜索,当搜索到的路径为至少两个 时,对每个路径所经过的有向边进行权值求和,得到每个路径的总权值。
步骤402,将总权值指示的时长最短的路径,作为目标路径。
当存在多条满足当前任务的目标路径时,对每个路径所经过的有向边进行权值求和,得到每个路径的总权值,将总权值指示的时长最短的路径,作为目标路径,以保证机器人完成任务的时间最短,保证机器人的执行动作的效率。
举例而言,在当前任务为“接取热水”时,其中生成的一条路径为如图4(c)中虚线所示的路径1,另一条路径为如图4(d)中虚线所示的路径2,对每个路径所经过的有向边进行权值求和,得到路径1的总权值为6.9,路径2的总权值为7.3,则选择路径1作为目标路径以保证“接取热水”的效率。
综上所述,本公开实施例的机器人动作序列生成方法,基于有向图自动确定出机器人完成任务所需要的执行的各动作和顺序,提高了机器人控制的便捷性,为机器人适应灵活多变的场景任务提供了支持,解决了现有技术中,需要手动示教机器人带来的控制效率低、引入新任务时任务量大的技术问题。
为了实现上述实施例,本公开还提出一种机器人动作序列生成装置,图6是根据本公开一个实施例的机器人动作序列生成装置的结构示意图,如图6所示,该装置包括:第一获取模块100、第二获取模块200、搜索模块300和控制模块400。
其中,第一获取模块100,用于获取有向图;有向图中包含用于指示机器人动作的多个节点,以及连接不同节点的有向边。
第二获取模块200,用于获取任务涉及的各目标动作,以及各目标动作的执行顺序。
搜索模块300,用于在有向图中,沿有向边指示的方向进行搜索,得到目标路径;目标路径所经过的节点中包含各目标动作对应的目标节点,且目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序。
控制模块400,用于根据目标路径指示的各动作及其执行顺序,生成机器人动作序列。
在本公开的一个实施例中,有向图中的节点包括用于指示一组连贯动作的第一节点,以及用于指示静态动作的第二节点,在本实施例中,搜索模块300具体用于在有向图中,从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以预设的一个第二节点结束的路径;其中,目标节点属于用于指示一组连贯动作的第一节点,根据搜索到的路径,确定目标路径。
在本公开的一个实施例中,有向图中各有向边具有权值,权值用于指示从执行有向边连接一个节点指示的动作,到执行有向边连接的另一个节点指示的动作,机器人所需的时长,在本实施例中,搜索模块300具体用于在有向图中,沿有向边指示的方向进行搜索,当搜索到的路径为至少两个时,对每个路径所经过的有向边进行权值求和,得到每个路径 的总权值,将总权值指示的时长最短的路径,作为目标路径。
在本公开的一个实施例中,第二节点指示的静态动作,包括:过渡动作;过渡动作用于衔接过渡动作前和后执行的两个动作,在本实施例中,控制模块400具体还用于根据机器人动作序列,对机器人进行控制;若在控制机器人过程中存在异常,确定存在异常前执行的最后一个动作,以及确定存在异常后应执行的首个动作;在有向图中,位于最后一个动作对应的节点和首个动作对应的节点之间,添加过渡动作对应的第二节点;根据最后一个动作对应的节点和首个动作对应的节点之间有向边的方向,确定过渡动作对应的第二节点与最后一个动作对应的节点之间的有向边的方向,以及确定过渡动作对应的第二节点与首个动作对应的节点之间有向边的方向;删除最后一个动作对应的节点和首个动作对应的节点之间有向边。
在本实施例中,控制模块400具体用于根据异常指示的障碍物位置,确定过渡动作的参数,并根据过渡动作的参数,添加过渡动作对应的第二节点。
在本公开的一个实施例中,控制模块400还用于根据机器人动作序列中各动作的执行顺序排列各动作关联的控制指令,根据排序后的控制指令对机器人进行控制。
需要说明的是,前述对机器人动作序列生成方法实施例的解释说明也适用于该实施例的机器人动作序列生成装置,其实现原理类似,此处不再赘述。
综上所述,本公开实施例的机器人动作序列生成装置,基于有向图自动确定出机器人完成任务所需要的执行的各动作和顺序,提高了机器人控制的便捷性,为机器人适应灵活多变的场景任务提供了支持,解决了现有技术中,需要手动示教机器人带来的控制效率低、引入新任务时任务量大的技术问题。
为了实现上述实施例,本公开实施例还提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如前述机器人动作序列生成方法实施例所描述的机器人动作序列生成方法。
为了实现上述实施例,本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序由处理器执行时,实现如前述机器人动作序列生成方法实施例所描述的机器人动作序列生成方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意 性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (16)

  1. 一种机器人动作序列生成方法,其特征在于,所述方法包括以下步骤:
    获取有向图;所述有向图中包含用于指示机器人动作的多个节点,以及连接不同节点的有向边;
    获取任务涉及的各目标动作,以及各目标动作的执行顺序;
    在所述有向图中,沿所述有向边指示的方向进行搜索,得到目标路径;所述目标路径所经过的节点中包含各目标动作对应的目标节点,且所述目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序;
    根据所述目标路径指示的各动作及其执行顺序,生成机器人动作序列。
  2. 根据权利要求1所述的动作序列生成方法,其特征在于,所述有向图中的节点包括用于指示一组连贯动作的第一节点,以及用于指示静态动作的第二节点;
    所述在所述有向图中,沿所述有向边指示的方向进行搜索,得到目标路径,包括:
    在所述有向图中,从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以所述预设的一个第二节点结束的路径;其中,所述目标节点属于用于指示一组连贯动作的第一节点;
    根据搜索到的路径,确定所述目标路径。
  3. 根据权利要求1所述的动作序列生成方法,其特征在于,所述有向图中各有向边具有权值,所述权值用于指示从执行所述有向边连接一个节点指示的动作,到执行所述有向边连接的另一个节点指示的动作,所述机器人所需的时长;
    所述在所述有向图中,沿所述有向边指示的方向进行搜索,得到目标路径,包括:
    在所述有向图中,沿所述有向边指示的方向进行搜索,当搜索到的路径为至少两个时,对每个路径所经过的有向边进行权值求和,得到每个路径的总权值;
    将所述总权值指示的时长最短的路径,作为所述目标路径。
  4. 根据权利要求2所述的机器人动作序列生成方法,其特征在于,所述第二节点指示的静态动作,包括:预设的复位动作、各第一节点指示的一组连贯动作中的起始动作和所述各第一节点指示的一组连贯动作中的结束动作中的至少一种。
  5. 根据权利要求2所述的机器人动作序列生成方法,其特征在于,所述第二节点指示的静态动作,包括:过渡动作;所述过渡动作用于衔接所述过渡动作前和后执行的两个动作;
    所述生成机器人动作序列之后,还包括:
    根据所述机器人动作序列,对所述机器人进行控制;
    若在控制所述机器人过程中存在异常,确定存在异常前执行的最后一个动作,以及确定存在异常后应执行的首个动作;
    在所述有向图中,位于所述最后一个动作对应的节点和所述首个动作对应的节点之间,添加过渡动作对应的第二节点;
    根据所述最后一个动作对应的节点和所述首个动作对应的节点之间有向边的方向,确定所述过渡动作对应的第二节点与所述最后一个动作对应的节点之间的有向边的方向,以及确定所述过渡动作对应的第二节点与所述首个动作对应的节点之间有向边的方向;
    删除所述最后一个动作对应的节点和所述首个动作对应的节点之间有向边。
  6. 根据权利要求5所述的机器人动作序列生成方法,其特征在于,所述添加过渡动作对应的第二节点,包括:
    根据所述异常指示的障碍物位置,确定所述过渡动作的参数;
    根据所述过渡动作的参数,添加过渡动作对应的第二节点。
  7. 根据权利要求2或4-6任一项所述的机器人动作序列生成方法,其特征在于,
    所述有向图中第一节点指示的一组连贯动作,是根据对所述任务拆解得到的子任务确定的,一组连贯动作用于执行对应的一个子任务;
    所述有向图中有向边的方向,是根据对应的不同组连贯动作之间逻辑顺序确定的。
  8. 根据权利要求1-7任一项所述的机器人动作序列生成方法,其特征在于,所述生成机器人动作序列之后,还包括:
    根据所述机器人动作序列中各动作的执行顺序排列各动作关联的控制指令;
    根据排序后的控制指令对所述机器人进行控制。
  9. 一种机器人动作序列生成装置,其特征在于,所述装置,包括:
    第一获取模块,用于获取有向图;所述有向图中包含用于指示机器人动作的多个节点,以及连接不同节点的有向边;
    第二获取模块,用于获取任务涉及的各目标动作,以及各目标动作的执行顺序;
    搜索模块,用于在所述有向图中,沿所述有向边指示的方向进行搜索,得到目标路径;所述目标路径所经过的节点中包含各目标动作对应的目标节点,且所述目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序;
    控制模块,用于根据所述目标路径指示的各动作及其执行顺序,生成机器人动作序列。
  10. 如权利要求9所述的装置,其特征在于,所述有向图中的节点包括用于指示一组连贯动作的第一节点,以及用于指示静态动作的第二节点;
    所述搜索模块,具体用于在所述有向图中,从预设的一个第二节点开始,沿有向边指示的方向搜索顺序经过各目标节点后,并以所述预设的一个第二节点结束的路径;其中, 所述目标节点属于用于指示一组连贯动作的第一节点,根据搜索到的路径,确定所述目标路径。
  11. 如权利要求9所述的装置,其特征在于,所述有向图中各有向边具有权值,所述权值用于指示从执行所述有向边连接一个节点指示的动作,到执行所述有向边连接的另一个节点指示的动作,所述机器人所需的时长;
    所述搜索模块,具体用于:
    在所述有向图中,沿所述有向边指示的方向进行搜索,当搜索到的路径为至少两个时,对每个路径所经过的有向边进行权值求和,得到每个路径的总权值;
    将所述总权值指示的时长最短的路径,作为所述目标路径。
  12. 如权利要求9所述的装置,其特征在于,所述第二节点指示的静态动作,包括:过渡动作;所述过渡动作用于衔接所述过渡动作前和后执行的两个动作;
    所述控制模块,还用于:
    根据所述机器人动作序列,对所述机器人进行控制;
    若在控制所述机器人过程中存在异常,确定存在异常前执行的最后一个动作,以及确定存在异常后应执行的首个动作;
    在所述有向图中,位于所述最后一个动作对应的节点和所述首个动作对应的节点之间,添加过渡动作对应的第二节点;
    根据所述最后一个动作对应的节点和所述首个动作对应的节点之间有向边的方向,确定所述过渡动作对应的第二节点与所述最后一个动作对应的节点之间的有向边的方向,以及确定所述过渡动作对应的第二节点与所述首个动作对应的节点之间有向边的方向;
    删除所述最后一个动作对应的节点和所述首个动作对应的节点之间有向边。
  13. 权利要求12所述的装置,其特征在于,
    所述控制模块,具体用于根据所述异常指示的障碍物位置,确定所述过渡动作的参数,并根据所述过渡动作的参数,添加过渡动作对应的第二节点。
  14. 如权利要求9-13任一所述的装置,其特征在于,所述控制模块,还用于:
    根据所述机器人动作序列中各动作的执行顺序排列各动作关联的控制指令;
    根据排序后的控制指令对所述机器人进行控制。
  15. 一种计算机设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-8中任一所述的机器人动作序列生成方法。
  16. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的机器人动作序列生成方法。
PCT/CN2019/078746 2018-03-21 2019-03-19 机器人动作序列生成方法和装置 WO2019179440A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020550853A JP7316294B2 (ja) 2018-03-21 2019-03-19 ロボット動作シーケンスの生成方法及び装置、並びに、コンピュータ機器及び記憶媒体
EP19770593.2A EP3770757A4 (en) 2018-03-21 2019-03-19 METHOD AND DEVICE FOR GENERATING A SEQUENCE OF ROBOT ACTIONS
US17/025,522 US20210069905A1 (en) 2018-03-21 2020-09-18 Method and apparatus for generating action sequence of robot and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810236770.4A CN110297697B (zh) 2018-03-21 2018-03-21 机器人动作序列生成方法和装置
CN201810236770.4 2018-03-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/025,522 Continuation US20210069905A1 (en) 2018-03-21 2020-09-18 Method and apparatus for generating action sequence of robot and storage medium

Publications (1)

Publication Number Publication Date
WO2019179440A1 true WO2019179440A1 (zh) 2019-09-26

Family

ID=67988243

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/078746 WO2019179440A1 (zh) 2018-03-21 2019-03-19 机器人动作序列生成方法和装置

Country Status (6)

Country Link
US (1) US20210069905A1 (zh)
EP (1) EP3770757A4 (zh)
JP (1) JP7316294B2 (zh)
CN (1) CN110297697B (zh)
TW (1) TWI702508B (zh)
WO (1) WO2019179440A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114055451A (zh) * 2021-11-24 2022-02-18 深圳大学 基于知识图谱的机器人操作技能表达方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11787048B2 (en) * 2019-08-30 2023-10-17 Intrinsic Innovation Llc Robot planning from process definition graph
EP3792810A1 (en) * 2019-09-12 2021-03-17 Kompetenzzentrum - Das virtuelle Fahrzeug Forschungsgesellschaft mbH Method of generating an operation procedure for a simulation of a mechatronic system
CN111095170B (zh) * 2019-11-25 2021-01-01 深圳信息职业技术学院 虚拟现实场景及其交互方法、终端设备
CN113664821B (zh) * 2020-05-13 2023-07-25 广东博智林机器人有限公司 机器人路径规划方法和装置、存储介质及控制终端
CN111590578A (zh) * 2020-05-20 2020-08-28 北京如影智能科技有限公司 一种机器人控制方法及装置
CN111860243A (zh) * 2020-07-07 2020-10-30 华中师范大学 一种机器人动作序列生成方法
US11720108B2 (en) * 2020-12-22 2023-08-08 Baidu Usa Llc Natural language based indoor autonomous navigation
CN113199472B (zh) * 2021-04-14 2022-07-26 达闼机器人股份有限公司 机器人控制方法、装置、存储介质、电子设备和机器人
CN115674170B (zh) * 2021-07-30 2023-12-19 北京小米移动软件有限公司 机器人控制方法、装置、机器人及存储介质
CN115213889B (zh) * 2021-08-18 2023-01-13 达闼机器人股份有限公司 机器人控制方法、装置、存储介质及机器人
CN113967913B (zh) * 2021-10-22 2024-03-26 中冶赛迪上海工程技术有限公司 一种抓钢装置的运动规划方法及系统
US20230103364A1 (en) * 2022-02-25 2023-04-06 Denso Wave Incorporated Device for controlling return of robot to origin thereof, and method of searching return path of robot to origin thereof
DE102022104525A1 (de) 2022-02-25 2023-08-31 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm
DE102022111400A1 (de) 2022-05-06 2023-11-09 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Vorbereiten und Ausführen von Aufgaben mithilfe eines Roboters, Roboter und Computerprogramm
CN114888804B (zh) * 2022-05-18 2024-03-12 深圳鹏行智能研究有限公司 基于工作链的机器人控制装置及方法、介质、机器人
US20240034329A1 (en) * 2022-07-26 2024-02-01 Ford Global Technologies, Llc Vehicle data transmission
CN115049346B (zh) * 2022-08-16 2022-11-18 成都秦川物联网科技股份有限公司 基于物料运输障碍识别的工业物联网系统及控制方法
CN116513078A (zh) * 2023-05-24 2023-08-01 博泰车联网(南京)有限公司 车辆控制方法、电子设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1405287A1 (en) * 2001-07-11 2004-04-07 Simsurgery AS Systems and methods for interactive training of procedures
CN102448678A (zh) * 2009-05-26 2012-05-09 奥尔德巴伦机器人公司 用于编辑和控制移动机器人的行为的系统和方法
CN105500371A (zh) * 2016-01-06 2016-04-20 山东优宝特智能机器人有限公司 服务机器人控制器及其控制方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6337552B1 (en) * 1999-01-20 2002-01-08 Sony Corporation Robot apparatus
JPH07262019A (ja) * 1994-03-25 1995-10-13 Osaka Gas Co Ltd 知識情報変換装置及び有向グラフ解析装置
JPH07281748A (ja) * 1994-04-15 1995-10-27 Nippondenso Co Ltd 自走体の運行方法、及び自走体の運行システム
JP2001125646A (ja) * 1999-10-26 2001-05-11 Honda Motor Co Ltd 移動型プリンタおよび印刷物配達方法
US10105844B2 (en) * 2016-06-16 2018-10-23 General Electric Company System and method for controlling robotic machine assemblies to perform tasks on vehicles
SE525108C2 (sv) * 2002-12-30 2004-11-30 Abb Research Ltd Metod och system för programmering av en industrirobot, datorprogramprodukt, datorläsbart medium samt användning
KR100941418B1 (ko) * 2007-03-20 2010-02-11 삼성전자주식회사 이동 로봇의 위치 인식 방법
WO2008154228A1 (en) * 2007-06-08 2008-12-18 Honda Motor Co., Ltd. Multi-modal push planner for humanoid robots
JP2012190405A (ja) * 2011-03-14 2012-10-04 Toyota Motor Corp 経路情報修正装置、軌道計画装置、及びロボット
US8843236B2 (en) * 2012-03-15 2014-09-23 GM Global Technology Operations LLC Method and system for training a robot using human-assisted task demonstration
US8977485B2 (en) * 2012-07-12 2015-03-10 The United States Of America As Represented By The Secretary Of The Army Methods for robotic self-righting
US9056394B2 (en) * 2012-09-27 2015-06-16 Siemens Product Lifecycle Management Software Inc. Methods and systems for determining efficient robot-base position
CN103198366B (zh) * 2013-04-09 2016-08-24 北京理工大学 一种考虑目标节点时效性的多目标路径规划方法
JP5860081B2 (ja) * 2014-02-27 2016-02-16 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置
US9469029B2 (en) * 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
CN105291093A (zh) * 2015-11-27 2016-02-03 深圳市神州云海智能科技有限公司 一种家用机器人系统
CN106378780A (zh) * 2016-10-21 2017-02-08 遨博(北京)智能科技有限公司 一种机器人系统、控制机器人的方法和服务器
CN106940594B (zh) * 2017-02-28 2019-11-22 深圳信息职业技术学院 一种虚拟人及其运行方法
CN107678804B (zh) * 2017-08-22 2021-04-09 腾讯科技(深圳)有限公司 行为执行方法和装置、存储介质及电子装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1405287A1 (en) * 2001-07-11 2004-04-07 Simsurgery AS Systems and methods for interactive training of procedures
CN102448678A (zh) * 2009-05-26 2012-05-09 奥尔德巴伦机器人公司 用于编辑和控制移动机器人的行为的系统和方法
CN105500371A (zh) * 2016-01-06 2016-04-20 山东优宝特智能机器人有限公司 服务机器人控制器及其控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3770757A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114055451A (zh) * 2021-11-24 2022-02-18 深圳大学 基于知识图谱的机器人操作技能表达方法
CN114055451B (zh) * 2021-11-24 2023-07-07 深圳大学 基于知识图谱的机器人操作技能表达方法

Also Published As

Publication number Publication date
EP3770757A1 (en) 2021-01-27
JP2021516630A (ja) 2021-07-08
CN110297697A (zh) 2019-10-01
EP3770757A4 (en) 2021-12-15
TW201941081A (zh) 2019-10-16
US20210069905A1 (en) 2021-03-11
CN110297697B (zh) 2022-02-18
JP7316294B2 (ja) 2023-07-27
TWI702508B (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
WO2019179440A1 (zh) 机器人动作序列生成方法和装置
JP6150386B2 (ja) ロボット教示方法
JP5784670B2 (ja) 医療用ロボットに関する自動化された動作のための方法、装置、及びシステム
JP2019069268A5 (zh)
JP6717401B1 (ja) プログラミング支援装置、ロボットシステム及びプログラミング支援方法
US6591165B2 (en) Robot apparatus, body unit and coupling unit
CN103703790B (zh) 信息处理装置,输入终端选择方法、程序以及系统
JP2011201002A (ja) ロボット装置、ロボット装置の遠隔制御方法及びプログラム
JP5659890B2 (ja) ロボットの軌道計画システム及び軌道計画方法
CN109199240B (zh) 一种基于手势控制的扫地机器人控制方法及系统
WO2008130050A1 (ja) 経路作成方法及び経路作成装置
JP2015054378A (ja) 情報処理装置、ロボット、シナリオ情報生成方法及びプログラム
CN110297432B (zh) 机器人动作序列生成方法、装置和系统
WO2021152760A1 (ja) 原点復帰装置
JP2019171498A (ja) ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム
US20090150317A1 (en) Information processing apparatus, information processing method and program
CN111152228B (zh) 一种机器人动作自规划系统
JP2011121167A (ja) ロボットシステムの行為に基づくタスク実現方法
TWI828136B (zh) 環境整理控制方法及系統
EP3710205A1 (en) User interactive electronic system and method for controlling a robotic arm
US20230141855A1 (en) Device and method for controlling a robot device
JP6910628B2 (ja) ロボットを操作する装置、その装置において実行される方法およびプログラム。
JP6314410B2 (ja) ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法、及びプログラム
WO2021005403A1 (en) Method and system for converting a movement operation into a robot trajectory
JP2015139872A (ja) 情報処理装置、ロボット及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19770593

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020550853

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019770593

Country of ref document: EP

Effective date: 20201021