CN113485100B - Robot leg length planning method and device, readable storage medium and robot - Google Patents
Robot leg length planning method and device, readable storage medium and robot Download PDFInfo
- Publication number
- CN113485100B CN113485100B CN202110747708.3A CN202110747708A CN113485100B CN 113485100 B CN113485100 B CN 113485100B CN 202110747708 A CN202110747708 A CN 202110747708A CN 113485100 B CN113485100 B CN 113485100B
- Authority
- CN
- China
- Prior art keywords
- robot
- leg length
- legs
- leg
- planned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000008859 change Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 15
- 230000009191 jumping Effects 0.000 abstract description 7
- 230000001186 cumulative effect Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000005021 gait Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0205—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
- G05B13/024—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system in which a parameter or coefficient is automatically adjusted to optimise the performance
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
The application belongs to the technical field of robots, and particularly relates to a method and a device for planning leg length of a robot, a computer readable storage medium and the robot. The method comprises the following steps: acquiring a measured contact force and an expected contact force of two legs of the robot; calculating the leg length variation of the robot according to the measured contact force and the expected contact force of the two legs of the robot; and adjusting the first planning leg length of the two legs of the robot according to the leg length variation to obtain the second planning leg length of the two legs of the robot. According to the application, the leg length can be adjusted according to the stress condition of the robot, and the impact force during landing can be effectively opposite to the impact force by the change of the leg length, so that the stability of the robot can be maintained even in sports scenes such as jumping or running.
Description
Technical Field
The application belongs to the technical field of robots, and particularly relates to a method and a device for planning leg length of a robot, a computer readable storage medium and the robot.
Background
In the research of the humanoid robot, most of the main aims are the walking scene of the robot so as to ensure that the robot can walk stably. However, in sports scenes such as jumping or running, a large impact force can be generated when the robot lands, the technical scheme suitable for the scenes is lacking in the prior art, the impact of the impact force cannot be effectively overcome, the stability of the robot is poor, and the robot is very easy to fall down or even damaged in hardware.
Disclosure of Invention
In view of the above, the embodiments of the present application provide a method and an apparatus for planning a leg length of a robot, a computer readable storage medium, and a robot, so as to solve the problem of poor stability of the robot in sports scenes such as jumping or running.
A first aspect of an embodiment of the present application provides a method for planning a leg length of a robot, which may include:
Acquiring a measured contact force and an expected contact force of two legs of the robot;
Calculating the leg length variation of the robot according to the measured contact force and the expected contact force of the two legs of the robot: Wherein v 1 is a preset first leg length change rate, v 1=K1(fz-fd),fz is a sum of measured contact forces of both legs of the robot, f d is a sum of expected contact forces of both legs of the robot, K 1 is a preset first positive coefficient, v 2 is a preset second leg length change rate, S (f z) is a preset switching function, and Δz 1 is the leg length change amount;
And adjusting the first planning leg length of the two legs of the robot according to the leg length variation to obtain the second planning leg length of the two legs of the robot.
In a specific implementation of the first aspect, after adjusting the first planned leg length of the two legs of the robot according to the leg length variation amount, obtaining the second planned leg length of the two legs of the robot may further include:
Calculating a leg length difference of the robot according to the measured contact force and the expected contact force of the two legs of the robot: Wherein Δf z is the difference between the measured contact forces of the two legs of the robot, Δf d is the difference between the expected contact forces of the two legs of the robot, K 2 is a preset second positive coefficient, K 3 is a preset third positive coefficient, t is a time variable, t 0 is a starting time, t n is a current time, and Δz 2 is the leg length difference;
And adjusting the second planning leg length of the two legs of the robot according to the leg length difference value to obtain the third planning leg length of the two legs of the robot.
In a specific implementation of the first aspect, the switching function may be set according to the following formula:
fz'=min(f2,max(f1,fz))
wherein f 1 is a preset first threshold, f 2 is a preset second threshold, f 1<f2, min is a minimum function, max is a maximum function, and f z' is a preset intermediate variable.
In a specific implementation of the first aspect, the adjusting the first planned leg length of the two legs of the robot according to the leg length variation may include:
calculating a second planned leg length of the two legs of the robot according to:
zls=zld+Δz1
zrs=zrd+Δz1
Wherein z ld is a first planned leg length of a left leg of the robot, z ed is a first planned leg length of a right leg of the robot, z ls is a second planned leg length of the left leg of the robot, and z rs is a second planned leg length of the right leg of the robot.
In a specific implementation of the first aspect, the adjusting the second planned leg length of the two legs of the robot according to the leg length difference value to obtain the third planned leg length of the two legs of the robot may include:
Calculating a third planned leg length of the two legs of the robot according to:
zls'=zls+Δz2
zrs'=zrs-Δz2
Wherein z ls is the second planned leg length of the left leg of the robot, z rs is the second planned leg length of the right leg of the robot, z ls 'is the third planned leg length of the left leg of the robot, and z rs' is the third planned leg length of the right leg of the robot.
A second aspect of an embodiment of the present application provides a robot leg length planning apparatus, which may include:
The stress information acquisition module is used for acquiring the measured contact force and the expected contact force of the two legs of the robot;
a leg length variation calculation module for calculating a leg length variation of the robot from the measured contact force and the expected contact force of both legs of the robot: Wherein v 1 is a preset first leg length change rate, v 1=K1(fz-fd),f2 is a sum of measured contact forces of both legs of the robot, f d is a sum of expected contact forces of both legs of the robot, K 1 is a preset first positive coefficient, v 2 is a preset second leg length change rate, S (f 2) is a preset switching function, and Δz 1 is the leg length change amount;
And the first leg length adjusting module is used for adjusting the first planning leg length of the two legs of the robot according to the leg length variation to obtain the second planning leg length of the two legs of the robot.
In a specific implementation of the second aspect, the robot leg length planning apparatus may further include:
the leg length difference value calculation module is used for calculating the leg length difference value of the robot according to the measured contact force and the expected contact force of the two legs of the robot: Wherein Δf z is the difference between the measured contact forces of the two legs of the robot, Δf d is the difference between the expected contact forces of the two legs of the robot, K 2 is a preset second positive coefficient, K 3 is a preset third positive coefficient, t is a time variable, t 0 is a starting time, t n is a current time, and Δz 2 is the leg length difference;
and the second leg length adjusting module is used for adjusting the second planning leg length of the two legs of the robot according to the leg length difference value to obtain the third planning leg length of the two legs of the robot.
In a specific implementation of the second aspect, the switching function may be set according to the following formula:
fz'=min(f2,max(f1,fz))
wherein f 1 is a preset first threshold, f 2 is a preset second threshold, f 1<f2, min is a minimum function, max is a maximum function, and f z' is a preset intermediate variable.
In a specific implementation of the second aspect, the first leg length adjustment module may be specifically configured to calculate the second planned leg length of the two legs of the robot according to the following formula:
zls=zld+Δz1
zrs=zrd+Δz1
wherein z ld is a first planned leg length of a left leg of the robot, z rd is a first planned leg length of a right leg of the robot, z ls is a second planned leg length of the left leg of the robot, and z rs is a second planned leg length of the right leg of the robot.
In a specific implementation of the second aspect, the second leg length adjustment module may be specifically configured to calculate a third planned leg length of the two legs of the robot according to the following formula:
zls'=zls+Δz2
zrs'=zrs-Δz2
Wherein z ls is the second planned leg length of the left leg of the robot, z rs is the second planned leg length of the right leg of the robot, z ls 'is the third planned leg length of the left leg of the robot, and z rs' is the third planned leg length of the right leg of the robot.
A third aspect of the embodiments of the present application provides a computer readable storage medium storing a computer program which, when executed by a processor, implements the steps of any one of the robotic leg length planning methods described above.
A fourth aspect of the embodiments of the present application provides a robot comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of any one of the above-mentioned methods for planning a leg length of a robot when executing the computer program.
A fifth aspect of an embodiment of the application provides a computer program product for causing a robot to perform the steps of any of the above-described methods of planning a leg length of the robot when the computer program product is run on the robot.
Compared with the prior art, the embodiment of the application has the beneficial effects that: the embodiment of the application obtains the measured contact force and the expected contact force of the two legs of the robot; calculating the leg length variation of the robot according to the measured contact force and the expected contact force of the two legs of the robot; and adjusting the first planning leg length of the two legs of the robot according to the leg length variation to obtain the second planning leg length of the two legs of the robot. According to the embodiment of the application, the leg length can be adjusted according to the stress condition of the robot, and the impact force during landing can be effectively opposite to the impact force through the change of the leg length, so that the stability of the robot can be kept even in sports scenes such as jumping or running.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic view of three gait phases of a robot;
FIG. 2 is a flow chart of one embodiment of a method for planning leg length of a robot in accordance with an embodiment of the present application;
FIG. 3 is a schematic diagram of a switching function;
FIG. 4 is a block diagram of one embodiment of a robotic leg length planning apparatus in accordance with an embodiment of the present application;
Fig. 5 is a schematic block diagram of a robot in an embodiment of the application.
Detailed Description
In order to make the objects, features and advantages of the present application more comprehensible, the technical solutions in the embodiments of the present application are described in detail below with reference to the accompanying drawings, and it is apparent that the embodiments described below are only some embodiments of the present application, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It should be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
As used in this specification and the appended claims, the term "if" may be interpreted as "when..once" or "in response to a determination" or "in response to detection" depending on the context. Similarly, the phrase "if a determination" or "if a [ described condition or event ] is detected" may be interpreted in the context of meaning "upon determination" or "in response to determination" or "upon detection of a [ described condition or event ]" or "in response to detection of a [ described condition or event ]".
In addition, in the description of the present application, the terms "first," "second," "third," etc. are used merely to distinguish between descriptions and should not be construed as indicating or implying relative importance.
For simplicity of description, the robots mentioned in the embodiments of the present application are bipedal robots unless otherwise specified.
The embodiment of the application mainly focuses on the stress condition of the robot in the vertical direction, and physical quantities such as force, length and the like in the embodiment of the application are all components in the vertical direction unless specifically stated.
In the embodiment of the application, the gait of the robot can be divided into three phases as shown in fig. 1, wherein the phase of both legs contacting the ground is a two-leg supporting phase, the phase of only one leg contacting the ground is a single-leg supporting phase, and the phase of both legs not contacting the ground is a vacation phase.
For a stable jumping process, the gait of the robot is the cyclic switching of the support period and the vacation period of the legs, namely: leg support period- & gtvacation period- & gtleg support period- & gtvacation period- & gt ….
For stable running process, the gait of the robot is the cyclic switching of the single-leg supporting period and the vacation period, and the left leg and the right leg are alternately used as supporting legs in each single-leg supporting period, namely: single leg support period (support leg is left leg) → vacation period→ single leg support period (support leg is right leg) → vacation period→ single leg support period (support leg is left leg) → vacation period→ single leg support period (support leg is right leg) → vacation period is no more than …, or: the single-leg supporting period (the supporting leg is the right leg) is not less than the emptying period and not more than the single-leg supporting period (the supporting leg is the left leg), the emptying period is not less than the single-leg supporting period (the supporting leg is the right leg), the emptying period is not less than the single-leg supporting period (the supporting leg is the left leg), and the emptying period is ….
In the embodiment of the application, the leg length can be adjusted according to the stress condition of the robot, and the impact force during landing can be effectively opposite to the impact force through the change of the leg length, so that the stability of the robot can be kept even in sports scenes such as jumping or running.
Referring to fig. 2, an embodiment of a method for planning a leg length of a robot according to an embodiment of the present application may include:
step S201, acquiring a measured contact force and an expected contact force of the two legs of the robot.
When the foot of the robot lands, a contact force is generated with the ground, and in the embodiment of the application, a sensor can be arranged on the robot in advance to measure the contact force, and the measurement result is the measurement of the contact force. Accordingly, in the existing robot control system, the expected contact force is generally planned according to the actual situation, and the planning result is the expected contact force.
In the embodiment of the application, the measured contact force of the left leg of the robot may be denoted as f lz, the measured contact force of the right leg of the robot may be denoted as f rz, the expected contact force of the left leg of the robot may be denoted as f ld, and the expected contact force of the right leg of the robot may be denoted as f rd.
Step S202, calculating the leg length variation of the robot according to the measured contact force and the expected contact force of the two legs of the robot.
In a specific implementation of the embodiment of the present application, the leg length variation of the robot may be calculated according to the following formula:
v1=K1(fz-fd)
fz=flz+frz
fd=fld+frd
Wherein f z is the sum of the measured contact forces of the two legs of the robot, f d is the sum of the expected contact forces of the two legs of the robot, K 1 is a preset first positive coefficient, the specific value of which can be set according to the actual situation, v 1 is a preset first leg length change rate, v 2 is a preset second leg length change rate, the specific value of which can be set according to the actual situation, deltaz 1 is the leg length change amount, Is the first derivative of Δz 1.
S (f z) is a preset switching function, which satisfies the following constraints:
Wherein f 1 is a preset first threshold, f 2 is a preset second threshold, and specific values of f 1<f2 and f 1 can be set according to practical situations.
When f z>f2, S (f z) =1,Leg length shortens at a rate of v 1 to absorb impact forces; when f z<f1, S (f z) =0,/>The leg length is quickly restored until the preset initial leg length, i.e., Δz 1 =0, is restored.
Further, in order to make S (f z) smoothly switchable between [0,1] and avoid occurrence of buffeting, in a specific implementation of the embodiment of the present application, a switching function may be set as follows:
fz'=min(f2,max(f1,fz))
Wherein min is a minimum function, max is a maximum function, f z' is a preset intermediate variable, and fig. 3 is a schematic diagram of the switching function.
And step 203, adjusting the first planned leg length of the two legs of the robot according to the leg length variation to obtain the second planned leg length of the two legs of the robot.
In the existing robot control system, the expected leg length is generally planned according to the actual situation, but the stress situation of the robot is not considered in the planning process, and the planning result is referred to as the first planned leg length for convenience of distinguishing. In the embodiment of the application, the robot can be adjusted according to the stress condition of the robot, and the adjusted result is the second planning leg length.
Specifically, the second planned leg length of the two legs of the robot may be calculated according to the following formula:
zls=zld+Δz1
zrs=zrd+Δz1
Wherein z ld is the first planned leg length of the left leg of the robot, z rd is the first planned leg length of the right leg of the robot, z ls is the second planned leg length of the left leg of the robot, and z rs is the second planned leg length of the right leg of the robot.
According to the embodiment of the application, the leg length can be adjusted according to the stress condition of the robot, and the impact force during landing can be effectively opposite to the impact force through the change of the leg length, so that the stability of the robot can be kept even in sports scenes such as jumping or running.
It should be noted that although the impact force during landing can be effectively offset through the above process, if the stress conditions of the two legs of the robot are too different, instability may still occur. Therefore, in a specific implementation of the embodiment of the present application, after step 203, the stress distribution of the two legs of the robot may be adjusted by adjusting the second planned leg length of the two legs of the robot, so as to further improve the stability of the robot.
The leg length difference of the robot may first be calculated from the measured contact force and the desired contact force of the two legs of the robot.
In one specific implementation of an embodiment of the present application, the leg length difference may be calculated according to the following equation:
Δfz=flz-frz
Δfd=fld-frd
Wherein Δf z is the difference between the measured contact forces of the two legs of the robot, Δf d is the difference between the expected contact forces of the two legs of the robot, K 2 is a preset second positive coefficient, K 3 is a preset third positive coefficient, the specific values of both can be set according to the actual situation, t is a time variable, t 0 is a starting time, t n is the current time, Δz 2 is a leg length difference, Is the second derivative of Δz 2.
After the leg length difference is obtained, the second planning leg length of the two legs of the robot can be adjusted according to the leg length difference, and the third planning leg length of the two legs of the robot is obtained.
In a specific implementation of an embodiment of the present application, the third planned leg length of the two legs of the robot may be calculated according to the following formula:
zls'=zls+Δz2
zrs'=zrs-Δz2
Wherein z ls 'is the third planned leg length of the left leg of the robot and z rs' is the third planned leg length of the right leg of the robot.
After the leg length planning of the robot is completed, the robot can be controlled to move according to the planning result, so that the stability in the moving process is maintained.
In the above-mentioned calculation process, the solution to the first-order and second-order differential equations is involved, the solution mode in the prior art has low efficiency, and in a specific implementation of the embodiment of the application, the calculation efficiency can be improved by a new solution mode.
The first order differential equation is expressed as: Given that the calculation result of the previous step (time t k-1) is x k-1 and the step length is dt, the calculation process of the current step (time t k) is as follows:
first operation:
Step 1: calculating first order quantity
Step 2: calculating the zero order quantity
Step 3: calculating the cumulative zero order quantity x k=xk1
And (3) carrying out a second operation:
step 4: calculating first order quantity
Step 5: calculating the zero order quantity
Step 6: calculating the cumulative zero order quantity x k=xk+2*xk2
Third operation:
step 7: calculating first order quantity
Step 8: calculating the zero order quantity
Step 9: calculating the cumulative zero order quantity x k=xk+2*xk3
Fourth operation:
step 10: calculating first order quantity
Step 11: calculating the zero order quantity
Step 12: calculating the cumulative zero order quantity x k=xk+xk4
And finally obtaining the calculation result x k of the current step in the 12 th step through four times of operations.
The second order differential equation is expressed as: The result of the calculation of the last step (time t k-1) is known as x k-1,/> If the step size is dt, the calculation process of the current step (time t k) is as follows:
first operation:
Step 1: calculating a second order quantity
Step 2: calculating first order quantity
Calculating the zero order quantity
Step 3: calculating the cumulative first order
Calculating the cumulative zero order quantity x k=xk1
And (3) carrying out a second operation:
Step 4: calculating a second order quantity
Step 5: calculating first order quantity
Calculating the zero order quantity
Step 6: calculating the cumulative first order
Calculating the cumulative zero order quantity x k=xk+2*xk2
Third operation:
Step 7: calculating a second order quantity
Step 8: calculating first order quantity
Calculating the zero order quantity
Step 9: calculating the cumulative first order
Calculating the cumulative zero order quantity x k=xk+2*xk3
Fourth operation:
step 10: calculating a second order quantity
Step 11: calculating first order quantity
Calculating the zero order quantity
Step 12: calculating the cumulative first order
Calculating the cumulative zero order quantity x k=xk+xk4
Through four operations, the calculation result x k and the calculation result of the current step are finally obtained in the 12 th step
It should be understood that the sequence number of each step in the foregoing embodiment does not mean that the execution sequence of each process should be determined by the function and the internal logic, and should not limit the implementation process of the embodiment of the present application.
Corresponding to the method for planning the leg length of the robot described in the above embodiments, fig. 4 is a diagram illustrating an embodiment of a leg length planning apparatus for a robot according to an embodiment of the present application.
In this embodiment, a robot leg length planning apparatus may include:
The stress information acquisition module 401 is configured to acquire a measured contact force and an expected contact force of two legs of the robot;
A leg length variation calculation module 402 for calculating a leg length variation of the robot from the measured contact force and the desired contact force of both legs of the robot;
And the first leg length adjustment module 403 is configured to adjust the first planned leg length of the two legs of the robot according to the leg length variation, so as to obtain the second planned leg length of the two legs of the robot.
In a specific implementation of the embodiment of the present application, the leg length planning apparatus for a robot may further include:
the leg length difference value calculation module is used for calculating the leg length difference value of the robot according to the measured contact force and the expected contact force of the two legs of the robot;
and the second leg length adjusting module is used for adjusting the second planning leg length of the two legs of the robot according to the leg length difference value to obtain the third planning leg length of the two legs of the robot.
In a specific implementation of the embodiment of the present application, the leg length variation calculation module may be specifically configured to calculate the leg length variation of the robot according to the following formula:
v1=K1(fz-fd)
fz=flz+frz
fd=fld+frd
wherein f lz is a measured contact force of a left leg of the robot, f rz is a measured contact force of a right leg of the robot, f z is a sum of measured contact forces of both legs of the robot, f ld is a desired contact force of a left leg of the robot, f rd is a desired contact force of a right leg of the robot, f d is a sum of desired contact forces of both legs of the robot, K 1 is a preset first positive coefficient, v 1 is a preset first leg length change rate, v 2 is a preset second leg length change rate, S (f z) is a preset switching function, and Δz 1 is the leg length change amount.
In a specific implementation of the embodiment of the present application, the switching function may be set according to the following formula:
fz'=min(f2,max(f1,fz))
wherein f 1 is a preset first threshold, f 2 is a preset second threshold, f 1<f2, min is a minimum function, max is a maximum function, and f z' is a preset intermediate variable.
In a specific implementation of the embodiment of the present application, the first leg length adjustment module may be specifically configured to calculate the second planned leg length of the two legs of the robot according to the following formula:
zls=zld+Δz1
zrs=zrd+Δz1
Wherein Δz 1 is the leg length variation, z ld is the first planned leg length of the left leg of the robot, z rd is the first planned leg length of the right leg of the robot, z ls is the second planned leg length of the left leg of the robot, and z rs is the second planned leg length of the right leg of the robot.
In a specific implementation of the embodiment of the present application, the leg length difference calculating module may be specifically configured to calculate the leg length difference according to the following formula:
Δfz=flz-frz
Δfd=fld-frd
Wherein f lz is a measured contact force of a left leg of the robot, f rz is a measured contact force of a right leg of the robot, Δf z is a difference between measured contact forces of both legs of the robot, f ld is an expected contact force of a left leg of the robot, f rd is an expected contact force of a right leg of the robot, Δf d is a difference between expected contact forces of both legs of the robot, K 2 is a preset second positive coefficient, K 3 is a preset third positive coefficient, t is a time variable, t 0 is a starting time, t n is a current time, and Δz 2 is the leg length difference.
In a specific implementation of the embodiment of the present application, the second leg length adjustment module may be specifically configured to calculate a third planned leg length of the two legs of the robot according to the following formula:
zls'=zls+Δz2
zrs'=zrs-Δz2
Wherein Δz 2 is the leg length difference, z ls is the second planned leg length of the left leg of the robot, z rs is the second planned leg length of the right leg of the robot, z ls 'is the third planned leg length of the left leg of the robot, and z rs' is the third planned leg length of the right leg of the robot.
It will be clearly understood by those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described apparatus, modules and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Fig. 5 shows a schematic block diagram of a robot according to an embodiment of the present application, and for convenience of explanation, only a portion related to the embodiment of the present application is shown.
As shown in fig. 5, the robot 5 of this embodiment includes: a processor 50, a memory 51 and a computer program 52 stored in said memory 51 and executable on said processor 50. The processor 50, when executing the computer program 52, implements the steps of the various robotic leg length planning method embodiments described above, such as steps S201-S203 shown in fig. 2. Or the processor 50, when executing the computer program 52, performs the functions of the modules/units of the apparatus embodiments described above, e.g. the functions of the modules 401 to 403 shown in fig. 4.
By way of example, the computer program 52 may be partitioned into one or more modules/units that are stored in the memory 51 and executed by the processor 50 to complete the present application. The one or more modules/units may be a series of computer program instruction segments capable of performing a specific function for describing the execution of the computer program 52 in the robot 5.
It will be appreciated by those skilled in the art that fig. 5 is merely an example of the robot 5 and is not meant to be limiting of the robot 5, and may include more or fewer components than shown, or may combine certain components, or different components, e.g., the robot 5 may also include input and output devices, network access devices, buses, etc.
The Processor 50 may be a central processing unit (Central Processing Unit, CPU), but may also be other general purpose processors, digital signal processors (DIGITAL SIGNAL Processor, DSP), application SPECIFIC INTEGRATED Circuit (ASIC), field-Programmable gate array (Field-Programmable GATE ARRAY, FPGA) or other Programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 51 may be an internal storage unit of the robot 5, such as a hard disk or a memory of the robot 5. The memory 51 may be an external storage device of the robot 5, such as a plug-in hard disk, a smart memory card (SMART MEDIA CARD, SMC), a Secure Digital (SD) card, a flash memory card (FLASH CARD), or the like, which are provided on the robot 5. Further, the memory 51 may also include both an internal memory unit and an external memory device of the robot 5. The memory 51 is used for storing the computer program as well as other programs and data required by the robot 5. The memory 51 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional units and modules is illustrated, and in practical application, the above-described functional distribution may be performed by different functional units and modules according to needs, i.e. the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-described functions. The functional units and modules in the embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit, where the integrated units may be implemented in a form of hardware or a form of a software functional unit. In addition, the specific names of the functional units and modules are only for distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working process of the units and modules in the above system may refer to the corresponding process in the foregoing method embodiment, which is not described herein again.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/robot and method may be implemented in other ways. For example, the apparatus/robot embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical function division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection via interfaces, devices or units, which may be in electrical, mechanical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated modules/units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the present application may implement all or part of the flow of the method of the above embodiment, or may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the computer program may implement the steps of each of the method embodiments described above. Wherein the computer program comprises computer program code which may be in source code form, object code form, executable file or some intermediate form etc. The computer readable storage medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), an electrical carrier signal, a telecommunications signal, a software distribution medium, and so forth. It should be noted that the computer readable storage medium may include content that is subject to appropriate increases and decreases as required by jurisdictions and by jurisdictions in which such computer readable storage medium does not include electrical carrier signals and telecommunications signals.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application, and are intended to be included in the scope of the present application.
Claims (8)
1. The leg length planning method of the robot is characterized by comprising the following steps of:
Acquiring a measured contact force and an expected contact force of two legs of the robot;
Calculating the leg length variation of the robot according to the measured contact force and the expected contact force of the two legs of the robot: Wherein v 1 is a preset first leg length change rate, v 1=K1(fz-fd),fz is a sum of measured contact forces of both legs of the robot, f d is a sum of expected contact forces of both legs of the robot, K 1 is a preset first positive coefficient, v 2 is a preset second leg length change rate, S (f z) is a preset switching function, and Δz 1 is the leg length change amount;
And adjusting the first planning leg length of the two legs of the robot according to the leg length variation to obtain the second planning leg length of the two legs of the robot.
2. The method for planning the leg length of the robot according to claim 1, further comprising, after adjusting the first planned leg length of the both legs of the robot according to the leg length variation amount to obtain the second planned leg length of the both legs of the robot:
Calculating a leg length difference of the robot according to the measured contact force and the expected contact force of the two legs of the robot: Wherein Δf z is the difference between the measured contact forces of the two legs of the robot, Δf d is the difference between the expected contact forces of the two legs of the robot, K 2 is a preset second positive coefficient, K 3 is a preset third positive coefficient, t is a time variable, t 0 is a starting time, t n is a current time, and Δz 2 is the leg length difference;
And adjusting the second planning leg length of the two legs of the robot according to the leg length difference value to obtain the third planning leg length of the two legs of the robot.
3. The robot leg length planning method according to claim 1, wherein the switching function is set according to the following equation:
fz'=min(f2,max(f1,fz))
wherein f 1 is a preset first threshold, f 2 is a preset second threshold, f 1<f2, min is a minimum function, max is a maximum function, and f z' is a preset intermediate variable.
4. A method of planning a leg length of a robot according to any one of claims 1 to 3, wherein the adjusting the first planned leg length of the legs of the robot according to the leg length variation amount to obtain the second planned leg length of the legs of the robot comprises:
calculating a second planned leg length of the two legs of the robot according to:
zls=zld+Δz1
zrs=zrd+Δz1
wherein z ld is a first planned leg length of a left leg of the robot, z rd is a first planned leg length of a right leg of the robot, z ls is a second planned leg length of the left leg of the robot, and z rs is a second planned leg length of the right leg of the robot.
5. The method for planning leg length of robot according to claim 2, wherein the adjusting the second planned leg length of both legs of the robot according to the leg length difference value to obtain the third planned leg length of both legs of the robot includes:
Calculating a third planned leg length of the two legs of the robot according to:
zls'=zls+Δz2
zrs'=zrs-Δz2
Wherein z ls is the second planned leg length of the left leg of the robot, z rs is the second planned leg length of the right leg of the robot, z ls 'is the third planned leg length of the left leg of the robot, and z rs' is the third planned leg length of the right leg of the robot.
6. A robot leg length planning apparatus, comprising:
The stress information acquisition module is used for acquiring the measured contact force and the expected contact force of the two legs of the robot;
a leg length variation calculation module for calculating a leg length variation of the robot from the measured contact force and the expected contact force of both legs of the robot: Wherein v 1 is a preset first leg length change rate, v 1=K1(fz-fd),fz is a sum of measured contact forces of both legs of the robot, f d is a sum of expected contact forces of both legs of the robot, K 1 is a preset first positive coefficient, v 2 is a preset second leg length change rate, S (f z) is a preset switching function, and Δz 1 is the leg length change amount;
And the first leg length adjusting module is used for adjusting the first planning leg length of the two legs of the robot according to the leg length variation to obtain the second planning leg length of the two legs of the robot.
7. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the steps of the robot leg length planning method according to any one of claims 1 to 5.
8. A robot comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the computer program, realizes the steps of the robot leg length planning method according to any one of claims 1 to 5.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110747708.3A CN113485100B (en) | 2021-07-01 | 2021-07-01 | Robot leg length planning method and device, readable storage medium and robot |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110747708.3A CN113485100B (en) | 2021-07-01 | 2021-07-01 | Robot leg length planning method and device, readable storage medium and robot |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113485100A CN113485100A (en) | 2021-10-08 |
| CN113485100B true CN113485100B (en) | 2024-05-17 |
Family
ID=77939333
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110747708.3A Active CN113485100B (en) | 2021-07-01 | 2021-07-01 | Robot leg length planning method and device, readable storage medium and robot |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN113485100B (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109693236A (en) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | Landing control method and device for footed robot |
| CN111176283A (en) * | 2019-12-31 | 2020-05-19 | 广东省智能制造研究所 | Active compliance control method for foot type robot under complex terrain |
| CN112060078A (en) * | 2020-07-28 | 2020-12-11 | 深圳市优必选科技股份有限公司 | Robot control method, device, computer readable storage medium and robot |
| CN112720460A (en) * | 2020-12-07 | 2021-04-30 | 深圳市优必选科技股份有限公司 | Robot control method, device, computer readable storage medium and robot |
| CN112792807A (en) * | 2020-12-24 | 2021-05-14 | 深圳市优必选科技股份有限公司 | Robot control method, device, computer-readable storage medium, and robot |
| CN112987769A (en) * | 2021-02-22 | 2021-06-18 | 武汉科技大学 | Active leg adjusting method for stable transition of quadruped robot in variable-rigidity terrain |
| CN113031579A (en) * | 2019-12-25 | 2021-06-25 | 深圳市优必选科技股份有限公司 | Walking control method and device of biped robot and biped robot |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7295892B2 (en) * | 2002-12-31 | 2007-11-13 | Massachusetts Institute Of Technology | Speed-adaptive control scheme for legged running robots |
| CN112947398B (en) * | 2019-12-11 | 2024-08-02 | 深圳市优必选科技股份有限公司 | Robot gait planning method and device, readable storage medium and robot |
-
2021
- 2021-07-01 CN CN202110747708.3A patent/CN113485100B/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109693236A (en) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | Landing control method and device for footed robot |
| CN113031579A (en) * | 2019-12-25 | 2021-06-25 | 深圳市优必选科技股份有限公司 | Walking control method and device of biped robot and biped robot |
| CN111176283A (en) * | 2019-12-31 | 2020-05-19 | 广东省智能制造研究所 | Active compliance control method for foot type robot under complex terrain |
| CN112060078A (en) * | 2020-07-28 | 2020-12-11 | 深圳市优必选科技股份有限公司 | Robot control method, device, computer readable storage medium and robot |
| CN112720460A (en) * | 2020-12-07 | 2021-04-30 | 深圳市优必选科技股份有限公司 | Robot control method, device, computer readable storage medium and robot |
| CN112792807A (en) * | 2020-12-24 | 2021-05-14 | 深圳市优必选科技股份有限公司 | Robot control method, device, computer-readable storage medium, and robot |
| CN112987769A (en) * | 2021-02-22 | 2021-06-18 | 武汉科技大学 | Active leg adjusting method for stable transition of quadruped robot in variable-rigidity terrain |
Non-Patent Citations (6)
| Title |
|---|
| 《Mantis Hybrid Leg-Wheel Robot: Stability Analysis and Motion Law Synthesis for Step Climbing》;Luca Bruzzone 等;《IEEE》;第1-6页 * |
| 《Robotic ArmeAssisted Total Hip Arthroplasty to Correct Leg Length Discrepancy in a Patient With Spinopelvic Obliquity》;Tarek A. Taha 等;《Arthroplasty Today》;第1-8页 * |
| 《ZMP Preview Control Based Compliance Control for a Walking Quadruped Robot》;Jiaqi Xu 等;《Proceeding of the 2015 IEEE International Conference on Information and Automation》;第1-6页 * |
| 《仿人体下肢的单腿机器人主动柔顺控制研究》;李健泉 等;《武汉理工大学学报》;第43卷(第7期);第1-7页 * |
| 《基于力反馈的液压足式机器人主/被动柔顺性控制》;柯贤锋 等;《机械工程学报》;第53卷(第1期);第1-8页 * |
| 《轮腿式火星探测机器人的多目标协同控制》;孙筵龙 等;《航空学报》;第1-13页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113485100A (en) | 2021-10-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113253724B (en) | Gait planning method and device, computer-readable storage medium and robot | |
| CN113253607B (en) | Gait planning method and device for ascending stairs, readable storage medium and robot | |
| US12076860B2 (en) | Control method for robot, computer-readable storage medium and robot | |
| CN115113069B (en) | Battery SOC estimation method and related device | |
| CN103902004A (en) | Charging remaining time calculation method and device and mobile equipment | |
| CN107933564B (en) | Road gradient estimation method, road gradient estimation device, terminal device, and computer-readable storage medium | |
| US20230415333A1 (en) | Center of mass planning method for robot, robot and computer-readable storage medium | |
| CN111736615B (en) | Gait planning method and device, computer readable storage medium and robot | |
| CN112947398B (en) | Robot gait planning method and device, readable storage medium and robot | |
| CN113283082B (en) | Centroid track generation method, centroid track generation device, computer readable storage medium and robot | |
| CN106932728A (en) | Battery charge state SOC modification methods, device and electric automobile | |
| CN111123951B (en) | Biped robot and track following method and device thereof | |
| CN102208132A (en) | Traffic predicting device, traffic predicting method and program thereof | |
| JP6314543B2 (en) | Method and apparatus for estimating state of charge of storage battery | |
| CN111208809A (en) | Robot gait planning method and terminal device | |
| CN116047323A (en) | Battery SOC correction method, system, battery and battery management system | |
| CN113485100B (en) | Robot leg length planning method and device, readable storage medium and robot | |
| CN113927585B (en) | Robot balance control method and device, readable storage medium and robot | |
| CN112486170B (en) | Robot control method and device, computer readable storage medium and robot | |
| CN112444820B (en) | Robot pose determining method and device, readable storage medium and robot | |
| EP3370074B1 (en) | Method for detecting background noise of sensor, and device thereof | |
| CN104169988A (en) | Apparatus and method for detecting a parking space | |
| CN112328963A (en) | Method and device for calculating effective value of signal | |
| CN119197707A (en) | Filtering method for launch vehicle propellant level measurement based on volume extrapolation | |
| CN113927584B (en) | Robot control method and device, computer readable storage medium and robot |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |