Information processing device, robot, and information processing method
The information processing device optimizes robot motion plans by incorporating uncertainty margins, addressing instability due to environmental contact uncertainties, ensuring stable and accurate operation.
Patent Information
- Application Number
- PCT/JP2025/000994
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-20
- Filing Date
- 2025-01-15
- Publication Date
- 2025-08-28
AI Technical Summary
Legged robots and manipulators experience unstable operation due to uncertainty in contact timing with the environment, leading to deviations from planned motion.
An information processing device and method that constructs an optimization problem for a robot's motion plan based on its state, uncertainty, and contact pattern with the environment, incorporating uncertainty margins to ensure constraint satisfaction.
Enables stable operation of robots by optimizing motion plans to account for uncertainty, ensuring compliance with constraints even when contact conditions vary, thereby enhancing stability and accuracy.
Smart Images

Figure JP2025000994_28082025_PF_FP_ABST
Abstract
Description
Information processing device, robot, and information processing method
[0001] The present disclosure relates to an information processing device, a robot, and an information processing method.
[0002] BACKGROUND ART In recent years, robots have come to be used in various industrial fields such as manufacturing, transportation, and services. These robots are controlled, for example, according to a motion plan that plans the movements of the robots.
[0003] For example, Patent Document 1 listed below discloses a dynamic controller that generates control commands for a legged robot by solving an optimization problem in which the position and contact force of the legged robot are unknown variables.
[0004] Special Publication No. 2022-551218
[0005] However, in legged robots or manipulators that come into contact with the environment, due to uncertainty in contact timing, etc., behavior that differs from the motion plan may occur when coming into contact with the environment, resulting in unstable operation.
[0006] Therefore, there was a need to incorporate uncertainty and optimize the calculation of robot motion plans.
[0007] According to the present disclosure, there is provided an information processing device including a motion planning unit that constructs an optimization problem for a motion plan of a robot based on the state of the robot at a first time, uncertainty of the state, and a contact pattern of the robot with the environment between the first time and a second time, and the motion planning unit calculates an optimal solution to the optimization problem so that constraint conditions with a margin set according to the uncertainty of the state are satisfied.
[0008] Furthermore, according to the present disclosure, there is provided a robot including: a motion planning unit that constructs an optimization problem for a motion plan for each part based on the state of each part at a first time, uncertainty of the state, and a contact pattern of each part with the environment between the first time and a second time; and a drive control unit that controls driving of each part based on an optimal solution of the optimization problem calculated by the motion planning unit so that a constraint condition having a margin set according to the uncertainty of the state is satisfied.
[0009] The present disclosure also provides a computer-based information processing method, including: constructing an optimization problem for a motion plan of a robot based on the state of the robot at a first time, uncertainty of the state, and a contact pattern of the robot with the environment from the first time to a second time; and calculating an optimal solution to the optimization problem so that constraint conditions with a margin set according to the uncertainty of the state are satisfied.
[0010] FIG. 1 is a block diagram showing a functional configuration of an information processing device according to an embodiment of the present disclosure. FIG. 1 is a conceptual diagram showing propagation of uncertainty in a robot's state from a first time to a second time. FIG. 2 is a conceptual diagram showing an example of complementing and generating estimated solutions for a robot's state, control input, and state feedback gain of the control input using the result of a previous optimization calculation. FIG. 1 is a conceptual diagram showing an example of a legged robot modeled using a multi-rigid body model. FIG. 2 is a conceptual diagram showing an example of a legged robot modeled using a center of gravity dynamics model. FIG. 3 is a conceptual diagram showing an example of a manipulator modeled using a multi-rigid body model. FIG. 4 is a conceptual diagram showing an example of a manipulator modeled using a center of gravity dynamics model. FIG. 5 is a conceptual diagram showing an example of a manipulator modeled using a statics model. FIG. 6 is a flowchart showing a flow of operations performed by an information processing device according to the embodiment. FIG. 7 is a block diagram showing an example of a hardware configuration of the information processing device according to the embodiment.
[0011] Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. In this specification and drawings, components having substantially the same functional configurations are designated by the same reference numerals, and redundant description will be omitted.
[0012] The explanation will be given in the following order: 1. Configuration example 2. Application example to robot 2.1. Legged robot 2.2. Manipulator 3. Operation example 4. Hardware configuration example
[0013] 1. Configuration Example First, a configuration example of an information processing device according to an embodiment of the present disclosure will be described with reference to Fig. 1. Fig. 1 is a block diagram showing the functional configuration of the information processing device according to this embodiment.
[0014] 1 , the information processing device 100 includes a pattern planning unit 110 and a motion planning unit 120. The information processing device 100 is, for example, a control device that controls the robot 30 based on data acquired from an environment recognition unit 20 that recognizes the environment and a motion plan that involves contact with the environment. The information processing device 100 may be provided outside the robot 30 or may be mounted on the robot 30.
[0015] The environment recognition unit 20 may include, for example, an RGB camera that captures a color image of the environment, an RGB-D camera that captures a color image of the environment with depth information superimposed thereon, or a light detection and ranging (LiDAR) that acquires depth information of the environment. The environment recognition unit 20 may also include an event-based vision sensor (EVS) that captures environmental movement based on changes in the brightness of each pixel, or a contact sensor provided on a leg or manipulator that comes into contact with the environment. These cameras or sensors are mounted on the robot 30, for example.
[0016] The environment recognition unit 20 acquires data regarding the positions of objects present in the environment and contact between the environment and the robot 30, and outputs a recognition result based on the acquired data to the pattern planning unit 110. Specifically, the environment recognition unit 20 may output the distance to an object present in the environment and an estimated value of the coefficient of restitution of the object present in the environment to the pattern planning unit 110. The distance to an object present in the environment can be derived, for example, from depth information of the object. The estimated value of the coefficient of restitution of the object can be derived by estimating the type and material of the object from a captured image of the object using a machine learning algorithm or the like.
[0017] Furthermore, the environment recognition unit 20 outputs the uncertainty of the recognition result to the motion planning unit 120. The uncertainty of the recognition result output to the motion planning unit 120 is, for example, the uncertainty of the distance to an object present in the environment and the uncertainty of the restitution coefficient of the object present in the environment.
[0018] Specifically, the environment recognition unit 20 may derive the uncertainty of the recognition result based on a variance parameter specific to each sensor that acquires data. The environment recognition unit 20 may also derive the uncertainty of the recognition result based on the variance (scatter) of the acquired data. For example, when estimating a plane around the robot 30 from LiDAR point cloud data, the environment recognition unit 20 may use the variance of the estimated plane and the variance (scatter) of the LiDAR point cloud data used for the estimation as the uncertainty of the distance to the plane. Furthermore, the environment recognition unit 20 may classify the object type based on the object recognition result and set the uncertainty (scatter) of the distance to the object based on the classified type. For example, the environment recognition unit 20 may set a small uncertainty of the distance to a flat and rigid object, such as a concrete pavement surface, and set a large uncertainty of the distance to a rough and unstable object, such as an unpaved road.
[0019] The uncertainty of the recognition result output to the motion planning unit 120 is used, for example, to perform optimization calculations for the motion plan in the motion planning unit 120 by incorporating the uncertainty due to contact.
[0020] The pattern planning unit 110 derives a motion pattern of the robot 30 in a time interval from a first time (e.g., the current time) to a second time based on the recognition result output from the environment recognition unit 20, and outputs the derived motion pattern to the motion planning unit 120. Specifically, the pattern planning unit 110 may derive a motion pattern including a transition and switching timing of a contact pattern with an object in a time interval from the first time to the second time based on the distance to the object estimated by the environment recognition unit 20 and the restitution coefficient of the object present in the environment.
[0021] The motion planning unit 120 performs optimization calculations for the motion plan of the robot 30 based on the motion pattern of the robot 30 output from the pattern planning unit 110 .
[0022] Specifically, the motion planning unit 120 first acquires the state and state uncertainty of the robot 30 at a first time (e.g., the current time) from a state estimation unit (not shown), and acquires the transition and switching timing of the contact pattern with the object from the first time to the second time from the pattern planning unit 110. Next, based on this acquired information, the motion planning unit 120 constructs an optimization problem with the state of the robot 30, the control input, the state uncertainty (variance), and the state feedback gain of the control input as unknown variables.
[0023] The motion planning unit 120 can calculate an optimal solution for the unknown variables by solving an optimization problem using, for example, an iterative method, so as to minimize the deviation between the target value indicated by the motion pattern of the robot 30 and the actual state value of the robot 30. The calculated optimal solutions for the state of the robot 30, the control input, and the state feedback gain of the control input are output to the robot 30 and used for motion control of the robot 30.
[0024] Here, the state feedback gain of the control input is a gain (coefficient) for feeding back the state of the robot 30 to the control input. The state feedback gain of the control input is introduced, for example, to minimize the error between the optimized state of the robot 30 and the actual state of the robot 30. By introducing the state feedback gain of the control input, the motion planning unit 120 can perform optimization calculations for the motion plan of the robot 30 while further suppressing the uncertainty of the state.
[0025] The state of the robot 30 at the first time instant is estimated by a state estimation unit (not shown) including, for example, an encoder, a potentiometer, a gyro sensor, an acceleration sensor, a strain sensor, or an inertial measurement unit (IMU) mounted on the robot 30. The uncertainty of the state of the robot 30 at the first time instant may be a value acquired from the state estimation unit that estimated the state, or may be a predetermined value such as zero.
[0026] The uncertainty of the state of the robot 30 propagates from the first time to the second time based on the uncertainty of the dynamics of the robot 30 and the uncertainty due to contact indicated by the uncertainty of the recognition result output from the environment recognition unit 20. Specifically, the uncertainty of the state of the robot 30 is calculated from an estimated solution of the state of the robot 30, the control input, and the state feedback gain of the control input, based on a model of the uncertainty of the dynamics of the robot 30 and the uncertainty due to contact.
[0027] 2 is a conceptual diagram showing the propagation of uncertainty in the state of the robot 30 from time 1 to time 2. As shown in Fig. 2, the uncertainty in the state of the robot 30 from time 1 to time 2 propagates in different patterns at a first timing T1 when the contact pattern is switched and at a second timing T2 other than the first timing T1.
[0028] The first timing T1 is the timing at which the robot 30 is expected to come into contact with the environment. Therefore, at the first timing T1, the uncertainty of the state of the robot 30 is propagated based on the uncertainty caused by the contact (i.e., the uncertainty of the distance to an object in the environment and the uncertainty of the restitution coefficient of the object in the environment). On the other hand, at a second timing T2 other than the first timing T1, the uncertainty of the state of the robot 30 is propagated based on the uncertainty of the dynamics of the robot 30.
[0029] Furthermore, various constraints are set for the optimization problem created by the motion planning unit 120. For example, the optimization problem for the motion plan of the robot 30 is set with a friction cone constraint indicating the range in which slippage does not occur when the robot 30 comes into contact with the environment, a normal contact force sign constraint regarding the sign of the contact force, mechanical constraints such as upper and lower limits of the position, speed, and torque of the joints of the robot 30, and an avoidance constraint for avoiding obstacles present in the environment.
[0030] In this embodiment, the motion planning unit 120 can set margins for various constraint conditions of the optimization problem according to the uncertainty of the state of the robot 30. Specifically, the motion planning unit 120 may set larger margins for various constraint conditions of the optimization problem as the uncertainty of the state of the robot 30 increases.
[0031] The motion planning unit 120 calculates an optimal solution for the unknown variables of the optimization problem so that the set margins are satisfied, thereby allowing the robot 30 to operate so that various constraints are satisfied even if the estimated values related to contact differ from the true values. For example, if the robot 30 is a legged robot, the motion planning unit 120 can operate the robot 30 so that the friction cone constraint and the normal contact force sign constraint are satisfied even if the legs contact the ground earlier or later than expected.
[0032] According to the above configuration, the information processing device 100 can incorporate uncertainty in the state of the robot 30 into the motion plan and perform optimization calculations for the motion plan of the robot 30. Furthermore, when it is expected that the state uncertainty will be large, the information processing device 100 can cause the robot 30 to perform more stable motion by setting a larger margin in the constraint conditions.
[0033] For example, when the robot 30 moves quickly, the state uncertainty is greater than when the robot 30 moves slowly. In such a case, the robot 30 can operate at a greater distance from an obstacle by setting a larger margin in the avoidance constraint. Furthermore, the robot 30 can operate by applying a larger normal force to the ground to prevent slippage by setting a larger margin in the friction cone constraint. Furthermore, the robot 30 can operate by setting a larger margin in the upper and lower limit constraints of the joints to reduce the burden on the joints.
[0034] Note that if the state feedback gain of the control input is directly optimized, it may take an enormous amount of time to calculate by the motion planning unit 120. Therefore, when generating a motion plan for the robot 30 from the first time to the second time, the motion planning unit 120 can shorten the calculation time by reusing the results of a motion plan that was optimized and calculated before the first time.
[0035] 3 is a conceptual diagram showing an example of using the result of the previous optimization calculation to complement and generate estimated solutions for the state, control input, and state feedback gain of the control input of the robot 30. As shown in FIG. 3, before generating a motion plan K1 for the robot 30 from the first time to the second time, it is assumed that a motion plan K2 for the robot 30 from a third time before the first time to a fourth time before the second time is optimized and calculated.
[0036] In such a case, the motion planning unit 120 may generate estimated solutions of the state, control input, and state feedback gain of the control input of the robot 30 from the first time to the second time by using the result of the optimization calculation of the motion plan K2 of the robot 30 from the third time to the fourth time. For example, the motion plan K1 of the robot 30 from the first time to the second time is likely to be similar to the motion plan K2 of the robot 30 for the overlapping time period from the third time to the fourth time. Therefore, the motion planning unit 120 can reuse the result of the optimization calculation of the motion plan K2 for the motion plan for the time period from the third time to the fourth time period within the time period from the first time to the second time.
[0037] Therefore, by reusing the results of the optimization calculation of the motion plan K2, the motion planning unit 120 can generate estimated solutions for the state, control input, and state feedback gain of the control input of the robot 30. In this way, the motion planning unit 120 can perform the optimization calculation of the motion plan K1 of the robot 30 from the first time to the second time in a shorter time by solving the optimization problem using an iterative method with the generated estimated solution as the initial solution.
[0038] 2. Application Examples to Robots (2.1. Legged Robot) An application example to a legged robot of the information processing device 100 according to this embodiment will be described with reference to Fig. 4 and Fig. 5. Fig. 4 is a conceptual diagram of an example of a legged robot 31 modeled using a multi-rigid body model. Fig. 5 is a conceptual diagram of an example of a legged robot 31 modeled using a center-of-gravity dynamics model.
[0039] 4, in the multi-rigid body model, the legged robot 31 is modeled as a plurality of rigid bodies connected by a plurality of joints. For example, the legged robot 31 is modeled as a rigid body r1 that serves as the main body, a front leg Lf that connects rigid bodies r2 and r3 at joint j2, and a rear leg Lr that connects rigid bodies r4 and r5 at joint j4. The front leg Lf is connected to the rigid body r1 at joint j1, and the rear leg Lr is connected to the rigid body r1 at joint j3.
[0040] In the multi-rigid body model, the state of the legged robot 31 in the optimization problem is the generalized coordinates (canonical coordinates) and generalized velocity vectors of the legged robot 31. The control inputs in the optimization problem are the generalized forces of the joints j1 to j4 (drive joints) of the legged robot 31.
[0041] Such a multi-rigid body model can more accurately model the legged robot 31, which is capable of accurate force control at each of the drive joints. By using the multi-rigid body model, the information processing device 100 can perform optimization calculations for the motion plan of the legged robot 31 with higher accuracy.
[0042] 5, in the center of gravity dynamic model, the legged robot 31 is modeled as a single rigid body. For example, the legged robot 31 is modeled as a rigid body R including a rigid body r1 that serves as the main body, front legs Lf, and rear legs Lr.
[0043] In the center of gravity dynamics model, the state of the legged robot 31 in the optimization problem is the generalized coordinates (canonical coordinates) and center of gravity moment of the legged robot 31. The control inputs in the optimization problem are the joint velocities of the legged robot 31 and the contact force F between the legged robot 31 and the ground 41.
[0044] Such a center of gravity dynamic model can more accurately model the legged robot 31, which allows for accurate position control or accurate speed control of the joints. By using the center of gravity dynamic model, the information processing device 100 can more quickly perform optimization calculations for the motion plan of the legged robot 31.
[0045] In the legged robot 31, a motion plan is generated based on an estimated value of the height of the ground around the legged robot 31 and an estimated value of the coefficient of restitution with the ground. Therefore, if there is an error in these estimated values, the movement of the legged robot 31 based on the motion plan may become unstable. The information processing device 100 according to this embodiment performs an optimization calculation of the motion plan by incorporating the uncertainty (variance) of the ground height estimation and the uncertainty (variance) of the coefficient of restitution, thereby making it possible for the legged robot 31 to perform stable movements even when there is an error in the motion plan.
[0046] Furthermore, when the uncertainty in estimating the height of the ground or the uncertainty in estimating the coefficient of restitution with the ground increases, the information processing device 100 can automatically calculate the movement of the legged robot 31 so as to set a larger margin in the constraint conditions.
[0047] For example, when the legged robot 31 moves quickly, when the measured ground height varies, or when the ground's restitution coefficient is unknown, the state uncertainty increases. In such cases, the legged robot 31 can operate at a greater distance from the obstacle by setting a larger margin in the avoidance constraint. Also, the legged robot 31 can operate by applying a larger normal force to the ground to prevent slipping by setting a larger margin in the friction cone constraint.
[0048] (2.2. Manipulator) An example of application of the information processing device 100 according to this embodiment to a manipulator will be described with reference to Figs. 6 to 8. Fig. 6 is a conceptual diagram of an example of a manipulator 32 modeled using a multi-rigid body model. Fig. 7 is a conceptual diagram of an example of a manipulator 32 modeled using a center-of-gravity dynamics model. Fig. 8 is a conceptual diagram of an example of a manipulator 32 modeled using a statics model.
[0049] When applied to the manipulator 32, the information processing device 100 also incorporates an object to be operated by the manipulator 32, and performs optimization calculation of the motion plan of the manipulator 32. Specifically, the information processing device 100 further introduces the interaction between the object to be operated by the manipulator 32 and the manipulator 32, the contact force between the objects to be operated, and the contact force between the object to be operated and a non-object to be operated, and performs optimization calculation of the motion plan of the manipulator 32.
[0050] The manipulator 32 may be fixed to the environment or may be attached to a mobile robot. The number of objects to be manipulated by the manipulator 32 may be one or more.
[0051] 6, in the multi-rigid body system model, the manipulator 32 is modeled as a plurality of rigid bodies connected by a plurality of joints. For example, the manipulator 32 is modeled as a link mechanism in which a plurality of rigid bodies r1, r2, and r3 are connected by joints j1 and j2. The object to be operated by the manipulator 32 is an object Ob placed on a pedestal 42, which is a non-operation object.
[0052] In the multi-rigid body system model, the state of the manipulator 32 in the optimization problem is the generalized coordinates (canonical coordinates) and generalized velocity vector of the manipulator 32, as well as the generalized coordinates and generalized velocity vector of the object Ob. The control inputs in the optimization problem are the generalized forces of the joints j1 to j2 (drive joints) of the manipulator 32, as well as a contact force F1 between the manipulator 32 and the object Ob, and a contact force F2 between the object Ob and the pedestal 42. Note that when there are multiple manipulated objects, the control inputs in the optimization problem further include contact forces acting between the manipulated objects.
[0053] Such a multi-rigid body model can more accurately model the manipulator 32, which is capable of accurate force control at each of the drive joints. By using the multi-rigid body model, the information processing device 100 can perform optimization calculations for the motion plan of the manipulator 32 with higher accuracy.
[0054] 7, in the center-of-gravity dynamic model, the manipulator 32 is modeled as a single rigid body. For example, the manipulator 32 is modeled as a rigid body R that includes each link. The object to be operated by the manipulator 32 is an object Ob placed on a pedestal 42, which is a non-operation object.
[0055] In the center-of-gravity dynamics model, the state of the manipulator 32 in the optimization problem is the generalized coordinates (canonical coordinates) and center-of-gravity moment of the manipulator 32, as well as the generalized coordinates and generalized velocity vector of the object Ob. The control inputs in the optimization problem are the joint velocities of the manipulator 32, the contact force F1 between the manipulator 32 and the object Ob, and the contact force F2 between the object Ob and the pedestal 42. Note that when there are multiple objects to be manipulated, the control inputs in the optimization problem further include contact forces acting between the objects to be manipulated.
[0056] Such a center-of-gravity dynamic model can more accurately model the manipulator 32, which allows accurate position control or accurate velocity control of the joints. By using the center-of-gravity dynamic model, the information processing device 100 can perform optimization calculations for the motion plan of the manipulator 32 in a shorter time.
[0057] 8, the static model models the balance of forces among the manipulator 32, an object Ob that is an object to be operated by the manipulator 32, and a base 42 that is an object not to be operated. The static model does not take into account the dynamics of the manipulator 32.
[0058] In the static model, the state of the manipulator 32 in the optimization problem is the generalized coordinates (canonical coordinates) of the manipulator 32, and the generalized coordinates and generalized velocity vector of the object Ob. The control inputs in the optimization problem are the joint velocities of the manipulator 32, a contact force F1 between the manipulator 32 and the object Ob, and a contact force F2 between the object Ob and the pedestal 42. Note that when there are multiple objects to be manipulated, the control inputs in the optimization problem further include contact forces acting between the objects to be manipulated.
[0059] The static model allows for more accurate modeling of the manipulator 32, which allows for accurate position control or accurate velocity control of the joints. By using the static model, the information processing device 100 can perform optimization calculations for the motion plan of the manipulator 32 in an even shorter time than with the center-of-gravity dynamic model.
[0060] In the manipulator 32, a motion plan is generated based on an estimated value of the distance to an object around the manipulator 32 and an estimated value of the coefficient of restitution with the object. Therefore, if there is an error in these estimated values, the operation of the manipulator 32 based on the motion plan may become unstable. The information processing device 100 according to this embodiment performs an optimization calculation of the motion plan by incorporating the uncertainty (variance) of the estimated distance to the object and the uncertainty (variance) of the coefficient of restitution, thereby making it possible to cause the manipulator 32 to perform stable operations even if there is an error in the motion plan.
[0061] Furthermore, when the uncertainty in estimating the distance to the object or the uncertainty in estimating the restitution coefficient of the object increases, the information processing device 100 can automatically calculate the operation of the manipulator 32 so as to set a larger margin for the constraints.
[0062] For example, when the manipulator 32 operates quickly, when the measured distance to the object varies, or when the restitution coefficient of the object is unknown, the state uncertainty becomes greater. In such cases, the manipulator 32 can operate at a greater distance from the obstacle by setting a larger margin in the avoidance constraint. Also, the manipulator 32 can operate to apply a larger normal force to the object to prevent slippage by setting a larger margin in the friction cone constraint.
[0063] 3. Operation Example Next, an operation example of the information processing device 100 according to this embodiment will be described with reference to FIG. 9. FIG. 9 is a flowchart showing the flow of the operation performed by the information processing device 100 according to this embodiment.
[0064] 9 , the motion planning unit 120 first acquires information for constructing an optimization problem (S101). For example, the motion planning unit 120 may acquire the state and state uncertainty of the robot 30 at a first time (e.g., the current time) from a state estimation unit (not shown), and may also acquire the transition and switching timing of the contact pattern with the object from the first time to the second time from the pattern planning unit 110.
[0065] Next, the motion planning unit 120 constructs an optimization problem based on the acquired information (S102). The unknown variables of the optimization problem are, for example, the state of the robot 30, the control input, the uncertainty (variance) of the state, and the state feedback gain of the control input.
[0066] Next, the motion planning unit 120 constructs estimated solutions (initial solutions) of the state, control input, state uncertainty (variance), and state feedback gain of the control input of the robot 30 (S103). For example, the motion planning unit 120 may construct estimated solutions (initial solutions) of the state, control input, state uncertainty, and state feedback gain of the control input of the robot 30 by linearly interpolating an optimal solution of an optimization problem solved before the first time.
[0067] Next, the motion planning unit 120 calculates the values of the objective function, equality constraints, and inequality constraints (constraint conditions), as well as partial derivatives, based on the estimated solutions of the state, control input, state uncertainty, and state feedback gain of the robot 30 between the first time and the second time constructed in step S103 (S104).
[0068] Furthermore, the motion planning unit 120 calculates propagation of the state uncertainty using the state, control input, state uncertainty, and estimated solutions of the state feedback gain of the control input of the robot 30 between the first time and the second time (S105). This allows the motion planning unit 120 to introduce a margin according to the calculated state uncertainty into the inequality constraint (S106).
[0069] Next, the motion planning unit 120 calculates the update amount of the state and the update amount of the control input by transforming the inequality constraints into an objective function, and obtains an estimated solution of the state feedback gain of the control input (S107). For example, the motion planning unit 120 may transform the inequality constraints into an objective function using an interior point method, an augmented Lagrangian method, a penalty function, or the like, and calculate the update amount of the state and the control input using the Riccati equation. In this case, the motion planning unit 120 can obtain an estimated solution of the state feedback gain of the control input from the calculation process of the Riccati equation.
[0070] As a result, the motion planning unit 120 calculates an appropriate step size for the iterative approach and updates the estimated solution of the state and the estimated solution of the control input (S108). For example, the motion planning unit 120 calculates an appropriate step size for line search for the iterative approach, and updates the estimated solution of the state and the estimated solution of the control input by combining the calculated step size with the update amounts of the state and the control input.
[0071] Thereafter, the motion planning unit 120 determines whether or not a convergence condition is satisfied (S109). The convergence condition is a condition for determining whether the optimization calculation of the motion plan has converged, and is set using, for example, whether or not constraint conditions such as equality constraints and inequality constraints have been violated, the history of the objective function values, the maximum number of iterations, etc.
[0072] If the convergence condition is not satisfied (S109 / NO), the motion planning unit 120 returns to the operation of step S104 and iteratively calculates the values of the objective function, equality constraints, and inequality constraints (constraint conditions), as well as partial derivatives, based on the updated state of the robot 30, the control input, the state uncertainty, and the estimated solution of the state feedback gain of the control input.
[0073] On the other hand, if the convergence condition is satisfied (S109 / YES), the motion planning unit 120 outputs the estimated solutions of the state, control input, and state feedback gain of the control input of the robot 30 when the convergence condition is satisfied as the optimal solution of the optimization problem. The output optimal solutions of the state, control input, and state feedback gain of the control input of the robot 30 are used for controlling the robot 30 (S110).
[0074] According to the above operation, the information processing device 100 can optimize the motion plan of the robot 30 from the first time to the second time, thereby causing the robot 30 to operate in accordance with the motion pattern output from the pattern planning unit 110.
[0075] 4. Hardware Configuration Example The hardware configuration of the information processing device 100 according to this embodiment will be described further with reference to Fig. 10. Fig. 10 is a block diagram showing an example of the hardware configuration of the information processing device 100 according to this embodiment.
[0076] The functions of the information processing device 100 according to this embodiment can be realized by cooperation between software and the hardware described below. The functions of the pattern planning unit 110 and the exercise planning unit 120 may be executed by, for example, the CPU 901.
[0077] As shown in FIG. 10 , the information processing device 100 includes a CPU (Central Processing Unit) 901 , a ROM (Read Only Memory) 902 , and a RAM (Random Access Memory) 903 .
[0078] The information processing device 100 may further include a host bus 904a, a bridge 904, an external bus 904b, an interface 905, an input device 906, an output device 907, a storage device 908, a drive 909, a connection port 910, or a communication device 911. The information processing device 100 may have a processing circuit such as a DSP (Digital Signal Processor) or an ASIC (Application Specific Integrated Circuit) instead of or together with the CPU 901.
[0079] The CPU 901 functions as an arithmetic processing device or a control device, and controls operations within the information processing device 100 in accordance with various programs recorded in the ROM 902, the RAM 903, the storage device 908, or a removable recording medium attached to the drive 909. The ROM 902 stores programs used by the CPU 901, calculation parameters, etc. The RAM 903 temporarily stores programs used in the execution of the CPU 901, and parameters used during the execution of the programs.
[0080] The CPU 901, ROM 902, and RAM 903 are interconnected by a host bus 904a capable of high-speed data transmission. The host bus 904a is connected to an external bus 904b, such as a PCI (Peripheral Component Interconnect / Interface) bus, via a bridge 904. The external bus 904b is connected to various components via an interface 905.
[0081] The input device 906 is a device that accepts input from a user, such as a mouse, keyboard, touch panel, button, switch, or lever. The input device 906 may also be a microphone that detects the user's voice. The input device 906 may also be, for example, a remote control device that uses infrared rays or other radio waves, or may be an externally connected device that supports operation of the information processing device 100.
[0082] The input device 906 further includes an input control circuit that outputs an input signal generated based on information input by the user to the CPU 901. By operating the input device 906, the user can input various data to the information processing device 100 or instruct the information processing device 100 to perform processing operations.
[0083] The output device 907 is a device that can visually or audibly present information acquired or generated by the information processing device 100 to a user. The output device 907 may be, for example, a display device such as an LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), an OLED (Organic Light Emitting Diode) display, a hologram, or a projector, a sound output device such as a speaker or headphones, or a printing device such as a printer. The output device 907 can output information acquired by processing by the information processing device 100 as video such as text or an image, or sound such as voice or audio.
[0084] The storage device 908 is a data storage device configured as an example of a storage unit of the information processing device 100. The storage device 908 may be configured, for example, by a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, or a magneto-optical storage device. The storage device 908 can store programs executed by the CPU 901, various data, various data acquired from the outside, and the like.
[0085] The drive 909 is a device for reading or writing data from or to a removable recording medium such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and is built into or externally attached to the information processing device 100. For example, the drive 909 can read information recorded on an attached removable recording medium and output the information to the RAM 903. The drive 909 can also write data to an attached removable recording medium.
[0086] The connection port 910 is a port for directly connecting an external device to the information processing device 100. The connection port 910 may be, for example, a Universal Serial Bus (USB) port, an IEEE 1394 port, or a Small Computer System Interface (SCSI) port. The connection port 910 may also be an RS-232C port, an optical audio terminal, or a High-Definition Multimedia Interface (HDMI) (registered trademark) port. By connecting the connection port 910 to an external device, various types of data can be transmitted and received between the information processing device 100 and the external device.
[0087] The communication device 911 is, for example, a communication interface configured with a communication device for connecting to the communication network 920. The communication device 911 may be, for example, a communication card for a wired or wireless LAN (Local Area Network), Wi-Fi (registered trademark), Bluetooth (registered trademark), or WUSB (Wireless USB). The communication device 911 may also be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), or a modem for various types of communication.
[0088] The communication device 911 can transmit and receive signals, for example, via the Internet or other communication devices using a predetermined protocol such as TCP / IP. The communication network 920 connected to the communication device 911 is a wired or wireless network, and may be, for example, an Internet communication network, a home LAN, an infrared communication network, a radio wave communication network, or a satellite communication network.
[0089] It is also possible to create a program that causes hardware such as the CPU 901, ROM 902, and RAM 903 built into a computer to perform functions equivalent to those of the information processing device 100. It is also possible to provide a computer-readable recording medium on which the program is recorded.
[0090] Although the preferred embodiments of the present disclosure have been described in detail above with reference to the accompanying drawings, the technical scope of the present disclosure is not limited to such examples. It is clear that a person skilled in the art of the present disclosure can conceive of various modified or altered examples within the scope of the technical idea described in the claims, and it is understood that these also naturally fall within the technical scope of the present disclosure.
[0091] Furthermore, the effects described herein are merely descriptive or exemplary and are not limiting. In other words, the technology according to the present disclosure may achieve other effects that will be apparent to those skilled in the art from the description of this specification, in addition to or in place of the above-described effects.
[0092] Note that the following configurations also fall within the technical scope of the present disclosure. (1) An information processing device including: a motion planning unit that constructs an optimization problem for a motion plan of the robot based on a state of the robot at a first time, uncertainty of the state, and a contact pattern of the robot with the environment from the first time to a second time, wherein the motion planning unit calculates an optimal solution to the optimization problem so that a constraint condition with a margin set according to the uncertainty of the state is satisfied. (2) The information processing device described in (1), in which the uncertainty of the state propagates from the first time to the second time based on uncertainty of the robot's dynamics. (3) The information processing device described in (2), in which the uncertainty of the state propagates based on uncertainty caused by the contact at the timing when the contact pattern is switched. (4) The information processing device described in (3), in which the uncertainty caused by contact includes uncertainty of the distance to the environment that the robot contacts and uncertainty of the restitution coefficient of the environment. (5) The information processing device described in (4), in which the timing when the contact pattern is switched is the timing when the robot contacts the environment. (6) The information processing device according to any one of (1) to (5), wherein the optimization problem is formulated with the state of the robot from the first time to the second time, a control input, uncertainty of the state, and a state feedback gain of the control input as unknown variables. (7) The information processing device according to (6), wherein the motion planning unit calculates the optimal solution by performing an operation on the optimization problem using an estimated solution of the unknown variables and repeatedly updating an early estimated value until a convergence condition including the constraint condition is satisfied. (8) The information processing device according to (7), wherein the estimated solution is generated by linearly interpolating an optimal solution of an optimization problem solved before the first time. (9) The information processing device according to any one of (6) to (8), wherein the output optimal solutions of the state of the robot, the control input, and the state feedback gain of the control input are used to control the robot. (10) The information processing device according to any one of (6) to (8), wherein the optimization problem is formulated by treating the robot with a multi-rigid body model, a center of gravity dynamics model, or a statics model.(11) The information processing device according to any one of (1) to (10), wherein the state uncertainty includes a variance value of the state. (12) A robot comprising: a motion planning unit that constructs an optimization problem for motion planning of each unit based on a state of each unit at a first time, the uncertainty of the state, and a contact pattern of the each unit with the environment from the first time to a second time; and a drive control unit that controls drive of the each unit based on an optimal solution of the optimization problem calculated by the motion planning unit so as to satisfy a constraint condition in which a margin according to the uncertainty of the state is set. (13) An information processing method by a computer, comprising: constructing an optimization problem for motion planning of the robot based on the state of the robot at a first time, the uncertainty of the state, and a contact pattern of the robot with the environment from the first time to a second time; and calculating an optimal solution of the optimization problem so as to satisfy the constraint condition in which a margin according to the uncertainty of the state is set.
[0093] 20 Environment recognition unit 30 Robot 31 Legged robot 32 Manipulator 100 Information processing device 110 Pattern planning unit 120 Motion planning unit
Claims
1. An information processing device comprising: a motion planning unit that constructs an optimization problem for the robot's motion plan based on the robot's state at a first time, the uncertainty of that state, and the robot's contact pattern with the environment between the first time and a second time, and the motion planning unit calculates an optimal solution to the optimization problem so that constraint conditions with a margin set according to the uncertainty of the state are satisfied.
2. The information processing device according to claim 1, wherein the state uncertainty propagates from the first time to the second time based on uncertainty in the dynamics of the robot.
3. The information processing device according to claim 2, wherein the uncertainty of the state is propagated based on the uncertainty caused by the contact at the timing when the contact pattern is switched.
4. The information processing device according to claim 3, wherein the uncertainty due to contact includes uncertainty in the distance to the environment that the robot comes into contact with and uncertainty in the restitution coefficient of the environment.
5. The information processing device according to claim 4, wherein the timing at which the contact pattern is switched is the timing at which the robot comes into contact with the environment.
6. An information processing device according to claim 1, wherein the optimization problem is formulated with the state of the robot from the first time to the second time, the control input, the uncertainty of the state, and the state feedback gain of the control input as unknown variables.
7. The information processing device according to claim 6, wherein the motion planning unit calculates the optimization problem using estimated solutions of the unknown variables and calculates the optimal solution by repeatedly updating the early estimated values until convergence conditions including the constraint conditions are satisfied.
8. The information processing device according to claim 7, wherein the estimated solution is generated by linearly interpolating optimal solutions of an optimization problem solved before the first time.
9. The information processing device according to claim 6, wherein the outputted state of the robot, the control input, and the optimal solution of the state feedback gain of the control input are used to control the robot.
10. The information processing device according to claim 6, wherein the optimization problem is formulated by treating the robot with a multi-rigid body model, a center of gravity dynamics model, or a statics model.
11. The information processing device according to claim 1, wherein the uncertainty of the state includes a variance value of the state.
12. A robot comprising: a motion planning unit that constructs an optimization problem for the motion plan of each part based on the state of each part at a first time, uncertainty of the state, and the contact pattern of each part with the environment between the first time and a second time; and a drive control unit that controls the drive of each part based on the optimal solution of the optimization problem calculated by the motion planning unit so that constraint conditions with a margin set according to the uncertainty of the state are satisfied.
13. A computer-based information processing method comprising: constructing an optimization problem for a motion plan of a robot based on the state of the robot at a first time, uncertainty of the state, and a contact pattern of the robot with the environment between the first time and a second time; and calculating an optimal solution to the optimization problem so that constraint conditions with a margin set according to the uncertainty of the state are satisfied.
Citation Information
Patent Citations
Method for planning walking landing position of biped robot
JP2011200991A
Optimum control device, optimum control method, and optimum control program
JP2016198873A
Cargo conveyance system, cargo conveyance method, and cargo conveyance program
JP2022100650A
Dynamic Planning Controller
JP2022551218A