Control device, orbit generation method, and program

JPWO2025057367A5Pending Publication Date: 2026-04-21
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2026-01-20
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing methods for generating robot motion plans have limitations in calculating trajectories with high viability, often resulting in trajectories that are less likely to be executed successfully.

Method used

A control device and method that utilize a trajectory generation model to generate target trajectory candidates, which are then corrected to satisfy constraint conditions, ensuring high executable potential.

Benefits of technology

The solution enables the high-speed calculation of trajectories with high executable potential, effectively addressing the limitations of existing methods by ensuring the generated trajectories meet target values and constraints.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The present invention has: a target trajectory candidate generation means that uses a trajectory generation model that generates a target trajectory to generate at least one target trajectory candidate; and a target trajectory correction means that corrects the target trajectory candidate and generates a target trajectory that satisfies a constraint condition.
Need to check novelty before this filing date? Find Prior Art

Description

Control device, trajectory generation method, and recording medium

[0001] The present disclosure relates to a control device, a trajectory generation method, and a recording medium.

[0002] In recent years, robots have been introduced in various situations, and tasks are being automated using robots. Accordingly, there is a demand for generating robot motion plans with a high success rate. For example, Patent Literature 1 discloses a technique for calculating a trajectory that enables a robot to avoid obstacles based on a generative model. Various methods for calculating a robot trajectory have been proposed, but there is a possibility that the calculated trajectory is not feasible.

[0003] Japanese Patent Application Laid-Open No. 2020-196102

[0004] An object of the present disclosure is to provide a technique for calculating a highly feasible trajectory.

[0005] The present disclosure provides a control device, a trajectory generation method, and a recording medium that can solve the above-mentioned problems.

[0006] According to one aspect of the present disclosure, the control device includes a target trajectory candidate generation means for generating at least one target trajectory candidate using a trajectory generation model that generates a target trajectory, and a target trajectory correction means for correcting the target trajectory candidate to generate a target trajectory that satisfies constraint conditions.

[0007] According to one aspect of the present disclosure, a trajectory generation method includes a computer generating at least one target trajectory candidate using a trajectory generation model that generates a target trajectory, and correcting the target trajectory candidate to calculate a target trajectory that satisfies constraints.

[0008] According to one aspect of the present disclosure, the recording medium is a recording medium storing a program that causes a computer to execute the steps of generating at least one target trajectory candidate using a trajectory generation model that generates a target trajectory, and correcting the target trajectory candidate to calculate a target trajectory that satisfies constraint conditions.

[0009] According to the above-described control device, trajectory generation method, and recording medium, a trajectory with a high feasibility can be calculated.

[0010] FIG. 1 is a first diagram showing an example of a control device. FIG. 2 is a diagram showing an example of an evaluation function. FIG. 3 is a diagram explaining generation of a target trajectory candidate using a trajectory generation model. FIG. 4 is a first flowchart showing an example of a target trajectory generation process. FIG. 5 is a second diagram showing an example of a control device. FIG. 6 is a second flowchart showing an example of a target trajectory generation process. FIG. 7 is a third diagram showing an example of a control device. FIG. 8 is a first diagram explaining generation of a low-dimensional trajectory generation model and a target trajectory candidate using the trajectory generation model. FIG. 9 is a second diagram explaining generation of a low-dimensional trajectory generation model and a target trajectory candidate using the trajectory generation model. FIG. 11 is a third flowchart showing an example of a target trajectory generation process. FIG. 12 is a first diagram explaining an application example of at least one embodiment. FIG. 13 is a second diagram explaining an application example of at least one embodiment. FIG. 14 is a diagram showing an example of a two-dimensional model. FIG. 15 is a block diagram showing the configuration of a control device having a minimum configuration. FIG. 16 is a flowchart of a trajectory generation method having a minimum configuration.

[0011] First Embodiment A control device according to a first embodiment will be described below with reference to FIGS. 1 to 5. (Configuration) FIG. 1 is a first diagram showing an example of a control device. The control device 10 controls a robot 20. FIG. 1 describes a function for generating a trajectory of the robot 20, among various functions related to the control of the robot 20 provided in the control device 10. The trajectory of the robot 20 refers to the trajectory when the robot 20 moves, the trajectory of the arm tip when the robot 20 performs various tasks using the arm, etc. The control device 10 calculates a trajectory that is highly feasible while satisfying various constraints such as obstacle avoidance.

[0012] The control device 10 includes an evaluation function setting unit 11, a constraint model 12, a target trajectory candidate generation unit 13, a target trajectory candidate selection unit 14, and a target trajectory correction unit 15. The evaluation function setting unit 11 acquires target values, constraint conditions, and observation information measured by the robot 20, and sets an evaluation function for evaluating the trajectory generated by the target trajectory candidate generation unit 13. The target values ​​include, for example, a target position, speed, acceleration, attitude, a part of the trajectory (for example, a trajectory that must be passed to reach the target position), a target task order, a formal language such as temporal logic, and a reward. The constraint conditions include, for example, restrictions on position, speed, acceleration, etc., operation rules, and other constraints based on formulation. The observation information includes, for example, initial environment information, obstacle information, and information on the object to be worked on. An example of the evaluation function is shown in equation (1) in FIG. 2. For example, the evaluation function J k (τ k ) can be expressed as a weighted sum in which weighting coefficients are set for each of a function indicating the degree of achievement of a target value, a function indicating the degree to which various constraints are satisfied, and a function indicating the degree to which obstacle avoidance has been achieved. Formula (1) shows that the more the target value is achieved, the more constraint conditions are satisfied, and the more collisions with obstacles are avoided, the higher the evaluation function J k (τ k The function c ) is configured to increase the value of rule、k An example of (τ) and the weighting factor η is shown in equation (2) in FIG. k indicates the trajectory τ calculated at the kth step (described later). Here, τ indicates the trajectory of the robot 20, and can be expressed by equation (3) in FIG. 3. s, which constitutes τ, indicates the state of the robot 20, and a indicates the behavior of the robot 20. The relationship between s and a can be expressed by equation (4) in FIG. 3. The subscript t in equation (4) indicates time. The state s may include the operation mode of the robot 20.

[0013] The constraint model 12 is, for example, a constraint model such as a success / failure classifier. The success / failure classifier is a trained model, neural network, or the like that, when inputting a trajectory generated by the target trajectory candidate generation unit 13, predicts whether the trajectory will be successful or unsuccessful. For example, when a trajectory is input to the success / failure classifier, the success / failure classifier calculates a success score that indicates the degree of success of the input trajectory. The success / failure classifier determines that the calculated success score is a success if it is equal to or greater than a preset threshold, and determines that the success score is a failure if it is less than the threshold. For example, the success / failure classifier can be applied to the second term on the right side of equation (1) in FIG. 2.

[0014] The desired trajectory candidate generation unit 13 includes a trajectory generation model 131, which is a generative model for calculating a trajectory of the robot 20. For example, the trajectory generation model 131 may be a diffusion model (DDPM: Denoising Diffusion Probabilistic Models), which is one of generative models. The diffusion model is a generative model obtained by learning a diffusion process, which adds noise to data and converts the data into noise, and a dediffusion process, which follows the diffusion process in the reverse direction. A method of using a diffusion model to generate a trajectory is disclosed, for example, in "Janner, Michael, et al. "Planning with diffusion for flexible behavior synthesis." arXiv preprint arXiv:2205.09991(2022)." This method can also be applied to the construction of the trajectory generation model 131 of the present disclosure. The desired trajectory candidate generation unit 13 constructs the trajectory generation model 131, which is a diffusion model, using DDPM. The target trajectory candidate generating unit 13 sets the evaluation function J(τ) and Gaussian noise set by the evaluation function setting unit 11 based on the target values ​​and constraints, and generates, for example, a trajectory of the robot 20 that maximizes the evaluation function J(τ) using a trajectory generation model 131. An overview of the trajectory generation process using the trajectory generation model 131 (diffusion model) will be described with reference to Fig. 4 .

[0015] The target trajectory candidate generation unit 13 generates a trajectory using the trajectory generation model 131 (first step). For example, the target trajectory candidate generation unit 13 generates a trajectory using the trajectory generation model 131 multiple times (e.g., n times). Even when the same constraints and the like are set to generate a trajectory, the trajectory generated by the diffusion model often differs each time. By generating the trajectory n times, n trajectories are generated. Furthermore, the trajectory generated by the diffusion model in the first step (first time) often differs significantly from the target trajectory. As the number of times increases while adjusting the constraints and the like, a trajectory that gradually approaches the target value and more strictly satisfies the constraints is generated. Therefore, the target trajectory candidate generation unit 13 generates trajectories from the second step to the Kth step using the trajectory generation model 131 for each of the n target trajectory candidates. Through this process, various target trajectory candidates 1 to n that have good evaluation function values ​​(good evaluation function values ​​are considered to be close to the target value, satisfy the constraints well, and rarely collide with obstacles) can be obtained. At this time, the target trajectory candidate generating unit 13 adjusts the evaluation function in the process of repeating the process from the 1st to the Kth steps so as to obtain a target trajectory candidate that is closer to the target value, satisfies the constraint conditions more strictly, and is less likely to collide with obstacles. For example, the target trajectory candidate generating unit 13 may gradually change the evaluation function to a stricter one in the process of repeating the process from the 1st to the Kth steps. For example, the target trajectory candidate generating unit 13 may adjust the evaluation function so that the constraint conditions become stricter as the number of steps increases according to the following equation (5). rule k (τ)+γ(K-k)≧0, γ>0, 1≦k≦K...(5)

[0016] Furthermore, for example, if the target trajectory candidates 1 to n obtained up to that point have a large deviation from the constraint conditions after several steps have been executed, the target trajectory candidate generating unit 13 may generate a J k rule (τ k) may be increased to encourage the generation of trajectory candidates that place emphasis on achieving the constraints. If many trajectory candidates are generated that have improved the constraints but deviate from the target values, for example, the target trajectory candidate generation unit 13 may k task (τ k ) may be weighted more heavily to encourage the generation of trajectory candidates that place emphasis on achieving the target value. The evaluation function may be adjusted for each step, or may be adjusted once every few steps. The evaluation function may be adjusted using a different method for each of the target trajectory candidates 1 to n, or may be adjusted uniformly in the same way for all.

[0017] The target trajectory candidate selection unit 14 selects a trajectory that is likely to be feasible from among the multiple target trajectory candidates 1 to n generated by the target trajectory candidate generation unit 13. For example, the target trajectory candidate selection unit 14 may select a trajectory that is likely to be feasible from among the target trajectory candidates 1 to n in terms of the distance (norm) from the constraint condition, the degree of satisfaction of the constraint condition, and the degree of satisfaction of the target. For example, the target trajectory candidate selection unit 14 may calculate a robustness index that quantifies the norm from the constraint condition, the degree of satisfaction of the constraint condition, and the degree of satisfaction of the target using a predetermined function or the like for each of the target trajectory candidates 1 to n, evaluate the target trajectory candidates 1 to n, and select the candidate with the largest value of the robustness index.

[0018] The target trajectory correction unit 15 corrects the trajectory using the target trajectory candidate selected by the target trajectory candidate selection unit 14 as an initial value. For example, the target trajectory correction unit 15 may perform optimization processing using the target trajectory candidate selected by the target trajectory candidate selection unit 14 as an initial value. Also, for example, the target trajectory correction unit 15 may perform optimization processing using the target trajectory candidate selected by the target trajectory candidate selection unit 14 as an initial value. * Algorithms and RRT * It is also possible to correct target trajectory candidates selected by path / motion planning using RRTs (Rapidly-exploring Random Trees) such as the above.

[0019] (Operation) Next, the operation of the control device 10 of the first embodiment will be described with reference to FIG. 5 . FIG. 5 is a flowchart showing an example of a target trajectory generation process. The evaluation function setting unit 11 sets an evaluation function for evaluating trajectory candidates from target values, constraints, and observation information (step S1). Next, the target trajectory candidate generation unit 13 generates at least one target trajectory candidate using the trajectory generation model 131 in accordance with the evaluation function (step S2). For example, the target trajectory candidate generation unit 13 may generate n target trajectory candidates 1 to n, or may generate only one target trajectory candidate. The target trajectory candidate generation unit 13 repeats the processes of steps S1 and S2 until the calculation of target trajectory candidates is performed K times (step S3). While performing steps S1 and S2 K times, the evaluation function of step S1 may be set gradually more strictly. Alternatively, if there is a strong tendency to collide with an obstacle, the target trajectory candidate may be generated with an emphasis on obstacle avoidance by increasing the weighting of the evaluation function related to the obstacle. After performing the process of generating target trajectory candidates by repeating K times using the trajectory generation model, the target trajectory candidate generating unit 13 outputs at least one generated target trajectory candidate to the target trajectory candidate selecting unit 14 .

[0020] Next, the target trajectory candidate selection unit 14 calculates a robustness index indicating the degree to which the target values ​​and constraint conditions are satisfied, and selects the target trajectory candidate with the highest feasibility based on the robustness index (step S4). The target trajectory candidate selection unit 14 outputs the selected target trajectory candidate to the target trajectory correction unit 15. Next, the target trajectory correction unit 15 sets the target trajectory candidate as an initial value for planning calculation and calculates a target trajectory that satisfies all the target values ​​and constraint conditions (step S5). For example, the target trajectory correction unit 15 corrects the target trajectory candidate selected by the target trajectory candidate selection unit 14 to calculate a final target trajectory that satisfies all the target values ​​and constraint conditions.

[0021] (Effect) By using the trajectory generation model 131, a trajectory can be generated at high speed. However, it is not always possible to obtain a trajectory that satisfies the target values ​​and constraint conditions. In this embodiment, the target trajectory candidate generated by the trajectory generation model 131 is corrected so that it satisfies all the target values ​​and constraint conditions. This makes it possible to quickly calculate a trajectory that is highly feasible.

[0022] Second Embodiment A control device according to a second embodiment will be described below with reference to FIGS. 6 and 7. (Configuration) The control device 10a includes an evaluation function setting unit 11, a constraint model 12, a target trajectory candidate generation unit 13, and a target trajectory correction unit 15a. The control device 10a according to the second embodiment does not include the target trajectory candidate selection unit 14, and includes the target trajectory correction unit 15a instead of the target trajectory correction unit 15. The other configurations are the same as those of the first embodiment. The target trajectory correction unit 15a acquires at least one target trajectory candidate generated by the target trajectory candidate generation unit 13 and performs correction for each candidate trajectory using optimization, path / motion planning, or the like to calculate a target trajectory that satisfies all target values ​​and constraints. If the target trajectory candidate generation unit 13 calculates multiple target trajectory candidates, multiple target trajectories are generated. For example, multiple target trajectories may be calculated by using multiple computers in parallel to perform optimization, path / motion planning, or the like. When there are multiple target trajectories, the target trajectory correction unit 15a selects the most feasible trajectory from the multiple target trajectories as the final target trajectory. For example, the target trajectory correction unit 15a may evaluate target trajectory candidates 1 to N based on the norm with the constraint conditions and select the candidate with the largest norm value.

[0023] (Operation) Next, the operation of the control device 10a according to the second embodiment will be described with reference to FIG. 7 . FIG. 7 is a flowchart illustrating an example of a target trajectory generation process according to the second embodiment. Processes similar to those in the first embodiment are designated by the same reference numerals and will be briefly described. The evaluation function setting unit 11 sets an evaluation function based on target values, constraint conditions, and observation information (step S1). Next, the target trajectory candidate generation unit 13 generates at least one target trajectory candidate using the trajectory generation model 131 according to the evaluation function (step S2). The target trajectory candidate generation unit 13 repeats the processes of steps S1 and S2 until it has calculated target trajectory candidates K times (step S3). Next, the target trajectory candidate generation unit 13 outputs the generated at least one target trajectory candidate to the target trajectory correction unit 15a. Next, the target trajectory correction unit 15a sets the target trajectory candidate as the initial value for the planning calculation and calculates a target trajectory that satisfies all target values ​​and constraint conditions (step S4′). Next, the target trajectory correction unit 15a selects the most feasible target trajectory candidate (step S5′). For example, the target trajectory correcting unit 15a may calculate the norm with respect to the constraint condition and select the target trajectory candidate having the largest norm with respect to the constraint condition as the final target trajectory.

[0024] (Effect) Even if the target trajectory candidate selection unit 14 is not provided, a trajectory with high feasibility can be calculated at high speed, similar to the first embodiment.

[0025] Third Embodiment A control device according to the third embodiment will be described below with reference to FIGS. 8 to 11. (Configuration) The control device 10b includes an evaluation function setting unit 11, a constraint model 12, a target trajectory candidate generation unit 13, a target trajectory correction unit 15a, and a target trajectory correction unit (low-dimensional) 15b. The control device 10b according to the third embodiment includes the target trajectory correction unit (low-dimensional) 15b in addition to the target trajectory correction unit 15a. The other configurations are similar to those of the second embodiment. Note that while FIG. 8 illustrates an example configuration combined with the second embodiment, it is also possible to combine it with the first embodiment. The target trajectory candidate generation unit 13 includes a trajectory generation model 131b. The trajectory generation model 131b is a diffusion model constructed by learning the trajectory τ defined by equation (6) in FIG. 9 or equation (6') in FIG. 10. z is a parameter obtained by reducing the dimension of the state s. The dimension reduction may be achieved by calculating the feature quantity of the state s or by reducing data in the time direction. The target trajectory candidate generation unit 13 uses the trajectory generation model 131b to repeat K-step trajectory generation processing to generate at least one low-dimensional target trajectory candidate by applying an evaluation function (the structure of the evaluation function itself is the same as in the first embodiment) calculated for the reduced-dimensional state z as shown in FIGS. 9 and 10 for the combination of action a and z indicating a reduced-dimensional state. The target trajectory correction unit (low-dimensional) 15b corrects the generated low-dimensional target trajectory candidate so that it satisfies all target values ​​and constraint conditions. Once a low-dimensional target trajectory that satisfies all target values ​​and constraint conditions is generated, the target trajectory candidate generation unit 13 uses the trajectory generation model 131b to repeat K-step trajectory generation processing to generate at least one target trajectory candidate by applying an evaluation function (the structure of the evaluation function itself is the same as in the first embodiment) calculated for the state s and the reduced-dimensional state z for the combination of action a, state s, and z indicating a reduced-dimensional state, i.e., τ defined by Equation (6) or Equation (6'), using the low-dimensional target trajectory as an initial value.

[0026] Alternatively, the target trajectory candidate generation unit 13 may include a trajectory generation model 131b', which is a diffusion model constructed by learning a trajectory based on a combination of action a and z representing a reduced-dimensional state, and a trajectory generation model 131b, which is a diffusion model constructed by learning a trajectory τ defined by equation (6) of FIG. 9 or equation (6') of FIG. 10. The target trajectory candidate generation unit 13 repeats K-step trajectory generation processing using the trajectory generation model 131b' to generate at least one low-dimensional target trajectory. The target trajectory correction unit (low-dimensional) 15b corrects the generated low-dimensional target trajectory candidates so that they satisfy all target values ​​and constraint conditions. Next, the target trajectory candidate generation unit 13 generates at least one target trajectory that satisfies the target values ​​achieved by the corrected low-dimensional target trajectory by repeatedly performing K-step trajectory generation processing using the trajectory generation model 131b. The target trajectory correction unit 15a corrects the generated target trajectory candidates so that they satisfy all target values ​​and constraint conditions.

[0027] (Operation) FIG. 11 is a third flowchart showing an example of the target trajectory generation process. The evaluation function setting unit 11 sets a low-dimensional evaluation function to be used for target generation based on the target values, constraint conditions, and observation information (step S11). Next, the target trajectory candidate generation unit 13 performs the target trajectory candidate generation process K times using the trajectory generation model 131b to generate at least one low-dimensional target trajectory candidate (step S12). Next, the target trajectory correction unit (low-dimensional) 15b uses the low-dimensional target trajectory candidate as an initial value and corrects it to satisfy all target values ​​and constraint conditions, thereby calculating a low-dimensional target trajectory (step S13). Next, the evaluation function setting unit 11 sets an evaluation function based on the target values, constraint conditions, and observation information. The evaluation function setting unit 11 sets an evaluation function to satisfy the target values ​​of the low-dimensional state in addition to equation (1) of FIG. 2 (step S14). Next, the target trajectory candidate generation unit 13 performs the process of generating target trajectory candidates K times using the trajectory generation model 131b to generate at least one target trajectory candidate that satisfies the target values ​​achieved by the low-dimensional target trajectory calculated in step S13 and maximizes the value of the evaluation function as shown in Fig. 2 (step S15). Next, the target trajectory correction unit 15a corrects the target trajectory candidate calculated in step S15 so as to satisfy all target values ​​and constraint conditions, and calculates a target trajectory (step S16). Next, the target trajectory correction unit 15a selects the most feasible target trajectory from the calculated target trajectories.

[0028] (Effect) If a trajectory is generated for a trajectory τ that includes state s from the beginning, it may become impossible to calculate a solution (trajectory) due to the complex calculation that takes into account all conditions, such as the speed, acceleration, and posture of the robot 20. Therefore, the state s is reduced in dimension to, for example, the arm tip position of the robot 20, and a rough trajectory is generated focusing only on the reduced-dimensional state z and action a. Then, a trajectory calculation is performed for state s, thereby calculating a target trajectory that takes into account detailed conditions. This makes it possible to improve the stability of the calculation and the accuracy of the calculated target trajectory.

[0029] Next, application examples of the above-described embodiments will be described with reference to FIGS. 12 and 13 . FIG. 12 shows an example of the trajectories of robots 20a and 20b when picking an object from one of shelves a1 to a6 installed indoors or outdoors and moving the object to another shelf. The trajectory generation method of the present disclosure can be used to calculate the trajectory in such a case. For example, in the learning phase, data on the robot's position, posture, and actuator information (such as tire rotation angle and rotation speed) are collected as state s, and data on the control input and action type corresponding to state s are collected as action a. Data collection may be performed using a human demonstration, or data may be prepared through simulation, etc. Furthermore, for state s, a reduced-dimensional state z may be defined, for example, by using only position and posture information of representative points on the robot. The target trajectory candidate generation unit 13 learns the collected data and constructs a diffusion model (trajectory generation model 131). Next, the control device 10 generates a trajectory for the robot 20 through the processing referenced in FIGS. 5 , 7 , 11 , etc. This makes it possible to calculate a target trajectory that will allow the robot 20 to carry a picked object from shelf a3 to another shelf a1 without bumping into any shelves along the way. In addition, the target trajectory calculation method according to each embodiment of the present disclosure can be applied to outdoor movement and work plans for construction machinery and dump trucks (excavation, etc.), movement and work plans for mobile robots in warehouses (photographing inside a warehouse, picking and transporting items from shelves, etc.), and movement and work plans for mobile robots in retail (stocking products, organizing back-of-house areas, etc.).

[0030] The target trajectory calculation method according to each embodiment of the present disclosure can also be applied to the trajectory of the arm of the robot 20 when transferring items from basket A to basket B, as illustrated in FIG. 13 . For example, in the learning phase, data is collected as state s, including the angles and angular velocities of each joint of the robot 20, three-dimensional information about the target object or obstacle, control inputs (e.g., joint angles, angular velocities, torque, etc.) of the robot and robot hand corresponding to the state, action types (Grasp, Move, Realize, etc.), and variables (e.g., δ) for representing the hybrid system. Data collection may be performed using a human demonstration, or data may be prepared through simulation, etc. Furthermore, for state s, a reduced-dimensional state z may be defined based on the three-dimensional information. The reduced-dimensional state is, for example, two-dimensional robot information. An example of a reduced-dimensional two-dimensional model of the robot 20 is shown in FIG. 14 . The target trajectory candidate generation unit 13 learns the collected data and constructs a diffusion model (trajectory generation model 131). Next, the control device 10 generates a trajectory for the robot 20 by the processes shown in Figures 5, 7, 11, etc. Here, the evaluation function in step S1 may be constrained to reflect a success / failure classifier that determines whether the target trajectory to be generated is successful, and to be judged as successful. Also, a constraint may be added such that the distance between the data collected as learning data and the target trajectory to be generated is equal to or less than a certain value, making it difficult to take a state that does not exist in the collected data.

[0031] <About the optimization process> As described above, the target trajectory correction unit 15 corrects the target trajectory candidate generated by the trajectory generation model 131 by optimization or the like. Here, the flow of the process for optimizing the target trajectory candidate will be described. Each of the following processes is executed by the target trajectory correction unit 15. (STEP 1) An abstract state is set from measurement information. In FIG. 14, a circle represents an object, and s i is the state of object i, s ri This shows the state of robot hand i. For example, the desired state is "object 2 is at point G." In STEP 1, the abstract state in the robot's workspace is expressed as a logical proposition. For example, object i is at point G. i, object i is interfering with obstacle O i , the interference between the robot hands is represented by h. For example, if the object i is at point G, g i Set =1.

[0032] (STEP 2) Calculate the final achievement state from the task instructions and application information. In STEP 2, after the task is re-expressed as a logical proposition, the physical constraints and common sense constraints required for the robot's operation are added as logical propositions. For example, suppose the objective task is given as "Object 2 will eventually be at point G." In this case, the objective task is expressed as the operator "◇," which corresponds to "eventually" in linear temporal logic (LTL), and the abstract state proposition "g" set in STEP 1. i " and the logical formula "◇g 2 " is generated. Note that the final goal setting unit 16 may express a logical expression using any temporal logic operator other than the operator "◇" (logical product "∧", logical sum "∨", negation "¬", logical inclusion "⇒", always "□", next "○", until "U", etc.). Furthermore, the logical expression is not limited to linear temporal logic, and may be expressed using any temporal logic such as MTL (Metric Temporal Logic) or STL (Signal Temporal Logic). Next, for example, when two constraints corresponding to pick and place, "robots do not interfere with each other" and "object i does not interfere with obstacle O", are given, these constraints are converted into the following logical expressions. "robots do not interfere with each other" □¬h "object i does not interfere with obstacle O" ∧ i □¬o i Therefore, in this case, the logical expression corresponding to the objective task "finally, object 2 is present at point G" is as follows: 2 )∧(□¬h)∧(∧ i □¬o i )

[0033] (STEP 3) Calculate all logical propositions for each time step that can achieve the final goal. In STEP 3, candidates for logical propositions that should be satisfied at each time step for the final goal are listed. For example, a specific example will be explained in which the objective task is set as "finally, object 2 will be present at point G." In the following, we will consider the proposition "g i " is extended to include the concept of time steps. i,k " is used. Here, the proposition "g i,k " is the proposition that "object i exists at point G at time step k." If the target number of time steps is "3," the proposition that object 2 will be at point G after three steps can be written as the following equation.

[0034]

[0035] At this time, the final target logical formula Ltag is one of the following four candidates "φ 1 " ~ "φ 4 " logical sum (φ 1 ∨φ 2 ∨φ 3 ∨φ 4 )

[0036]

[0037] (STEP 4) An abstract model is created from application information, measurement information, and subtask information. In STEP 4, an abstract model that mimics real-world dynamics is expressed so that it can be evaluated in the subsequent optimization calculation (STEP 5). When the robot 20 is performing a target task, the dynamics in the workspace frequently changes. For example, in pick-and-place, if the robot arm is grasping an object i, it can move that object i, but if the robot arm is not grasping the object i, it cannot move that object i. The action of grasping the object i is represented by a logical variable "δ i When abstractly expressed as ", the abstract model to be set for the workspace can be written as follows:

[0038]

[0039] Here, "aj " indicates the control input for controlling the robot hand j. "I" indicates an identity matrix. "0" indicates a zero-row matrix. Note that the control input is assumed to be velocity as an example, but it may also be acceleration. Also, "δ j,i " is a logical variable that is "1" when the robot hand j is grasping the object i, and is "0" otherwise. r1 "," "s r2 ” is the position vector of the robot hand j, 1 " ~ "s 4 " indicates the position vector of object i. Furthermore, "h(s)" is a variable such that "h(s) ≥ 0" occurs when the robot hand is close enough to grasp the object, and the following relationship is satisfied between it and the logical variable δ: δ = 1 ⇔ h(s) ≥ 0. In this equation, if the robot hand is close enough to grasp the object, it is considered that the robot hand is grasping the object, and the logical variable δ is set to 1. Here, equation (7) above is a difference equation that shows the relationship between the state of the object at time step k and the state of the object at time step (k+1). In equation (7), the grasping state is represented by a logical variable that is a discrete value, and the movement of the object is represented by a continuous value. Therefore, equation (7) indicates a hybrid system. Equation (7) considers only the dynamics of the robot hand, which is the end effector of the robot 20 that actually grasps the object, rather than the detailed dynamics of the entire robot 20. This allows for an effective reduction in the amount of calculation required for the next optimization step. Instead of the model shown in equation (7), a model of a mixed logical dynamic (MLD) system or a hybrid system that combines Petri nets, automata, etc. may be generated.

[0040] (STEP 5) Calculate the control result that optimizes the evaluation function based on the abstract model. Through optimization calculations using the abstract model, the logical propositions that should be satisfied at each time step are satisfied, and the control input that optimizes the evaluation function is obtained. For example, if the target task is pick-and-place, the distance "d" between the object to be transported and the destination point where the object is to be transported is calculated. k" and control input "a k The evaluation function is determined so that the above-mentioned distance d k In the case of a target task in which "object 2 is finally located at point G", the distance d corresponds to the distance between object 2 and point G at time step k. For example, the distance d k The square of the norm of and the control input u k The sum of the square of the norm of ∑ ∑ m ∑ b ...

[0041]

[0042] Here, "T" is the number of time steps to be optimized, and may be the target number of time steps, or, as will be described later, may be a predetermined number smaller than the target number of time steps. In this case, the control input generation unit 35 preferably approximates the logical variables to continuous values ​​(treating the problem as a continuous relaxation problem). This allows the control input generation unit 35 to preferably reduce the amount of calculation. Note that if STL is used instead of linear logic (LTL), the problem can be described as a nonlinear optimization problem.

[0043] Furthermore, when the target number of time steps is long (for example, when it is larger than a predetermined threshold), the number of time steps T in equation (8) used for optimization may be set to a value smaller than the target number of time steps (for example, the above-mentioned threshold). In this case, for example, by solving the optimization problem based on equation (8) every time a predetermined number of time steps elapses, the control input a k Determine.

[0044] 15 is a block diagram showing the configuration of a control device having a minimum configuration. The control device 800 includes a target trajectory candidate generating means 810 and a target trajectory correcting means 820. The target trajectory candidate generating means 810 generates at least one target trajectory candidate using a trajectory generation model that generates a target trajectory. The target trajectory correcting means 820 corrects the target trajectory candidate to generate a target trajectory that satisfies the constraint conditions. The target trajectory candidate generating means 810 can be realized, for example, by using the function of the target trajectory candidate generating unit 13. The target trajectory correcting means 820 can be realized by using the function of at least one of the target trajectory correcting unit 15, the target trajectory correcting unit 15a, and the target trajectory correcting unit (low-dimensional) 15b.

[0045] 16 is a flowchart of a trajectory generation method having a minimum configuration. The target trajectory candidate generation means 810 generates at least one target trajectory candidate using a trajectory generation model for generating a target trajectory (step S810). Next, the target trajectory correction means 820 corrects the target trajectory candidate to generate a target trajectory that satisfies the constraints (step S820).

[0046] Note that a part of the control device 10 in the above-described embodiment may be realized by a computer. In this case, a program for realizing this function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed. Note that the "computer system" here refers to a computer system built into the control device 10, and includes hardware such as an OS (Operating System) and peripheral devices.

[0047] Furthermore, "computer-readable recording media" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into computer systems. Furthermore, "computer-readable recording media" may also include devices that dynamically store programs for a short period of time, such as communication lines used when transmitting programs over networks like the Internet or communication lines like telephone lines, or devices that store programs for a fixed period of time, such as volatile memory within computer systems that serve as servers or clients in such cases. Furthermore, the above-mentioned programs may be programs that realize some of the aforementioned functions, or may be programs that can realize the aforementioned functions in combination with programs already stored in the computer system.

[0048] Furthermore, part or all of the control device 10 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration). Each functional unit of the control device 10 may be individually implemented as a processor, or part or all of the functional units may be integrated into a processor. Furthermore, the integrated circuit implementation method is not limited to LSI, and may be implemented using a dedicated circuit or a general-purpose processor. Furthermore, if an integrated circuit implementation technology that can replace LSI emerges due to advances in semiconductor technology, an integrated circuit based on that technology may be used.

[0049] As described above, several embodiments according to the present disclosure have been described, but all of these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope of the invention and its equivalents as defined in the claims, as well as in the scope and spirit of the invention.

[0050] <Additional Notes> The control device, trajectory generation method, and recording medium described in the embodiments can be understood, for example, as follows.

[0051] (1) A control device according to a first aspect includes a target trajectory candidate generating means for generating at least one target trajectory candidate using a trajectory generation model for generating a target trajectory, and a target trajectory correction means for correcting the target trajectory candidate to generate a target trajectory that satisfies constraint conditions.

[0052] (2) A control device according to a second aspect is the control device according to (1), wherein the trajectory generation model is a diffusion model, and the target trajectory candidate generation means generates the target trajectory candidate through multiple generation processes using the trajectory generation model.

[0053] (3) A control device according to a third aspect is the control device according to any one of (1) to (2), wherein the target trajectory candidate generation means generates the target trajectory candidate through the generation process multiple times so as to improve a value of an evaluation function that evaluates to what extent the target value of the target trajectory candidate is achieved, to what extent the target trajectory candidate satisfies constraint conditions, and to what extent collision with an obstacle is avoided in the target trajectory candidate.

[0054] (4) A control device according to a fourth aspect is a control device according to any one of (1) to (3), wherein the target trajectory candidate generation means changes the evaluation function so that the constraint condition in the (k+1)th iteration of the multiple generation process is stricter than that in the kth iteration.

[0055] (5) A control device according to a fifth aspect is a control device according to any one of (1) to (4), wherein the target trajectory candidate generation means sets a greater weighting for at least one of the evaluation of how well the target value in the evaluation function is achieved in the k+1th iteration of the multiple generation process than in the kth iteration, the evaluation of how well the constraint conditions are satisfied, and the evaluation of how well collision with the obstacle is avoided.

[0056] (6) A control device according to a sixth aspect is a control device according to any one of (1) to (5), further comprising a target trajectory candidate selection means for selecting the most feasible target trajectory candidate from the at least one or more generated target trajectory candidates.

[0057] (7) A control device according to a seventh aspect is a control device according to any one of (1) to (6), wherein the target trajectory candidate generation means generates at least one low-dimensional target trajectory candidate using a low-dimensional trajectory generation model constructed from data obtained by reducing the dimension of learning data used to construct the trajectory generation model, and generates at least one target trajectory candidate using the trajectory generation model that satisfies a target value achieved by the low-dimensional target trajectory candidate.

[0058] (8) A control device according to an eighth aspect is the control device according to any one of (1) to (7), wherein the target trajectory correction means performs an optimization process using the target trajectory candidate as an initial value to generate the target trajectory.

[0059] (9) A trajectory generation method according to a ninth aspect includes a computer generating at least one target trajectory candidate using a trajectory generation model that generates a target trajectory, and correcting the target trajectory candidate to calculate a target trajectory that satisfies constraint conditions.

[0060] (10) A recording medium according to a tenth aspect is a recording medium storing a program that causes a computer to execute the steps of generating at least one target trajectory candidate using a trajectory generation model that generates a target trajectory, and correcting the target trajectory candidate to calculate a target trajectory that satisfies constraint conditions.

[0061] According to the above-described control device, trajectory generation method, and recording medium, a trajectory with a high feasibility can be calculated.

[0062] REFERENCE SIGNS LIST 10, 10a, 10b... Control device 11... Evaluation function setting unit 12... Constraint model 13... Target trajectory candidate generation unit 131... Trajectory generation model 14... Target trajectory candidate selection unit 15, 15a... Target trajectory correction unit 15b... Target trajectory correction unit (low dimension) 20... Robot

Claims

1. A target trajectory candidate generation means that generates at least one target trajectory candidate using a trajectory generation model that generates a target trajectory, A target trajectory correction means for correcting the aforementioned target trajectory candidate to generate a target trajectory that satisfies the constraint conditions, A control device having

2. The orbital generation model is a diffusion model, The target trajectory candidate generation means generates the target trajectory candidate through multiple generation processes using the trajectory generation model. The control device according to claim 1.

3. The target trajectory candidate generation means generates the target trajectory candidate through the multiple generation process in such a way that the value of the evaluation function, which evaluates the extent to which the target value of the target trajectory candidate is achieved, the extent to which the target trajectory candidate satisfies the constraint conditions, and the extent to which the target trajectory candidate avoids collisions with obstacles, improves. The control device according to claim 2.

4. The target trajectory candidate generation means modifies the evaluation function so that the constraint conditions in the k+1th generation are stricter than those in the kth generation process. The control device according to claim 3.

5. The target trajectory candidate generation means sets a greater weight for at least one of the following evaluations in the multiple generation process: the evaluation of how well the target value in the evaluation function is achieved in the k+1th evaluation compared to the kth evaluation; the evaluation of how well the constraint conditions are met; and the evaluation of how well collisions with obstacles are avoided. The control device according to claim 3 or claim 4.

6. A target trajectory candidate selection means for selecting the most feasible target trajectory candidate from the at least one target trajectory candidate generated. The control device according to claim 1 or claim 2, further comprising:

7. The target trajectory candidate generation means generates at least one low-dimensional target trajectory candidate using a low-dimensional trajectory generation model constructed from low-dimensional data of the training data used to construct the trajectory generation model, and generates at least one target trajectory candidate that satisfies the target value achieved by the low-dimensional target trajectory candidate using the trajectory generation model that generates target trajectories. The control device according to claim 1 or claim 2.

8. The target trajectory correction means generates the target trajectory by performing optimization using the target trajectory candidate as an initial value. The control device according to claim 1 or claim 2.

9. Computers Using an orbit generation model that generates target orbits, at least one target orbit candidate is generated. The candidate target trajectory is corrected to calculate a target trajectory that satisfies the constraints. Trajectory generation method.

10. On the computer, A step of generating at least one target trajectory candidate using a trajectory generation model that generates the target trajectory, The steps include correcting the candidate target trajectory to calculate a target trajectory that satisfies the constraints, A program that executes the command.