Action planning device, action planning method, and computer-readable storage medium

By combining symbolic planners and motion planners to generate motion plans for robotic devices, the practical execution and memory burden problems of complex tasks in existing technologies are solved, achieving lightweight and high-speed motion planning.

CN116261503BActive Publication Date: 2026-04-28OMRON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
OMRON CORP
Filing Date
2021-09-14
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing technologies struggle to execute complex tasks in real-world environments when automatically planning the actions of robotic devices, resulting in excessive memory load and a heavy burden on users. In particular, classic planning methods do not consider the specifications of the robotic device and the limitations of the actual environment, while the Moveit task builder relies on manually defined behavior sequences, leading to an even greater burden.

Method used

A method combining symbolic planner and motion planner is adopted to generate abstract behavior sequences and determine their executability in the real environment. The task environment is simplified by symbolic planner and actual execution is simulated by motion planner. Alternating processing is used to ensure executability, and behavior planning is optimized by combining cost prediction model.

Benefits of technology

While ensuring executability in real-world environments, it reduces memory load, enables high-speed generation of action plans, lowers user burden, and is suitable for complex tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116261503B_ABST
    Figure CN116261503B_ABST
Patent Text Reader

Abstract

The present application provides a kind of action planning device, action planning method and computer readable storage medium, for guaranteeing the executable of actual environment, and even if complex task, also make the load of memory relative light and generate action planning at high speed.This aspect of action planning device of the present application uses symbolic planner, generates the abstract behavior sequence containing more than one abstract behavior arranged in execution order.Action planning device uses motion planner, generates action sequence from each abstract behavior in execution order, and determines whether the generated action sequence can be physically executed by robotic device in actual environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a motion planning device, a motion planning method, and a computer-readable storage medium for planning the movements of a robot device. Background Technology

[0002] For example, various types of robotic devices are used to perform various tasks such as assembling products. The mechanisms, end effectors, and objects (workpieces, tools, obstacles, etc.) of these robotic devices vary greatly depending on the environment in which the task is performed. It is difficult to manually program the motion flow of the robotic device corresponding to all of these elements and to teach the robot the task. In particular, the more complex the task, the less practical it becomes to program all the motion flows. Therefore, sometimes the following method is used: after determining the mechanisms, end effectors, and objects, the robot is manually moved while recording the postures in a series of movements, and the task to be performed is taught directly.

[0003] However, in this method, whenever elements change, the motion flow used to perform the task may change, requiring the robot to be re-taught the motion flow. Therefore, the burden on motion planning increases with task changes. Thus, various methods have been attempted to automate motion planning for task execution. As an example of automated planning, classical planning is known. Classical planning abstracts the task environment and generates a sequence of actions (e.g., grasping, carrying, etc.) that change the state from a starting state to a target state. In addition, as an example of a tool, the Moveit task builder (Non-Patent Document 1) is known. According to the Moveit task builder, by manually defining the sequence of behaviors, it is possible to automatically generate motion instructions for the robot that are executable in the actual environment.

[0004] Existing technical documents

[0005] Non-patent literature

[0006] Non-Patent Document 1: “MoveIt Task Builder - moveit_tutorials Melody Documentation,” [Online], [Retrieved October 19, 2020], Internet <URL: https: / / ros-planning.github.io / moveit_tutorials / doc / moveit_task_constructor / moveit_task_constructor_tutorial.html> Summary of the Invention

[0007] The problem that the invention aims to solve

[0008] The inventors of this application have discovered that conventional automatic planning methods suffer from the following problems. Specifically, classical planning can generate sequences (solutions) of actions for task execution relatively quickly and with a relatively light memory load, even for complex tasks. Furthermore, solutions can be dynamically obtained even if the user (operator) has not defined the sequence of actions. However, classical planning is merely a simplified simulation of the task environment, neglecting real-world considerations such as robot specifications, object configuration, and workspace limitations. Therefore, it is unclear whether the actions obtained through classical planning can be executed in a real-world environment. On the other hand, the Moveit task builder can automatically generate action instructions that can be executed in a real-world environment. However, this is more time-consuming than manually defining the sequence of actions. The burden on the user increases, especially when the robot performs complex tasks. In addition, the memory load increases as all trial actions are stored in memory.

[0009] The present invention was made in view of this situation and aims to provide a technique for ensuring executability in real-world environments and for generating action plans with relatively light memory load and high speed, even for complex tasks.

[0010] Technical means to solve the problem

[0011] To address the aforementioned problems, the present invention employs the following structure.

[0012] That is, one aspect of the motion planning apparatus of the present invention includes: an information acquisition unit configured to acquire task information, the task information including information related to a start state and a target state of a task given to a robot device; a behavior generation unit configured to generate an abstract behavior sequence based on the task information using a symbolic planner, the abstract behavior sequence including one or more abstract behaviors arranged in execution order from the start state to the target state; and a motion generation unit configured to generate a motion sequence using a motion planner and determine whether the generated motion sequence can be physically executed by the robot device in a real environment, the motion sequence being used to perform a task according to the task information. The execution sequence executes the abstract behavior contained in the abstract behavior sequence and includes one or more physical actions; and the output unit is configured to output an action group, the action group including one or more action sequences generated using the motion planner and determined that all included action sequences can be physically executed, and the action planning device is configured such that, in the action generation unit, when it is determined that the action sequence cannot be physically executed, the abstract behavior sequence after the abstract behavior corresponding to the action sequence determined to be unable to be physically executed is discarded, and in the action generation unit, a new abstract behavior sequence after the action is generated using the symbol planner.

[0013] The motion planning device of the described structure generates motion plans for the robot device using two planners: a symbolic planner and a motion planner. First, in this structure, an abstract sequence of behaviors (i.e., abstract behavior planning) is generated from the task's starting state to the target state using the symbolic planner. In one example, an abstract behavior is an arbitrary set of actions that includes one or more actions of the robot device, and can be defined using a set of actions that can be expressed using symbols (e.g., language). That is, during the symbolic planner phase, the task's environment and conditions are simplified to generate an abstract behavior plan for performing the task. Thus, even for complex tasks, the abstract behavior plan can be generated with a relatively light memory load and at high speed.

[0014] Next, in the structure, a motion planner is used to generate a sequence of actions for executing abstract behaviors in the order of execution (i.e., converting abstract behaviors into action sequences), and it is determined whether the generated action sequences can be physically executed by the robot device in a real environment. That is, during the motion planner phase, within the scope of the abstract behavior plan generated by the symbolic planner, the robot device's actions in the real environment are simulated while generating a group of actions (motion plans). Furthermore, if an action plan that can be executed in a real environment cannot be generated (i.e., the behavior plan generated by the symbolic planner cannot be executed in a real environment), the subsequent plans for behaviors that cannot be physically executed are discarded, and the process returns to the symbolic planner phase to re-plan the abstract behavior sequence. Thus, during the motion planner phase, executability in a real environment can be guaranteed, and the motion plan can be efficiently generated by converging within the scope of the symbolic planner's behavior plan.

[0015] Therefore, according to the aforementioned structure, the process of generating motion plans for the robot device is divided into two stages: a stage using a symbolic planner and a stage using a motion planner. Motion plans are generated while the two planners are being exchanged. This ensures executability in real-world environments, and even for complex tasks, the memory load is relatively light while motion plans are generated quickly. Furthermore, when the motion planning device is configured to control the movements of the robot device, it can be referred to as a "control device" that acts to control the movements of the robot device.

[0016] In the action planning apparatus described above, the symbolic planner may also include a cost estimation model, which is trained using machine learning to estimate the cost of abstract behaviors. Furthermore, the behavior generation unit may be configured to use the symbolic planner to generate the abstract behavior sequence in a manner optimized by the cost estimated by the cost estimation model. Regarding the cost, it can be appropriately set based on any indicator such as action time, driving force, failure rate (success rate) of action planning, user feedback, etc., such that the more ideal the behavior, the lower the cost, and the less ideal the behavior, the higher the cost. According to this structure, by using the trained cost estimation model, the symbolic planner generates ideal abstract behavior plans based on costs, thereby easily generating more appropriate action plans. Additionally, corresponding to the case where the cost of each behavior is obtained heuristically, the "cost estimation model" may also be called a "heuristic model."

[0017] The action planning apparatus of one aspect may further include: a data acquisition unit configured to acquire multiple learning datasets, each of the multiple learning datasets comprising a combination of training samples representing training abstract behaviors and corrective labels representing the true value of the cost of the training abstract behaviors; and a learning processing unit configured to perform machine learning on the cost prediction model using the acquired multiple learning datasets, wherein the machine learning is configured to train the cost prediction model on each learning dataset such that the predicted value of the cost of the training abstract behavior represented by the training samples conforms to the true value represented by the corrective labels. According to this structure, the action planning apparatus can generate a trained cost prediction model for generating more appropriate action plans. Furthermore, the capability of the cost prediction model can be improved while using the action planning apparatus.

[0018] In one aspect of the motion planning apparatus, the positive solution label may represent the truth value of the cost calculated for the training abstract behavior based on at least one of the time consumed in executing the motion sequence generated by the motion planner and the actuation amount of the robot device during the execution of the motion sequence. According to this structure, a cost prediction model can be trained to obtain the ability to calculate the cost using at least one of the robot device's motion time and actuation amount as indicators. Thus, appropriate motion planning can be easily generated with respect to at least one of the robot device's motion time and actuation amount.

[0019] In one aspect of the motion planning apparatus, the positive solution label may represent the true value of the cost calculated based on the probability that the motion sequence generated by the motion planner is determined to be physically unexecutable for the training abstract behavior. According to this structure, a cost prediction model can be trained to obtain the ability to calculate costs using the failure rate of motion planning performed by the motion planner as an indicator. Therefore, regarding the abstract behavior sequence generated by the symbolic planner, the failure rate of motion planning performed by the motion planner can be reduced (in other words, the possibility of returning to the stage using the symbolic planner and replanning the abstract behavior sequence). That is, the symbolic planner can generate abstract behavior plans with high executability in a real-world environment, thereby reducing the processing time until the final motion plan is obtained.

[0020] In one aspect of the action planning device, the correct answer label may be configured to represent the true value of the cost calculated based on user feedback to the training abstract behavior. According to this configuration, a cost prediction model can be trained to acquire the ability to calculate costs using insights provided by user feedback as indicators. Thus, more appropriate action planning can be easily generated based on feedback.

[0021] The motion planning device of one aspect may further include an interface processing unit configured to output a list of abstract behaviors contained in an abstract behavior sequence generated using a symbolic planner to the user, and to receive feedback from the user on the output list of abstract behaviors. Furthermore, the data acquisition unit may be configured to acquire the learning dataset from the user's feedback on the list of abstract behaviors. The user's feedback may also be obtained relative to the motion plan generated by the motion planner. The motion sequence contained in the motion plan generated by the motion planner is defined by physical quantities (e.g., the trajectory of an end effector) driven by the accompanying robot device. Therefore, the generated motion plan contains a large amount of information but has low interpretability for the user (human). On the other hand, the abstract behaviors contained in the behavior plan generated by the symbolic planner can be defined, for example, as a set of actions that can be expressed using symbols such as language. Compared to the motion sequence defined by physical quantities, it contains less information but has higher interpretability for the user. Therefore, according to the structure, it is possible to suppress the consumption of resources (e.g., displays) on the plans generated by the planner from the user's output, and it is easy to obtain the user's feedback. Thus, it is possible to easily generate and improve the trained cost prediction model for generating more appropriate action plans.

[0022] In the aforementioned action planning apparatus, the state space of the task can be represented by a graph including edges and nodes. The edges correspond to abstract behaviors, and the nodes correspond to abstract attributes of objects that change through the execution of abstract behaviors. The symbolic planner can be configured to explore paths within the graph from a start node corresponding to a start state to a target node corresponding to a target state, thereby generating the sequence of abstract behaviors. Based on this structure, a symbolic planner can be easily generated, thus reducing the burden on the construction of the action planning apparatus.

[0023] In the motion planning device of one aspect, the step of outputting the motion group may include: controlling the motion of the robot device by giving instructions representing the motion group to the robot device. According to this structure, a motion planning device that controls the motion of a robot device based on the generated motion plan can be constructed. Furthermore, the motion planning device of this structure may be referred to as a "control device".

[0024] In the motion planning device described above, the robotic device may include one or more robotic arms, and the task may be an assembly operation of an article containing one or more parts. According to this structure, in scenarios where the assembly operation of an article is performed by a robotic arm, executability in a real-world environment can be guaranteed, and even for complex tasks, the memory load can be relatively light while generating motion plans at high speed.

[0025] Furthermore, as another aspect of the motion planning device described in each of the above forms, one aspect of the present invention can also be an information processing method that implements all or part of the above structures, which can be a program, or a storage medium readable by a computer or other device, machine, etc., storing such a program. Here, a storage medium readable by a computer or other device refers to a medium that stores information such as programs through electrical, magnetic, optical, mechanical, or chemical action.

[0026] For example, one aspect of the motion planning method of the present invention is an information processing method in which a computer performs the following steps: acquiring task information, the task information including information related to a start state and a target state of a task given to a robot device; generating an abstract behavior sequence based on the task information using a symbolic planner, the abstract behavior sequence including one or more abstract behaviors arranged in execution order from the start state to the target state; and generating a motion sequence using a motion planner, the motion sequence being used to execute the abstract behaviors contained in the abstract behavior sequence in the execution order and including one or more physical actions. The information processing method includes the following steps: determining whether the generated action sequence can be physically executed by the robot device in a real environment; and outputting an action group, the action group comprising one or more action sequences generated using the motion planner and determined that all included action sequences can be physically executed. In the determination step, when it is determined that the action sequence cannot be physically executed, the computer discards the abstract behavior sequence following the abstract behavior corresponding to the action sequence determined to be physically unexecuted, and returns to the step of generating the abstract behavior sequence, using the symbol planner to generate a new abstract behavior sequence following the behavior.

[0027] Furthermore, for example, a computer-readable storage medium according to one aspect of the present invention stores a motion planning program. The motion planning program is a program for causing a computer to perform the following steps: obtaining task information, the task information including information related to a start state and a target state of a task given to a robotic device; generating an abstract sequence of behaviors based on the task information using a symbolic planner, the abstract sequence of behaviors including one or more abstract behaviors arranged in execution order from the start state to the target state; generating a sequence of actions using a motion planner, the sequence of actions being used to execute the abstract behaviors contained in the abstract sequence of behaviors in the execution order and including one or more physical actions; determining the... The procedure includes the steps of determining whether the generated action sequence can be physically executed by the robot device in a real environment; and the steps of outputting an action group, the action group containing one or more action sequences generated using the motion planner and determined that all included action sequences can be physically executed. In the determination step, when it is determined that the action sequence cannot be physically executed, the computer discards the abstract behavior sequence following the abstract behavior corresponding to the action sequence determined to be physically unexecuted, and returns to the step of generating the abstract behavior sequence, using the symbol planner to generate a new abstract behavior sequence following the behavior.

[0028] The effects of the invention

[0029] According to the present invention, executability in real-world environments can be guaranteed, and even for complex tasks, the memory load can be relatively light and the action plan can be generated at high speed. Attached Figure Description

[0030] Figure 1 An example of a scenario in which the present invention is applicable is illustrated.

[0031] Figure 2 An example of the hardware structure of the action planning device in an embodiment is illustrated schematically.

[0032] Figure 3 An example of the software structure of the motion planning device in an embodiment is illustrated.

[0033] Figure 4 This illustration demonstrates an example of the machine learning process for a cost estimation model of an action planning device implemented in an embodiment.

[0034] Figure 5 This is a flowchart illustrating an example of the motion planning-related processing flow performed by the motion planning device in the implementation method.

[0035] Figure 6This schematically illustrates an example of how a symbolic planner generates abstract sequences of behaviors.

[0036] Figure 7 This schematically illustrates an example of the output form of an action planning device for an abstract sequence of behaviors.

[0037] Figure 8 An example of the motion planner's process for generating action sequences is illustrated schematically in this embodiment.

[0038] Figure 9 This is a flowchart illustrating an example of the machine learning-related processing flow of the cost estimation model for the motion planning device in the implementation method.

[0039] Figure 10 This illustrative example illustrates another application of the cost estimation model.

[0040] [Explanation of Symbols]

[0041] 1: Motion planning device

[0042] 11: Control Department

[0043] 12: Storage Department

[0044] 13: External Interface

[0045] 14: Input device

[0046] 15: Output device

[0047] 16: Driver

[0048] 81: Motion Planning Procedure

[0049] 91: Storage medium

[0050] 111: Information Acquisition Department

[0051] 112: Behavior Generation Department

[0052] 113: Motion Generation Department

[0053] 114: Output Department

[0054] 115: Data Acquisition Department

[0055] 116: Learning Processing Department

[0056] 117: Interface Processing Department

[0057] 121: Mission Information

[0058] 125: Learning Outcome Data

[0059] 3: Symbol Planner

[0060] 4: Cost estimation model

[0061] 41: Input Layer

[0062] 43: Middle (Hidden) Layer

[0063] 45: Output Layer

[0064] 5: Motion Planner

[0065] 60: Learning Dataset

[0066] 61: Training Samples

[0067] 62: Correct answer label

[0068] R: Robotic device Detailed Implementation

[0069] Hereinafter, an embodiment of one aspect of the present invention (hereinafter also referred to as "this embodiment") will be described based on the accompanying drawings. However, the embodiment described below is merely an example of the present invention in all respects. Of course, various modifications or variations can be made without departing from the scope of the present invention. That is, in the implementation of the present invention, specific structures corresponding to the embodiments may also be appropriately adopted. In addition, the data appearing in this embodiment is described using natural language, but more specifically, it is specified using computer-recognizable pseudo-language, commands, parameters, machine language, etc.

[0070] §1 Applicable Examples

[0071] Figure 1 An example of a scenario in which the present invention is applied is illustrated schematically. The motion planning device 1 of this embodiment is a computer configured to generate motion plans for causing the robot device R to perform tasks.

[0072] First, the motion planning device 1 acquires task information 121, which includes information related to the start state and target state of the task given to the robot device R. The type of robot device R is not particularly limited and can be appropriately selected according to the implementation method. The robot device R may be, for example, an industrial robot (manipulator, etc.), or an automatically moving body. Industrial robots may be, for example, vertical multi-joint robots, selective compliant assembly robots, parallel link robots, orthogonal robots, collaborative robots, etc. Automatically moving bodies may be, for example, unmanned aerial vehicles, vehicles configured for automatic driving, mobile robots, etc. The robot device R may include multiple robots. The task may include any operation that the robot device R can perform, such as the assembly of a product. The environment for performing the task is defined not only according to the robot device R, but also, for example, according to objects such as workpieces (parts, etc.), tools (screwdrivers, etc.), and obstacles. As an example, the robot device R may include one or more manipulators, and the task may be the assembly operation of a product containing one or more parts. In this case, motion planning for the operation of assembling the product using manipulators can be generated. Task information 121 may include information other than the task's start and target states (such as information related to the task's environment), provided that it contains information indicating the task's start and target states.

[0073] Next, the motion planning device 1 uses the symbolic planner 3 to generate an abstract behavior sequence based on the task information 121. This abstract behavior sequence contains one or more abstract behaviors arranged in execution order from a starting state to a target state. The abstract behavior sequence can be referred to as abstract behavior planning or symbolic planning. Then, the motion planning device 1 uses the motion planner 5 to convert the abstract behaviors contained in the abstract behavior sequence into a sequence of actions according to the execution order of the behavior plan. The action sequence can be appropriately configured such that the abstract behavior being performed contains one or more physical actions. Thus, the motion planning device 1 generates a sequence of actions for executing abstract behaviors in execution order. Simultaneously with generating the action sequence, the motion planning device 1 uses the motion planner 5 to determine whether the generated action sequence can be physically executed by the robot device R in the actual environment.

[0074] In one example, an abstract behavior is a set of arbitrary actions that include one or more actions of the robotic device R, and can be defined as a set of actions that can be expressed using symbols (such as language). An abstract behavior can be defined, for example, as a set of meaningful (i.e., human-understandable) actions such as grasping, moving, and positioning a part. On the other hand, a physical action can be defined as the mechanically driven action (physical quantity) accompanying the robotic device R. A physical action can be defined, for example, as a control quantity in a controlled object such as the track of an end effector.

[0075] Correspondingly, the initial state can be defined by the robot device R, which serves as the starting point for performing the task, and the abstract attributes and physical states of the object. The target state can be defined by the robot device R, which serves as the target point for the task to be performed, and the abstract attributes of the object. The physical states of the robot device R and the object in the target state can be predetermined or not (in which case, the physical states in the target state can be appropriately determined based on the execution results of the motion planner 5, etc., according to the abstract attributes in the target state). The "target" can be either the final goal or an intermediate goal of the task. Abstract attributes become the objects that are changed through the execution of abstract behaviors. Abstract attributes can be, for example, constituting abstract (symbolic) states such as free, holding a workpiece, holding a tool, being held by a manipulator, or being fixed in a specified position. Physical states can be defined, for example, by physical quantities in the actual environment such as position, posture, and orientation.

[0076] Symbolic planner 3 may be suitably configured to perform the following processing: when given information representing a start state and a target state, it generates an abstract sequence of actions from the start state to the target state. Symbolic planner 3 may, for example, be configured to generate the abstract sequence of actions by repeatedly performing the following processing: selecting abstract actions that can be performed in a manner approaching the target state from the start state, according to prescribed rules such as classical planning (graph exploration). Motion planner 5 may be suitably configured to perform the following processing: when given information representing at least a portion of the abstract sequence of actions, it generates a sequence of actions for performing the abstract actions; and determines whether the robot device R can physically perform the generated sequence of actions in a real environment. In one example, motion planner 5 may include a converter that converts abstract actions into a sequence of actions according to prescribed rules, and a physical simulator that physically simulates the obtained sequence of actions.

[0077] If the abstract behavior plan generated by the symbolic planner 3 cannot be executed in a real-world environment (i.e., the abstract behavior sequence contains abstract behaviors that cannot be executed in a real-world environment), then in the processing of the motion planner 5, it is determined that the action sequence generated for the abstract behavior that caused it cannot be physically executed. At this time, the motion planning device 1 discards the abstract behavior sequence following the abstract behavior that was determined to be physically unexecuted. Furthermore, the motion planning device 1 uses the symbolic planner 3 to generate a new abstract behavior sequence following the abstract behavior. That is, in the stage of using the motion planner 5, if it is determined that the abstract behavior sequence contains abstract behaviors that cannot be executed in a real-world environment (the generation of action sequences that can be executed in a real-world environment fails), then the motion planning device 1 returns to the stage of using the symbolic planner 3 and re-plans the abstract behavior sequence.

[0078] The action planning device 1 alternately and repeatedly processes the symbolic planner 3 and the motion planner 5 as described above until it is determined that all action sequences can be executed in a real-world environment (i.e., the generation of action sequences that can be executed in a real-world environment for all abstract behaviors is successful). Thus, the action planning device 1 generates an action group containing one or more action sequences in a manner from a starting state to a target state, and it has been determined that all contained action sequences can be physically executed. Alternatively, if a behavior plan that can be executed in a real-world environment is generated through the initial use of the symbolic planner 3, the action planning device 1 can generate the action group by sequentially executing (not repeatedly processing) the symbolic planner 3 and the motion planner 5.

[0079] The generated action set is equivalent to the motion plan for the robot device R to perform a task (i.e., to reach the target state from the starting state). The motion planning device 1 outputs the action set generated using the motion planner 5. Furthermore, the step of outputting the action set may include controlling the action of the robot device R by giving instructions representing the action set to the robot device R. When the motion planning device 1 is configured to control the action of the robot device R, the motion planning device 1 can be referred to as a "control device" for controlling the action of the robot device R.

[0080] As described above, in this embodiment, the process of generating motion plans for the robot device R is divided into two stages: an abstraction stage using symbolic planner 3 and a physical stage using motion planner 5. Motion plans are generated while exchanging information between the two planners (3, 5). In the abstraction stage using symbolic planner 3, the task environment and conditions can be simplified to an abstract level rather than a level of complex real-world conditions, thereby generating a behavior plan for performing the task. Therefore, even for complex tasks, abstract behavior plans (abstract behavior sequences) can be generated relatively quickly and with a relatively light memory load. Furthermore, in this embodiment, the processing of the motion sequence generated by motion planner 5 utilizes the processing result of symbolic planner 3 (i.e., it is executed after the processing of symbolic planner 3). Thus, in the physical stage using motion planner 5, executability in a real-world environment can be guaranteed, and motion plans can be generated efficiently within the range of the behavior plan of symbolic planner 3. Therefore, according to this embodiment, executability in a real-world environment can be guaranteed, and even for complex tasks, motion plans for the robot device R can be generated quickly and with a relatively light memory load.

[0081] §2 Structural Examples

[0082] [Hardware Structure]

[0083] Figure 2 An example of the hardware structure of the motion planning device 1 in this embodiment is illustrated schematically. For example... Figure 2 As shown, the motion planning device 1 of this embodiment is a computer electrically connected together by a control unit 11, a storage unit 12, an external interface 13, an input device 14, an output device 15, and a driver 16. Furthermore, Figure 2 In this context, the external interface is referred to as "external I / F".

[0084] The control unit 11 includes, for example, a central processing unit (CPU), random access memory (RAM), and read-only memory (ROM), and is configured to perform information processing based on programs and various data. The storage unit 12 is an example of a memory, such as a hard disk drive or a solid-state drive. In this embodiment, the storage unit 12 stores various information, including the action planning program 81.

[0085] Motion planning program 81 is used to cause motion planning device 1 to perform information processing (described later) related to the generation of motion planning. Figure 5 as well as Figure 9 The action planning program 81 contains a series of commands for the information processing. Details will be described later.

[0086] External interface 13, such as a Universal Serial Bus (USB) port or a dedicated port, is an interface used to connect to external devices. The type and number of external interfaces 13 can be arbitrarily selected. When the motion planning device 1 is configured to control the actions of the robot device R, the motion planning device 1 can be connected to the robot device R via external interface 13. Furthermore, the connection method between the motion planning device 1 and the robot device R is not limited to this example and can be appropriately selected depending on the implementation. As another example, the motion planning device 1 and the robot device R can be connected to each other via a communication interface such as a wired local area network (LAN) module or a wireless LAN module.

[0087] Input device 14 is, for example, a mouse, keyboard, or other device for input. Output device 15 is, for example, a display, speaker, or other device for output. Users or operators can operate motion planning device 1 using input device 14 and output device 15.

[0088] The drive 16, such as a compact disc (CD) drive or a digital versatile disc (DVD) drive, is a drive device used to read various information, such as programs, stored in the storage medium 91. The storage medium 91 is a medium that preserves the stored programs and other information through electrical, magnetic, optical, mechanical, or chemical means, in a manner that allows a computer or other device or machine to read the stored information. The motion planning program 81 may also be stored in the storage medium 91. The motion planning device 1 may also retrieve the motion planning program 81 from the storage medium 91. Furthermore, Figure 2 In this example, storage medium 91 is illustrated with disc-type storage media such as CDs and DVDs. However, the type of storage medium 91 is not limited to disc-type and may be other types. Examples of storage media other than disc-type include semiconductor memories such as flash memory. The type of drive 16 can be arbitrarily selected depending on the type of storage medium 91.

[0089] Furthermore, the specific hardware structure of the motion planning device 1 can be appropriately omitted, replaced, or added depending on the implementation method. For example, the control unit 11 may include multiple hardware processors. The hardware processors may include microprocessors, field-programmable gate arrays (FPGAs), digital signal processors (DSPs), etc. The storage unit 12 may also include the RAM and ROM included in the control unit 11. At least one of the external interface 13, input device 14, output device 15, and driver 16 may also be omitted. The motion planning device 1 may also include multiple computers. In this case, the hardware structure of each computer may be the same or different. Moreover, in addition to information processing devices designed specifically for the services provided, the motion planning device 1 may also be a general-purpose server device, a general-purpose personal computer (PC), a programmable logic controller (PLC), etc.

[0090] [Software Structure]

[0091] Figure 3An example of the software structure of the motion planning device 1 of this embodiment is illustrated schematically. The control unit 11 of the motion planning device 1 expands the motion planning program 81 stored in the storage unit 12 into RAM. Furthermore, the control unit 11 interprets and executes the commands contained in the motion planning program 81 expanded in RAM via the CPU to control each component. Thus, the motion planning device 1 of this embodiment operates as a computer including an information acquisition unit 111, an action generation unit 112, an action generation unit 113, an output unit 114, a data acquisition unit 115, a learning processing unit 116, and an interface processing unit 117 as software modules. That is, in this embodiment, each software module of the motion planning device 1 is implemented by the control unit 11 (CPU).

[0092] The information acquisition unit 111 is configured to acquire task information 121, which includes information related to the start state and target state of the task given to the robot device R. The behavior generation unit 112 includes a symbol planner 3. The behavior generation unit 112 is configured to use the symbol planner 3 to generate an abstract behavior sequence based on the task information 121. The abstract behavior sequence includes one or more abstract behaviors arranged in execution order from the start state to the target state. The action generation unit 113 includes a motion planner 5. The action generation unit 113 is configured to use the motion planner 5 to generate an action sequence and determine whether the generated action sequence can be physically executed by the robot device R in a real environment. The action sequence is used to execute the abstract behaviors contained in the abstract behavior sequence in execution order and includes one or more physical actions. Furthermore, the storage destination of the structural information (not shown) of each of the symbol planner 3 and the motion planner 5 is not particularly limited and can be appropriately selected according to the implementation method. In one example, the structural information can be included in the motion planning program 81 or stored separately in memory (storage unit 12, storage medium 91, external storage device, etc.).

[0093] The motion planning device 1 is configured such that, in the motion generation unit 113, if it is determined that a motion sequence cannot be physically executed, an abstract behavior sequence following the abstract behavior corresponding to the motion sequence determined to be physically unexecuted is discarded, and in the behavior generation unit 112, a new abstract behavior sequence following the behavior is generated using the symbol planner 3. The output unit 114 is configured to output an action group, which includes one or more motion sequences generated using the motion planner 5, and it has been determined that all of the included motion sequences can be physically executed.

[0094] The symbolic planner 3 may be appropriately configured to generate abstract behavior sequences according to prescribed rules. In this embodiment, the symbolic planner 3 may further be configured to include a cost prediction model (heuristic model) 4, which is trained by machine learning to predict the cost of abstract behaviors. Correspondingly, the behavior generation unit 112 may further be configured to use the symbolic planner 3 to generate abstract behavior sequences in a manner that optimizes the cost predicted by the trained cost prediction model 4.

[0095] Cost estimation model 4 may be appropriately configured to output a predicted cost value (i.e., a result of cost estimation) of a candidate abstract action when given one. Candidates for abstract actions may be specified directly or indirectly based on a combination of candidates for the current state and the next state. Furthermore, the information input to cost estimation model 4 may not be limited to information representing candidates for abstract actions. Cost estimation model 4 may be configured to accept input of other information (e.g., at least a portion of task information 121) that can be used for cost estimation, in addition to information representing candidates for abstract actions.

[0096] The trained cost prediction model 4 can be generated by the motion planning device 1 or by a computer other than the motion planning device 1. In this embodiment, the motion planning device 1 is configured to include a data acquisition unit 115 and a learning processing unit 116, thereby enabling it to generate the trained cost prediction model 4 and retrain the cost prediction model 4.

[0097] Figure 4 An example of the machine learning process of the cost prediction model 4 in this embodiment is illustrated schematically. The data acquisition unit 115 is configured to acquire a plurality of learning datasets 60, each of which contains a combination of training samples 61 and positive answer labels 62. The training samples 61 may be appropriately configured to represent abstract behaviors for training. When the cost prediction model 4 is configured to further accept input of other information, the training samples 61 may be configured to further contain other information for training. The positive answer label 62 may be appropriately configured to represent the truth value of the cost of the abstract behaviors for training represented by the corresponding training sample 61.

[0098] The learning processing unit 116 is configured to perform machine learning on the cost prediction model 4 using the acquired multiple learning datasets 60. The machine learning is configured such that, for each learning dataset 60, the cost prediction model 4 is trained so that the predicted cost for the training abstract behavior represented by the training sample 61 conforms to the true value represented by the corresponding positive solution label 62.

[0099] Regarding costs, they can be appropriately set based on any metrics such as action time, driving force, failure rate of action planning, and user feedback. The more recommended the behavior, the lower the cost; the less recommended the behavior, the higher the cost. The numerical expression of costs can be appropriately set. In one example, costs can be expressed as directly proportional to the numerical value (i.e., the larger the value, the higher the cost). In another example, costs can be expressed as inversely proportional to the numerical value (i.e., the smaller the value, the higher the cost).

[0100] The time consumed in executing the action sequence (action time) and the actuation of the robot device R during the execution of the action sequence can be evaluated through the motion planning obtained for performing the task. Therefore, each learning dataset 60 can be obtained from the generation results of action groups by the motion planner 5, using at least one of action time and actuation as the cost evaluation metric.

[0101] The failure rate of motion planning (i.e., the probability that the action sequence generated by motion planner 5 for abstract behaviors is determined to be physically unexecutable) can be evaluated by performing the processing of motion planner 5 on the abstract behavior sequence obtained by symbolic planner 3. Therefore, when using the failure rate of motion planning as a cost evaluation metric, each learning dataset 60 can be obtained from the execution results of the processing of motion planner 5 on the abstract behavior sequence obtained by symbolic planner 3. Furthermore, the success rate of motion planning (i.e., the probability that the action sequence generated by motion planner 5 for abstract behaviors is determined to be physically executable) can be treated as a cost evaluation metric, treated equally with the failure rate. Therefore, evaluating cost based on the failure rate of motion planning can include evaluating cost based on the success rate of motion planning. Moreover, the failure rate (success rate) does not necessarily have to be expressed in the range of 0 to 1. As another example, the failure rate can also be expressed as both successful motion planning (cost is 0) and failed motion planning (cost is infinite).

[0102] When using user feedback as a cost evaluation metric, each learning dataset 60 can be appropriately acquired based on the feedback obtained from the user. The timing and form of the feedback are not particularly limited and can be appropriately determined according to the implementation method. In this embodiment, the user feedback can be acquired through the interface processing unit 117. That is, the interface processing unit 117 is configured to provide the user with a list of abstract behaviors contained in the abstract behavior sequence generated using the symbolic planner 3, and to accept the user's feedback on the output list of abstract behaviors. Each learning dataset 60 can be acquired based on the user's feedback on the list of abstract behaviors.

[0103] Furthermore, regardless of the evaluation metric used, the timing of collecting the learning dataset 60 is not particularly limited and can be appropriately determined according to the implementation method. All learning datasets 60 may also be collected before using the action planning device 1. Alternatively, at least a portion of the multiple learning datasets 60 may be collected while using the action planning device 1.

[0104] (Cost estimation model)

[0105] Cost estimation model 4 may appropriately include a machine learning model with computational parameters that can be adjusted through machine learning. The structure and type of the machine learning model can be appropriately selected according to the implementation method.

[0106] As an example, cost prediction model 4 can include a fully associative neural network. Figure 4 In the example, the cost prediction model 4 includes an input layer 41, one or more intermediate (hidden) layers 43, and an output layer 45. The number of intermediate layers 43 can be appropriately selected depending on the implementation. In another example, the intermediate layers 43 may also be omitted. The number of layers in the neural network constituting the cost prediction model 4 can be appropriately selected depending on the implementation.

[0107] Each layer (41, 43, 45) includes one or more neurons (nodes). The number of neurons in each layer (41, 43, 45) can be appropriately determined according to the implementation method. The number of neurons in the input layer 41 can be appropriately determined, for example, according to the input shape such as the dimension of the input. The number of neurons in the output layer 45 can be appropriately determined, for example, according to the output shape such as the dimension of the output. Figure 4 In the example, each neuron in each layer (41, 43, 45) is coupled with all neurons in the adjacent layers.

[0108] However, the structure of the cost estimation model 4 is not limited to this example and can be appropriately determined according to the implementation method. As another example, when the cost estimation model 4 is constructed to estimate costs based on multiple pieces of information, at least a portion of the input side of the cost estimation model 4 can be divided into multiple modules to handle the input of various types of information respectively. As an example of a specific structure, the cost estimation model 4 may include: multiple feature extraction modules, arranged side-by-side on the input side to handle the input of corresponding information; and a combination module, arranged on the output side to handle the outputs of each feature extraction module. Each feature extraction module may be appropriately configured to extract feature quantities from the corresponding information. The combination module may be appropriately configured to combine the feature quantities extracted from each piece of information by each feature extraction module to output a predicted cost value.

[0109] For each combination in each layer (41, 43, 45), weights (combination loads) are assigned. A threshold is set for each neuron; essentially, the output of each neuron is determined by whether the sum of the products of each input and each weight exceeds the threshold. The threshold can be expressed using an activation function. In this case, the sum of the products of each input and each weight is input into the activation function, and the activation function's operation is performed, thereby determining the output of each neuron. The type of activation function can be arbitrarily chosen. The weights of the combinations between neurons in each layer (41, 43, 45) and the thresholds of each neuron are examples of operational parameters.

[0110] In the machine learning of the cost prediction model 4, the learning processing unit 116 uses the training samples 61 of each learning dataset 60 as training data (input data) and the positive solution label 62 as positive solution data (teaching signal). That is, the learning processing unit 116 inputs the training samples 61 of each learning dataset 60 into the input layer 41 and performs sequential propagation operation processing of the cost prediction model 4. Through this operation, the learning processing unit 116 obtains the predicted cost value for the training abstract behavior from the output layer 45. The learning processing unit 116 calculates the error between the obtained cost prediction value and the true value (positive solution) represented by the positive solution label 62 associated with the input training sample 61. For each learning dataset 60, the learning processing unit 116 repeatedly adjusts the values ​​of each operation parameter of the cost prediction model 4 to reduce the calculated error. Thus, the trained cost prediction model 4 can be generated.

[0111] The learning processing unit 116 may be configured to generate learning result data 125, which is used to reproduce the trained cost prediction model 4 generated by the machine learning. The structure of the learning result data 125 is not particularly limited as long as the trained cost prediction model 4 can be reproduced, and can be appropriately determined according to the implementation method. In one example, the learning result data 125 may also include information representing the values ​​of each operational parameter of the cost prediction model 4 obtained through the adjustment of the machine learning. Depending on the situation, the learning result data 125 may further include information representing the structure of the cost prediction model 4. The structure of the cost prediction model 4 can be determined, for example, by the number of layers in the neural network from the input layer to the output layer, the types of each layer, the number of neurons in each layer, and the connection relationships between neurons in adjacent layers. The learning processing unit 116 may be configured to save the generated learning result data 125 to a predetermined storage area.

[0112] (other)

[0113] The various software modules of the motion planning device 1 will be described in detail in the action examples described later. Furthermore, in this embodiment, an example is given where each software module of the motion planning device 1 is implemented using a general-purpose CPU. However, some or all of these software modules may also be implemented using one or more dedicated processors. These modules may also be implemented as hardware modules. Moreover, regarding the software structure of the motion planning device 1, software modules may be omitted, replaced, or added as appropriate depending on the implementation method.

[0114] §3 Action Examples

[0115] (1) Motion planning

[0116] Figure 5 This is a flowchart illustrating an example of the motion planning-related processing flow performed by the motion planning device 1 in this embodiment. The motion planning-related processing flow described below is an example of a motion planning method. However, the motion planning-related processing flow described below is only an example, and each step can be changed as much as possible. Moreover, for the motion planning-related processing flow below, steps can be appropriately omitted, replaced, or added according to the embodiment.

[0117] (Step S101)

[0118] In step S101, the control unit 11 operates as an information acquisition unit 111 to acquire task information 121, which includes information related to the start state and target state of the task given to the robot device R.

[0119] The method for acquiring task information 121 is not particularly limited and can be appropriately selected according to the implementation method. In one example, task information 121 can be acquired as a user input result via input device 14. In another example, task information 121 can be acquired as a result of observing the start state and target state of the task through sensors such as cameras. As long as the start state and target state can be determined, the data format of task information 121 is not particularly limited and can be appropriately selected according to the implementation method. Task information 121 may include, for example, numerical data, text data, image data, etc. In order to determine the task, the start state can be appropriately specified for both the abstract stage and the physical stage. The target state can be appropriately specified for at least the abstract stage or the physical stage. In addition to containing information representing the start state and the target state respectively, task information 121 may further include other information that can be used to generate abstract behavior sequences or action groups. When task information 121 is acquired, control unit 11 advances the processing to the next step S102.

[0120] (Step S102)

[0121] In step S102, the control unit 11 operates as the behavior generation unit 112, referring to the task information 121 and using the symbol planner 3 to plan abstract behaviors in a manner from the start state to the target state. Thus, the control unit 11 generates an abstract behavior sequence based on the task information 121, the abstract behavior sequence containing one or more abstract behaviors arranged in execution order from the start state to the target state.

[0122] Figure 6 This embodiment schematically illustrates an example of the process by which the symbol planner 3 generates a sequence of abstract behaviors. The state space of the task in the abstract phase can be represented by a graph including edges and nodes, where the edges correspond to abstract behaviors and the nodes correspond to abstract attributes of objects that change through the execution of abstract behaviors. That is, the state space in which the symbol planner 3 participates can contain a set of abstract attributes (states) that change through abstract behaviors. Accordingly, the symbol planner 3 can be configured to generate a sequence of abstract behaviors by probing the path within the graph from the start node corresponding to the start state to the target node corresponding to the target state. This allows for the simple generation of the symbol planner 3, thereby reducing the burden on the construction of the action planning device 1. Furthermore, the abstract attribute assigned to the start node corresponding to the start state is an example of information representing the start state in the abstract phase.

[0123] The abstract attribute can be appropriately set to include the abstract states of both the robot device R and the object. Figure 6 In one example, a scenario is depicted where a task involving the generation of an abstract sequence of actions is described: given at least two robotic arms (Robot A, Robot B), one or more parts (Part C), and one or more props (Props Z), Part C is fixed in a specified location. The abstract attributes include the abstract states of each robot (A, B), Part C, and Props Z. In the initial state, each robot (A, B), Part C, and Props Z are free. In the target state, each robot (A, B), and Props Z are free, and Part C is fixed in the specified location. Under this condition, the scenario is represented where, as a result of the planning of the abstract actions, the action of holding Part C by Robot A is chosen as the initial action. Furthermore, the nodes traversed during the journey from the starting node to the target node correspond to intermediate states.

[0124] When the state space of a task can be represented using this type of diagram, the symbolic planner 3 can be configured to select the next state (i.e., the next node to be traversed) given the current state and the target state. Selecting the next state is equivalent to selecting the abstract behavior to be performed in the current state. Therefore, selecting the next state can be treated synonymously with selecting the abstract behavior to be adopted. The symbolic planner 3 sets the initial value of the current state as the start state and repeatedly selects the next state and migrates nodes until the target state is selected as the next state. In this way, it can explore the path from the start node to the target node within the diagram and generate a sequence of abstract behaviors.

[0125] The candidates for the next selectable state (the abstract behavior that can be adopted) can be appropriately given based on the structure of the robot device R, the conditions of the object, etc. However, depending on the state at the time of selection (the state set as the current state), some of the given candidates may not be logically executable. Moreover, even if they can be logically executed, it is still possible that adopting this behavior will prevent reaching the target state (reaching the end) or repeatedly traverse the same state (looping). Therefore, the symbolic planner 3 can be configured to perform logical checks on the abstract behavior to be adopted before and after the node migration.

[0126] As an example, in Figure 6 In the case where robot A is configured to hold an item, as long as robot A is free, the actions of holding part C or prop Z via robot A can be logically executed. Conversely, if robot A is already holding part C (or prop Z), the actions of holding prop Z (or part C) via robot A cannot be logically executed. Symbolic planner 3 can be configured to perform this logical check before node migration (i.e., deciding the next state to choose) and adopt logically executable actions based on the result. Furthermore, the content of this pre-migration logical check can be defined as rules.

[0127] Furthermore, in the state corresponding to the object node reached as a result of selecting a node (i.e., the abstract attribute realized as a result of executing an abstract behavior that can be logically executed), if there is no logically executable behavior, then the object node is an end. Alternatively, if the abstract attribute of the object node is the same as the abstract attribute of the intermediate nodes traversed from the start node to the object node, then the selected path will be a loop. The symbol planner 3 can be configured to maintain information about the nodes traversed from the start node to the object node, and perform this logical check after node migration, thereby avoiding ends and loops. It can also be configured such that if an end or loop is reached, the symbol planner 3 stops adopting the corresponding abstract behavior, returns to the previous state (node), and re-executes the processing of deciding on the abstract behavior to be adopted.

[0128] If there are multiple candidates for the abstract behavior to be adopted, the symbolic planner 3 can appropriately select the abstract behavior to be adopted from the multiple candidates. In this embodiment, the symbolic planner 3 can use the trained cost prediction model 4 to determine the abstract behavior to be adopted from the multiple candidates. As an example, the control unit 11 sets the trained cost prediction model 4 with reference to the learning result data 125. Furthermore, the control unit 11 inputs information representing each candidate to the input layer 41 and performs the sequential propagation operation of the trained cost prediction model 4. Thus, the control unit 11 can obtain the cost prediction result for each candidate from the output layer 45.

[0129] Furthermore, candidates for abstract behaviors can be specified directly or based on a combination of the current state and candidates for the next state. The cost estimation candidates can converge to abstract behaviors that are logically executable, determined based on the results of the pre-transition logic checks. Moreover, if information other than that representing each candidate is considered in the cost estimation, the input layer 41 can be configured to further accept input for other information. This other information may include, for example, the specifications of the robot device R, attributes related to the environment in which the task is performed (e.g., object configuration, specifications, workspace limitations, etc.), the type of task, the difficulty of the task, a list of abstract behaviors from the current state to the object state, and the action time consumed from the current state to the object state. This other information can be obtained in step S101 as at least part of the task information 121.

[0130] Furthermore, the control unit 11 can select the abstract behavior to be adopted from multiple candidates in a cost-optimized manner based on the cost prediction results obtained for each candidate from the trained cost prediction model 4. In one example, cost optimization can be achieved by selecting the abstract behavior with the lowest cost. In another example, cost optimization can be achieved by selecting the abstract behavior with a cost lower than a threshold. Thus, in step S102, the control unit 11 can use the symbolic planner 3 to generate a sequence of abstract behaviors in a cost-optimized manner based on the costs predicted by the trained cost prediction model 4. When the sequence of abstract behaviors is generated, the control unit 11 proceeds to the next step S103.

[0131] (Steps S103 and S104)

[0132] based on Figure 5 In step S103, the control unit 11 operates as the interface processing unit 117, outputting to the user a list of abstract behaviors contained in the abstract behavior sequence generated using the symbolic planner 3. Next, in step S104, the control unit 11 receives feedback from the user regarding the output list of abstract behaviors. The output destination, output format, and feedback format of the list can be appropriately selected according to the implementation method.

[0133] Figure 7 This schematically illustrates an example of the output form of the abstract behavior sequence (a list of abstract behaviors) of this embodiment. Figure 7 The illustrated output screen 150 includes: a first area 151 for displaying the environment (e.g., robot device R, object) of the task when each abstract behavior is performed; a second area 152 for displaying an overview of the abstract behaviors; a first button 153 for replanning the sequence of abstract behaviors; and a second button 154 for completing feedback acceptance. User feedback can be obtained through a graphical user interface (GUI) operation on the overview of abstract behaviors displayed in the second area 152. User feedback may include, for example, changes, modifications, sorting, deletions, additions, rejections, and approvals of abstract behaviors. The output screen 150 can be displayed on the output device 15. Correspondingly, user feedback can be accepted via the input device 14. When the feedback acceptance is completed, the control unit 11 advances the processing to the next step S105.

[0134] (Step S105)

[0135] return Figure 5In step S105, the control unit 11 determines the branch target of the processing based on the user feedback in step S104. If the user feedback indicates that replanning the abstract behavior sequence is selected (for example, the first button 153 has been operated), the control unit 11 returns the processing up to step S102 and resumes processing from step S102. Thus, the control unit 11 replans the abstract behavior sequence. Furthermore, the symbol planner 3 may be appropriately configured to generate an abstract behavior sequence that is at least partially different from the abstract behavior sequence generated before replanning, for example, by employing different abstract behaviors. On the other hand, if the user feedback indicates that replanning the abstract behavior sequence is not selected, the control unit 11 proceeds the processing to the next step S106.

[0136] (Steps S106 and S107)

[0137] In step S106, the control unit 11 operates as the motion generation unit 113, and does not generate the corresponding motion sequence for the abstract behavior contained in the abstract behavior sequence, and determines the abstract behavior with the earliest execution order. Furthermore, the control unit 11 uses the motion planner 5 to convert the determined abstract behavior as an object into a motion sequence. The motion sequence can be appropriately configured such that the abstract behavior as an object contains more than one physical action. In step S107, the control unit 11 determines whether the generated motion sequence can be physically executed by the robot device R in the actual environment.

[0138] Figure 8 An example of the motion planner 5's process for generating action sequences is illustrated schematically. The state space of the task in the physical phase can be represented by a graph including edges and nodes, where the edges correspond to action sequences and the nodes correspond to action attributes that contain the physical state of objects that change as a result of the execution of the action sequences. That is, the state space in which the motion planner 5 participates can contain a set of action (physical) attributes that change through physical actions. Each node in the physical phase can be obtained by corresponding to each node in the abstract phase.

[0139] In addition to the robot device R and the physical state of the object at the corresponding time point, the action attributes of each node may also include information related to the action sequence (action list) used to reach this physical state. Figure 8As shown, information related to the action sequence may include, for example, identification information (action ID) of each action, identification information (parent action ID) of the action executed before each action (parent action), and instruction information (e.g., control variables such as trajectories) used to instruct the robot device R on each action. The action ID and parent action ID can be used to determine the execution order of each action. The physical state in the starting state can be specified according to the abstract attributes of the starting state based on the task information 121. Information related to the action sequence in the starting state may be empty. In addition, the state space in the abstract stage can be expressed as an "abstract layer", and the state space in the physical stage can be expressed as an "action layer". The processing of step S102 can also be expressed as the generation processing of behavior planning in the abstract layer, and the processing of step S106 can be expressed as the generation processing of action planning in the action layer.

[0140] The motion planner 5 can be configured to generate a sequence of actions for performing the abstract behavior according to prescribed rules, given the current physical state and the abstract behavior to be adopted. The conversion rules for converting the abstract behavior into the action sequence can be appropriately set according to the implementation method. The motion planner 5 can set the initial value of the current physical state to the physical state in the starting state. After deciding to adopt the generated action sequence, the motion planner 5 sets the physical state achieved by executing the decided action sequence (i.e., the physical state of the migrated node) as the current physical state, thereby updating the current physical state.

[0141] Furthermore, the motion planner 5 can be configured to determine whether the robot device R can physically execute the object's action sequence in a real-world environment by physically simulating the execution of the object's action sequence. During the simulation, information used to reproduce the real-world environment (not shown) such as computer-aided design (CAD) information can be used. This information can be stored, for example, in any storage area such as the storage unit 12, storage medium 91, or external storage device.

[0142] Furthermore, when using reference information other than the current physical state and abstract behavior in at least one of the generation and simulation of the action sequence, the motion planner 5 may be configured to further accept the input of the reference information. The reference information may include, for example, the specifications of the robot device R, attributes related to the environment in which the task is performed (e.g., the configuration and specifications of objects, workspace limitations, etc.), the type of task, etc. The reference information may be obtained in step S101 as at least part of the task information 121.

[0143] Moreover, such as Figure 8As shown, multiple candidate action sequences can be generated relative to the abstract behavior (i.e., in the action layer, multiple nodes can be assigned to a node corresponding to an abstract node). At this time, the control unit 11 can appropriately select an action sequence that can be executed in a real environment from the multiple candidates. If it is determined that all candidates cannot be executed in a real environment, then as the determination result of step S107, the control unit 11 can conclude that: the generated action sequence cannot be physically executed by the robot device R in a real environment. When the generation of the action sequence using the motion planner 5 and the determination of the executability of the generated action sequence in a real environment are completed, the control unit 11 will proceed to the next step S108.

[0144] (Step S108)

[0145] return Figure 5 In step S108, the control unit 11 determines the branch target of processing based on the determination result of step S107. If it is determined that the generated action sequence cannot be physically executed (in the case of multiple candidates, all candidates cannot be executed), the control unit 11 discards the abstract action sequence following the abstract action corresponding to the action sequence that was determined to be physically unexecutable. Next, the control unit 11 returns the processing to step S102 and executes the processing again from step S102. Thus, the control unit 11 generates a new abstract action sequence following the abstract action corresponding to the action sequence that was determined to be physically unexecutable. That is, when no executable action sequence is obtained through the action layer, the control unit 11 returns to the abstract layer and re-plans the abstract action sequence. In addition, as long as it contains an abstract action as an object corresponding to the action sequence that was determined to be unexecutable, the scope of discarding is not limited to the abstract action following the object. As another example, the control unit 11 may also trace back to abstract behaviors that precede the abstract behaviors that are the objects in the execution order and discard them, and start the process again from step S102, thereby generating a new sequence of abstract behaviors for the scope of discarded behaviors. On the other hand, when it is determined that the generated sequence of actions can be physically executed, the control unit 11 advances the process to the next step S109.

[0146] (Step S109)

[0147] In step S109, the control unit 11 determines whether the generation of an action sequence that can be executed in a real environment has been successful for all abstract behaviors contained in the abstract behavior sequence generated by the symbol planner 3. Successful generation of an action sequence that can be executed in a real environment for all abstract behaviors contained in the generated abstract behavior sequence is equivalent to the completion of action planning generation.

[0148] If any abstract behaviors for which no action sequence has yet been generated remain (i.e., the generation of action planning has not yet been completed), the control unit 11 returns to step S106. Furthermore, for abstract behaviors adopted as the abstract behaviors to be executed after the successful generation of action sequences that can be executed in a real-world environment, the control unit 11 executes the processing after step S106. Thus, the control unit 11 uses the motion planner 5 to convert the abstract behaviors contained in the abstract behavior sequence into action sequences according to the execution order, and determines the executability of the obtained action sequences in a real-world environment. The processing of steps S106 to S108 is repeated until there are no more abstract behaviors for which no action sequence has yet been generated. Thus, the control unit 11 can generate an action group as described below, which contains one or more action sequences in a manner from the start state to the target state, and it has been determined that all contained action sequences can be physically executed. When the generation of action planning is completed, the control unit 11 advances the processing to the next step S110.

[0149] (Step S110)

[0150] In step S110, the control unit 11 operates as the output unit 114, outputting the motion group (motion plan) generated using the motion planner 5.

[0151] The output destination and output form of the motion group can be appropriately determined according to the implementation method. In one example, the control unit 11 may also directly output the generated motion group to the output device 15. The output motion group can be appropriately used for the control of the robot device R. In another example, the step of outputting the motion group may include: giving instructions representing the motion group to the robot device R, thereby controlling the action of the robot device R. When the robot device R includes a controller (not shown) and the motion planning device 1 is connected to the controller, the control unit 11 may also indirectly control the action of the robot device R by outputting instruction information representing the motion group to the controller. Alternatively, when the motion planning device 1 operates as the controller of the robot device R, the control unit 11 may also directly control the action of the robot device R based on the generated motion group. Thus, a motion planning device 1 that controls the action of the robot device R based on the generated motion plan can be constructed.

[0152] When the output of the action group is completed, the control unit 11 ends the processing flow related to the action planning of this action example. In addition, the action planning device 1 may be configured to repeatedly execute a series of information processing steps S101 to S110 at any time.

[0153] (2) Machine Learning for Cost Prediction Models

[0154] Figure 9This is a flowchart illustrating an example of the processing flow related to the machine learning of the cost estimation model 4 of the motion planning device 1 in this embodiment. However, the machine learning-related processing flow described below is merely an example, and each step can be modified as much as possible. Furthermore, for the machine learning-related processing flow described below, steps can be appropriately omitted, substituted, or added according to the embodiment.

[0155] (Step S201)

[0156] In step S201, the control unit 11 operates as a data acquisition unit 115 to acquire multiple learning datasets 60, each of which contains a combination of training samples 61 and correct answer labels 62.

[0157] Each training dataset 60 can be appropriately generated. As an example of the generation method, firstly, training samples 61 representing abstract behaviors for training are generated. Training samples 61 can be appropriately generated manually. Alternatively, training samples 61 can be obtained from the sequence of abstract behaviors generated by performing (or trialing) the processing of the symbolic planner 3. If the cost prediction model 4 is configured to accept inputs other than the candidate information representing abstract behaviors, the training samples 61 can be appropriately generated in a way that further includes other information for training.

[0158] Next, corresponding to the generated training sample 61, a correct answer label 62 is generated, representing the truth value of the cost of the training abstract behavior. The cost evaluation metric can be appropriately selected. In one example, the cost evaluation metric may include at least one of motion time and actuation quantity. In this case, the correct answer label 62 can be configured to represent the truth value of the cost calculated based on at least one of the time consumed in executing the motion sequence generated by the motion planner 5 for the training abstract behavior and the actuation quantity of the robot device R during the execution of the motion sequence. The correct answer label 62 can be generated based on the result of executing or simulating the motion sequence generated by the motion planner 5. The truth value of the cost can be appropriately set such that the longer the motion time / the greater the actuation quantity, the higher the cost is evaluated, and the shorter the motion time / the less the actuation quantity, the lower the cost is evaluated.

[0159] In another example, the cost evaluation metric could include the failure rate (success rate) of motion planning. In this case, the correct answer label 62 could represent the truth value of the cost calculated based on the probability that the motion sequence generated by the motion planner 5 cannot be physically executed for the training abstract behavior. The correct answer label 62 can be generated based on the execution results of the motion planner 5's processing of the training abstract behavior. The truth value of the cost can be appropriately set such that the more successful the motion planning (in other words, the more likely it is to generate motion sequences that can be physically executed in a real-world environment), the lower the cost; and the more unsuccessful the motion planning, the higher the cost.

[0160] In another example, the cost evaluation metric may include user feedback. In this case, the correct answer label 62 can be configured to represent the true value of the cost calculated based on user feedback to the abstract behaviors used for training. User feedback can be obtained at any time and in any form, and the correct answer label 62 can be appropriately generated based on the obtained feedback results. In this embodiment, through the processing of step S104, user feedback on the abstract behavior sequence generated by the symbolic planner 3 can be obtained. The correct answer label 62 can be generated based on the feedback results of step S104. Thus, the learning dataset 60 can be obtained based on the feedback results of step S104. The true value of the cost can be appropriately set such that the more the cost is the object of at least one of the operations of change, correction, sorting, deletion, and rejection in the feedback, the higher the cost is evaluated; and the more the cost is the object of any of the operations of maintenance (direct use without change, etc.) and approval, the lower the cost is evaluated.

[0161] Costs can be estimated using multiple evaluation metrics (e.g., two or more metrics selected from the four evaluation metrics). Furthermore, the true value of the cost can be determined or corrected manually. After generating the positive solution label 62, the generated positive solution label 62 is associated with the training sample 61. Thus, various learning datasets 60 can be generated.

[0162] Each learning dataset 60 can be automatically generated by computer operations or manually generated by operations that at least partially involve an operator. The generated learning datasets 60 can be stored in storage unit 12. Furthermore, the generation of each learning dataset 60 can be performed by the motion planning device 1 or by a computer other than the motion planning device 1. When the motion planning device 1 generates each learning dataset 60, the control unit 11 can automatically or manually execute the generation process via operator operations through input device 14, thereby acquiring each learning dataset 60. On the other hand, when the learning datasets 60 are generated by other computers, the control unit 11 can acquire the learning datasets 60 generated by other computers, for example, via a network, storage medium 91, etc. Alternatively, a portion of the multiple learning datasets 60 may be generated by the motion planning device 1, while other portions may be generated by one or more other computers.

[0163] The number of learning datasets 60 acquired is not particularly limited and can be appropriately determined according to the implementation method, depending on the implementation method, to enable machine learning. When multiple learning datasets 60 are acquired, the control unit 11 will proceed to the next step S202.

[0164] (Step S202)

[0165] In step S202, the control unit 11 operates as a learning processing unit 116, using the acquired multiple learning datasets 60 to implement machine learning for the cost prediction model 4.

[0166] As an example of machine learning processing, firstly, the control unit 11 prepares a neural network that constitutes the cost estimation model 4, which becomes the object of machine learning processing. The structure of the neural network, the initial values ​​of the combination weights between each neuron, and the initial values ​​of the thresholds of each neuron can be given either through a template or through operator input. Moreover, in the case of relearning, the control unit 11 can also prepare the cost estimation model 4 based on the learning result data obtained through past machine learning.

[0167] Next, the control unit 11 trains the cost prediction model 4 on each learning dataset 60, ensuring that the cost prediction value of the training abstract behavior represented by the training sample 61 matches the true value represented by the corresponding positive solution label 62. In this training process, stochastic gradient descent, mini-batch gradient descent, or similar methods can be used.

[0168] As an example of training processing, the control unit 11 inputs the training samples 61 of each learning dataset 60 to the input layer 41 and performs sequential propagation operations on the cost prediction model 4. The result of these operations is that the control unit 11 obtains cost prediction values ​​for the abstract behavior used in training from the output layer 45. The control unit 11 calculates the error between the obtained prediction value and the true value represented by the corresponding positive solution label 62 for each learning dataset 60. A loss function can be used to calculate the error (loss). The type of loss function used for error calculation can be appropriately selected depending on the implementation method.

[0169] Next, the control unit 11 calculates the gradient of the calculated error. Using the calculated error gradient, the control unit 11 sequentially calculates the error values ​​of each operational parameter of the cost estimation model 4 from the output side via the error backpropagation method. The control unit 11 updates the values ​​of each operational parameter of the cost estimation model 4 based on the calculated errors. The degree to which the values ​​of each operational parameter are updated can be adjusted according to the learning rate. The learning rate can be given either by the operator's specification or as a set value within the program.

[0170] The control unit 11 adjusts the values ​​of each operational parameter of the cost estimation model 4 for each learning dataset 60 through a series of update processes, so as to reduce the sum of the calculated errors. For example, the control unit 11 may repeatedly adjust the values ​​of each operational parameter of the cost estimation model 4 through the series of update processes until predetermined conditions such as executing a predetermined number of times and the sum of the calculated errors being below a threshold are met.

[0171] The result of the machine learning is that the control unit 11 generates a trained cost prediction model 4 that has acquired the ability to predict the cost of abstract behaviors. When the machine learning processing of the cost prediction model 4 is completed, the control unit 11 proceeds to the next step S203.

[0172] (Step S203)

[0173] In step S203, the control unit 11 generates information related to the trained cost prediction model 4 as learning result data 125. Furthermore, the control unit 11 saves the generated learning result data 125 to a designated storage area.

[0174] The designated storage area may be, for example, RAM within the control unit 11, storage unit 12, external storage device, storage medium, or a combination thereof. Storage medium may be, for example, a CD, DVD, etc., and the control unit 11 may also save the learning result data 125 to the storage medium via drive 16. External storage device may be, for example, a data server such as a Network Attached Storage (NAS). In this case, the control unit 11 may also save the learning result data 125 to the data server via the network. Furthermore, the external storage device may also be, for example, an external storage device connected to the motion planning device 1 via external interface 13.

[0175] When the saving of the learning result data 125 is complete, the control unit 11 terminates the processing flow related to the machine learning of the cost estimation model 4 in this action example. Furthermore, through the processes described in steps S201 to S203, the generation of the trained cost estimation model 4 can be performed at any time, before or after the application of the motion planning device 1 for motion planning. Moreover, the control unit 11 can also update or regenerate the learning result data 125 by periodically or irregularly repeating the processes described in steps S201 to S203. During this repetition, the control unit 11 can use the results of the application of the motion planning device 1 for motion planning to appropriately perform changes, corrections, additions, deletions, etc., to at least a portion of the learning dataset 60 used for machine learning. Thus, the trained cost estimation model 4 can also be updated.

[0176] [feature]

[0177] As described above, in the motion planning apparatus 1 of this embodiment, the process of generating motion plans for the robot device R is divided into two stages: an abstraction stage using the symbolic planner 3 (step S102) and a physical stage using the motion planner 5 (steps S106 and S107). Motion plans are generated while exchanging information between the two planners (3 and 5). In step S102, the environment and conditions of the task can be simplified to an abstract level, generating a behavior plan for performing the task. Therefore, even for complex tasks, abstract behavior plans (abstract behavior sequences) can be generated relatively quickly and with a relatively light memory load. Furthermore, in steps S106 and S107, executability in a real-world environment is guaranteed, and motion plans can be efficiently generated within the range of the behavior plans of the symbolic planner 3. Therefore, according to this embodiment, executability in a real-world environment can be guaranteed, and even for complex tasks, motion plans for the robot device R can be generated quickly and with a relatively light memory load.

[0178] Furthermore, according to this embodiment, in the processing of step S102, by using the trained cost prediction model 4, an ideal abstract behavior plan can be generated based on cost. This allows for the easy generation of more appropriate motion plans. In one example, by using at least one of the motion time and drive quantity of the robot device R as a cost evaluation metric, an appropriate motion plan can be easily generated regarding at least one of the motion time and drive quantity of the robot device R. In another example, by using the failure rate of the motion planning performed by the motion planner 5 as a cost evaluation metric, the failure rate of the motion planning performed by the symbolic planner 3 can be reduced regarding the abstract behavior sequence generated by the symbolic planner 3 (in the processing of step S108, a decision to return to step S102 is made). That is, it is easy to generate abstract behavior plans with high executability in a real-world environment using the symbolic planner 3, thereby shortening the processing time until the final motion plan is obtained. In another example, by using user feedback as a cost evaluation metric, a more appropriate motion plan can be easily generated based on the feedback.

[0179] Furthermore, when user feedback is used as a cost evaluation metric, the feedback can also be obtained for the motion plan generated by the motion planner 5. In one example, the motion planning device 1 can also accept user feedback on the generated motion plan after the processing in step S110. The sequence of actions contained in the motion plan generated by the motion planner 5 is defined by physical quantities driven by the mechanical drive of the accompanying robot device R. Therefore, the generated motion plan contains a lot of information but has low interpretability for the user (human). In contrast, in this embodiment, user feedback can be obtained for abstract behavioral sequences through the processing in step S104, and the learning dataset 60 used in the machine learning in step S202 can be obtained based on the feedback results. The abstract behaviors contained in the behavior plan generated by the symbolic planner 3 can be defined, for example, as a set of actions that can be expressed using symbols such as language. Compared to action sequences defined by physical quantities, this contains less information but has higher interpretability for the user. Therefore, according to this embodiment, it is possible to suppress the consumption of resources (e.g., display) on the plans generated by the planner from the user's output, and it is easy to obtain feedback from the user. As a result, it is possible to easily generate and improve the training-completed cost prediction model 4 for generating more appropriate action plans.

[0180] Furthermore, in this embodiment, the motion planning device 1 is configured to perform the processing steps S201 to S203. Therefore, according to this embodiment, the motion planning device 1 can generate a trained cost estimation model 4 for generating more appropriate motion plans. Moreover, the ability of the cost estimation model 4 can be improved while using the motion planning device 1.

[0181] Furthermore, the structural relationship between the symbolic planner 3 and the cost estimation model 4 can be appropriately set according to the implementation method. In one example, a part of the symbolic planner 3 is provided with computational parameters that can be adjusted through machine learning, and this part can be processed as the cost estimation model 4. In another example, a machine learning model can be prepared independently from the structure of the symbolic planner 3, and the prepared machine learning model can be used as the cost estimation model 4.

[0182] Furthermore, the task set in the machine learning process in step S202 (the task processed using training sample 61) may not be the same as the task given in the application of action planning (the task processed in step S102). That is, the cost estimation model 4, which has been trained to infer the cost of a certain task, can also be used to infer the cost of abstract behaviors for other tasks.

[0183] §4 Variations

[0184] The embodiments of the present invention have been described in detail above, but the description up to the foregoing is merely illustrative in all respects. Various modifications or variations can be made without departing from the scope of the invention. For example, the following changes can be made. Furthermore, the same reference numerals are used below for the same constituent elements as in the described embodiments, and descriptions of the same points as in the described embodiments are appropriately omitted. The following variations can be appropriately combined.

[0185] <4.1>

[0186] In this embodiment, the estimated cost value obtained by the cost estimation model 4 is used as an indicator to determine the abstract action to be taken from multiple candidates. That is, the estimated cost value is processed as an indicator in the graph exploration of the abstract layer, as described below, which is an indicator for evaluating the degree to which migration from a certain node to the next node is recommended. In this embodiment, the estimated cost value obtained by the cost estimation model 4 is used as a reference when selecting the next node. However, the timing of referring to the estimated cost value is not limited to this example. As another example, the control unit 11 may also refer to the estimated cost value after reaching the target node to determine whether to adopt the obtained path.

[0187] Furthermore, in the aforementioned embodiment, when the failure rate of motion planning is used as a cost metric, the cost prediction value obtained by the trained cost prediction model 4 is equivalent to the prediction result of the processing result of step S107 of the motion planner 5. Therefore, the trained cost prediction model 4, which has the ability to predict costs using the failure rate of motion planning by the motion planner 5 as a metric, can be processed as a motion predictor simulating the actions of the motion planner 5.

[0188] Figure 10 An example of another application of the cost estimation model 4 is illustrated schematically. In this variation, in step S102, the cost estimation model 4 may also be influenced by part or all of the abstract behavior sequence generated by the symbolic planner 3, and output the result of estimating whether the motion planner 5 has successfully planned part or all of the abstract behavior sequence as a cost estimation value. The control unit 11 may also determine the probability of success of the motion planner 5 based on the obtained cost estimation value. Furthermore, if the probability of success of the motion planner is low (e.g., below a threshold), the control unit 11 may also execute the symbolic planner 3 to replan the abstract behavior sequence. The cost estimation model 4 is not configured to execute all the processes of the motion planner 5. Therefore, compared with the actions of the motion planner 5, the actions of the cost estimation model 4 are lightweight. Thus, according to this variation, it is possible to determine whether to execute the symbolic planner 3 to replan the abstract behavior sequence with lightweight actions.

[0189] Furthermore, in this variation, cost estimation model 4 can be configured to output, in addition to the estimated cost value corresponding to the failure rate of motion planning, the degree of reliability (accuracy) of the estimated value. Alternatively, the accuracy can be calculated based on the estimated cost value. As an example, when the estimated cost value is given between 0 and 1, the accuracy value can be calculated as follows: the closer the estimated cost value is to 0 or 1, the higher the accuracy; the closer the estimated cost value is to 0.5, the lower the accuracy.

[0190] At this time, the control unit 11 can use a low accuracy rate (e.g., below a threshold) as a trigger for executing the motion planner 5. That is, in step S102, if the accuracy rate is deemed low, the control unit 11 can interrupt the process of generating the abstract behavior sequence through the symbolic planner 3, and execute the motion planner 5's processing on a portion of the abstract behavior sequence obtained through the processes up to this point (processes in steps S106 and S107). Alternatively, if the motion planning generated by the motion planner 5 is successful, the control unit 11 can restart the process of generating the abstract behavior sequence through the symbolic planner 3. On the other hand, if the motion planning generated by the motion planner 5 fails, the control unit 11 discards a portion of the abstract behavior sequence obtained through the processes up to this point, and executes the symbolic planner 3 to re-plan the abstract behavior sequence. Optimizing the cost predicted by the cost prediction model 4 may include simulating the actions of this motion planner 5.

[0191] <4.2>

[0192] In the described embodiment, after the symbolic planner 3 has completed the generation of the abstract behavior sequence, the motion planning device 1 executes the processing of the motion planner 5 to generate the motion plan. However, the timing of the data exchange between the symbolic planner 3 and the motion planner 5 (the processing order of steps S102, S106, and S107) is not limited to this example. In another example, the motion planning device 1 may also execute the processing of the motion planner 5 to generate the motion plan for a portion of the abstract behavior sequence generated by the symbolic planner 3.

[0193] <4.3>

[0194] In the described embodiment, the cost prediction model 4 comprises a fully associative neural network. However, the structure of the neural network constituting the cost prediction model 4 is not limited to this example and can be appropriately selected according to the implementation. As another example, each neuron may also be connected to specific neurons in adjacent layers, or to neurons in layers other than adjacent layers. The connection relationship of each neuron can be appropriately determined according to the implementation. The neural network constituting the cost prediction model 4 may also include other types of layers such as convolutional layers, pooling layers, normalization layers, and dropout layers. The cost prediction model 4 may include other forms of neural networks such as convolutional neural networks, recurrent neural networks, and graph neural networks.

[0195] Furthermore, the type of machine learning model used in cost estimation model 4 is not limited to neural networks and can be appropriately selected depending on the implementation method. The machine learning method can be appropriately selected based on the type of machine learning model. As another example, for cost estimation model 4, machine learning models such as support vector machines and decision tree models can be used.

[0196] <4.4>

[0197] In the described embodiment, when user feedback is obtained using other methods, or when user feedback is not used as a cost evaluation indicator, the processing steps S103 to S105 can be omitted from the processing flow of the motion planning device 1. When steps S103 to S105 are omitted, the interface processing unit 117 can be omitted from the software structure of the motion planning device 1.

[0198] In this embodiment, the generation or relearning of the trained cost prediction model 4, achieved through steps S201 to S203, can be performed by a computer other than the motion planning device 1. In this case, the data acquisition unit 115 and the learning processing unit 116 can be omitted from the software structure of the motion planning device 1. The processing of steps S201 to S203 can also be omitted from the processing flow of the motion planning device 1. Furthermore, the trained cost prediction model 4 (learning result data 125) generated by another computer can be provided to the motion planning device 1 at any time via a network, storage medium 91, etc.

[0199] Furthermore, in step S102 of the described embodiment, the action planning device 1 may also select the abstract behavior to be adopted from multiple candidates without using the cost estimation model 4. In this case, the cost estimation model 4 may also be omitted.

Claims

1. A motion planning device, comprising: The information acquisition unit is configured to acquire task information, which includes information related to the start state and target state of the task given to the robot device. The behavior generation unit is configured to use a symbolic planner to generate an abstract behavior sequence based on the task information, the abstract behavior sequence comprising one or more abstract behaviors arranged in execution order from the starting state to the target state; The motion generation unit is configured to generate a sequence of motions using a motion planner and determine whether the generated sequence of motions can be physically executed by the robot device in a real environment. The sequence of motions is used to execute the abstract behavior contained in the sequence of abstract behaviors in the execution order and includes one or more physical actions. as well as The output unit is configured to output a set of actions, the set of actions comprising one or more action sequences generated using the motion planner, and it has been determined that all of the included action sequences are physically executable, and the motion planning device contains... The configuration is such that, in the action generation unit, when it is determined that the action sequence cannot be physically executed, the abstract action sequence following the abstract action corresponding to the action sequence that was determined to be physically unexecuted is discarded, and in the action generation unit, a new abstract action sequence following the action is generated using the symbol planner.

2. The motion planning device according to claim 1, wherein... The symbolic planner includes a cost prediction model trained using machine learning to predict the cost of abstract behaviors. The behavior generation unit is further configured to use the symbolic planner to generate the abstract behavior sequence in a manner that optimizes the cost predicted by the cost prediction model.

3. The motion planning device according to claim 2, further comprising: The data acquisition unit is configured to acquire multiple learning datasets, each of which contains a combination of training samples representing training abstract behaviors and true value labels representing the cost of the training abstract behaviors. as well as The learning processing unit is configured to perform machine learning on the cost inference model using multiple acquired learning datasets, wherein the machine learning is configured to train the cost inference model on each learning dataset such that the inferred cost of the training abstract behavior represented by the training samples conforms to the true value represented by the positive solution label.

4. The motion planning device according to claim 3, wherein The correct answer label represents the truth value of the cost calculated for the training abstract behavior based on at least one of the time consumed by the execution of the action sequence generated by the motion planner and the driving amount of the robot device during the execution of the action sequence.

5. The motion planning device according to claim 3 or 4, wherein... The correct answer label represents the true value of the cost calculated based on the probability that the action sequence generated by the motion planner is determined to be physically unexecutable for the training abstract behavior.

6. The motion planning device according to claim 3 or 4, wherein The correct answer label represents the true value of the cost calculated based on the user's feedback on the training abstraction behavior.

7. The motion planning device according to claim 6, wherein... The action planning device further includes an interface processing unit, which is configured to provide the user with a list of abstract behaviors contained in an abstract behavior sequence generated using a symbolic planner, and to accept feedback from the user regarding the output list of abstract behaviors. The data acquisition unit is further configured to acquire the learning dataset from the results of the user's feedback on the overview of the abstract behavior.

8. The motion planning device according to any one of claims 1 to 4, wherein The state space of the task is represented by a graph that includes edges and nodes, where edges correspond to abstract behaviors and nodes correspond to abstract properties of objects that change through the execution of abstract behaviors. The symbol planner is configured to explore paths within the graph from the start node corresponding to the start state to the target node corresponding to the target state, thereby generating the abstract sequence of behaviors.

9. The motion planning device according to any one of claims 1 to 4, wherein Outputting the action group includes controlling the actions of the robot device by giving instructions representing the action group to the robot device.

10. The motion planning device according to any one of claims 1 to 4, wherein The robotic device includes one or more robotic arms. The task is the assembly of a product containing one or more parts.

11. A motion planning method, wherein a computer performs the following steps: The step of obtaining task information includes information related to the start state and target state of the task given to the robot device; The step of using a symbolic planner to generate an abstract sequence of behaviors based on the task information, the abstract sequence of behaviors comprising one or more abstract behaviors arranged in execution order from the starting state to the target state; The step of generating a sequence of actions using a motion planner, wherein the sequence of actions is used to execute the abstract behaviors contained in the sequence of abstract behaviors in the order of execution and includes one or more physical actions; The step of determining whether the generated sequence of actions can be physically executed by the robot device in a real environment; as well as The step of outputting an action group, wherein the action group comprises one or more action sequences generated using the motion planner and it has been determined that all contained action sequences are physically executable, in the motion planning method, In the determination step, when it is determined that the action sequence cannot be physically executed, the computer discards the abstract behavior sequence following the abstract behavior corresponding to the action sequence that was determined to be physically unexecuted, and returns to the step of generating the abstract behavior sequence, using the symbol planner to generate a new abstract behavior sequence following the behavior.

12. A computer-readable storage medium having a storage action planning program for causing a computer to perform the following steps: The step of obtaining task information includes information related to the start state and target state of the task given to the robot device; The step of using a symbolic planner to generate an abstract sequence of behaviors based on the task information, the abstract sequence of behaviors comprising one or more abstract behaviors arranged in execution order from the starting state to the target state; The step of generating a sequence of actions using a motion planner, wherein the sequence of actions is used to execute the abstract behaviors contained in the sequence of abstract behaviors in the order of execution and includes one or more physical actions; The step of determining whether the generated sequence of actions can be physically executed by the robot device in a real environment; as well as The step of outputting an action group, wherein the action group comprises one or more action sequences generated using the motion planner and it has been determined that all of the contained action sequences are physically executable, in the motion planning program, In the determination step, when it is determined that the action sequence cannot be physically executed, the computer discards the abstract behavior sequence following the abstract behavior corresponding to the action sequence that was determined to be physically unexecuted, and returns to the step of generating the abstract behavior sequence, using the symbol planner to generate a new abstract behavior sequence following the behavior.

Citation Information

Patent Citations

  • Apparatus and methods for object manipulation via action sequence optimization

    US20190321974A1