Information processing device, information processing method, and computer-readable recording medium
Patent Information
- Application Number
- PCT/JP2025/006930
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-27
- Publication Date
- 2026-09-03
Smart Images

Figure JP2025006930_03092026_PF_FP_ABST
Abstract
Description
Information processing device, information processing method, and computer-readable recording medium
[0001] This disclosure relates to a technology for performing motion planning.
[0002] Continuous-time generative models have traditionally been used to plan movements with small prediction errors in robots and other systems. A continuous-time generative model is a type of generative model in which the generative process is represented by dynamics. Dynamics, in this context, refers to the equations of a dynamical system, or the time evolution equations.
[0003] However, a problem with continuous-time generation models is that they cannot guarantee that physical constraints will be met, that is, that constraints will not be satisfied. Examples of physical constraints include the movable area set for an autonomous mobile robot and the operating range set for a robot arm. For this reason, Non-Patent Document 1 discloses a technique for achieving physical constraints by adding guidance that moves in the direction of constraint satisfaction when generating a continuous-time generation model.
[0004] Kasuki Mizuta, Karen Leung, “CoBL-Diffusion: Diffusion-Based Conditional Robot Planning in Dynamic Environments Using Control Barrier and Lyapunov”, arXiv:2406.05309v2 [cs.RO] 12 Nov 2024
[0005] However, the technology disclosed in non-patent literature has the problem that physical constraints cannot always be met, and there is no guarantee regarding those constraints.
[0006] One example of the purpose of this disclosure is to enable planning of the operation of a controlled object while ensuring that physical constraints are met.
[0007] To achieve the above objective, an information processing device in one aspect of this disclosure is characterized by comprising: a trajectory data calculation means that applies first trajectory data representing the trajectory of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of trajectories to calculate second trajectory data representing the trajectory of the controlled object at the next generation step; a difference data calculation means that calculates difference data representing the difference between the first trajectory data and the second trajectory data; a correction data calculation means that calculates correction data for the second trajectory data to maintain the safety of the controlled object from the calculated difference data; and a correction trajectory data calculation means that calculates corrected trajectory data by adding the correction data to the second trajectory data.
[0008] Furthermore, in order to achieve the above objective, an information processing method in one aspect of this disclosure is characterized in that a computer applies first trajectory data representing the trajectory of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of trajectories to calculate second trajectory data representing the trajectory of the controlled object at the next generation step, calculates difference data representing the difference between the first trajectory data and the second trajectory data, calculates correction data for the second trajectory data to maintain the safety of the controlled object from the calculated difference data, and calculates corrected trajectory data by adding the correction data to the second trajectory data.
[0009] Furthermore, in order to achieve the above objective, a computer-readable recording medium in one aspect of this disclosure is characterized in that it records a program including instructions that causes a computer to apply first trajectory data representing the trajectory of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of trajectories to calculate second trajectory data representing the trajectory of the controlled object at the next generation step, calculate difference data representing the difference between the first trajectory data and the second trajectory data, calculate correction data for the second trajectory data to maintain the safety of the controlled object from the calculated difference data, and calculate corrected trajectory data by adding the correction data to the second trajectory data.
[0010] As described above, this disclosure makes it possible to plan the operation of the controlled object while ensuring that physical constraints are met.
[0011] Figure 1 is a schematic diagram showing the general configuration of the first example of an information processing device. Figure 2 is a configuration diagram specifically showing the configuration of the first example of an information processing device. Figure 3 is a conceptual diagram showing the processing performed by the information processing device. Figure 4 is a flowchart showing the operation of the first example of an information processing device. Figure 5 is a configuration diagram showing the configuration of the second example of an information processing device. Figure 6 is a conceptual diagram showing the prediction processing performed by the information processing device. Figure 7 is a flowchart showing the operation of the second example of an information processing device. Figure 8 is a conceptual diagram showing the processing in Modification 1. Figure 9 is a conceptual diagram showing the processing in Modification 2. Figure 10 is a diagram showing an example of the state at each step of robot and object generation. Figure 11 is a block diagram showing an example of a computer realizing an information processing device.
[0012] (Embodiment 1) Hereinafter, the information processing device, information processing method, and program in Embodiment 1 will be described with reference to Figures 1 to 4.
[0013] [Device Configuration] First, the schematic configuration of the first example of the information processing device will be explained using Figure 1. Figure 1 is a configuration diagram showing the schematic configuration of the first example of the information processing device.
[0014] The information processing device 10 shown in Figure 1 is a device for controlling the trajectory of a controlled object. As shown in Figure 1, the information processing device 10 includes a trajectory data calculation unit 11, a difference data calculation unit 12, a correction data calculation unit 13, and a correction trajectory data calculation unit 14.
[0015] The trajectory data calculation unit 11 uses first trajectory data representing the trajectory of the controlled object at a specific generation step and a model that defines the amount of change between multiple trajectories to calculate second trajectory data representing the trajectory of the controlled object at the next generation step.
[0016] The difference data calculation unit 12 calculates difference data representing the difference between the first orbit data and the second orbit data. The correction data calculation unit 13 calculates correction data for the second orbit data from the calculated difference data in order to maintain the safety of the controlled object. The correction data is calculated by adding the correction data to the second orbit data.
[0017] In this way, the information processing device 10 calculates the trajectory data for the next step using a model that defines the amount of change between multiple trajectories, specifically a continuous time generation model. Then, the information processing device 10 modifies the trajectory data for the next step using modified data aimed at ensuring the safety of the controlled object. Therefore, the information processing device 10 can plan the operation of the controlled object while guaranteeing the achievement of physical constraints.
[0018] Next, the configuration and functions of the first example of the information processing device will be specifically explained using Figures 2 and 3. Figure 2 is a configuration diagram that specifically shows the configuration of the first example of the information processing device.
[0019] As shown in Figure 2, the information processing device 10 is connected to the computer 20 via a network or the like. The computer 20 is a device for controlling the controlled object. In the example in Figure 2, the controlled object is shown as a robot, specifically an unmanned transport robot 21 that transports goods 22. In Embodiment 1, the controlled object is not particularly limited.
[0020] Furthermore, as shown in Figure 2, the information processing device 10 includes, in addition to the trajectory data calculation unit 11, difference data calculation unit 12, correction data calculation unit 13, and correction trajectory data calculation unit 14 described above, a sampling unit 15 and an output unit 16.
[0021] Furthermore, in Embodiment 1, the orbital data, such as the first orbital data, the second orbital data, and the modified orbital data, are vector data. In the following description, the orbital data in generation step t is "x t It is written as "".
[0022] The sampling unit 15 obtains initial trajectory data (initial vector) x in the first generation step t (t=0) 0 and generates said initial vector x 0 and inputs the generated initial vector x into the trajectory data calculation unit 11.
[0023] In the first generation step t (t=0), the trajectory data calculation unit 11 uses, as first trajectory data x t , the initial vector x 0 . In the first embodiment, the trajectory data calculation unit 11 can use, for example, a continuous-time generative model as a model that defines the amount of change between a plurality of trajectories.
[0024] Further, the difference data calculation unit 12 calculates difference data between first trajectory data x t and second trajectory data x t+1 . The correction data calculation unit 13 calculates correction data that minimizes a correction amount for the second trajectory data x t+1 such that the correction data includes the difference data and a constraint representing safety of a control target is satisfied. The corrected trajectory data is calculated by adding the correction data to the second trajectory data x t+1 to obtain the corrected trajectory data.
[0025] Here, processing in the trajectory data calculation unit 11, the difference data calculation unit 12, the correction data calculation unit 13, and the corrected trajectory data calculation unit 14 will be described in more detail. FIG. 3 is a diagram conceptually showing processing performed by the information processing apparatus.
[0026] First, specific examples of the above-described continuous-time generative model include a stochastic differential equation-based generative model and an ordinary differential equation-based generative model.
[0027] The stochastic differential equation-based generative model is, for example, a diffusion model, and the generation process is represented by dynamics (dynamical system, time evolution equation) shown in the following Equation 1. In the following Equation 1, s θ (x t , t) represents a neural network generally called a score. W represents a random vector with a mean of 0 (zero) and a variance of σ.
[0028]
[0029] Generative models based on ordinary differential equations are, for example, continuous normalized flow or flow matching, and are expressed by the dynamics (dynamical system, time evolution equation) shown in Equation 2 below. In Equation 2 below, V t (x t ) represents a neural network.
[0030]
[0031] The orbital data calculation unit 11 uses the continuous time generation model shown in either Equation 1 or Equation 2 above to generate the first orbital data x t Apply dx t Calculate / dt and the calculated dx t / dt and the first orbital data x t Adding these together, we get the second orbital data x t+1 Calculate.
[0032] Furthermore, the dynamics shown in equations 1 and 2 above have a drift term of f t (x t ), control input u t Therefore, it can be rewritten by the following equation 3.
[0033]
[0034] In the above equation 3, the drift term f t (x t ) corresponds to difference data representing the difference between the first orbit data and the second orbit. Also, the control input u t This corresponds to the corrected data for the second orbital data.
[0035] Furthermore, the safety of the controlled object can be maintained by defining a control barrier function h(x). If the controlled object is the aforementioned automated guided vehicle (AGV), safety can be maintained by avoiding collisions with the AGV, and the control barrier function h(x) can be defined as a quadratic function.
[0036] Therefore, control input u tThe conditions that the corrected data must satisfy are expressed by equations 4 and 5 below. In equation 4 below, α(h) is a function that is continuously monotonically increasing and satisfies α(0) = 0.
[0037]
[0038]
[0039] Therefore, the difference data calculation unit 12 calculates the first trajectory data x t And the second orbital data x t+1 Applying these two equations to the above equation 3, we obtain the drift term f, which is the difference data. t (x t The corrected data calculation unit 13 calculates the following so that the above numbers 4 and 5 are satisfied: t The corrected data is calculated.
[0040] Once the corrected data is calculated, the corrected trajectory data calculation unit 14 uses the above equation 3 to calculate the corrected trajectory data for generation step t. The corrected trajectory data calculation unit 14 also updates the value for the generation step. Subsequently, the processing by the trajectory data calculation unit 11, the difference data calculation unit 12, the corrected data calculation unit 13, and the corrected trajectory data calculation unit 14 is executed again for the updated generation step.
[0041] The output unit 16 outputs corrected trajectory data for each generation step to the computer 20. The computer 20 uses the corrected trajectory data to control the unmanned transport robot 21, the target of control, and perform motion simulations, etc.
[0042] [Device Operation] Next, the operation of the information processing device 10 will be explained using Figure 4. Figure 4 is a flowchart showing the operation of the first example of the information processing device. In the following explanation, Figures 1 to 3 will be referred to as appropriate. In the first embodiment, the information processing method is carried out by operating the information processing device 10. Therefore, the explanation of the information processing method will be replaced by the following explanation of the operation of the information processing device 10.
[0043] As shown in Figure 4, first the sampling unit 15 generates the initial trajectory data (initial vector) x in the first generation step t (t=0).0 The initial vector x is generated (step A1). Then, the sampling unit 15 generates the initial vector x 0 This is input to the orbital data calculation unit 11.
[0044] Next, the orbital data calculation unit 11 calculates the first orbital data x t Using the initial vector x0, this is applied to a model that defines the change between multiple orbits, such as a continuous-time generation model, to obtain the second orbital data x in the next generation step. t+1 Calculate (Step A2).
[0045] Next, the difference data calculation unit 12 calculates the first orbital data x t And the second orbital data x obtained in step A2 t+1 Using this, calculate the difference data (Step A3).
[0046] Specifically, in step A3, the difference data calculation unit 12 calculates the first trajectory data x t And the second orbital data x t+1 Applying these two equations to the above equation 3, we obtain the drift term f, which is the difference data. t (x t Calculate the result.
[0047] Next, the correction data calculation unit 13 calculates correction data for the second trajectory data to maintain the safety of the controlled object from the difference data calculated in step A3 (step A4).
[0048] Specifically, in step A4, the correction data calculation unit 13 adjusts the control input u so that equations 4 and 5 above are satisfied. t The corrected data is calculated.
[0049] Next, the corrected trajectory data calculation unit 14 calculates the corrected trajectory data using the corrected data calculated in step A4 (step A5).
[0050] Specifically, in step A5, the corrected trajectory data calculation unit 14 calculates the corrected trajectory data in generation step t using the above equation 3.
[0051] Next, the corrected trajectory data calculation unit 14 determines whether the value in generation step t has reached the set final value T (step A6).
[0052] If the result of the determination in step A6 indicates that the value of generation step t has not reached the set final value T, the corrected trajectory data calculation unit 14 updates the value of generation step t (step A8). After step A8 is executed, steps A2 and onward are executed again using the updated generation step t.
[0053] On the other hand, if the result of the determination in step A6 indicates that the value of generation step t has reached the set final value T, the output unit 16 outputs the trajectory data for each generation step, calculated in step A5, to the computer 20 (step A7). As a result, the computer 20 uses the corrected trajectory data to control the unmanned transport robot 21, the target of control, and perform motion simulations, etc.
[0054] As described above, in Embodiment 1, the correction data includes difference data and is calculated so as to satisfy the constraints representing the safety of the controlled object. Furthermore, the calculated correction data minimizes the amount of correction to the second trajectory data. Therefore, according to Embodiment 1, it is possible to plan the operation of the controlled object while ensuring the achievement of physical constraints.
[0055] [Program] In Embodiment 1, the program is one that causes a computer to execute steps A1 to A8 shown in Figure 4. By installing and executing this program on a computer, the information processing device 10 and the information processing method can be realized. In this case, the computer's processor functions as a trajectory data calculation unit 11, a difference data calculation unit 12, a correction data calculation unit 13, a correction trajectory data calculation unit 14, a sampling unit 15, and an output unit 16, and performs processing. As for the computer, in addition to a general-purpose PC and a server computer, examples include a smartphone and a tablet terminal device.
[0056] In Embodiment 1, the program may be executed by a computer system constructed by multiple computers. In this case, for example, each computer may function as one of the following: orbital data calculation unit 11, difference data calculation unit 12, correction data calculation unit 13, correction orbital data calculation unit 14, sampling unit 15, and output unit 16.
[0057] (Embodiment 2) Next, in Embodiment 2, the information processing device, information processing method, and program will be described with reference to Figures 5 to 9.
[0058] [Device Configuration] First, the configuration of the second example of the information processing device will be explained using Figure 5. Figure 5 is a configuration diagram showing the configuration of the second example of the information processing device.
[0059] The information processing device 30 shown in Figure 5 is a device for controlling the trajectory of a controlled object, similar to the information processing device 10 shown in Figures 1 and 2. As shown in Figure 5, the information processing device 30, like the information processing device 10, includes a trajectory data calculation unit 11, a difference data calculation unit 12, a correction data calculation unit 13, a correction trajectory data calculation unit 14, a sampling unit 15, and an output unit 16.
[0060] Furthermore, as shown in Figure 5, the information processing device 30 is also connected to the computer 20 via a network or the like. The computer 20 is a device for controlling the controlled object, as described using Figure 2. In the example in Figure 5, the controlled object is an unmanned transport robot 21 that transports goods 22.
[0061] As described above, the information processing device 30 has the same configuration as the information processing device 10 shown in Embodiment 1, but differs in the following points. The differences from Embodiment 1 will be explained below.
[0062] As shown in Figure 5, the information processing device 30 includes a prediction unit 31 in addition to the trajectory data calculation unit 11, difference data calculation unit 12, correction data calculation unit 13, correction trajectory data calculation unit 14, sampling unit 15, and output unit 16 described above. Furthermore, with this configuration, the processing of the difference data calculation unit 12 and the correction data calculation unit 13 differs from that of Embodiment 1.
[0063] The prediction unit 31 predicts the orbital data at the final generation step T (hereinafter referred to as "final orbital data") from the second orbital data calculated by the orbital data calculation unit 11. If the predicted final orbital data violates the constraints, the difference data calculation unit 12 calculates difference data, and the correction data calculation unit 13 calculates corrected orbital data.
[0064] Here, we will explain in detail the prediction process performed in the prediction unit using Figure 6. Figure 6 is a conceptual diagram showing the prediction process performed in the information processing device.
[0065] As shown in Figure 6, the orbital data (final orbital data) x in the final generation step T T If this can be predicted, then final orbit data x T Using this, it is possible to determine whether the controlled trajectory violates the safety constraint (the control barrier function h(x) has a positive value). Based on the result of the determination, the final trajectory data x T If the constraints are not violated, then the difference data f t (x t ) and corrected data u t There is no need to calculate it.
[0066] Specifically, as shown in Figure 6, the prediction unit 31 first assumes that the path of the controlled object is a straight line during the prediction process. In other words, the prediction unit 31 assumes that the speed v of the controlled object is a straight line. t Assume that is constant regardless of time. In this case, the orbit vector at generation step t is x t Therefore, the vector field is v t (x t ) can be defined as follows. Therefore, the prediction unit 31 uses the following equation 6 to determine the final trajectory data x T To predict.
[0067]
[0068] The final orbital data x predicted in this way TIf the constraints are not violated, the difference data calculation unit 12 does not calculate difference data, and the correction data calculation unit 13 also does not calculate correction data. As a result, no correction data is calculated, and the second trajectory data is used as the trajectory data in the next step t+1.
[0069] [Device Operation] Next, the operation of the information processing device 30 will be explained using Figure 7. Figure 7 is a flowchart showing the operation of the second example of the information processing device. In the following explanation, Figures 5 and 6 will be referred to as appropriate. In the second embodiment, the information processing method is carried out by operating the information processing device 30. Therefore, the explanation of the information processing method will be replaced by the following explanation of the operation of the information processing device 30.
[0070] As shown in Figure 7, first the sampling unit 15 generates the initial trajectory data (initial vector) x in the first generation step t (t=0). 0 This generates (step B1). Step B1 is the same as step A1 shown in Figure 4.
[0071] Next, the orbital data calculation unit 11 calculates the first orbital data x t Using the initial vector x0, this is applied to a model that defines the change between multiple orbits, such as a continuous-time generation model, to obtain the second orbital data x in the next generation step. t+1 Calculate (Step B2). Step B2 is the same as Step A2 shown in Figure 4.
[0072] Next, the prediction unit 31 predicts the orbital data (final orbital data) in the final generation step T from the second orbital data calculated in step B2 (step B3). Specifically, in step B3, the prediction unit 31 predicts the velocity v of the controlled object. t Assuming that is constant regardless of time, and using the above equation 6, the final orbit data x T To predict.
[0073] Next, the prediction unit 31 uses the final trajectory data x predicted in step B3. T Using this, it is determined whether the trajectory of the controlled object violates the constraints representing safety (step B4).
[0074] If the determination in step B4 does not violate the constraints, the corrected trajectory data calculation unit 14 uses the second trajectory data calculated in step B2 as the trajectory data for the next step t+1, and then executes step B8.
[0075] If the result of the determination in step B4 violates the constraint conditions, the difference data calculation unit 12 calculates the first trajectory data x t And the second orbital data x obtained in step B2 t+1 Using this, the difference data is calculated (Step B5). Step B5 is the same as Step A3 shown in Figure 4.
[0076] Next, the correction data calculation unit 13 calculates correction data for the second trajectory data to maintain the safety of the controlled object from the difference data calculated in step B5 (step B6). Step B6 is the same as step A4 shown in Figure 4.
[0077] Next, the corrected trajectory data calculation unit 14 calculates the corrected trajectory data using the corrected data calculated in step B6 (step B7). Step B7 is the same as step A5 shown in Figure 4.
[0078] Next, the corrected trajectory data calculation unit 14 determines whether the value in generation step t has reached the set final value T (step B8). Step B8 is the same as step A6 shown in Figure 4.
[0079] If, as a result of the determination in step B8, the value of generation step t has not reached the set final value T, the corrected trajectory data calculation unit 14 updates the value of generation step t (step B10). After step B10 is executed, steps B2 and onward are executed again using the updated generation step t.
[0080] On the other hand, if the result of the determination in step B8 indicates that the value of generation step t has reached the set final value T, the output unit 16 outputs the trajectory data for each generation step to the computer 20 (step B9). As a result, the computer 20 uses the corrected trajectory data to control the unmanned transport robot 21, perform motion simulations, and so on.
[0081] As described above, in Embodiment 2, it is possible to determine whether the trajectory of the controlled object in the final generation step T violates the constraints representing safety, and if it does not violate them, the calculation process of difference data and correction data can be omitted. For this reason, Embodiment 2 reduces the load on the information processing device 30. Also, in Embodiment 2, as in Embodiment 1, it is possible to plan the operation of the controlled object while ensuring the achievement of physical constraints.
[0082] [Program] In Embodiment 2, the program is one that causes a computer to execute steps B1 to B9 shown in Figure 7. By installing and executing this program on a computer, the information processing device 30 and the information processing method can be realized. In this case, the computer's processor functions as a trajectory data calculation unit 11, a difference data calculation unit 12, a correction data calculation unit 13, a correction trajectory data calculation unit 14, a sampling unit 15, an output unit 16, and a prediction unit 31, and performs processing. As for the computer, in addition to general-purpose PCs and server computers, smartphones and tablet terminal devices can be used.
[0083] In Embodiment 2, the program may be executed by a computer system constructed by multiple computers. In this case, for example, each computer may function as one of the following: orbital data calculation unit 11, difference data calculation unit 12, correction data calculation unit 13, correction orbital data calculation unit 14, sampling unit 15, output unit 16, and prediction unit 31.
[0084] [Modified Version] Next, a modified version of Embodiment 2 will be described.
[0085] Modification 1: Modification 1 will be explained using Figure 8. Figure 8 is a diagram that conceptually shows the processing in Modification 1. In Modification 1, the predicted final trajectory data x T However, if the constraints are violated, the corrected data calculation unit 13 calculates the predicted final trajectory data x T The corrected data is calculated using this method.
[0086] As shown in Figure 8, the predicted final trajectory data x T However, because it violates the constraints, the corrected data calculation unit 13 calculates the control input u that satisfies the following condition 8, which is a prerequisite (a condition that must be satisfied). t From among these, the control input u that satisfies the following number 7 (i.e., the norm is minimized) t Calculate.
[0087]
[0088]
[0089] In the modified example 1, as in the examples shown in Figures 5 to 7, if the trajectory of the controlled object in the final generation step T does not violate the constraints representing safety, the calculation process of difference data and correction data can be omitted, thereby reducing the load on the information processing device 30.
[0090] Modification 2: Modification 2 will be explained using Figure 9. Figure 9 is a diagram that conceptually shows the process in Modification 2.
[0091] In the examples shown in Figures 5 to 8, the control input u t = -v t (x t ) This could be calculated as follows. In this case, safety is maintained, but the prediction error in the continuous-time generation model may not be reduced.
[0092] Therefore, in the modified example 2, as shown in Figure 9, the predicted final trajectory data x T However, if the constraints are violated, the correction data calculation unit 13 calculates the correction data (control input u t) Noise w in a direction orthogonal to the direction of the difference data is added to calculate the final corrected data. Therefore, according to Modification 2, the possibility that the prediction error in the continuous-time generation model will not decrease can be reduced.
[0093] (Specific Examples) Here, specific examples of the present disclosure will be described below. In addition to the robot described above, objects can also be used as the object of control. For example, in the unmanned transport robot 21 that transports the article 22 shown in Figure 2, both the unmanned transport robot 21 and the article 22 are the objects of control. In this case, trajectory data x t It is represented by the following number 9.
[0094]
[0095] The number 9 shown above is "x t,k robot " and "x t,k object In this example, t represents the generation step (virtual time) in the continuous-time generation model, and k represents physical time in real space (real time). The trajectory data is vector data representing a sequence of states of the robot and the object. Alternatively, the trajectory data may also be vector data representing a sequence of velocities or accelerations of the robot and the object.
[0096] "x t,k robot This indicates the state of the robot at real time k during the generation step t. The "state" of the robot is defined, for example, by a six-dimensional vector that represents the three-dimensional coordinates and orientation (ZYX Euler angles, etc.) of a representative point of the robot in physical space. The center of gravity of the robot hand is one example of a representative point of the robot.
[0097] "x t,k object This indicates the state of the object at real time k during the generation step t. The "state" of the object is also defined by a six-dimensional vector representing the three-dimensional coordinates and orientation (ZYX Euler angles, etc.) of a representative point. The center of mass of the object can be considered a representative point of the object.
[0098] Also, the orbital data x in the final generation step T.T is used for the final control of the robot. For example, x T contained robot state sequence x T,0 robot , x T,1 robot , ..., x T,K robot is used as a target trajectory of the robot arm, and the robot is controlled such that a robot hand follows this target trajectory.
[0099] Furthermore, v shown in the second embodiment t is represented by the following Equation 10.
[0100]
[0101] In "v t,k robot " and "v t,k object " shown in the above Equation 10, t denotes a generation step in the continuous-time generative model, and k denotes physical time in real space (real time). Further, v t is vector data (change amount) for changing a state sequence x of the robot and an object t . As v t , velocity can be mentioned as described above.
[0102] "v t,k robot " indicates changing the state of the robot at real time k in generation step t. "v t,k object " indicates changing the state of the object at real time k in generation step t.
[0103] Furthermore, control input u t is represented by the following Equation 11.
[0104]
[0105] In "u t,k robot " and "u t,k object " shown in the above Equation 11, t denotes a generation step in the continuous-time generative model, and k denotes physical time in real space (real time). Further, ut This is the sequence of states x of the robot and the object. t The change in v t This is the data (correction amount) used to adjust the trajectory after it has been altered, so that the safety constraints are met.
[0106] "u t,k robot " indicates that the change in the robot's state is corrected in real time k during the generation step t. t,k object This indicates that the change in the object's state is corrected in real time k during the generation step t.
[0107] Figure 10 shows an example of the state at each step of robot and object creation. In the example in Figure 10, each robot is equipped with an arm, which can move the object it is carrying. t,k robot " indicates the robot's trajectory data, and "x t,k object This shows the trajectory data of the arm that moves the object.
[0108] Then, the orbit data calculation unit 11 determines the first state (x 0,0 robot From the first trajectory represented by (etc.), a second trajectory represented by the second state is generated, for example, using the continuous-time generation model described above. Furthermore, the difference data calculation unit 12 calculates the drift term described above by referring to the above equation 3, for example, by calculating difference data that represents the difference between the first trajectory data and the second trajectory data. Subsequently, the correction data calculation unit 13 calculates a correction amount (u) for the second trajectory data from the calculated difference data, in accordance with the process shown in the above equation 3, in order to maintain the safety of the controlled object. t,0 robot The unit calculates the corrected orbit data (x) by adding the correction amount to the second orbit data. 1,0 robot Calculate (etc.).
[0109] Thus, in the example shown in Figure 10, the movements of the robot and the arm are planned while ensuring that the physical constraints of the robot and the arm are met.
[0110] (Physical Configuration) Here, a computer that realizes an information processing device by executing the programs in Embodiments 1 and 2 will be described using Figure 11. Figure 11 is a block diagram showing an example of a computer that realizes an information processing device.
[0111] As shown in Figure 11, the computer 110 comprises a CPU (Central Processing Unit) 111, main memory 112, storage device 113, input interface 114, display controller 115, data reader / writer 116, and communication interface 117. Each of these components is connected to the others via a bus 121, enabling data communication.
[0112] Furthermore, the computer 110 may be equipped with a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array) in addition to, or instead of, the CPU 111. In this embodiment, the GPU or FPGA can execute the program in the embodiment.
[0113] The CPU 111 loads the program in the embodiment, which consists of a group of codes stored in the storage device 113, into the main memory 112, and performs various calculations by executing each code in a predetermined order. The main memory 112 is typically a volatile storage device such as DRAM (Dynamic Random Access Memory).
[0114] Furthermore, the program in this embodiment is provided stored on a computer-readable recording medium 120. The program in this embodiment may also be distributed over the Internet via a communication interface 117.
[0115] Furthermore, specific examples of the storage device 113 include hard disk drives and semiconductor storage devices such as flash memory. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and mouse. The display controller 115 is connected to the display device 119 and controls the display on the display device 119.
[0116] The data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads programs from the recording medium 120, and writes processing results from the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and other computers.
[0117] Furthermore, specific examples of the recording medium 120 include general-purpose semiconductor memory devices such as CF (Compact Flash®) and SD (Secure Digital), magnetic recording media such as Flexible Disks, or optical recording media such as CD-ROMs (Compact Disk Read Only Memory).
[0118] Furthermore, the information processing device can be implemented not only by a computer with a program installed, but also by using hardware corresponding to each part, such as electronic circuits. Moreover, the information processing device may be partially implemented by a program and the remaining parts by hardware. In this embodiment, the computer is not limited to the computer shown in Figure 11.
[0119] Some or all of the embodiments described above can be expressed by (Appendix 1) to (Appendix 21) described below, but are not limited to the following descriptions.
[0120] (Note 1) An information processing apparatus comprising: an orbital data calculation means that applies first orbital data representing the orbit of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of orbits to calculate second orbital data representing the orbit of the controlled object at the next generation step; a difference data calculation means that calculates difference data representing the difference between the first orbital data and the second orbital data; a correction data calculation means that calculates correction data for the second orbital data to maintain the safety of the controlled object from the calculated difference data; and a correction trajectory data calculation means that calculates corrected orbital data by adding the correction data to the second orbital data.
[0121] (Note 2) The information processing apparatus according to Note 1, wherein the correction data calculation means calculates the correction data which includes the difference data and minimizes the amount of correction to the second trajectory data such that constraints representing the safety of the controlled object are satisfied.
[0122] (Note 3) The information processing apparatus according to Note 2, further comprising prediction means for predicting trajectory data in the final generation step from the calculated difference data.
[0123] (Note 4) The information processing apparatus according to Note 3, wherein if the predicted trajectory data in the final generation step violates the constraints, the difference data calculation means calculates the difference data and the correction data calculation means calculates the correction data.
[0124] (Note 5) The information processing apparatus according to Note 3, wherein if the predicted trajectory data in the final generation step violates the constraints, the correction data calculation means calculates the correction data using the trajectory data in the final generation step.
[0125] (Note 6) The information processing apparatus according to Note 3, wherein the first trajectory data, the second trajectory data, and the corrected trajectory data are vector data, and if the predicted trajectory data in the final generation step violates the constraints, the corrected data calculation means adds noise to the corrected data in a direction orthogonal to the direction of the difference data.
[0126] (Note 7) The information processing apparatus according to Note 1, wherein the controlled object is a robot and an object mounted on the robot.
[0127] (Note 8) An information processing method characterized by comprising: a method executed by a computer, which includes: a trajectory data calculation step of applying first trajectory data representing the trajectory of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of trajectories to calculate second trajectory data representing the trajectory of the controlled object at the next generation step; a difference data calculation step of calculating difference data representing the difference between the first trajectory data and the second trajectory data; a correction data calculation step of calculating correction data for the second trajectory data to maintain the safety of the controlled object from the calculated difference data; and a correction trajectory data calculation step of adding the correction data to the second trajectory data to calculate corrected trajectory data.
[0128] (Note 9) The information processing method according to Note 8, wherein in the step of calculating the corrected data, the corrected data includes the difference data and calculates the corrected data that minimizes the amount of correction to the second trajectory data so that constraints representing the safety of the controlled object are satisfied.
[0129] (Appendix 10) The information processing method according to Appendix 9, further comprising a prediction step of predicting trajectory data in the final generation step from the calculated difference data.
[0130] (Note 11) The information processing method according to Note 10, wherein if the predicted trajectory data in the final generation step violates the constraints, the difference data is calculated in the difference data calculation step, and the corrected data is calculated in the corrected data calculation step.
[0131] (Note 12) The information processing method according to Note 10, wherein if the predicted trajectory data in the final generation step violates the constraints, the corrected data calculation step calculates the corrected data using the trajectory data in the final generation step.
[0132] (Note 13) The information processing method according to Note 10, wherein the first trajectory data, the second trajectory data, and the corrected trajectory data are vector data, and if the predicted trajectory data in the final generation step violates the constraints, in the corrected data calculation step, noise in a direction orthogonal to the direction of the difference data is added to the corrected data.
[0133] (Note 14) The information processing method according to Note 8, wherein the controlled object is a robot and an object mounted on the robot.
[0134] (Note 15) A computer-readable recording medium that records a program that causes a computer to execute: an orbital data calculation step of applying first orbital data representing the orbit of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of orbits to calculate second orbital data representing the orbit of the controlled object at the next generation step; a difference data calculation step of calculating difference data representing the difference between the first orbital data and the second orbital data; a correction data calculation step of calculating correction data for the second orbital data to maintain the safety of the controlled object from the calculated difference data; and a correction trajectory data calculation step of adding correction data to the second orbital data to calculate corrected orbital data.
[0135] (Note 16) A computer-readable recording medium according to Note 15, which calculates the corrected data in the corrected data calculation step, which includes the difference data and minimizes the amount of correction to the second trajectory data so that constraints representing the safety of the controlled object are satisfied.
[0136] (Note 17) The computer-readable recording medium according to Note 16, wherein the program further includes an instruction causing the computer to perform a prediction step of predicting trajectory data in the final generation step from the calculated difference data.
[0137] (Note 18) A computer-readable recording medium according to Note 17, wherein, if the predicted trajectory data in the final generation step violates the constraints, the difference data is calculated in the difference data calculation step, and the corrected data is calculated in the corrected data calculation step.
[0138] (Note 19) The computer-readable recording medium according to Note 17, wherein, if the predicted trajectory data in the final generation step violates the constraints, the corrected data is calculated in the corrected data calculation step using the trajectory data in the final generation step.
[0139] (Note 20) The computer-readable recording medium according to Note 17, wherein the first orbital data, the second orbital data, and the corrected orbital data are vector data, and if the predicted orbital data in the final generation step violates the constraints, in the corrected data calculation step, noise in a direction orthogonal to the direction of the difference data is added to the corrected data.
[0140] (Note 21) The computer-readable recording medium described in Note 15, wherein the controlled object is a robot and an object mounted on the robot.
[0141] Although the present invention has been described above with reference to embodiments, the present invention is not limited to the above embodiments. Various modifications to the structure and details of the present invention can be made, as can be understood by those skilled in the art within the scope of the present invention.
[0142] As described above, this disclosure makes it possible to plan the operation of the controlled object while ensuring the achievement of physical constraints. The present invention is useful for systems that control robots or the like.
[0143] 10 Information Processing Device (Embodiment 1) 11 Trajectory Data Calculation Unit 12 Difference Data Calculation Unit 13 Correction Data Calculation Unit 14 Correction Trajectory Data Calculation Unit 15 Sampling Unit 16 Output Unit 20 Computer 21 Automated Transport Robot 22 Item 30 Information Processing Device (Embodiment 2) 31 Prediction Unit 110 Computer 111 CPU 112 Main Memory 113 Storage Device 114 Input Interface 115 Display Controller 116 Data Reader / Writer 117 Communication Interface 118 Input Device 119 Display Device 120 Recording Medium 121 Bus
Claims
1. An information processing device comprising: an orbital data calculation means that applies first orbital data representing the orbit of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of orbits to calculate second orbital data representing the orbit of the controlled object at the next generation step; a difference data calculation means that calculates difference data representing the difference between the first orbital data and the second orbital data; a correction data calculation means that calculates correction data for the second orbital data to maintain the safety of the controlled object from the calculated difference data; and a correction trajectory data calculation means that calculates corrected orbital data by adding the correction data to the second orbital data.
2. The information processing apparatus according to claim 1, wherein the correction data calculation means calculates the correction amount for the second trajectory data, which includes the difference data, and calculates the correction data such that constraints representing the safety of the controlled object are satisfied.
3. The information processing apparatus according to claim 2, further comprising prediction means for predicting trajectory data in the final generation step from the calculated difference data.
4. The information processing apparatus according to claim 3, wherein if the predicted trajectory data in the final generation step violates the constraints, the difference data calculation means calculates the difference data and the correction data calculation means calculates the correction data.
5. The information processing apparatus according to claim 3, wherein, if the predicted trajectory data in the final generation step violates the constraints, the correction data calculation means calculates the correction data using the trajectory data in the final generation step.
6. The information processing apparatus according to claim 3, wherein the first trajectory data, the second trajectory data, and the corrected trajectory data are vector data, and if the predicted trajectory data in the final generation step violates the constraints, the corrected data calculation means adds noise to the corrected data in a direction orthogonal to the direction of the difference data.
7. The information processing apparatus according to claim 1, wherein the controlled object is a robot and an object mounted on the robot.
8. An information processing method characterized by a computer applying first trajectory data representing the trajectory of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of trajectories to calculate second trajectory data representing the trajectory of the controlled object at the next generation step; calculating difference data representing the difference between the first trajectory data and the second trajectory data; calculating correction data for the second trajectory data to maintain the safety of the controlled object from the calculated difference data; and calculating corrected trajectory data by adding the correction data to the second trajectory data.
9. A computer-readable recording medium that records a program including instructions for a computer to calculate second trajectory data representing the trajectory of a controlled object in the next generation step by applying first trajectory data representing the trajectory of a controlled object at a specific generation step to a model that defines the amount of change between a plurality of trajectories; to calculate difference data representing the difference between the first trajectory data and the second trajectory data; to calculate correction data for the second trajectory data to maintain the safety of the controlled object from the calculated difference data; and to calculate corrected trajectory data by adding the correction data to the second trajectory data.