Parameter determination method and program
The method addresses the challenge of time-consuming parameter tuning in SLIP model-based robot control by using symmetry-based optimization to determine stride length and spring stiffness, ensuring robust and continuous walking or running.
Patent Information
- Application Number
- JP2022013392
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-01-31
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2042-01-31
AI Technical Summary
The determination of walking or running parameters for robots using the SLIP model is time-consuming and difficult due to the need for manual tuning of multiple parameters, making it challenging to achieve robust control.
A parameter determination method and program that quickly and easily determine robust parameters by focusing on the symmetry of the center of gravity trajectory during the double support phase, using optimization problems to calculate stride length and spring stiffness, and considering the symmetry of the center of gravity states at the start and end of the phase.
Enables rapid and efficient determination of parameters for stable robot walking or running, enhancing the robot's ability to maintain continuous motion despite disturbances.
Smart Images

Figure 0007780967000014 
Figure 0007780967000015 
Figure 0007780967000016
Abstract
Description
[Technical Field]
[0001] The present invention relates to a parameter determination method and a program. [Background technology]
[0002] Conventionally, research has been conducted on controlling the walking or running of robots using a running model called SLIP (Spring Loaded Inverted Pendulum). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6311153 [Non-patent literature]
[0004] [Non-Patent Document 1] H. Geyer, A. Seyfarth, and R. Blickhan, “Compliant leg behavior explains basic dynamics of walking and running.,” in Proceedings. Biological sciences / The Royal Society, vol. 273, 2006, pp. 2861-2867. Summary of the Invention [Problem to be solved by the invention]
[0005] In the walking control of a robot using SLIP, the walking or running parameters that serve as the control target values are determined by tuning. However, since the parameters are determined by trial and error, it is very time-consuming, and tuning the many parameters at the same time as the control gains makes it difficult.
[0006] The present invention has been made in consideration of the above circumstances, and one of its objects is to provide a parameter determination method and program that can determine robust parameters related to walking or running more quickly and easily. [Means for solving the problem]
[0007] The parameter determination method and program according to the present invention employ the following configuration. (1) A first aspect of the present invention is a parameter determination method for walking or running by moving legs, the parameter determination method comprising the steps of: determining an initial velocity of the center of gravity of the leg or an object supported by the leg; determining an initial height of the center of gravity; deriving a trajectory of the center of gravity moving by the walking or running based on the initial velocity and the initial height; and determining a stride length of the leg during the walking or running based on the trajectory of the center of gravity, with respect to an intermediate time of a predetermined phase that is the double support period or the supporting period, so that the state of the center of gravity at the start time of the predetermined phase is symmetrical to the state of the center of gravity at the end time of the predetermined phase.
[0008] (2) A second aspect of the present invention is that in the first aspect, the state of the center of gravity includes a first position which is the position of the center of gravity in the horizontal direction, a second position which is the position of the center of gravity in the vertical direction, a first velocity which is the velocity of the center of gravity in the horizontal direction, and a second velocity which is the velocity of the center of gravity in the vertical direction, and the stride length of the leg is determined so that the first position of the center of gravity at the start time is symmetrical to the first position with the sign of the center of gravity at the end time, the second position of the center of gravity at the start time is symmetrical to the second position of the center of gravity at the end time, the first velocity of the center of gravity at the start time is symmetrical to the first velocity of the center of gravity at the end time, and the second velocity of the center of gravity at the start time is symmetrical to the second velocity with the sign of the center of gravity at the end time.
[0009] (3) A third aspect of the present invention is the second aspect, further comprising the step of determining the spring stiffness of the legs.
[0010] (4) A fourth aspect of the present invention is the third aspect, further comprising the step of acquiring a target velocity of the center of gravity, and determining the target velocity multiplied by a disturbance as the initial velocity.
[0011] (5) A fifth aspect of the present invention is the fourth aspect, wherein the leg has a first motor and a second motor each having a spring, a first passive joint, a second passive joint, a third passive joint, a ground contacting part in contact with the ground, and a five-bar link mechanism, and the five-bar link mechanism is composed of a first link connecting the first motor and the second motor, a second link connecting the second motor and the first passive joint, a third link connecting the first passive joint and the second passive joint, a fourth link connecting the second passive joint and the third passive joint, a fifth link connecting the second passive joint and the ground contacting part, a sixth link connecting the third passive joint and the ground contacting part, and a seventh link connecting the third passive joint and the first motor, and the spring stiffness is determined based on the angle formed by the seventh link and a line segment connecting the first motor and the ground contacting part under a condition where the ground contacting part is in contact with the ground.
[0012] (6) A sixth aspect of the present invention is the fifth aspect, wherein the stride length of the leg and the angle formed by the leg are determined by solving a minimization problem expressed in a formula (8) described later under a constraint condition expressed in a formula (9) also described later, where φ0 represents the angle formed by the leg, d represents the stride length, and r n represents the disturbance, x represents the state of the center of gravity, and t ds0 represents the start time, and t dse represents the end time, b represents a predetermined upper limit value, and diag represents a diagonal matrix.
[0013] (7) A seventh aspect of the present invention is the fifth aspect, wherein the stride length of the leg and the angle formed by the leg are determined by solving a minimization problem expressed by a formula (10) described later, where φ0 represents the angle formed by the leg, d represents the stride length, and r n represents the disturbance, x represents the state of the center of gravity, and t ds0 represents the start time, and t dse represents the end time, b represents a predetermined upper limit value, and diag represents a diagonal matrix.
[0014] (8) An eighth aspect of the present invention is a program for causing a computer to determine parameters of walking or running by moving legs, the program causing a computer to execute the following steps in walking, in which a single leg support period in which one leg moves while remaining in contact with the ground and a double leg support period in which both legs move while remaining in contact with the ground are alternately repeated, or in running, in which an airborne period in which both legs move while remaining off the ground and a supporting leg period in which one leg moves while remaining in contact with the ground are alternately repeated: determining an initial velocity of the center of gravity of the leg or an object supported by the leg; determining an initial height of the center of gravity; deriving a trajectory of the center of gravity moving by the walking or running based on the initial velocity and the initial height; and determining a stride length of the leg during walking or running based on the trajectory of the center of gravity so that the state of the center of gravity at the start time of a predetermined phase, which is the double leg support period or the supporting leg period, is symmetrical to the state of the center of gravity at the end time of the predetermined phase, based on the midpoint of the double leg support period or the supporting leg period. [Effects of the Invention]
[0015] According to the above aspect, robust parameters related to walking or running can be determined more quickly and simply. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a diagram illustrating an example of a configuration of an information processing device 100 according to an embodiment. [Figure 2] This is a diagram showing the SLIP (Spring Loaded Inverted Pendulum) model. [Figure 3] FIG. 1 is a diagram showing the B-SLIP model. [Figure 4] FIG. 10 is a diagram showing the center of gravity trajectory obtained by solving the optimization problem of Equation (5). [Figure 5] FIG. 10 is a diagram showing the evaluation value when the optimization problem shown in Equation (4) is evaluated under a certain determined spring stiffness k. [Figure 6]FIG. 10 is a diagram showing the evaluation value when the optimization problem shown in Equation (5) is evaluated under a certain determined spring stiffness k. [Figure 7] FIG. 10 is a diagram showing the results of applying a parameter d obtained by solving an optimization problem to a walking simulation of the robot 10. [Figure 8] FIG. 10 is a diagram showing the results of applying a parameter d obtained by solving an optimization problem to a walking simulation of the robot 10. [Figure 9] 1 is a plan view of a bipedal leg 10A of a robot 10 according to an embodiment. [Figure 10] 1 is an enlarged view of a bipedal leg 10A of a robot 10 according to an embodiment. [Figure 11] 10 is a diagram showing the stride length d determined according to the initial velocity v0 in the x direction and the leg length angle φ0 at the time of landing. [Figure 12] FIG. 12 is a diagram showing an evaluation value of the stride length d in FIG. [Figure 13] FIG. 12 is a diagram showing the number of steps when a walking simulation is performed using the stride length d in FIG. [Figure 14] FIG. 10 is a diagram showing the results of a walking simulation when a target velocity v0 ref is multiplied by a disturbance r. [Figure 15] FIG. 10 is a diagram showing the results of a walking simulation when a target velocity v0 ref is multiplied by a disturbance r. [Figure 16] FIG. 10 is a diagram showing the results of robust parameters obtained by solving the optimization problem of Equation (10). [Figure 17] FIG. 10 is a diagram showing the results of robust parameters obtained by solving the optimization problem of Equation (10). [Figure 18] FIG. 10 is a diagram showing the results of robust parameters obtained by solving the optimization problem of Equation (10). [Figure 19] 10 is a flowchart showing the flow of a series of processes by a processing unit 150 according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0017] Hereinafter, embodiments of the parameter determination method and program of the present invention will be described with reference to the drawings.
[0018] [overview] Before a robot or the like walks or runs by moving its legs, the information processing device according to the embodiment determines parameters related to the walking or running.
[0019] For example, "walking" performed by leg movement alternates between a single-leg support period in which one leg moves while remaining in contact with the ground and a double-leg support period in which both legs move while remaining in contact with the ground. "Running" performed by leg movement alternates between an airborne period in which both legs move while remaining off the ground and a supporting leg period in which one leg moves while remaining in contact with the ground.
[0020] In "walking" or "running," which is a repeated periodic movement, the information processing device determines the initial speed and initial height of the center of gravity of the legs themselves and the center of gravity of the robot's upper body supported by the legs, etc., based on the target speed given by the user.
[0021] Furthermore, the information processing device derives the trajectory of the center of gravity moving by "walking" or "running" based on the initial speed and initial height.
[0022] Furthermore, the information processing device determines the intermediate time of the double leg support period included in the action of "walking" or the supporting leg period included in the action of "running" (hereinafter, these are collectively referred to as "predetermined phases") based on the trajectory of the center of gravity.
[0023] The information processing device then determines the stride length of the legs when "walking" or "running" so that the state of the center of gravity at the start time of the predetermined phase is symmetrical to the state of the center of gravity at the end time of the predetermined phase, with reference to the intermediate time. In this way, by focusing on the symmetry of the trajectory of the center of gravity in the predetermined phase, robust parameters for "walking" or "running" can be determined more quickly and easily.
[0024] [Device configuration] 1 is a diagram illustrating an example of the configuration of an information processing device 100 according to an embodiment. The information processing device 100 may be a single device, or may be a system in which multiple devices connected via a network NW operate in cooperation with each other. The network NW includes a LAN (Local Area Network) and a WAN (Wide Area Network). In other words, the information processing device 100 may be realized by multiple computers (processors) included in a distributed computing system or a cloud computing system.
[0025] The information processing device 100 according to the embodiment includes, for example, a communication interface (transmitter / receiver) 110, an input interface (input unit) 120, an output interface (output unit) 130, a storage unit 140, and a processing unit 150.
[0026] The communication interface 110 communicates with other devices via a network NW, and with the robot 10 via a communication line such as a bus. The communication interface 110 includes, for example, a wireless communication module including a receiver and a transmitter, and a network interface card (NIC).
[0027] The input interface 120 accepts various input operations by the user and outputs an electrical signal corresponding to the accepted input operation to the processing unit 150. For example, the input interface 120 is a mouse, a keyboard, a touch panel, a drag ball, a switch, a button, or the like.
[0028] The output interface 130 is, for example, a display or a speaker. The display may be, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) display. The display may be a touch panel that is integrated with the input interface 120.
[0029] The storage unit 140 is realized by, for example, a hard disc drive (HDD), a flash memory, an electrically erasable programmable read only memory (EEPROM), a read only memory (ROM), a random access memory (RAM), etc. The storage unit 140 stores various programs such as firmware and application programs.
[0030] The processing unit 150 includes, for example, an acquisition unit 152, a determination unit 154, and an output control unit 156. These components are realized by a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) executing a program stored in the storage unit 140. Some or all of these components may be realized by hardware such as an LSI (Large Scale Integration), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array), or may be realized by a combination of software and hardware. Each function of the processing unit 150 will be described later.
[0031] [SLIP model] The following mainly describes the walking principle of the robot 10. FIG. 2 is a diagram showing a SLIP (Spring Loaded Inverted Pendulum) model. The SLIP model is a model consisting of a mass point and a linear spring, and was proposed in the field of biomechanics as a model of human running. For example, walking alternates between a single support phase (left / right single support), in which one leg moves while remaining in contact with the ground, and a double support phase, in which both legs move while remaining in contact with the ground. Because the double support phase is essential for walking, it is necessary to consider two legs, and a model called Bipedal SLIP (B-SLIP) has been proposed, which is an extension of the SLIP model of human running to walking.
[0032] Figure 3 shows the B-SLIP model. B-SLIP continues to walk in a completely passive manner if the walking speed, spring stiffness, and landing position conditions are met. In this case, walking is considered to be a cyclical movement in which each step moves exactly the same. In analyzing SLIP, it is common to consider the apex where the center of gravity is highest as the end of a step. As shown in Figure 3, in human walking, the center of gravity height reaches its peak at the midpoint of the single-leg support phase and reaches its lowest point during the double-leg support phase.
[0033] When considering the practical operation of the robot 10, the walking speed is a target value given by a user or operator, and the spring stiffness is determined by hardware. On the other hand, the landing position can be considered a control parameter that can be changed by the robot 10. Therefore, it is necessary to determine the landing position of the legs, i.e., the stride length, based on the target walking speed and spring stiffness.
[0034] [Stride Optimization] In the xyz coordinate system, where the vertical direction is z, one direction of the horizontal plane is x, and the other direction is y, the state of B-SLIP on the xz plane, that is, the state of two-dimensional B-SLIP, is x(t)={p G (t),p G · (t) T}.· " represents the time derivative. p G is the two-dimensional position of any given center of gravity, and p G · is the velocity of the center of gravity. The center of gravity may be the center of gravity of the leg of the robot 10 itself, the center of gravity of the upper body of the robot 10, or any other center of gravity. The equation of motion of the center of gravity is expressed by Equation (1).
[0035]
number
[0036] In the formula, k and l0 are scalar variables that represent the stiffness and natural length of the spring, respectively, and g represents the gravity vector. Also, SS (single support) represents the single leg support period, and DS (double support) represents the double leg support period. In other words, formula (1) represents a hybrid system in which the equation of motion differs depending on whether the single leg support period SS or the double leg support period DS is used. The start time of the double leg support period DS, that is, the time when the single leg support period SS transitions to the double leg support period DS, is called t ds0 The end time of the double support period DS, that is, the time when the double support period DS transitions to the single support period SS, is t dse The double-leg support period DS is an example of a "predetermined phase."
[0037] Considering the height peak of the center of gravity trajectory in Figure 3 as the start of a step, and setting t=0 as the height peak of the single-leg support period SS, the state vector of the center of gravity x(t)={x,z,dx / dt,dz / dt} can be defined as x(0)={0,h0,v0,0}. The element x of the state vector x(t) represents the position of the center of gravity in the x direction, the element z represents the position of the center of gravity in the z direction (i.e., the height of the center of gravity from the ground), the element dx represents the velocity of the center of gravity in the x direction, and the element dz represents the velocity of the center of gravity in the z direction. In order to continue walking, the end time t of the step must be e The periodic solution constraints shown in equations (2) and (3) must be satisfied.
[0038]
number
[0039]
number
[0040] In the formula, d represents the stride length. Therefore, by solving the optimization problem shown in formula (4), we can obtain the parameter d that satisfies periodic walking.
[0041]
number
[0042] Equation (4) is the state vector x(0) at the start time t0 and the end time t=t e The state vector x(t e This represents a minimization problem of determining the stride length d so that the norm is minimized when a certain stride length d is added to the difference between the
[0043] To evaluate the optimization problem shown in Equation (4), it is necessary to evaluate one step for the hybrid equation of motion shown in Equation (1). Considering that the B-SLIP motion is a passive motion, the motion that becomes a periodic solution is the motion at the intermediate time t e / 2 as the base, from the start time t0 to the intermediate time t e The trajectory of the center of gravity during the period up to t / 2 and the intermediate time t e / 2 to end time t e Therefore, the optimization problem shown in Equation (4) is equivalent to the problem shown in Equation (5), which only considers the symmetry of the double support period DS.
[0044]
number
[0045] In the formula, diag represents a diagonal matrix, and its diagonal elements are −1, 1, 1, −1. The center of gravity trajectory can be derived by solving the optimization problem of formula (5) (minimization problem of parameter d).
[0046] Figure 4 shows the center of gravity trajectory obtained by solving the optimization problem of equation (5). The top row in the figure shows the change in the center of gravity position in the x direction. The second row from the top shows the change in the center of gravity position (height) in the z direction. The third row from the top shows the change in the center of gravity velocity in the x direction. The bottom row shows the change in the center of gravity velocity in the z direction. The dotted lines indicate the transition times between the single-leg support period SS and the double-leg support period DS.
[0047] The first diagonal element of the diagonal matrix diag(-1,1,1,-1) is -1, which is the end time t dse This means that the sign of the center of gravity position x at the intermediate time t e / 2, the start time t ds0 The position x of the center of gravity and the end time t dse The stride length d is determined so as to be symmetrical with the position x of the center of gravity obtained by inverting the sign in the step length d. The position x of the center of gravity is an example of the "first position."
[0048] The same applies to the other diagonal elements. The second diagonal element of the diagonal matrix diag(-1,1,1,-1) is 1, which is the end time t dse This means that the sign of the center of gravity position z at the intermediate time t is not inverted and is maintained as it is. e / 2, the start time t ds0 The position z of the center of gravity at the end time t dse The stride length d is determined so that the position z of the center of gravity at the center of gravity is symmetrical to the position z of the center of gravity at the center of gravity. The position z of the center of gravity is an example of the "second position."
[0049] The third diagonal element of the diagonal matrix diag(-1,1,1,-1) is 1, which is the end time t dseThis means that the sign of the velocity dx / dt of the center of gravity at the intermediate time t is not inverted and is maintained as it is. e / 2, the start time t ds0 The velocity of the center of gravity at dx / dt and the end time t dse The stride length d is determined so that the velocity dx / dt of the center of gravity at the center of gravity is symmetrical to the velocity dx / dt of the center of gravity at the center of gravity. The position dx / dt of the center of gravity is an example of a "first velocity."
[0050] The fourth diagonal element of the diagonal matrix diag(-1,1,1,-1) is -1, which is the end time t dse This means that the sign of the velocity dz / dt of the center of gravity at the intermediate time t e / 2, the start time t ds0 The velocity of the center of gravity at dz / dt and the end time t dse The stride length d is determined so that the position of the center of gravity dz / dt is symmetrical to the velocity dz / dt of the center of gravity with the sign reversed in . The position of the center of gravity dz / dt is an example of a "second velocity."
[0051] In this way, the end time t dse Symmetric motion can be obtained by multiplying the state vector (x, z, dx / dt, dz / dt) of the center of gravity by the diagonal matrix diag(-1, 1, 1, -1) that takes into account the symmetry of each state of the center of gravity.
[0052] Figure 5 shows the evaluation values when the optimization problem shown in Equation (4) is evaluated for a given spring stiffness k, and Figure 6 shows the evaluation values when the optimization problem shown in Equation (5) is evaluated for a given spring stiffness k. In both figures, the optimal solution for stride length d is found near 0.11. However, the evaluation values for Equation (4) shown in Figure 5 have four local solutions, whereas the evaluation values for Equation (5) shown in Figure 6 have a more gradual central slope and only two local solutions. This result clearly indicates that when considering solutions to the optimization problem, it is easier to derive a solution using Equation (5). This difference is thought to be due to the fact that the optimization problem using Equation (4) deals with discontinuous dynamics, including two changes in the equation of motion, while the optimization problem using Equation (5) relies only on the continuous equation of motion during the double support phase DS.
[0053] 7 and 8 show the results of applying the parameter d obtained by solving the optimization problem to a walking simulation of the robot 10. FIG. 7 shows the simulation results when the spring stiffness k was set to 3000 [N / m], and FIG. 8 shows the simulation results when the spring stiffness k was set to 10,000 [N / m]. Although the parameter d that enables periodic walking was obtained through optimization, the state error at the beginning and end of each step, shown in the second and third graphs in FIG. 7, increased with each step, resulting in the robot falling over at the 14th step. On the other hand, as shown in FIG. 8, when the spring stiffness k was changed from 3000 [N / m] to 10,000 [N / m] and a similar simulation was performed, continuous walking for 30 steps was possible. This result indicates that the robot was able to continue walking for 30 steps even when an error was introduced into the initial velocity v0, suggesting that robustness differs depending on the walking velocity v and the spring stiffness k.
[0054] [Spring stiffness optimization] We have shown that by solving an optimization problem that focuses on the symmetry of the center of gravity trajectory, it is possible to obtain a stride length d that allows for continuous cyclic walking. From here, we will further explain how to determine the optimal spring stiffness k that allows for continuous cyclic walking.
[0055] Before describing a method for determining the spring stiffness k, the structure of the leg 10A of the robot 10 according to the embodiment will be described. Fig. 9 is a plan view of the bipedal leg 10A of the robot 10 according to the embodiment, showing the leg 10A standing upright on the ground 20. Fig. 10 is an enlarged view of the bipedal leg 10A of the robot 10 according to the embodiment.
[0056] Leg 10A has motor O with spring O1, motor A with spring A1, passive joints B, C, and D, ground contact part E, and a five-bar link mechanism. Motor O is an example of a "first motor," and motor A is an example of a "second motor." Passive joint B is an example of a "first passive joint," passive joint C is an example of a "second passive joint," and passive joint C is an example of a "third passive joint."
[0057] The five-bar linkage is composed of links OA, AB, BC, CD, CE, DE, and DO. Link OA is an example of a "first link," link AB is an example of a "second link," link BC is an example of a "third link," link CD is an example of a "fourth link," link CE is an example of a "fifth link," link DE is an example of a "sixth link," and link DO is an example of a "seventh link."
[0058] Link OA connects motor O and motor A. Link AB connects motor A and passive joint B. Link BC connects passive joint B and passive joint C. Link CD connects passive joint C and passive joint D. Link CE connects passive joint C and ground contact E. Link DE connects passive joint D and ground contact E. CDE form a single rigid link. Passive joint D and link DO connect motor O. Link CD corresponds to the knee, the part between link CD and link AB corresponds to the thigh, and the part between link CD and ground contact E corresponds to the lower leg.
[0059] The spring O1 has a spring stiffness k1, is arranged to expand and contract along the periphery of the core portion O2 of the motor O, and is configured to rotate the core portion O2 as it expands and contracts. Similarly, the spring A1 has a spring stiffness k2, is arranged to expand and contract along the periphery of the core portion A2 of the motor A, and is configured to rotate the core portion A2 as it expands and contracts.
[0060] When the link length of the thigh (link OD) and shin (link OE) is L, the stiffness k of the linear spring of the leg 10A employing the B-SLIP can be calculated using equations (6) and (7).
[0061]
number
[0062]
number
[0063] l0 is the leg length at the time of landing when the ground contact point E is in contact with the ground 20, and is equal to the natural length of the spring. From equation (7), it can be seen that the spring stiffness k of SLIP becomes infinite when the knee is fully extended (φ0 = 0), and decreases as the knee is bent. In other words, the spring stiffness k of SLIP is determined based on the leg length angle φ0, which is the angle between link DO and line segment OE, when the ground contact point E is in contact with the ground 20. If we assume that the robustness at a certain walking speed depends on the linear spring stiffness k of SLIP, we can say in other words that the robustness of walking is determined by the leg length angle φ0 at the time of landing.
[0064] Fig. 11 is a diagram showing the stride length d determined according to the initial velocity v0 in the x direction and the leg length angle φ0 at the time of landing, Fig. 12 is a diagram showing the evaluation value of the stride length d in Fig. 11, and Fig. 13 is a diagram showing the number of steps when a walking simulation is performed using the stride length d in Fig. 11. The number of steps in Fig. 13 is set to a maximum of 100 steps, and any step above that is truncated.
[0065] In Fig. 11, the step length d that results in a periodic solution is discontinuous, but its cost (evaluation value) is almost uniformly low, as shown in Fig. 12. Therefore, it can be said that the optimal solution has been sufficiently found. However, as shown in Fig. 13, it can be seen that there is variation in the number of steps that the robot 10 can take to continue walking without falling over.
[0066] For example, in the region where the initial velocity v0 is 0.2 to 0.6 [m / s] and the leg length angle φ0 is 10 to 15 [deg.] (the region in the lower left of the figure), the region where the initial velocity v0 is 0.2 to 0.4 [m / s] and the leg length angle φ0 is 23 to 30 [deg.] (the region in the upper left of the figure), and the region where the initial velocity v0 is 0.8 to 1.0 [m / s] and the leg length angle φ0 is 23 to 30 [deg.] (the region in the upper right of the figure), the number of steps does not reach 100, and the robot 10 will fall over in at least 50 steps.
[0067] User-specified target velocity v0 ref To obtain a robust leg length angle φ0 and stride length d, the target velocity v0 ref The initial velocity v0 is the result of multiplying the velocity by the disturbance r. In other words, v0=rv0 ref is.
[0068] 14 and 15 show the target speed v0 ref The figure shows the results of a walking simulation when the target speed v0 ref and leg length angle φ0, and solve the optimization problem of equation (5).
[0069] Figure 14 shows the target speed v0 ref 15 shows the number of steps that the robot 10 can walk without falling over when the leg length angle φ0 is fixed at 14 degrees and the disturbance r is varied in the range of 0.7 to 1.2. In both figures, the number of steps is set to a maximum of 100, and any steps above that are truncated.
[0070] 14, even if the disturbance r is varied within a range of 0.7 to 1.2, the robot 10 can continue walking for 100 steps or more as long as the leg length angle φ0 is within a range of 20 to 26 degrees. In other words, the leg length angle φ0 that increases the number of steps taken by the robot 10 regardless of the variation in the disturbance r is a robust parameter.
[0071] 15, if the initial velocity v0 is about 0.8 [m / s], the robot 10 can continue walking for 100 steps or more within the disturbance r range of 0.8 to 1.2. In other words, the initial velocity v0 that increases the number of steps taken by the robot 10 regardless of fluctuations in the disturbance r is a robust parameter.
[0072] In this way, parameters that are robust to disturbance r can be defined as parameters with a wide white area in the figure. Therefore, we define the parameters that represent robustness as r n (v0 ref ,d,φ0), and then n (v0 ref , d,φ0) is defined as the range from r=1 where n steps can be walked continuously.
[0073] The periodic solution of the robust parameters d and φ0 can be obtained by solving the optimization problem (minimization problem) expressed in equation (8) under the constraints expressed in equation (9).
[0074]
number
[0075]
number
[0076] The cost in Equation (8) aims to improve robustness, and the constraints expressed in Equation (9) are equivalent to Equation (5), which only considers the symmetry of the double-leg support phase DS. b in the equation represents a predetermined arbitrary upper limit. The upper limit b is set because the accuracy of the periodic solution includes numerical calculation errors. However, because Equations (8) and (9) are nonlinear and discontinuous functions, a normal constrained optimization solver cannot be used. Therefore, more practically, a periodic solution for the robust parameters d and φ0 can be obtained by solving the optimization problem expressed in Equation (10).
[0077]
number
[0078] 16 to 18 show the results of robust parameters obtained by solving the optimization problem of Equation (10). Fig. 16 shows that when the initial value v0 is varied in the range of 0.2 to 1.0 [m / s], the cost (value on the vertical axis) is smallest around 0.3 [m / s] or 0.7 [m / s]. In other words, the initial value v0 is most robust when it is around 0.3 [m / s] or 0.7 [m / s].
[0079] Fig. 17 shows the periodic solutions of the step length d and leg length angle φ0 for each initial value v0 when the initial value v0 is varied in the range of 0.2 to 1.0 [m / s]. Fig. 18 shows the number of steps the robot 10 can walk without falling over when the disturbance r is varied in the range of 0.0 to 2.0. v0 ref In the slow speed range of <0.3 m / s, the number of steps increases in the range of r>1, which shows that slow walking is difficult with this walking model. ref In the relatively fast speed range of <0.6 m / s, regardless of the value of the disturbance r, more than 100 steps were counted in a wide range, and 0.45 ≤ v0 ref It can be seen that the speed range <0.6 m / s is highly robust.
[0080] [Processing flow of information processing device] Hereinafter, each component of the processing unit 150 of the information processing device 100 according to the embodiment will be described using a flowchart. Fig. 19 is a flowchart showing the flow of a series of processes by the processing unit 150 according to the embodiment.
[0081] First, the acquisition unit 152 acquires the target velocity v0 of the robot 10 designated by the user based on the user's input operation on the input interface 120. ref The acquisition unit 152 acquires the target velocity v0 of the robot 10 from, for example, a user's terminal device via the communication interface 110. ref may be obtained.
[0082] Next, the determination unit 154 determines an initial velocity v0 of the center of gravity of the robot 10 and an initial value h0 of the height of the center of gravity (step S102). For example, the determination unit 154 determines the target velocity v0 multiplied by the disturbance r. ref is determined as the initial velocity v0 of the center of gravity of the robot 10.
[0083] Next, the determination unit 154 derives the trajectory of the center of gravity based on the initial velocity v0 of the center of gravity and the initial height h0 of the center of gravity (step S104). Specifically, the determination unit 154 obtains a numerical solution to the differential equation of formula (1).
[0084] Next, the determination unit 154 determines the start time t ds0 The state of the center of gravity (x, z, dx / dt, dz / dt) at the end of the double support period DS is dse The state of the center of gravity (x, z, dx / dt, dz / dt) in the image is extracted (step S106).
[0085] Next, the determination unit 154 determines whether the intermediate time t e Based on / 2, the start time t ds0 The state of the center of gravity (x,z,dx / dt,dz / dt) at the end time t dseThe stride length d is determined so that the state of the center of gravity (x, z, dx / dt, dz / dt) at the center of gravity is symmetrical with the state of the center of gravity at the center of gravity (x, z, dx / dt, dz / dt), and the spring stiffness k (leg length angle φ0) is also determined (step S108).
[0086] For example, the determination unit 154 determines whether the start time t ds0 The state of the center of gravity (x,z,dx / dt,dz / dt) at the end time t dse The stride length d and leg length angle φ0 may be determined by solving the optimization problem expressed in equation (8) under the constraint of equation (9) which takes into account the symmetry with the state of the center of gravity (x, z, dx / dt, dz / dt) at
[0087] Furthermore, for example, the determination unit 154 may determine the stride length d and the leg length angle φ0 by solving the more practical optimization problem of equation (10). After determining the leg length angle φ0, the determination unit 154 may calculate the spring stiffness k by substituting the leg length angle φ0 into equations (6) and (7).
[0088] Next, the output control unit 156 outputs the stride length d and spring stiffness k (leg length angle φ0) determined by the determination unit 154 (step S110). For example, the output control unit 156 may display the stride length d and spring stiffness k (leg length angle φ0) on the display of the output interface 130. The output control unit 156 may also transmit the stride length d and spring stiffness k (leg length angle φ0) to another device via the communication interface 110. This completes the processing of this flowchart.
[0089] According to the embodiment described above, the information processing device 100 determines the initial velocity v0 and initial height h0 of the center of gravity of the leg itself or the center of gravity of the upper body of the robot 10 supported by the legs in a walking pattern in which a single leg support period SS in which one leg moves while remaining in contact with the ground and a double leg support period DS in which both legs move while remaining in contact with the ground are alternately repeated. Furthermore, the information processing device 100 derives the trajectory of the center of gravity based on the initial velocity v0 and the initial height h0. Furthermore, the information processing device 100 determines the start time t of the double leg support period DS based on the trajectory of the center of gravity, using the midpoint of the double leg support period DS as a reference. ds0The state of the center of gravity (x,z,dx / dt,dz / dt) at the end time t dse The stride length d of the legs during walking is determined so that the state of the center of gravity (x, z, dx / dt, dz / dt) in the double support period DS is symmetrical. In this way, by focusing on the symmetry of the trajectory of the center of gravity in the double support period DS, a robust parameter d related to walking can be determined more quickly and simply.
[0090] Furthermore, according to the above-described embodiment, the information processing device 100 ref is multiplied by the disturbance r to set the initial velocity v0, and the spring stiffness k (leg length angle φ0) is determined so that the robot 10 can continue walking without falling over when the disturbance r is varied within a certain range. This makes it possible to determine the robust parameter k or φ0 related to walking more quickly and easily.
[0091] (Other embodiments) Other embodiments (variations of the above-described embodiments) will be described below. In the above-described embodiments, the method of determining parameters when the robot 10 is "walking" has been mainly described, but the present invention is not limited to this. As explained in the overview at the beginning, for example, when the robot 10 is "running," parameters such as the stride length d and spring stiffness k (leg length angle φ0) may be determined in the same way as when the robot is "walking."
[0092] Specifically, the determination unit 154 determines the initial velocity v0 and initial height h0 of the center of gravity during "running," which alternates between an airborne phase in which both legs move while separated from the ground and a supporting leg phase in which one leg moves while in contact with the ground.
[0093] Next, the determination unit 154 defines the state vector of the center of gravity x(t) = {x, z, dx / dt, dz / dt} as x(0) = {0, h0, v0, 0} by setting t = 0 as the height apex of the airborne phase, and then derives the trajectory of the center of gravity by solving equation (5), which also takes into account the symmetry of the supporting leg phase.
[0094] Next, the determination unit 154 determines the start time tds0 The state of the center of gravity (x, z, dx / dt, dz / dt) at the end of the supporting leg phase t dse The state of the center of gravity (x, z, dx / dt, dz / dt) at the intermediate time t e Based on / 2, the start time t ds0 The state of the center of gravity (x,z,dx / dt,dz / dt) at the end time t dse The stride length d is determined so that the state of the center of gravity (x, z, dx / dt, dz / dt) at the center of gravity is symmetrical with the state of the center of gravity at the center of gravity (x, z, dx / dt, dz / dt), and the spring stiffness k (leg length angle φ0) is also determined.
[0095] For example, the determination unit 154 may determine the step length d and the leg length angle φ0 by solving the formulas (8) and (9), or may determine the step length d and the leg length angle φ0 by solving the more practical formula (10).
[0096] The above-described embodiment can be expressed as follows. a storage medium for storing computer-readable instructions; a processor connected to the storage medium; The processor executes the computer-readable instructions to: In the walking, in which a single-leg support period in which one leg moves while remaining in contact with the ground and a double-leg support period in which both legs move while remaining in contact with the ground are alternately repeated, or in the running, in which an airborne period in which both legs move while remaining off the ground and a supporting leg period in which one leg moves while remaining in contact with the ground are alternately repeated, determining an initial velocity of the center of gravity of the leg or an object supported by the leg; determining an initial height of the center of gravity; deriving a trajectory of the center of gravity moving by walking or running based on the initial velocity and the initial height; determining a stride length of the legs during walking or running based on the trajectory of the center of gravity, with reference to an intermediate time of a predetermined phase, which is the double support period or the supporting leg period, so that a state of the center of gravity at a start time of the predetermined phase and a state of the center of gravity at an end time of the predetermined phase are symmetrical; An information processing device configured as follows.
[0097] The above describes the form for carrying out the present invention using an embodiment, but the present invention is not limited to such an embodiment, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention. [Explanation of symbols]
[0098] 10...Robot, 10A...Leg, 100...Information processing device, 110...Communication interface, 120...Input interface, 130...Output interface, 140...Memory unit, 150...Processing unit, 152...Acquisition unit, 154...Decision unit, 156...Output control unit
Claims
1. A method for determining parameters for walking or running by leg movement, comprising: determining an initial velocity of the center of gravity of the leg or an object supported by the leg in the walking, in which a single leg support period in which one leg moves while remaining in contact with the ground and a double leg support period in which both legs move while remaining in contact with the ground are alternately repeated, or in the running, in which an airborne period in which both legs move while remaining off the ground and a supporting leg period in which one leg moves while remaining in contact with the ground are alternately repeated; determining an initial height of the center of gravity; deriving a trajectory of the center of gravity moving by walking or running based on the initial velocity and the initial height; and determining a stride length of the legs during walking or running based on the trajectory of the center of gravity, with reference to an intermediate time of a predetermined phase that is the double support period or the supporting leg period, so that a state of the center of gravity at a start time of the predetermined phase and a state of the center of gravity at an end time of the predetermined phase are symmetrical, The state of the center of gravity includes: a first position that is a position of the center of gravity in a horizontal direction; a second position that is the position of the center of gravity in the vertical direction; a first velocity, which is the velocity of the center of gravity in the horizontal direction; a second velocity, which is a velocity of the center of gravity in the vertical direction; The stride of the leg, the first position of the center of gravity at the start time and the first position of the center of gravity at the end time, the sign of which is inverted, are symmetrical to each other; the second position of the center of gravity at the start time and the second position of the center of gravity at the end time are symmetrical, the first velocity of the center of gravity at the start time and the first velocity of the center of gravity at the end time are symmetrical, The second velocity of the center of gravity at the start time and the second velocity of the center of gravity with the sign inverted at the end time are determined to be symmetrical to each other. Parameter determination method.
2. determining a spring stiffness of the leg; determining the stride length based on the spring stiffness; The parameter determination method according to claim 1 .
3. obtaining a target velocity of the center of gravity; determining the target speed multiplied by a disturbance as the initial speed; determining the stride length based on the initial velocity; The parameter determination method according to claim 2 .
4. the leg includes a first motor and a second motor each having a spring, a first passive joint, a second passive joint, a third passive joint, a ground contact portion in contact with the ground, and a five-bar link mechanism; The five-bar link mechanism includes: a first link connecting the first motor and the second motor; a second link connecting the second motor and the first passive joint; a third link connecting the first passive joint and the second passive joint; a fourth link connecting the second passive joint and the third passive joint; a fifth link connecting the second passive joint and the ground contact portion; a sixth link connecting the third passive joint and the ground contact portion; a seventh link connecting the third passive joint and the first motor, determining the spring stiffness based on an angle formed by the seventh link and a line segment connecting the first motor and the ground contact portion under a condition where the ground contact portion is in contact with the ground; The parameter determination method according to claim 3 .
5. The stride length of the leg and the angle formed by the leg are determined by solving a minimization problem expressed in Equation (1) under a constraint condition expressed in Equation (2). [Equation 1] [Equation 2] where φ 0 represents the angle, d represents the stride, and r n represents a parameter representing robustness, x represents the state of the center of gravity, and t ds0 represents the start time, and t dse represents the end time, b represents a predetermined upper limit value, and diag represents a diagonal matrix. The parameter determination method according to claim 4 .
6. The stride length of the leg and the angle formed by the leg are determined by solving the minimization problem expressed in Equation (3). [Equation 3] where φ 0 represents the angle, d represents the stride, and r n represents a parameter representing robustness, x represents the state of the center of gravity, and t ds0 represents the start time, and t dse represents the end time, b represents a predetermined upper limit value, and diag represents a diagonal matrix. The parameter determination method according to claim 4 .
7. A program for causing a computer to execute a process for determining parameters of walking or running by moving legs, determining an initial velocity of the center of gravity of the leg or an object supported by the leg in the walking, in which a single leg support period in which one leg moves while remaining in contact with the ground and a double leg support period in which both legs move while remaining in contact with the ground are alternately repeated, or in the running, in which an airborne period in which both legs move while remaining off the ground and a supporting leg period in which one leg moves while remaining in contact with the ground are alternately repeated; determining an initial height of the center of gravity; deriving a trajectory of the center of gravity moving by walking or running based on the initial velocity and the initial height; determining a stride length of the legs during walking or running based on the trajectory of the center of gravity, with reference to an intermediate time of a predetermined phase, which is the double support period or the supporting leg period, so that a state of the center of gravity at a start time of the predetermined phase and a state of the center of gravity at an end time of the predetermined phase are symmetrical, The state of the center of gravity includes: a first position that is a position of the center of gravity in a horizontal direction; a second position that is the position of the center of gravity in the vertical direction; a first velocity, which is the velocity of the center of gravity in the horizontal direction; a second velocity, which is a velocity of the center of gravity in the vertical direction; The stride of the leg, the first position of the center of gravity at the start time and the first position of the center of gravity at the end time, the sign of which is inverted, are symmetrical to each other; the second position of the center of gravity at the start time and the second position of the center of gravity at the end time are symmetrical, the first velocity of the center of gravity at the start time and the first velocity of the center of gravity at the end time are symmetrical, The second velocity of the center of gravity at the start time and the second velocity of the center of gravity with the sign inverted at the end time are determined to be symmetrical to each other. program.
Citation Information
Patent Citations
Tampon applicator
JP1988011153A
Two-leg walking movable body and two-leg walking control method
JP2005088113A
Leg type robot and its control method
JP2009214255A
Movement control system for bipedal running robot
JP2015098066A
Biped robot walking control method and walking control device
JP2018527646A