CN113927584A - Robot control method, device, computer readable storage medium and robot - Google Patents

Robot control method, device, computer readable storage medium and robot Download PDF

Info

Publication number
CN113927584A
CN113927584A CN202111214282.1A CN202111214282A CN113927584A CN 113927584 A CN113927584 A CN 113927584A CN 202111214282 A CN202111214282 A CN 202111214282A CN 113927584 A CN113927584 A CN 113927584A
Authority
CN
China
Prior art keywords
robot
error
step length
capture point
point
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.)
Granted
Application number
CN202111214282.1A
Other languages
Chinese (zh)
Other versions
CN113927584B (en
Inventor
葛利刚
熊友军
刘益彰
陈春玉
罗秋月
周江琛
任俊琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202111214282.1A priority Critical patent/CN113927584B/en
Publication of CN113927584A publication Critical patent/CN113927584A/en
Application granted granted Critical
Publication of CN113927584B publication Critical patent/CN113927584B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/08Programme-controlled manipulators characterised by modular constructions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

The present application relates to the field of robotics, and in particular, to a robot control method, apparatus, computer-readable storage medium, and robot. The method comprises the following steps: determining a planning capture point and a measurement capture point of the robot, and calculating a capture point error of the robot according to the planning capture point and the measurement capture point; integrating the capturing point errors at the supporting stage of the supporting legs of the robot to obtain the accumulated capturing point errors of the robot; before the swing leg of the robot starts to swing, adjusting the step length of the robot according to the accumulated capturing point error and the capturing point error to obtain an adjusted step length; and controlling the swinging leg of the robot to move according to the adjusted step length. In the application, the step length is adjusted by comprehensively considering the error of the capture point and the error of the accumulated capture point so as to impact the influence of external impact force, and the stable state of the robot can be kept from being damaged even when the robot faces large impact force.

Description

Robot control method, device, computer readable storage medium and robot
Technical Field
The present application relates to the field of robotics, and in particular, to a robot control method, apparatus, computer-readable storage medium, and robot.
Background
Achieving stable walking of a biped robot has been a challenging research topic, especially when there is external impact interference during the movement of the robot or when the robot is operated in a complex terrain environment. In the moving process of the robot, if the robot is subjected to large impact force, the robot is easy to have the risk of instability and even fall. In order to solve this problem, scholars have proposed various balance control methods such as attitude control, zero moment point control, compliance control of the ankle, and the like. The existing methods improve the stability of the biped robot under the impact of external force to a certain extent, but for larger impact force, the control methods still have difficulty in ensuring that the stable state of the robot is not damaged.
Disclosure of Invention
In view of this, embodiments of the present application provide a robot control method, a robot control apparatus, a computer-readable storage medium, and a robot, so as to solve the problem that it is difficult for the existing robot control method to keep the robot stable under a large impact force.
A first aspect of an embodiment of the present application provides a robot control method, which may include:
determining a planning capture point and a measurement capture point of the robot, and calculating a capture point error of the robot according to the planning capture point and the measurement capture point;
integrating the capturing point errors at the supporting stage of the supporting legs of the robot to obtain the accumulated capturing point errors of the robot;
before the swing leg of the robot starts to swing, adjusting the step length of the robot according to the accumulated capturing point error and the capturing point error to obtain an adjusted step length;
and controlling the swinging leg of the robot to move according to the adjusted step length.
In a specific implementation manner of the first aspect, the adjusting the step size of the robot according to the accumulated error of the capturing point and the error of the capturing point to obtain an adjusted step size may include:
calculating a first step length adjustment of the robot according to the accumulated capture point error;
calculating a second step length adjustment amount of the robot according to the capture point error;
calculating the step length adjustment amount of the robot according to the first step length adjustment amount and the second step length adjustment amount;
and superposing the step length and the step length adjustment quantity to obtain the adjusted step length.
In a specific implementation manner of the first aspect, the calculating a first step size adjustment amount of the robot according to the accumulated capturing point error may include:
if the accumulated error of the capture point is greater than a preset first threshold, calculating the first step length adjustment amount according to the following formula:
Foot_adjust1=k1*CPerror_add_x
wherein, CPerror_add_xFor the accumulated capture point error, k1 is a preset first step length adjustment coefficient, and Foot _ adjust1 is the first step length adjustment amount;
setting the first step size adjustment amount to 0 if the accumulated capture point error is less than or equal to the first threshold.
In a specific implementation manner of the first aspect, the calculating a second step size adjustment amount of the robot according to the capturing point error may include:
if the error of the capture point is larger than a preset second threshold, calculating the second step length adjustment according to the following formula:
Foot_adjust2=k2*CPerror_x
wherein, CPerror_xFor the capture point error, k2 is a preset second step length adjustment coefficient, and Foot _ adjust2 is the second step length adjustment amount;
and if the error of the capture point is less than or equal to the second threshold, setting the second step length adjustment amount to 0.
In a specific implementation manner of the first aspect, the calculating a step adjustment amount of the robot according to the first step adjustment amount and the second step adjustment amount may include:
calculating the step adjustment amount of the robot according to the following formula:
Foot_adjust=max(Foot_adjust1,Foot_adjust2)
wherein, Foot _ adjust1 is the first step length adjustment amount, Foot _ adjust2 is the second step length adjustment amount, max is a function of solving the maximum value, and Foot _ adjust is the step length adjustment amount.
In a specific implementation manner of the first aspect, the integrating the capturing point error at the supporting stage of the support leg of the robot to obtain the accumulated capturing point error of the robot may include:
calculating the accumulated capture point error according to:
Figure BDA0003310037660000031
wherein, CPerror_xFor the capture point error, stand _ begin is the start time of the support phase, stand _ end is the end time of the support phase, CPerror_add_xThe accumulated capture point error is used.
In a specific implementation manner of the first aspect, the calculating a capture point error of the robot according to the planned capture point and the measured capture point may include:
calculating the capture point error according to:
CPerror_x=ξplan_xmeasure_x
wherein ξplan_xFor the planned capture point, ximeasure_xFor the measurement capture point, CPerror_xIs the capture point error.
A second aspect of embodiments of the present application provides a robot control device, which may include:
the acquisition point error calculation module is used for determining a planned acquisition point and a measured acquisition point of the robot and calculating an acquisition point error of the robot according to the planned acquisition point and the measured acquisition point;
the accumulated capturing point error calculating module is used for integrating the capturing point errors in the supporting stage of the supporting legs of the robot to obtain the accumulated capturing point errors of the robot;
the step length adjusting module is used for adjusting the step length of the robot according to the accumulated capturing point error and the capturing point error before the swinging leg of the robot starts swinging to obtain the adjusted step length;
and the motion control module is used for controlling the swinging leg of the robot to move according to the adjusted step length.
In a specific implementation manner of the second aspect, the step size adjusting module may specifically include:
a first step length adjustment amount calculation unit for calculating a first step length adjustment amount of the robot according to the accumulated capturing point error;
a second step length adjustment amount calculation unit for calculating a second step length adjustment amount of the robot according to the capturing point error;
a step adjustment amount calculation unit for calculating a step adjustment amount of the robot according to the first step adjustment amount and the second step adjustment amount;
and the step length adjusting unit is used for superposing the step length and the step length adjusting quantity to obtain the adjusted step length.
In a specific implementation manner of the second aspect, the first step size adjustment amount calculation unit may be specifically configured to:
if the accumulated error of the capture point is greater than a preset first threshold, calculating the first step length adjustment amount according to the following formula:
Foot_adjust1=k1*CPerror_add_x
wherein, CPerror_add_xFor the accumulated capture point error, k1 is a preset first step length adjustment coefficient, and Foot _ adjust1 is the first step length adjustment amount;
setting the first step size adjustment amount to 0 if the accumulated capture point error is less than or equal to the first threshold.
In a specific implementation manner of the second aspect, the second step size adjustment amount calculation unit may be specifically configured to:
if the error of the capture point is larger than a preset second threshold, calculating the second step length adjustment according to the following formula:
Foot_adjust2=k2*CPerror_x
wherein, CPerror_xFor the capture point error, k2 is a preset second step length adjustment coefficient, and Foot _2 is the second step length adjustment amount;
and if the error of the capture point is less than or equal to the second threshold, setting the second step length adjustment amount to 0.
In a specific implementation manner of the second aspect, the step adjustment amount calculation unit may be specifically configured to calculate the step adjustment amount of the robot according to the following formula:
Foot_adjust=max(Foot_adjust1,Foot_adjust2)
wherein, Foot _ adjust1 is the first step length adjustment amount, Foot _ adjust2 is the second step length adjustment amount, max is a function of solving the maximum value, and Foot _ adjust is the step length adjustment amount.
In a specific implementation manner of the second aspect, the accumulated capture point error calculation module may be specifically configured to calculate the accumulated capture point error according to the following formula:
Figure BDA0003310037660000051
wherein, CPerror_xFor the capture point error, stand _ begin is the start time of the support phase, stand _ end is the end time of the support phase, CPerror_add_xThe accumulated capture point error is used.
In a specific implementation manner of the second aspect, the capture point error calculation module may be specifically configured to calculate the capture point error according to the following formula:
CPerror_x=ξplan_xmeasure_x
wherein ξplan_xFor the planned capture point, ximeasure_xFor the measurement capture point, CPerror_xIs the capture point error.
A third aspect of embodiments of the present application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the robot control methods described above.
A fourth aspect of the embodiments of the present application provides a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the steps of any one of the robot control methods when executing the computer program.
A fifth aspect of embodiments of the present application provides a computer program product, which, when run on a robot, causes the robot to perform the steps of any of the robot control methods described above.
Compared with the prior art, the embodiment of the application has the advantages that: the method comprises the steps of determining a planning capture point and a measurement capture point of a robot, and calculating a capture point error of the robot according to the planning capture point and the measurement capture point; integrating the capturing point errors at the supporting stage of the supporting legs of the robot to obtain the accumulated capturing point errors of the robot; before the swing leg of the robot starts to swing, adjusting the step length of the robot according to the accumulated capturing point error and the capturing point error to obtain an adjusted step length; and controlling the swinging leg of the robot to move according to the adjusted step length. In the embodiment of the application, the influence of the external force on the state of the robot is reasonably estimated through integration of the capturing point errors, the capturing point errors and the accumulated capturing point errors are comprehensively considered to adjust the step length so as to impact the influence of external impact force, and the stable state of the robot can be kept from being damaged even in the face of large impact force.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed for the embodiments or the prior art descriptions 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 it is obvious for those skilled in the art to obtain other drawings without creative efforts.
FIG. 1 is a flow chart of an embodiment of a method for controlling a robot according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a linear inverted pendulum model;
FIG. 3 is a schematic flow diagram of the step size adjustment of a robot based on accumulated catch point errors and catch point errors;
FIG. 4 is a block diagram of an embodiment of a robot controller according to an embodiment of the present application;
fig. 5 is a schematic block diagram of a robot according to an embodiment of the present application.
Detailed Description
In order to make the objects, features and advantages of the present invention more apparent and understandable, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the embodiments described below are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It will 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 present application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in the specification of the present application 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 this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
As used in this specification and the appended claims, the term "if" may be interpreted contextually as "when", "upon" or "in response to a determination" or "in response to a detection". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".
In addition, in the description of the present application, the terms "first," "second," "third," and the like are used solely to distinguish one from another and are not to be construed as indicating or implying relative importance.
For the sake of simplicity, the robots mentioned in the embodiments of the present application are biped robots unless otherwise specified.
Referring to fig. 1, an embodiment of a robot control method in an embodiment of the present application may include:
s101, determining a planning capture point and a measurement capture point of the robot, and calculating a capture point error of the robot according to the planning capture point and the measurement capture point.
In planning and controlling a robot, a complex multi-rigid system is mapped by using a Model simplification method, and the most classical simplified Model is a Linear Inverted Pendulum Model (LIPM) as shown in fig. 2. Taking the sagittal plane as an example, the dynamic equation of the LIPM in the x-axis direction (i.e., the direction of travel of the robot) is as follows:
Figure BDA0003310037660000081
wherein the content of the first and second substances,
Figure BDA0003310037660000082
is the acceleration of the center of mass, x, of the robotcIs the position of the center of mass, p, of the robotxIs Zero Moment Point (ZMP) of the robot, omega is the natural frequency of the LIPM, and
Figure BDA0003310037660000083
g is the acceleration of gravity, ZcIs the height of the center of mass of the robot.
The Capture Point (CP) is an important concept in LIPM, and its physical meaning is a supporting Point that can realize that the inverted pendulum is completely static. That is, if the robot is sitting on the capture point during motion, a complete rest of the center of mass can be achieved.
Using xixRepresenting a capture point, then the capture point can be calculated according to the definition of the capture point by:
Figure BDA0003310037660000084
wherein the content of the first and second substances,
Figure BDA0003310037660000085
for a robotThe centroid velocity of (c).
In the embodiment of the application, the centroid position and the centroid speed of the robot can be planned in advance, any one of the planning methods in the prior art can be adopted in the specific planning method according to the actual situation, and the centroid position and the centroid speed obtained through planning are respectively recorded as the centroid planning position and the centroid planning speed. After the planned position and speed of the centroid are obtained, the corresponding capture point can be obtained according to the following formula, that is, the planned capture point:
Figure BDA0003310037660000086
wherein x isplanA position is planned for the center of mass,
Figure BDA0003310037660000087
programming speed, ξ, for said centroidplan_xCapturing points for the plan.
In the embodiment of the application, a zero moment point of the robot under a world coordinate system can be calculated based on six-dimensional force data measured by a six-dimensional force sensor pre-installed on the robot, the robot is simplified into a linear inverted pendulum model taking ZMP as a supporting point, the mass center position of the robot under the world coordinate system is solved through a body pose rotation matrix, the mass center speed of the robot under the world coordinate system is solved through a difference mode, and the mass center position and the mass center speed obtained through estimation are respectively recorded as the mass center measuring position and the mass center measuring speed. After obtaining the centroid measurement position and the centroid measurement speed, the capture point corresponding to the centroid measurement position and the centroid measurement speed can be obtained according to the following formula, that is, the measurement capture point:
Figure BDA0003310037660000091
wherein x ismeasureThe position is measured for the center of mass,
Figure BDA0003310037660000092
measuring velocity, ξ, for said centroidmeasure_xCapturing points for the measurements.
After the planned capture point and the measured capture point are determined, then the capture point error may be calculated according to:
CPerror_x=ξplan_xmeasure_x
wherein, CPerror_xIs the capture point error.
The above is the analysis process of the sagittal plane, and the analysis process of the sagittal plane is analogized to the coronal plane, so that the planning capture point (marked as xi) in the y-axis direction (i.e. the left direction of the robot, i.e. the direction pointed to after the moving direction of the robot is rotated by 90 degrees counterclockwise) can be calculated according to the above processplan_y) And measurement Capture Point (noted ξ)measure_y) And further calculating the error of the capture point in the y-axis direction according to the following formula:
CPerror_y=ξplan_ymeasure_y
wherein, CPerror_yI.e. the error of the captured point in the y-axis direction.
And S102, integrating the capturing point errors at the supporting stage of the supporting legs of the robot to obtain the accumulated capturing point errors of the robot.
Typically, there is usually some error between the planned and measured acquisition points, i.e. the acquisition point error is usually not zero. In addition, in the motion process of the robot, the positive and negative jumps of the error of the capture point are usually large, and are not suitable for being directly used for step adjustment or impact force estimation.
In the embodiment of the present application, the influence of positive and negative jumps of the capturing point error can be eliminated by integrating the capturing point error, and taking the x-axis direction as an example, the accumulated capturing point error can be calculated according to the following formula:
Figure BDA0003310037660000101
whereinStand _ begin is the starting time of the support phase of the support leg, stand _ end is the ending time of the support phase of the support leg, CPerror_add_xAnd accumulating the capture point errors to measure the sum of the external force interference suffered by the robot in the whole support phase.
Specifically, when the left leg is the supporting leg, then there is:
Figure BDA0003310037660000102
when the right leg is the supporting leg, then there is:
Figure BDA0003310037660000103
wherein l _ stand _ end is the starting time of the supporting stage of the left leg, l _ stand _ end is the ending time of the supporting stage of the left leg, CPl_error_add_xIs the accumulated catch point error of the support phase of the left leg, r _ stand _ end is the start time of the support phase of the right leg, r _ stand _ end is the end time of the support phase of the right leg, CPr_error_add_xThe accumulated capture point error for the support phase of the right leg.
And S103, before the swing leg of the robot starts to swing, adjusting the step length of the robot according to the accumulated capturing point error and the capturing point error to obtain the adjusted step length.
In the embodiment of the present application, the swing leg may start to swing at a time (denoted as t) before the swing leg starts to swingswing-) adjust the step size, as shown in fig. 3, step S103 may specifically include the following processes:
and step S1031, calculating a first step length adjustment amount of the robot according to the accumulated capture point errors.
In a specific implementation manner of the embodiment of the present application, the accumulated capture point error and a preset first threshold (denoted as CP) may be first determinederror_add_x_set) Comparing, if the accumulated capture point error is less than or equal to the first threshold, settingThe first step length adjustment amount is 0; if the accumulated capture point error is greater than the first threshold, the first step size adjustment may be calculated according to the following equation:
Foot_adjust1=k1*CPerror_add_x
wherein 1 is a preset first step length adjustment coefficient, a specific value of which may be set according to an actual situation, which is not specifically limited in the embodiment of the present application, and Foot _ adjust1 is the first step length adjustment amount.
The specific value of the first threshold may be set according to an actual situation, and is not specifically limited in the embodiments of the present application.
And S1032, calculating a second step length adjustment amount of the robot according to the capture point error.
In a specific implementation manner of the embodiment of the present application, t may be first obtainedswing-said error of the capture point at a moment in time with a preset second threshold (denoted CP)error_x_set) Comparing, and if the error of the capture point is less than or equal to the second threshold, setting the second step length adjustment amount to 0; if the capture point error is greater than the second threshold, the second step size adjustment may be calculated according to the following equation:
Foot_adjust2=k2*CPerror_x
wherein 2 is a preset second step length adjustment coefficient, a specific value of which may be set according to an actual situation, which is not specifically limited in the embodiment of the present application, and the Foot _ adjust2 is the second step length adjustment amount.
The specific value of the second threshold may be set according to an actual situation, and is not specifically limited in the embodiment of the present application.
And step S1033, calculating the step length adjustment amount of the robot according to the first step length adjustment amount and the second step length adjustment amount.
In a specific implementation manner of the embodiment of the present application, a larger value of the first step adjustment amount and the second step adjustment amount may be used as the step adjustment amount, that is, the step adjustment amount may be calculated according to the following formula:
Foot_adjust=max(Foot_adjust1,Foot_adjust2)
wherein, Foot _ adjust1 is the first step length adjustment amount, Foot _ adjust2 is the second step length adjustment amount, max is a function of solving the maximum value, and Foot _ adjust is the step length adjustment amount.
And S1034, overlapping the step length and the step length adjustment quantity to obtain the adjusted step length.
In a specific implementation manner of the embodiment of the present application, the adjusted step size may be calculated according to the following formula:
Foot_step_new=Foot_step_old+Foot_adjust
wherein, the Foot _ step _ old is the step length and is the adjusted step length.
And S104, controlling the swing legs of the robot to move according to the adjusted step length.
It should be noted that the above process is only a step length adjustment process, and it is easy to understand that, in the actual movement process of the robot, the left leg and the right leg are alternately used as the swing legs, and each time the swing legs start to swing at the previous moment, the step length adjustment can be performed again according to the above process, so that the robot can keep a stable state all the time in the movement process.
In summary, the embodiment of the application determines a planned capture point and a measured capture point of a robot, and calculates a capture point error of the robot according to the planned capture point and the measured capture point; integrating the capturing point errors at the supporting stage of the supporting legs of the robot to obtain the accumulated capturing point errors of the robot; before the swing leg of the robot starts to swing, adjusting the step length of the robot according to the accumulated capturing point error and the capturing point error to obtain an adjusted step length; and controlling the swinging leg of the robot to move according to the adjusted step length. In the embodiment of the application, the influence of the external force on the state of the robot is reasonably estimated through integration of the capturing point errors, the capturing point errors and the accumulated capturing point errors are comprehensively considered to adjust the step length so as to impact the influence of external impact force, and the stable state of the robot can be kept from being damaged even in the face of large impact force.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Fig. 4 is a block diagram of an embodiment of a robot control apparatus according to an embodiment of the present disclosure, which corresponds to a robot control method according to the foregoing embodiment.
In this embodiment, a robot control apparatus may include:
a capture point error calculation module 401, configured to determine a planned capture point and a measured capture point of a robot, and calculate a capture point error of the robot according to the planned capture point and the measured capture point;
an accumulated capturing point error calculating module 402, configured to integrate the capturing point error at a support stage of the support leg of the robot to obtain an accumulated capturing point error of the robot;
a step length adjusting module 403, configured to adjust a step length of the robot according to the accumulated capturing point error and the capturing point error before a swing leg of the robot starts swinging, so as to obtain an adjusted step length;
and a motion control module 404, configured to control the swing leg of the robot to move according to the adjusted step length.
In a specific implementation manner of the embodiment of the present application, the step size adjusting module may specifically include:
a first step length adjustment amount calculation unit for calculating a first step length adjustment amount of the robot according to the accumulated capturing point error;
a second step length adjustment amount calculation unit for calculating a second step length adjustment amount of the robot according to the capturing point error;
a step adjustment amount calculation unit for calculating a step adjustment amount of the robot according to the first step adjustment amount and the second step adjustment amount;
and the step length adjusting unit is used for superposing the step length and the step length adjusting quantity to obtain the adjusted step length.
In a specific implementation manner of the embodiment of the present application, the first step size adjustment amount calculating unit may be specifically configured to:
if the accumulated error of the capture point is greater than a preset first threshold, calculating the first step length adjustment amount according to the following formula:
Foot_adjust1=k1*CPerror_add_x
wherein, CPerror_add_xFor the accumulated capture point error, k1 is a preset first step length adjustment coefficient, and Foot _ adjust1 is the first step length adjustment amount;
setting the first step size adjustment amount to 0 if the accumulated capture point error is less than or equal to the first threshold.
In a specific implementation manner of the embodiment of the present application, the second step size adjustment amount calculating unit may be specifically configured to:
if the error of the capture point is larger than a preset second threshold, calculating the second step length adjustment according to the following formula:
Foot_adjust2=k2*CPerror_x
wherein, CPerror_xFor the capture point error, k2 is a preset second step length adjustment coefficient, and Foot _ adjust2 is the second step length adjustment amount;
and if the error of the capture point is less than or equal to the second threshold, setting the second step length adjustment amount to 0.
In a specific implementation manner of the embodiment of the present application, the step adjustment amount calculation unit may be specifically configured to calculate the step adjustment amount of the robot according to the following formula:
Foot_adjust=max(Foot_adjust1,Foot_adjust2)
wherein, Foot _ adjust1 is the first step length adjustment amount, Foot _ adjust2 is the second step length adjustment amount, max is a function of solving the maximum value, and Foot _ adjust is the step length adjustment amount.
In a specific implementation manner of the embodiment of the present application, the accumulated capture point error calculation module may be specifically configured to calculate the accumulated capture point error according to the following formula:
Figure BDA0003310037660000141
wherein, CPerror_xFor the capture point error, stand _ begin is the start time of the support phase, stand _ end is the end time of the support phase, CPerror_add_xThe accumulated capture point error is used.
In a specific implementation manner of the embodiment of the present application, the capture point error calculation module may be specifically configured to calculate the capture point error according to the following formula:
CPerror_x=ξplan_xmeasure_x
wherein ξplan_xFor the planned capture point, ximeasure_xFor the measurement capture point, CPerror_xIs the capture point error.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described apparatuses, modules and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Fig. 5 shows a schematic block diagram of a robot provided in an embodiment of the present application, and only a part related to the embodiment of the present application is shown for convenience of explanation.
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 in the various robot control method embodiments described above, such as the steps S101 to S104 shown in fig. 1. Alternatively, the processor 50, when executing the computer program 52, implements the functions of each module/unit in the above-mentioned device embodiments, for example, the functions of the modules 401 to 404 shown in fig. 4.
Illustratively, the computer program 52 may be partitioned into one or more modules/units, which are stored in the memory 51 and executed by the processor 50 to accomplish the present application. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution of the computer program 52 in the robot 5.
Those skilled in the art will appreciate that fig. 5 is merely an example of a robot 5 and does not constitute a limitation of the robot 5 and may include more or fewer components than shown, or some components in combination, or different components, for example, the robot 5 may also include input and output devices, network access devices, buses, etc.
The Processor 50 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component, etc. 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 also be an external storage device of the robot 5, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), or the like, provided on the robot 5. Further, the memory 51 may also include both an internal storage unit and an external storage device of the robot 5. The memory 51 is used for storing the computer program and 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-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
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 implementation. 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 above-described embodiments of the apparatus/robot are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed 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 can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow in the method of the embodiments described above can be realized by a computer program, which can be stored in a computer-readable storage medium and can realize the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an 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, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable storage medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable storage media that does not include electrical carrier signals and telecommunications signals in accordance with legislation and patent practice.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (10)

1. A robot control method, comprising:
determining a planning capture point and a measurement capture point of the robot, and calculating a capture point error of the robot according to the planning capture point and the measurement capture point;
integrating the capturing point errors at the supporting stage of the supporting legs of the robot to obtain the accumulated capturing point errors of the robot;
before the swing leg of the robot starts to swing, adjusting the step length of the robot according to the accumulated capturing point error and the capturing point error to obtain an adjusted step length;
and controlling the swinging leg of the robot to move according to the adjusted step length.
2. The robot control method of claim 1, wherein the adjusting the step size of the robot according to the accumulated capture point error and the capture point error to obtain an adjusted step size comprises:
calculating a first step length adjustment of the robot according to the accumulated capture point error;
calculating a second step length adjustment amount of the robot according to the capture point error;
calculating the step length adjustment amount of the robot according to the first step length adjustment amount and the second step length adjustment amount;
and superposing the step length and the step length adjustment quantity to obtain the adjusted step length.
3. The robot control method of claim 2, wherein the calculating a first step size adjustment for the robot based on the accumulated capture point error comprises:
if the accumulated error of the capture point is greater than a preset first threshold, calculating the first step length adjustment amount according to the following formula:
Foot_adjust1=k1*CPerror_add_x
wherein, CPerror_add_xFor the accumulated capture point error, k1 is a preset first step length adjustment coefficient, and Foot _ adjust1 is the first step length adjustment amount;
setting the first step size adjustment amount to 0 if the accumulated capture point error is less than or equal to the first threshold.
4. The robot control method of claim 2, wherein the calculating a second step size adjustment for the robot based on the capture point error comprises:
if the error of the capture point is larger than a preset second threshold, calculating the second step length adjustment according to the following formula:
Foot_adjust2=k2*CPerror_x
wherein, CPerror_xFor the capture point error, k2 is a preset second step length adjustment coefficient, and Foot _ adjust2 is the second step length adjustment amount;
and if the error of the capture point is less than or equal to the second threshold, setting the second step length adjustment amount to 0.
5. The robot control method according to claim 2, wherein the calculating the step adjustment amount of the robot from the first step adjustment amount and the second step adjustment amount includes:
calculating the step adjustment amount of the robot according to the following formula:
Foot_adjust=max(Foot_adjust1,Foot_adjust2)
wherein, Foot _ adjust1 is the first step length adjustment amount, Foot _ adjust2 is the second step length adjustment amount, max is a function of solving the maximum value, and Foot _ adjust is the step length adjustment amount.
6. The robot control method of claim 1, wherein the integrating the capture point error at a support stage of a support leg of the robot to obtain an accumulated capture point error of the robot comprises:
calculating the accumulated capture point error according to:
Figure FDA0003310037650000021
wherein, CPerror_xFor the capture point error, stand _ begin is the start time of the support phase, stand _ end is the end time of the support phase, CPerror_add_xThe accumulated capture point error is used.
7. The robot control method of any of claims 1 to 6, wherein the calculating a capture point error of the robot from the planned capture point and the measured capture point comprises:
calculating the capture point error according to:
CPerror_x=ξplan_xmeasure_x
wherein ξplan_xFor the planned capture point, ximeasure_xFor the measurement capture point, CPerror_xIs the capture point error.
8. A robot control apparatus, comprising:
the acquisition point error calculation module is used for determining a planned acquisition point and a measured acquisition point of the robot and calculating an acquisition point error of the robot according to the planned acquisition point and the measured acquisition point;
the accumulated capturing point error calculating module is used for integrating the capturing point errors in the supporting stage of the supporting legs of the robot to obtain the accumulated capturing point errors of the robot;
the step length adjusting module is used for adjusting the step length of the robot according to the accumulated capturing point error and the capturing point error before the swinging leg of the robot starts swinging to obtain the adjusted step length;
and the motion control module is used for controlling the swinging leg of the robot to move according to the adjusted step length.
9. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the robot control method according to any one of claims 1 to 7.
10. 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 realizes the steps of the robot control method according to any of claims 1 to 7 when executing the computer program.
CN202111214282.1A 2021-10-19 2021-10-19 Robot control method and device, computer readable storage medium and robot Active CN113927584B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111214282.1A CN113927584B (en) 2021-10-19 2021-10-19 Robot control method and device, computer readable storage medium and robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111214282.1A CN113927584B (en) 2021-10-19 2021-10-19 Robot control method and device, computer readable storage medium and robot

Publications (2)

Publication Number Publication Date
CN113927584A true CN113927584A (en) 2022-01-14
CN113927584B CN113927584B (en) 2023-04-21

Family

ID=79280261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111214282.1A Active CN113927584B (en) 2021-10-19 2021-10-19 Robot control method and device, computer readable storage medium and robot

Country Status (1)

Country Link
CN (1) CN113927584B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120134036A (en) * 2011-05-30 2012-12-11 삼성전자주식회사 Robot and control method thereof
JP2017121691A (en) * 2016-01-07 2017-07-13 鴻富錦精密電子(鄭州)有限公司 Robot point position adjustment control method and system
CN108052783A (en) * 2018-01-29 2018-05-18 济南大学 A kind of unsaturated soil dynamic numerical calculation method based on adaptive step
CN108768447A (en) * 2018-04-25 2018-11-06 西安宇飞电子技术有限公司 Tenacious tracking method and tracks of device after code loop fast Acquisition
CN110948482A (en) * 2019-11-06 2020-04-03 江苏信息职业技术学院 Redundant robot trajectory planning method
CN111176283A (en) * 2019-12-31 2020-05-19 广东省智能制造研究所 Active compliance control method for foot type robot under complex terrain
CN111515929A (en) * 2020-04-15 2020-08-11 深圳航天科技创新研究院 Human motion state estimation method, device, terminal and computer readable storage medium
CN112731953A (en) * 2020-12-24 2021-04-30 深圳市优必选科技股份有限公司 Robot control method, device, computer readable storage medium and robot

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120134036A (en) * 2011-05-30 2012-12-11 삼성전자주식회사 Robot and control method thereof
JP2017121691A (en) * 2016-01-07 2017-07-13 鴻富錦精密電子(鄭州)有限公司 Robot point position adjustment control method and system
CN108052783A (en) * 2018-01-29 2018-05-18 济南大学 A kind of unsaturated soil dynamic numerical calculation method based on adaptive step
CN108768447A (en) * 2018-04-25 2018-11-06 西安宇飞电子技术有限公司 Tenacious tracking method and tracks of device after code loop fast Acquisition
CN110948482A (en) * 2019-11-06 2020-04-03 江苏信息职业技术学院 Redundant robot trajectory planning method
CN111176283A (en) * 2019-12-31 2020-05-19 广东省智能制造研究所 Active compliance control method for foot type robot under complex terrain
CN111515929A (en) * 2020-04-15 2020-08-11 深圳航天科技创新研究院 Human motion state estimation method, device, terminal and computer readable storage medium
CN112731953A (en) * 2020-12-24 2021-04-30 深圳市优必选科技股份有限公司 Robot control method, device, computer readable storage medium and robot

Also Published As

Publication number Publication date
CN113927584B (en) 2023-04-21

Similar Documents

Publication Publication Date Title
CN111015653B (en) Robot control method, device, computer readable storage medium and robot
CN112731952B (en) Robot centroid planning method and device, readable storage medium and robot
CN112792807A (en) Robot control method, device, computer readable storage medium and robot
CN112731953A (en) Robot control method, device, computer readable storage medium and robot
CN112744313B (en) Robot state estimation method and device, readable storage medium and robot
US20130197845A1 (en) N-use automatic calibration methodology for sensors in mobile devices
CN112536796B (en) Robot control method and device, computer readable storage medium and robot
CN111098300B (en) Robot balance control method and device, readable storage medium and robot
CN113283082B (en) Centroid track generation method, centroid track generation device, computer readable storage medium and robot
CN109813308A (en) Attitude estimation method, apparatus and computer readable storage medium
CN113146638A (en) Centroid pose estimation method and device, computer readable storage medium and robot
CN110400339A (en) Depth map treating method and apparatus
WO2022105023A1 (en) Robot control method and apparatus, and computer readable storage medium, and robot
CN113188505A (en) Attitude angle measuring method and device, vehicle and intelligent arm support
CN109866217B (en) Robot mileage positioning method, device, terminal equipment and computer storage medium
CN111844013B (en) Robot gait planning method and device, robot and storage medium
CN107356786B (en) Method and device for calibrating accelerometer and computer-readable storage medium
CN113927584A (en) Robot control method, device, computer readable storage medium and robot
CN113927585B (en) Robot balance control method and device, readable storage medium and robot
WO2020126809A1 (en) Method for equine motion analysis
CN113359791A (en) Robot control method, device, computer readable storage medium and robot
CN113936044B (en) Method and device for detecting motion state of laser equipment, computer equipment and medium
CN111854792B (en) Offset early warning method and device for biped robot and biped robot
CN113246124A (en) Robot control method, device, computer readable storage medium and robot
CN108731675A (en) Measurement method, measuring device and the electronic equipment of object course to be positioned variable quantity

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