CN113534828A - Centroid position determining method and device, foot type robot and storage medium - Google Patents
Centroid position determining method and device, foot type robot and storage medium Download PDFInfo
- Publication number
- CN113534828A CN113534828A CN202011503026.XA CN202011503026A CN113534828A CN 113534828 A CN113534828 A CN 113534828A CN 202011503026 A CN202011503026 A CN 202011503026A CN 113534828 A CN113534828 A CN 113534828A
- Authority
- CN
- China
- Prior art keywords
- foot
- centroid
- data
- constant
- robot
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 188
- 238000005070 sampling Methods 0.000 claims description 169
- 230000001133 acceleration Effects 0.000 claims description 153
- 239000011159 matrix material Substances 0.000 claims description 138
- 239000013598 vector Substances 0.000 claims description 130
- 230000008569 process Effects 0.000 claims description 76
- 230000033001 locomotion Effects 0.000 claims description 67
- 238000004590 computer program Methods 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 19
- 210000002683 foot Anatomy 0.000 description 675
- 230000006870 function Effects 0.000 description 39
- 230000008859 change Effects 0.000 description 31
- 230000005484 gravity Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 108010084652 homeobox protein PITX1 Proteins 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000005021 gait Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000016776 visual perception Effects 0.000 description 6
- 230000004438 eyesight Effects 0.000 description 5
- 230000010355 oscillation Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- DSCFFEYYQKSRSV-KLJZZCKASA-N D-pinitol Chemical compound CO[C@@H]1[C@@H](O)[C@@H](O)[C@H](O)[C@H](O)[C@H]1O DSCFFEYYQKSRSV-KLJZZCKASA-N 0.000 description 3
- 206010034719 Personality change Diseases 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 210000001364 upper extremity Anatomy 0.000 description 2
- 241000238631 Hexapoda Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013155 cardiography Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 210000000548 hind-foot Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/08—Control of attitude, i.e. control of roll, pitch, or yaw
- G05D1/0891—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
The embodiment of the application discloses a method and a device for determining a center of mass position, a foot-type robot, equipment and a medium, and belongs to the technical field of computers. The method comprises the following steps: creating first relation data, creating second relation data corresponding to at least one foot configured by the foot robot, creating third relation data according to the second relation data corresponding to the at least one foot, determining the value of the first constant C when the target value J is the minimum value, and acquiring the first relation data corresponding to the first constant C with the determined value. According to the method provided by the embodiment of the application, the state of each joint of the foot type robot is not required to be detected, the mass center moving track of the foot type robot is determined through the second relation data corresponding to at least one foot of the foot type robot, the foot type robot moves according to the determined mass center moving track, and the moving efficiency of the foot type robot is guaranteed. And the method can be suitable for the foot type robot with any number of feet, and has wide application range.
Description
The present application claims priority from chinese patent application entitled "centroid position determining method, apparatus, legged robot, and storage medium" filed on 14/04/2020, application number 202010291278.4, the entire contents of which are incorporated herein by reference.
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a method and a device for determining a center of mass position, a foot-type robot, equipment and a medium.
Background
A legged robot is a robot that moves by simulating the posture of an animal or human walking, and is generally provided with a plurality of feet, each of which is provided with one or more joints, and moves by controlling the raising or lowering of the feet. When the foot type robot moves, the centroid position of the foot type robot needs to be determined first, so that the lifting or falling of the foot is controlled according to the determined centroid position.
In the related art, a method for determining a centroid position is provided, in which a centroid position of a legged robot is determined by detecting states of joints in each of feet of a legged robot configuration and performing an operation according to the states of the joints in each of the feet. Since the calculation amount is large if the number of joints of the legged robot is large, the above method is only applicable to a case where the number of joints of the legged robot is small, and the application range is narrow.
Disclosure of Invention
The embodiment of the application provides a method and a device for determining a centroid position, a foot-type robot, equipment and a medium, which can improve the accuracy of the centroid position. The technical scheme is as follows:
in one aspect, a method of mass center position determination is provided, the method comprising:
creating first relationship data indicative of a relationship between interval duration t and a centroid position p (t) of a legged robot, the first relationship data comprising a first constant C;
creating second relationship data corresponding to at least one foot of the legged robot configuration, the second relationship data corresponding to the at least one foot being indicative of an acting force f corresponding to the at least one foot, respectivelyiA relation to a centroid position p (t), the second relation data comprising the first constant C;
according to the second relation data corresponding to the at least one foot, third relation data are created, the value of the first constant C when the target value J is the minimum value is determined, and the third relation data indicate the acting force f applied by the target value J and the at least one foot contacting with the groundiA positive correlation between the squares of (a);
and acquiring the first relation data corresponding to the first constant C with determined value.
In another aspect, there is provided a centroid position determination apparatus, comprising:
a creation module for creating first relationship data indicative of a relationship between an interval duration t and a centroid position p (t) of a legged robot, the first relationship data comprising a first constant C;
the creating module is further configured to create second relationship data corresponding to at least one foot of the foot robot configuration, where the second relationship data corresponding to the at least one foot respectively indicate an acting force f corresponding to the at least one footiA relation to a centroid position p (t), the second relation data comprising the first constant C;
the creating module is further configured to create third relation data according to the second relation data corresponding to the at least one foot, and determine the third relation dataThe value of the first constant C when the target value J is the minimum value, and the third relation coefficient indicates the acting force f applied to the target value J and the at least one foot in contact with the groundiA positive correlation between the squares of (a);
an obtaining module, configured to obtain the first relationship data corresponding to the first constant C whose value is determined.
In another aspect, a legged robot is provided, comprising a processor and a memory, in which at least one computer program is stored, the at least one computer program being loaded and executed by the processor to perform the operations performed in the method for determining a position of a center of mass as described in the above aspect.
In another aspect, a control apparatus is provided, the control apparatus comprising a processor and a memory, the memory having stored therein at least one computer program, the at least one computer program being loaded and executed by the processor to perform the operations performed in the centroid position determination method according to the above aspect.
In another aspect, a computer-readable storage medium is provided, having at least one computer program stored therein, the at least one computer program being loaded and executed by a processor to perform the operations performed in the centroid position determination method according to the above aspect.
In yet another aspect, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer program code, the computer program code being stored in a computer readable storage medium. The processor of the control apparatus reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the control apparatus realizes the operations performed in the centroid position determination method according to the above aspect.
The beneficial effects brought by the technical scheme provided by the embodiment of the application at least comprise:
according to the method, the device, the foot robot, the equipment and the medium provided by the embodiment of the application, the states of all joints of the foot robot are not required to be detected, the third relation coefficient data is created through the second relation data corresponding to at least one foot of the foot robot, the value of the first constant C when the target value J in the third relation data is the minimum value is determined, the first constant C with the determined value corresponds to the first relation data, the centroid moving track of the foot robot moving from the initial position to the end position is determined, the foot robot moves according to the determined centroid moving track, and the moving efficiency of the foot robot is guaranteed. Moreover, the method can be applied to the foot type robot with any number of feet, and the application range is wide.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced 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 based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application;
fig. 2 is a flowchart of a method for determining a centroid position according to an embodiment of the present application;
fig. 3 is a flowchart of a method for determining a centroid position according to an embodiment of the present application;
FIG. 4 is a frame diagram of a legged robot system for controlling the movement of a legged robot according to an embodiment of the present application;
fig. 5 is a schematic diagram of a moving process of a legged robot according to an embodiment of the present application;
FIG. 6 is a schematic diagram illustrating an offset of a centroid position of a legged robot according to an embodiment of the present application;
fig. 7 is a schematic diagram of a moving process of a legged robot according to an embodiment of the present application;
FIG. 8 is a schematic diagram of state data of a foot machine as a function of interval duration provided by an embodiment of the present application;
FIG. 9 is a schematic diagram of state data of a foot machine as a function of interval duration provided by an embodiment of the present application;
FIG. 10 is a schematic illustration of a foot machine with torque as a function of interval duration provided by an embodiment of the present application;
FIG. 11 is a schematic diagram of the position of the center of mass of a foot machine as a function of the length of the interval provided by an embodiment of the present application;
fig. 12 is a flowchart of a method for determining a centroid position according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of a mass center position determining apparatus according to an embodiment of the present application;
fig. 14 is a schematic structural diagram of a mass center position determining apparatus according to an embodiment of the present application;
fig. 15 is a schematic structural diagram of a terminal according to an embodiment of the present application;
fig. 16 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the embodiments of the present application more clear, the embodiments of the present application will be further described in detail with reference to the accompanying drawings.
As used herein, the terms "first," "second," "third," "fourth," "fifth," "sixth," "seventh," "eighth," "ninth," and the like may be used herein to describe various concepts, which are not limited by these terms unless otherwise specified. These terms are only used to distinguish one concept from another. For example, the first relationship data may be referred to as second relationship data, and similarly, the second relationship data may be referred to as first relationship data, without departing from the scope of the present application.
As used herein, the terms "at least one," "a plurality," "each," and "any," at least one of which includes one, two, or more than two, and a plurality of which includes two or more than two, each of which refers to each of the corresponding plurality, and any of which refers to any of the plurality. For example, the plurality of sampling time points includes 3 sampling time points, each of the 3 sampling time points refers to each of the 3 sampling time points, and any one of the 3 sampling time points refers to any one of the 3 sampling time points, which may be a first sampling time point, a second sampling time point, or a third sampling time point.
Artificial Intelligence (AI) is a theory, method, technique and application system that uses a digital computer or a machine controlled by a digital computer to simulate, extend and expand human Intelligence, perceive the environment, acquire knowledge and use the knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technique of computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a manner similar to human intelligence. Artificial intelligence is the research of the design principle and the realization method of various intelligent machines, so that the machines have the functions of perception, reasoning and decision making.
The artificial intelligence technology is a comprehensive subject and relates to the field of extensive technology, namely the technology of a hardware level and the technology of a software level. The artificial intelligence infrastructure generally includes technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technologies, operation/interaction systems, mechatronics, and the like. The artificial intelligence software technology mainly comprises a computer vision technology, a voice processing technology, a natural language processing technology, machine learning/deep learning and the like.
Computer Vision technology (CV) Computer Vision is a science for researching how to make a machine "see", and further refers to that a camera and a Computer are used to replace human eyes to perform machine Vision such as identification, tracking and measurement on a target, and further image processing is performed, so that the Computer processing becomes an image more suitable for human eyes to observe or transmitted to an instrument to detect. As a scientific discipline, computer vision research-related theories and techniques attempt to build artificial intelligence systems that can capture information from images or multidimensional data. Computer vision technologies generally include image processing, image recognition, image semantic understanding, image retrieval, OCR, video processing, video semantic understanding, video content/behavior recognition, three-dimensional object reconstruction, 3D technologies, virtual reality, augmented reality, synchronous positioning, map construction, and other technologies, and also include common biometric technologies such as face recognition and fingerprint recognition.
According to the scheme provided by the embodiment of the application, the foot type robot can determine the target position based on the computer vision technology of artificial intelligence, so that the foot type robot can move to the target position subsequently.
The centroid position determining method provided by the embodiment of the application can be applied to a foot type robot. When the foot type robot moves, a centroid track moving from an initial position to a target position is determined, and then the centroid position of the foot type robot at any time point in the moving process is determined through the centroid track, so that at least one foot of the foot type robot is controlled to lift or fall, the centroid of the foot type robot moves according to the centroid track in the process that the foot type robot moves from the initial position to the target position, and the foot type robot walks.
The centroid position determining method provided by the embodiment of the application can also be applied to control equipment. Optionally, the control device 102 is a server or other form of device. Optionally, the server is an independent physical server, or a server cluster or distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a web service, cloud communication, a middleware service, a domain name service, a security service, a CDN, and a big data and artificial intelligence platform.
Fig. 1 is a schematic structural diagram of an implementation environment provided by an embodiment of the present application, and as shown in fig. 1, the implementation environment includes a legged robot 101 and a server 102, the legged robot 101 establishes a communication connection with the server 102, and performs interaction through the established communication connection.
The legged robot 101 is used to control at least one foot to lift or fall, so as to realize walking of the legged robot. The server 102 is configured to provide a service for the legged robot 101, determine a centroid trajectory for the legged robot 101, and send the determined centroid trajectory to the legged robot 101, so that the legged robot 101 moves according to the centroid trajectory.
Optionally, the legged robot 101 is configured with a sensing system, through which an image of the legged robot 101 in the moving direction is acquired, the image is sent to the server 102, the server 102 processes the image to acquire a target position of the legged robot, and then a centroid trajectory of the legged robot 101 is determined according to the target position.
The method provided by the embodiment of the application can be used for various scenes.
For example, in a legged robot movement scenario:
the method comprises the steps of determining a target position to be reached by a foot type robot in the moving process, determining a centroid track of the foot type robot moving from an initial position to the target position by adopting the centroid position determining method provided by the embodiment of the application, and then determining the centroid position of the foot type robot at any time point in the moving process through the centroid track, so that at least one foot of the foot type robot is controlled to lift or fall, the centroid of the foot type robot moves according to the centroid track in the process that the foot type robot moves from the initial position to the target position, the walking of the foot type robot is realized, and the moving stability of the foot type robot is ensured.
For another example, in a remote control legged robot movement scenario:
in the moving process of the foot type robot, the server can control the foot type robot to move. In the process that the server controls the foot type robot to move, the server determines the centroid track of the foot type robot moving from the initial position to the target position by adopting the centroid position determining method provided by the embodiment of the application, the centroid moving track is sent to the foot type robot, the foot type robot controls the centroid of the foot type robot to move along the centroid moving track, and the mode of remotely controlling the foot type robot to move is realized.
Fig. 2 is a flowchart of a mass center position determining method provided in an embodiment of the present application, which is applied to a legged robot, and as shown in fig. 2, the method includes:
201. first relation data is created, the first relation data indicating a relation between the interval duration t and a centroid position p (t) of the legged robot, the first relation data comprising a first constant C.
The interval time length t indicates the time length of an interval between any time point in the process that the foot type robot moves from the initial position to the ending position and the initial time point corresponding to the initial position, and the centroid position P (t) indicates the centroid position of the foot type robot at the interval time length t.
Since the value of the first constant C included in the first relationship data is not determined, the first relationship data acquired at this time is not determined. Subsequently, if the value of the first constant C is determined, the centroid position p (t) corresponding to any interval duration t may be obtained through the first relationship data.
202. Creating second relationship data corresponding to at least one foot of the foot robot configuration, the second relationship data corresponding to the at least one foot being indicative of an acting force f corresponding to the at least one foot, respectivelyiAnd centroid position p (t).
Wherein the second relational data comprises a first constant C. Acting force fiIndicating the acting force of the ith foot of the foot type robot under the centroid position P (t) in contact with the ground, wherein i is a positive integer.
A legged robot is configured with at least one foot by which the legged robot makes contact with the ground, thereby enabling movement or standing of the legged robot. i is a number indicating the foot of the foot robot, and different feet can be distinguished according to the foot number. When the center of mass of the legged robot is located at the same center of mass position p (t), the acting force applied to different feet of the legged robot contacting with the ground may be different, that is, the acting force f applied to different feet contacting with the groundiMay be different. Thus, second relationship data corresponding to at least one foot is created, respectively.
203. And creating third relation data according to the second relation data corresponding to at least one foot, and determining the value of the first constant C when the target value J is the minimum value.
Wherein the third coefficient of correlation is indicative of the force f experienced by the target value J in contact with the ground by at least one footiIs determined by the positive correlation between the squares of (a). The force f to which the target value J is subjected in contact with at least one foot and the groundiIs the force f to which the target value J is subjected in response to the contact of the at least one foot with the groundiBecomes larger as the square of the foot becomes larger, and receives a force f as the at least one foot contacts the groundiBecomes smaller and smaller.
The second relationship data corresponding to at least one foot indicates the action force f corresponding to the centroid position P (t) and the at least one footiThe second relation data includes a first constant C, and the value of the first constant C when the target value J is the minimum value can be determined according to the second relation data.
204. And acquiring first relation data corresponding to the first constant C with the determined value.
After the first constant C with the determined value is substituted into the first relation data, the centroid position P (t) corresponding to any interval time t can be determined through the first relation data, namely the centroid moving track of the foot robot is obtained.
According to the method provided by the embodiment of the application, the states of all joints of the foot type robot do not need to be detected, the third relation coefficient data is created through the second relation data corresponding to at least one foot of the foot type robot, the value of the first constant C when the target value J in the third relation data is the minimum value is determined, the first constant C with the determined value corresponds to the first relation data, the centroid moving track of the foot type robot moving from the initial position to the end position is determined, the foot type robot moves according to the determined centroid moving track, and the moving efficiency of the foot type robot is guaranteed. Moreover, the method can be applied to the foot type robot with any number of feet, and the application range is wide.
The following embodiments create third relational data from the first relational data and second relational data corresponding to at least one foot of the legged robot, and then determine the movement trajectory of the legged robot from the third relational data. In thatIn the following examples, the force f is applied to at least one foot of a legged robotiThe acting force f is the acting force f of at least one foot of the legged robot under the centroid position P (t) when the at least one foot is contacted with the groundiCan be expressed as fi{ P (t) }, and the first constant C is a second constant C whose value is undeterminedfreeAnd a third constant h with determined value, the sampling centroid position Q (C) can be represented by Q (C)free) And (4) showing. Fig. 3 is a flowchart of a mass center position determining method provided in an embodiment of the present application, which is applied to a legged robot, and as shown in fig. 3, the method includes:
301. the method comprises the steps of obtaining first state data of the legged robot at an initial position and second state data of the legged robot at a final position, wherein the state data at least comprise a centroid position, a centroid speed and a centroid acceleration.
The centroid is the mass center of the legged robot, and the centroid position is the specific position of the mass center of the legged robot, and optionally, the centroid position is represented by coordinates in a coordinate system or by vectors. The centroid speed is the moving speed of the mass center of the foot type robot, the centroid acceleration is the acceleration of the centroid of the foot type robot, and the centroid speed and the centroid acceleration can be expressed by vectors. For example, in a world coordinate system, the center of mass position of the legged robot is [20, 35, 80], the center of mass velocity is [5, 3, 0], and the center of mass acceleration is [2, 2, 2 ].
In one possible implementation, obtaining the first state data of the initial position includes: the foot robot detects the state of the foot robot at the initial position and obtains the state data of the initial position.
In one possible implementation, obtaining the second state data of the termination location includes: the foot robot acquires an image of an environment including the moving direction of the foot robot through a visual perception system, performs feature extraction on the image, determines the termination position of the foot robot, and sets second state data for the termination position. Wherein the second state data of the termination location may be arbitrarily set. For example, the visual perception system includes a camera, and the legged robot captures an image of an environment in a moving direction of the legged robot by the camera to obtain an image of the environment including the moving direction of the legged robot.
302. Second constant CfreeAnd the sum of the linear mapping and the third constant h is used as a first constant C with undetermined value.
Wherein the first constant C is a constant for representing the relationship between the centroid position p (t) and the interval duration t, and can be represented in a vector form or in a matrix form.
Second constant CfreeA constant with undetermined value and representing the relation between the interval duration t and the centroid position P (t), and a second constant CfreeCan be represented in vector form or in matrix form.
And the third constant h is determined by the acquired state data, and the value of the third constant h is determined because the state data of the legged robot at the initial position and the termination position are determined. The third constant h can be expressed in vector form or in matrix form. For example, the third constant h may be expressed as h ═ P0 V0 a0 P1 V1 a1]Wherein P is0Representing the position of the center of mass, V, of the legged robot in the initial position0Representing the center of mass velocity, a, of the legged robot in the initial position0Representing the acceleration of the centre of mass, P, of the legged robot in the initial position1Representing the position of the centre of mass, V, of the legged robot in the end position1Representing the center of mass velocity, a, of the legged robot in the end position1Representing the centroid acceleration of the legged robot at the end position.
Due to the second constant CfreeIf the value of (C) is not determined and the value of the third constant h is determined, the second constant C is setfreeAnd the third constant h is subjected to linear mapping, and the value of the obtained first constant C is not determined.
In one possible implementation, this step 302 may include: obtaining a second constant CfreeAnd a mapping matrix of a third constant h,second constant CfreeThe sum of the product of the mapping matrix and the third constant h and the corresponding mapping matrix is used as a first constant C. I.e. the second constant CfreeThe third constant h and the first constant C satisfy the following relations:
C=T′Cfree+Qh
wherein T' is a constant matrix for representing a second constant CfreeQ is a constant matrix for representing a mapping matrix of a third constant h. The constant matrix T' may be a 96-row 15-column matrix, the constant matrix Q may be a 96-row 18-column constant matrix, and the second constant CfreeMay be a column vector of 15 rows and the third constant h may be a column vector of 18 rows.
303. Setting the first relationship data as: centroid position p (t) is the product of a first constant C and duration matrix E.
Wherein the first relation data indicates a relation between an interval duration t and a centroid position p (t), the interval duration t indicates a duration of an interval between any time point in a process that the foot robot moves from the initial position to the end position and an initial time point corresponding to the initial position, and the centroid position p (t) indicates a centroid position of the foot robot at the interval duration t. The first constant C with undetermined value is the second constant C with undetermined valuefreeAnd the value of the determined third constant h, the first relation data comprises a second constant C with an undetermined valuefreeAnd a third constant h. In the legged robot, the first relation data can be stored in the form of descriptive sentences or in the form of functions.
The duration matrix E is used to represent a matrix of interval durations t, and the duration matrix E satisfies the following relationship:
wherein E istRepresenting a duration vector. In the embodiment of the present application, the duration vector EtComprisesThe interval duration t is raised to the power of 3, and in another embodiment, the duration vector EtThe highest power including the interval duration t may be any positive integer not less than 2.
In one possible implementation, the first relationship data is represented by the following function:
P(t)=Pinit+EC
wherein, PinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period; t' is a constant matrix for representing a second constant CfreeThe mapping matrix of (2); q is a constant matrix used for representing a mapping matrix of a third constant h.
Due to the second constant C contained in the first relational datafreeThe value of (a) is not determined, the centroid position P (t) corresponding to any interval duration t cannot be determined through the first relation data, and then if the second constant C is determinedfreeIf the value of (a) is determined, the centroid position p (t) corresponding to any interval duration t can be obtained through the first relationship data.
In the moving process of the foot robot, the centroid position of the foot robot changes along with the moving interval time t, the centroid position after the arbitrary interval time t has a corresponding centroid position variation, the sum of the centroid position variation corresponding to the interval time t and the initial centroid position of the foot robot when the foot robot starts moving is used as the centroid position P (t) corresponding to the foot robot after the arbitrary interval time t, so that first relation data indicating the relation between the centroid position P (t) and the interval time t is determined, and the centroid moving track of the foot robot can be determined through the first relation data subsequently.
In the embodiment of the present application, the first state data of the initial position, the second state data of the end position, and the second constant C are obtained by the acquisitionfreeTo the first relational data created, and in another embodimentIn this way, the first relationship data can be created in other ways without executing steps 301 and 303.
304. Setting the second relation data corresponding to at least one foot as: acting force f corresponding to ith footi{ P (t) } is the sum of the first constant C and a linear mapping of the fourth constant λ corresponding to the ith foot.
Wherein, the foot robot is provided with at least one foot, the second relation data corresponding to the ith foot respectively indicate the centroid position P (t) and the acting force f corresponding to the ith footi(ii) relationship between { P (t) }, force fi{ P (t) } indicates the acting force applied to the ith foot of the foot type robot in the mass center position P (t) by contacting with the ground, wherein i is a positive integer. The fourth constant lambda is a constant with an undetermined value and is used for representing the acting force fi{ P (t) } constant of the relationship between centroid position P (t). The first constant C is a second constant C with undetermined valuefree and a third constant h with determined value, and a second constant C with undetermined value is included in the second relation data corresponding to at least one footfreeAnd a fourth constant λ. In the legged robot, the second relation data can be stored in the form of descriptive sentences or in the form of functions.
In the centroid position p (t), the acting force applied to different feet of the foot robot may be the same or different, and the fourth constant λ corresponding to different feet may be the same or different. When the acting force on different feet of the foot type robot is different and the fourth constant lambda corresponding to different feet is the same, the mapping matrixes of the fourth constant lambda corresponding to different feet are different. And the fourth constant λ corresponding to different feet of the legged robot may be different at different centroid positions p (t). For example, a legged robot includes 4 feet, and when the 4 feet of the legged robot are all in contact with the ground, the fourth constant λ corresponding to any one foot includes 6 dimensional variables; when all 3 feet of the legged robot are in contact with the ground, the fourth constant λ corresponding to any one foot in contact with the ground contains 3 dimensional variables.
Due to the fact thatThe second relation data corresponding to at least one foot respectively indicate the action force f of the centroid position P (t) corresponding to at least one footi{ P (t) }, setting, in the first relationship data, as: the centroid position P (t) is the product of the first constant C and the duration matrix E, and the first relation data is substituted into the second relation data corresponding to at least one foot to obtain the acting force f corresponding to at least one footi{ P (t) } is the sum of the first constant C and a linear mapping of the fourth constant λ corresponding to the ith foot.
Determining a first product of a first constant C and a corresponding mapping matrix and a second product of a fourth constant lambda corresponding to the ith foot and the corresponding mapping matrix by obtaining the mapping matrix of the first constant C and the mapping matrix of the fourth constant lambda corresponding to the ith foot, and taking the sum of the first product and the second product as an acting force f corresponding to the ith footi{P(t)}。
Since the legged robot is supported to be able to stand or move by the contact of the at least one foot with the ground, and the center of mass of the legged robot is maintained at the corresponding center of mass position p (t) by the cooperation between the at least one foot, it can be determined that the acting force corresponding to the at least one foot of the legged robot has an association relationship with the center of mass position p (t), thereby creating second relationship data corresponding to the at least one foot. By creating second relation data corresponding to at least one foot, the subsequently determined centroid position P (t) of the foot type robot conforms to the stress condition of the foot type robot, and the feasibility of the subsequently obtained centroid position P (t) is ensured.
In the embodiment of the present application, the acting force f corresponding to the ith foot is determined by the fourth constant λ corresponding to the ith foot through the first constant Ci{ P (t) } to represent the created second relationship data, while in another embodiment, step 304 need not be performed, and other ways can be taken to create second relationship data corresponding to at least one foot of the legged robot configuration.
305. And acquiring the moving time length required by the foot type robot to move from the initial position to the final position.
The moving time period may be set arbitrarily, such as 15 seconds, 30 seconds, and the like.
In one possible implementation, this step 305 includes: determining the distance between the centroid position corresponding to the initial position and the centroid position corresponding to the end position as the moving distance of the foot type robot from the initial position to the end position, acquiring the moving speed of the foot type robot, and determining the ratio of the moving distance to the moving speed as the moving duration. The moving speed of the legged robot can be set arbitrarily, such as 0.2 meter per second, 0.5 meter per second, and the like.
306. A plurality of sampling time points are selected within the moving duration.
The sampling time point is a time point between an initial time point corresponding to the initial position and a termination time point corresponding to the termination position. The plurality of sampling time points includes two or more sampling time points. There is an interval duration between every two adjacent sampling time points, optionally, any two interval durations are equal to each other, or are not equal to each other.
For example, the moving duration is 60 seconds, the initial time point corresponding to the initial position is 0 second, the termination time point corresponding to the termination position is 60 seconds, 5 sampling time points are selected from the moving duration, the first sampling time point is 10 seconds, the second sampling time point is 20 seconds, the third sampling time point is 30 seconds, the fourth sampling time point is 40 seconds, and the fifth sampling time point is 50 seconds; alternatively, the first sampling time point is 5 seconds, the second sampling time point is 20 seconds, the third sampling time point is 25 seconds, the fourth sampling time point is 40 seconds, and the fifth sampling time point is 55 seconds.
In one possible implementation, this step 306 may include: the moving time length is divided into a plurality of time segments, and the ending time point of each time segment is taken as a sampling time point. Wherein, the obtained time periods are equal or unequal.
307. And determining fourth relation data corresponding to each sampling time point according to the interval duration between each sampling time point and the initial time point and the first relation data.
Wherein the fourth relation numberAccording to the relationship between the first constant C and the sampling centroid position Q (C), the first constant C is a second constant C with undetermined valuefreeAnd a third constant h whose value is determined, the fourth relational data indicates a second constant CfreeAnd the sampling centroid position Q (C)free) The relation between, the sampling centroid position Q (C)free) Indicating the position of the center of mass of the legged robot at the corresponding sampling time point. In the legged robot, the fourth relational data can be stored in the form of descriptive sentences or in the form of functions.
Because the first relation data indicates that the centroid position P (t) is the product of a first constant C and a duration matrix E, the first constant C comprises a second constant C with undetermined valuefreeSubstituting the interval duration between any sampling time point and the initial time point into a duration matrix E in the first relational data, determining the value of the duration matrix E at any sampling time point, and obtaining fourth relational data corresponding to the sampling time point, wherein the fourth relational data indicates a second constant CfreeAnd the sampling centroid position Q (C)free) The relationship between them. A second constant C included in the fourth relational datafreeThe values of (a) are not determined, and the values of other constants included in the fourth relational data are determined.
308. And determining fifth relation data corresponding to each sampling time point according to the second relation data and the fourth relation data corresponding to at least one foot.
Wherein the fifth relationship data indicates an acting force f of the first constant C corresponding to at least one footiThe first constant C is a second constant C with undetermined valuefreeAnd a third constant h whose value is determined, the fifth relation data indicates a second constant CfreeForce f corresponding to at least one footi(p (t)) }. Since the fourth relational data indicates the second constant CfreeAnd the sampling centroid position Q (C)free) A second relationship data corresponding to at least one foot indicates a centroid position p (t) and an acting force f corresponding to at least one footi(ii) the relationship between { P (t) }, thenAnd substituting the fourth relational data corresponding to each sampling time point into the second relational data to obtain fifth relational data corresponding to each sampling time point. Due to the second constant C included in the fourth relational datafreeIs undetermined, and a second constant C included in the second relationship datafreeAnd if the value of the fourth constant lambda is not determined, the second constant C in the obtained fifth relational datafreeAnd the value of the fourth constant λ is not determined. In the legged robot, the fifth relational data can be stored in the form of descriptive sentences or in the form of functions.
In one possible implementation, this step 308 may include: determining the feet of the legged robot contacting with the ground at each sampling time point according to the stepping sequence of the legged robot, the stepping time length corresponding to at least one foot and the interval time length between each sampling time point and the initial time point, and determining the position Q (C) of each sampling mass center according to the position Q (C) of each sampling mass centerfree) And determining fifth relation data according to the second relation data corresponding to at least one foot and the foot of each sampling time point in contact with the ground.
The stepping sequence indicates a stepping sequence among a plurality of feet of the foot type robot, and the stepping time length corresponding to the feet is the time length from the lifting to the falling of the feet. Optionally, the stepping time lengths corresponding to different feet are the same or different.
The foot in the stepping process corresponding to each sampling time point can be determined through the stepping sequence of the foot type robot, the stepping time length corresponding to at least one foot and the interval time length between each sampling time point and the initial time point, and therefore the foot, which is in contact with the ground, of the foot type robot at each sampling time point is determined. Sampling each centroid position Q (C)free) Substituting the data into the second relation can obtain the acting force f corresponding to at least one foot of the foot type robot contacting with the ground at each sampling time pointi{ P (t) }, fifth relation data is obtained.
For example, the legged robot includes four feet, which are divided into a left front foot, a left rear foot, a right front foot, and a right rear foot, the stepping order is a four-foot support moving centroid, a right rear foot, a right front foot, a four-foot support moving centroid, a four-leg support moving centroid, a left rear foot, a left front foot, and a four-foot support moving centroid, each stepping duration is 1 second, when the sampling time point is 1.5 seconds, it can be determined that the legged robot is in the process of stepping the right rear foot, and the feet currently in contact with the ground are the left front foot, the left rear foot, and the right front foot; when the sampling time point is 3.5 seconds, the process that the foot type robot is in the four-foot support moving mass center can be determined, and the current feet in contact with the ground are a left front foot, a left rear foot, a right front foot and a right rear foot.
309. And creating third relation data according to the fourth relation data and the fifth relation data.
Wherein the third coefficient of correlation is indicative of the force f experienced by the target value J in contact with the ground by at least one footiPositive correlation between squares of { P (t) }, and also indicates the acting force f corresponding to at least one foot corresponding to each sampling time point for the target value JiSquare of { P (t) } and sample centroid position Q (C)free) A positive correlation between them. Because the fourth relational data and the fifth relational data both include the first constant C whose value is not determined, the created third relational data also include the first constant C whose value is not determined. And, the first constant C is a second constant C with undetermined valuefreeAnd a third constant h with determined value, the third correlation coefficient data includes a second constant C with undetermined valuefree. In the legged robot, the third correlation data may be stored in the form of descriptive sentences or in the form of functions.
In one possible implementation, this step 309 may include: setting the target value J to a weighted sum of squares of the plurality of distances and the force f corresponding to at least one footiThe sum between the weighted sum of squares of { p (t) }. Wherein the plurality of distances includes a distance between any two adjacent centroid positions of the centroid position of the initial position, the plurality of sampling centroid positions, and the centroid position of the end position.
Wherein the weight of each distance and each force fiThe weights of { P (t) } are all arbitrarySet, acting force fiThe weight of { P (t) } is the force fi{ P (t) } weight corresponding to the corresponding foot. Determining a square value of the product of each distance and the corresponding weight, taking the sum of the square values corresponding to the plurality of distances as a weighted sum of squares of the plurality of distances, and determining the acting force f corresponding to each footi(p (t)) and the square value of the product of the weights, and the sum of the square values corresponding to the plurality of applied forces is used as the applied force f corresponding to at least one footi{ P (t) } weighted sum of squares.
In one possible implementation, the target value J satisfies the following relationship:
J=Jgrf+Jlen
wherein, JgrfFor representing the corresponding force f of at least one footiWeighted sum of squares of { P (t) }, JlenRepresenting a weighted sum of squares of a plurality of distances.
It should be noted that the embodiment of the present application is described by creating the third correlation data according to a plurality of sampling time points, and in another embodiment, the step 305 and the step 309 need not be executed, and the following steps may be executed instead:
determining the distance between the centroid position of the foot robot at the initial position and the centroid position of the foot robot at the end position, and setting the target value J as the acting force f corresponding to the weighted square value of the distance and at least one footiThe sum between the weighted sum of squares of { p (t) }.
Determining the square value of the product of the distance and the corresponding weight as the weighted square value of the distance, and determining the acting force f corresponding to each footiThe square value of the product of { P (t) } and the corresponding weight, the plurality of forces fiThe sum of the corresponding squared values of { P (t) } is used as the corresponding force f of at least one footi{ P (t) } weighted sum of squares.
310. And determining the value of the first constant C when the target value J is the minimum value according to the third relation coefficient data, and acquiring first relation data corresponding to the first constant C of which the value is determined.
In the embodiment of the present application, the third correlation data includes a third correlation data with an undetermined valueA constant C including a second constant C with undetermined valuefreeThat is, the third correlation data includes the second constant C with undetermined valuefree。
Due to the target value J and the second constant CfreeIs in positive correlation, the target value J has a minimum value. The target value J is used for optimizing distribution of acting force received by at least one foot of the foot type robot, the length of a locus of the position of the center of mass can be reflected, oscillation amplitude of the position of the center of mass of the foot type robot is reflected, the distribution of the acting force received by at least one foot of the foot type robot is balanced through the minimum value of the target value J, the oscillation amplitude of the position of the center of mass of the foot type robot is small, stability of the foot type robot in the moving process can be guaranteed, therefore, the minimum value of the target value J is selected, and a corresponding second constant C can be determined through the minimum valuefreeThe value of (a).
By applying a second constant C whose value has been determinedfreeAnd substituting the first constant C with the determined value into the first relational data to obtain a centroid position P (t) in the first relational data, wherein the centroid position P (t) is the product of the first constant C with the determined value and the time matrix E, and the corresponding centroid position P (t) can be determined according to any interval time between initial time points corresponding to the initial positions.
In addition, the undetermined constants of the third correlation coefficient data include the fourth constant λ, and the value of the fourth constant λ can be determined when the target value J is the minimum value.
In addition, by taking the first relation data corresponding to the determined first constant C, taking the interval duration as an abscissa and taking the centroid position as an ordinate, according to the relation between the centroid position P (t) and the interval duration t in the first relation data corresponding to the determined first constant C, the centroid position point corresponding to any interval duration is created in the coordinate system, and a curve formed by connecting the centroid position points is the centroid moving track of the legged robot.
311. Determining the legged robot according to the first relation data in the moving process of the legged robotAt any interval of time t0Centroid position of time P (t)0)。
Wherein the interval duration t0The method is the time length of the interval between any time point and the initial time point corresponding to the initial position in the process that the foot type robot moves from the initial position to the final position.
Since the values of other constants, except the interval duration t, in the first relational data corresponding to the first constant C whose value is determined are determined, any interval duration t is determined0Substituting the first relation data to obtain the duration t of any interval0Corresponding centroid position P (t)0)。
312. According to the centroid position P (t)0) And a termination position for determining joint torques of a plurality of joints of the legged robot.
In the embodiment of the application, the foot type robot realizes the lifting or falling of each foot of the foot type robot by controlling each joint in each foot, so as to drive the foot type robot to move. The foot type robot moves at least one foot supporting foot type robot of the foot type robot by controlling joint moments of a plurality of joints, so that the real center of mass position of the foot type robot is kept at the determined center of mass position P (t)0). Therefore, the center of mass position P (t) of the legged robot can be determined0) The end position and the inverse kinematics to determine joint torques of a plurality of joints during the movement of the legged robot to the end position.
In one possible implementation, this step 312 may include: according to the centroid position P (t)0) And a termination position for determining joint angles and joint torques of a plurality of joints of the legged robot. Wherein the joint angle is used for representing the angle presented by the joint of the foot type robot after rotating. By determining the position of the center of mass P (t) of the legged robot0) And inverse kinematics to determine joint angles of a plurality of joints of the legged robot. Then, joint torques of a plurality of joints of the robot are determined by inverse dynamics and an optimization control method.
Optionally, creating relationship data between the position of the contact point of at least one foot in contact with the ground and the interval duration and relationship data between the posture of the foot robot and the interval duration according to the position of the contact point of at least one foot in contact with the ground of the foot robot and the stepping time sequence of the foot robot; determining relation data between joint angles and interval duration of a plurality of joints of the foot type robot according to relation data between the position of a contact point of the at least one foot and the ground, relation data between the posture of the foot type robot and the interval duration and first relation data corresponding to a first constant C with determined values; acquiring a first derivative of relation data between joint angles and interval duration of a plurality of joints to the interval duration to obtain relation data between joint angular speeds and the interval duration of the plurality of joints of the legged robot; acquiring a second derivative of the relation data between the joint angles of the joints and the interval duration to obtain the relation data between the joint angular accelerations of the joints of the legged robot and the interval duration; determining joint angles, joint angular velocities and joint angular accelerations of a plurality of joints of the legged robot at any interval duration to according to the relation data between the joint angular velocities and the interval durations, the relation data between the joint angular velocities and the interval durations and the relation data between the joint angular accelerations and the interval durations; the method comprises the steps of obtaining joint angles, joint angular velocities and joint angular accelerations of a plurality of joints at a current time point, and determining joint torques of the plurality of joints of the foot robot according to the joint angles, the joint angular velocities and the joint angular accelerations of the plurality of joints of the foot robot at the current time point and the joint angles, the joint angular velocities and the joint angular accelerations of the plurality of joints at any interval time to.
Optionally, the legged robot is configured with a sensor, and joint angles, joint velocities, and joint angular velocities of a plurality of joints of the legged robot at the current time point are acquired.
313. And controlling the joints to rotate according to the joint torques of the joints to drive the foot type robot to move.
And controlling the joints of the legged robot to rotate through the determined joint torques of the joints, so that the real centroid position of the legged robot coincides with the determined centroid position, the legged robot moves from the starting position to the ending position, and at any time point in the moving process, the real centroid position of the legged robot at the time point coincides with the determined centroid position at the time point, so that the legged robot moves along the determined centroid moving track.
In one possible implementation, this step 313 may include: and controlling the joints to rotate according to the joint angles and the joint torques of the joints to drive the foot type robot to move.
The joints are controlled to rotate according to the joint angles and the joint torques, so that the joints can be kept at the corresponding joint angles, the feet of the foot type robot can be lifted or dropped, and the mass center of the foot type robot is ensured to move along the determined mass center moving track.
It should be noted that, in the embodiment of the present application, a moving process of the legged robot from the starting position to the ending position is described, but in another embodiment, after the legged robot reaches the ending position, the legged robot may further continue to perform the next moving process, and the ending position of the previous moving process is taken as the starting position of the next moving process, and the above-mentioned step 301 and step 313 are performed to move the legged robot to the ending position of the next process, thereby implementing a plurality of continuous moving processes of the legged robot.
In one possible implementation manner, the ending position of the last moving process is taken as the target position of the legged robot, after the ending position of the current moving process of the legged robot is determined, whether the ending position coincides with the target position is detected, in response to the ending position not coinciding with the target position, first state data is set for the ending position, and in response to the ending position coinciding with the target position, second state data is set for the ending position.
The first state data comprises a mass center speed and a mass center acceleration which are not 0, and the second state data comprises a mass center speed and a mass center acceleration which are 0. After the foot robot moves to the target position, the foot robot stops and does not move any more, the target position can be any set position, and if the foot robot needs to move to the room a, the position of the doorway of the room a is taken as the target position. Responding to that the ending position is not coincident with the target position, indicating that the legged robot needs to move continuously after reaching the ending position of the current moving process, and executing the next moving process, wherein in order to ensure the moving continuity of the legged robot, the centroid speed and the centroid acceleration of the legged robot are not 0; and in response to the end position coinciding with the target position, indicating that the legged robot reaches the end position of the current moving process, the legged robot stops and does not move any more, and in order to ensure the stability of the legged robot, the mass center speed and the mass center acceleration of the legged robot are 0, so that the legged robot can stop at the target position.
It should be noted that the embodiment of the present application is described with the foot robot as the executing subject, and in another embodiment, the above steps 301-313 are executed by the server, and the server is based on the centroid position P (t)0) And the termination position is used for determining joint torques of a plurality of joints of the foot type robot, sending a movement instruction to the foot type robot, wherein the movement instruction carries the joint torques of the plurality of joints, and the foot type robot controls the plurality of joints to rotate according to the joint torques of the plurality of joints to drive the foot type robot to move.
In one possible implementation manner, the server establishes communication connection with a plurality of joints of the foot robot, the server sends rotation instructions to the plurality of joints of the foot robot according to the determined joint torques of the plurality of joints, the rotation instructions carry the joint torques of the corresponding joints, and the rotation instructions received by the plurality of joints of the foot robot rotate according to the corresponding joint torques to drive the foot robot to move.
It should be noted that, in the embodiment of the present application, the foot robot is described as an execution subject, and in another embodiment, the steps 301 and 310 are executed by the server, after the server acquires the first relationship data corresponding to the first constant C whose value is determined, the first relationship data corresponding to the first constant C whose value is determined is sent to the foot robot, and the foot robot executes the steps 311 and 313, thereby controlling the movement of the foot robot.
According to the method provided by the embodiment of the application, the state of each joint of the legged robot does not need to be detected, and the first constant C can be determined through the created first relation data, the second relation data corresponding to at least one foot and the third relation datafreeCorresponding first relation data, the first constant C is reducedfreeThe calculated amount in the corresponding first relation data process can be suitable for the legged robot with any number of feet, and the application range is wide. And by applying the first constant CfreeThe corresponding first relation data can determine the centroid position corresponding to any interval duration in the process that the foot type robot moves from the initial position to the end position, and then determine the centroid moving track of the foot type robot moving from the initial position to the end position, so that the foot type robot moves according to the determined centroid moving track, and the moving efficiency of the foot type robot is guaranteed.
And by creating second relation data corresponding to at least one foot, the acting force applied by the contact of at least one foot configured by the foot type robot and the ground is considered, the accuracy of the determined centroid position of the foot type robot is improved, the foot type robot can move according to the determined centroid moving track, the feasibility and the high efficiency of the determined centroid moving track are ensured, and the diversity and the universality of the determined centroid moving track are ensured.
As shown in fig. 4, the present invention provides a frame diagram of a legged robot system for controlling the movement of a legged robot, and the legged robot system includes a visual perception subsystem 401, a trajectory generation subsystem 402, and a movement control subsystem 403.
The vision perception subsystem 401 acquires a target position and a stepping sequence of the legged robot according to the state data of the legged robot, and transmits the acquired target position and stepping sequence of the legged robot to the trajectory generation subsystem 402.
The trajectory generation subsystem 402 receives the target position and the stepping sequence of the legged robot sent by the visual perception subsystem 401, determines the centroid movement trajectory of the legged robot according to the acquired state data of the legged robot, determines the joint moment of each joint of the legged robot according to the determined centroid movement trajectory of the legged robot, and sends the determined joint moment of each joint of the legged robot to the movement control subsystem 403.
The movement control subsystem 403 receives the determined joint moments of the joints of the foot robot sent by the trajectory generation subsystem 402, controls the joints to rotate according to the determined joint moments of the joints of the foot robot, drives the foot robot to move, monitors state data of the foot robot in real time in the process of controlling the movement of the foot robot, and ensures that the foot robot can move stably.
The above embodiments relate to the first relationship data, the second relationship data and the third relationship data, and on the basis of the above embodiments, the following embodiments will describe the creation processes of the above three relationship data in detail:
first, a process of creating first relationship data:
1. the stepping sequence of the foot type robot is obtained, and the process that the foot type robot moves from the initial position to the termination position is divided into a plurality of continuous moving sub-processes according to the stepping sequence of the foot type robot.
The stepping sequence indicates the stepping sequence among a plurality of feet of the foot type robot, and the step action executed by any foot is called a moving subprocess.
In addition, in order to ensure that a plurality of mobile sub-processes are continuous among the plurality of mobile sub-processes, for two adjacent mobile sub-processes, the end position of the previous mobile sub-process is the same as the start position of the next mobile sub-process.
2. First relationship data is created separately for each of the mobile sub-processes.
Since the moving subprocesses are different among the plurality of moving subprocesses and have different influences on the position of the mass center of the foot type robot, the first constants C corresponding to the moving subprocesses are different. First relationship data is created separately for each mobile sub-process.
In a kth move subprocess of the plurality of move subprocesses, setting the first relationship data as: the centroid position P (t) of the legged robot is a duration matrix E and a first constant CkThe product of the first constant CkThe following relationship is satisfied:
wherein k is a positive integer of not less than 1, CxkA first constant C representing the correspondence of the kth mobile subprocesskComponent in the x-axis, CykA first constant C representing the correspondence of the kth mobile subprocesskComponent in the y-axis, CzkA first constant C representing the correspondence of the kth mobile subprocesskComponent in the z-axis.
The first relationship data corresponding to the kth mobile subprocess can be represented by the following function:
Et=[1 t t2 t3]
Tk-1≤t≤Tk
wherein the P isinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period; etRepresenting a duration vector; cxkA first constant C representing the correspondence of the kth mobile subprocesskComponent in the x-axis, CykA first constant C representing the correspondence of the kth mobile subprocesskComponent in the y-axis, CzkA first constant C representing the correspondence of the kth mobile subprocesskComponent in the z-axis, C*k=[C*k,0 C*k,1 C*k,2 C*k,3]TMay represent the x, y, z axes,the constant C x k is represented as a column vector comprising 4 dimensions,representing a set of real numbers in a multi-dimensional space; the movement duration of each movement process is tnN represents the number of the plurality of moving sub-processes, the sum of the moving time lengths of the first k-1 moving processes isThe sum of the movement durations of the first k movement processes is
3. And according to the first relation data of the plurality of moving subprocesses, creating first relation data corresponding to the movement of the legged robot from the initial position to the termination position.
Since the moving process of the foot robot from the initial position to the end position is composed of a plurality of moving sub-processes of the foot robot, the first constant C in the first relation data corresponding to the movement of the foot robot from the initial position to the end position is the first constant C corresponding to the plurality of moving sub-processeskThe first constant C corresponding to each moving subprocess is included in the first constant C in the first relation data corresponding to the foot type robot moving from the initial position to the termination positionkComponents in the x, y, z axes.
In one possible implementation, the first relationship data corresponding to the legged robot moving from the initial position to the end position can be represented by the following function:
C=[C1 C2 ... Ck ... Cn]T
wherein the P isinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period; etWhen it is indicatedA long vector; c represents a first constant in first relation data corresponding to the foot type robot moving from the initial position to the termination position; c1A first constant, C, representing the correspondence of the first mobile subprocess2A first constant, C, representing the correspondence of the second mobile subprocesskDenotes a first constant, C, corresponding to the kth mobile sub-processnDenotes a first constant corresponding to the nth mobile subprocess, and T denotes a transpose of the matrix.
In addition, the degree of dimension included in the first constant C and the second constant C are determinedfreeThe number of dimensions contained in (a) can be determined from the variables in the first relational data. As shown in fig. 5, the movement of the foot robot from the initial position to the final position includes 8 movement subprocesses, which are a movement subprocess 501, a movement subprocess 502, a movement subprocess 503, a movement subprocess 504, a movement subprocess 505, a movement subprocess 506, a movement subprocess 507, and a movement subprocess 508 in the chronological order. The number of components included in the x, y, and z axes in the first constant C is 3, and the time length vector E in the first relational data istIncluding 4 dimension interval durations, the number of dimensions 3 × 8 × 4 included in the first constant C may be determined to be 96. Since the ending position of the previous moving subprocess is the same as the starting position of the next moving subprocess in any two adjacent moving subprocesses, in order to ensure the continuity of 8 moving subprocesses, the dimension number used for representing the continuity of 8 moving subprocesses in the first constant C is 3 × 7 × — 63, wherein the first 3 represents the number of components in the x, y, and z axes, 7 represents that 7 identical positions exist in the 8 moving subprocesses, and the second 3 represents that 3 variables including the centroid position, the centroid speed, and the centroid acceleration are included in the state data corresponding to each position. Since the legged robot determines the state data of the initial position of the first locomotion subprocess and the state data of the final position of the last locomotion subprocess among the 8 locomotion subprocesses, the number of dimensions of the state data indicating the determined positions of the 8 locomotion subprocesses in the first constant C is 3 × 6. Where 3 denotes the number of components in the x, y, and z axes, and 6 denotes the number of values included in the state data at the two determined positions. Then the second constant CfreeIn which comprisesThe dimension number of (1) is 96-63-18-15.
The embodiment of the present application is only described in the context of creating the first relationship data, and in addition, the centroid acceleration corresponding to the centroid position p (t) of the kth moving subprocess can be created according to the first relationship data of the kth moving subprocessAnd the interval duration t.
In a possible implementation manner, the first relation data of the kth moving subprocess is subjected to 2-order derivative on the interval duration to obtain the centroid acceleration of the kth moving subprocessData of the relation between the interval duration t and the acceleration of the center of massThe relationship data with the interval duration t can be expressed by the following function:
wherein E isaRepresenting a time matrix by a duration vector EtObtained by taking the 2 nd derivative of the interval duration t,represents a time matrix EaA row vector of 4 dimensions; k is a positive integer of not less than 1, CxkA first constant C representing the correspondence of the kth mobile subprocesskComponent in the x-axis, CykA first constant C representing the correspondence of the kth mobile subprocesskComponent in the y-axis, CzkA first constant C representing the correspondence of the kth mobile subprocesskComponent in the z-axis.
Second, a process of creating second relationship data:
1. relational data between the force to which at least one foot of the legged robot is subjected and the gravitational force of the legged robot itself is created.
In the legged robot, the relationship data can be stored in the form of descriptive sentences or in the form of functions.
In one possible implementation, the data of the relationship between the force to which at least one foot of the legged robot is subjected and the gravity of the legged robot itself can be expressed as the following function:
wherein m represents the mass of the legged robot;representing a second derivative of the centroid position P (t) of the foot robot to the interval duration t, and taking the second derivative as a centroid acceleration corresponding to the centroid position P (t) of the foot robot; g represents the acceleration of gravity, which is the acceleration of gravityA column vector representing 3 dimensions of the gravitational acceleration g,a set of real numbers representing a multi-dimensional space; l represents angular momentum of the legged robotA column vector representing 3 dimensions of angular momentum L,a first derivative of the angular momentum L to the interval duration t is shown, and the change quantity of the angular momentum L is shown; y represents the number of feet of the foot type robot contacting with the ground; z'3×3An identity matrix of 3 rows and 3 columns; r isiThe contact point position of the ith foot of the foot type robot contacting with the ground is not less than 1A positive integer no greater than Y;indicating a point of contact riA skew-symmetric matrix of (a);a diagonal symmetry matrix representing the centroid position p (t); f. ofi{ P (t) } is the acting force applied to the contact between the ith foot of the foot-type robot and the ground.
The above relational expression is used for expressing a centroid kinetic equation of the foot type robot, expressing a relation between the movement of the foot type robot and an external force applied to the foot type robot, and the external force applied to the foot type robot conforms to Newton's law and Euler's equation. The gravity of the foot type robot is equal to the sum of all external forces applied to the foot type robot, and the first derivative of the angular momentum of the foot type robot to the time length is equal to the moment applied to the foot type robot.
From the relational data between the acting force received by at least one foot of the foot robot and the gravity of the foot robot, it can be known that the sum of the acting forces received by the foot robot is equal to the gravity of the foot robot, that is, a relational expression can be obtainedThe relational expression is brought into relational data between acting force received by at least one foot of the foot type robot and gravity of the foot type robot, and the relational data between the acting force received by the at least one foot of the foot type robot and the gravity of the foot type robot are simplified, so that the following relational expression is obtained:
wherein m represents the quality of the legged robotAn amount;representing a second derivative of the centroid position P (t) of the foot robot to the interval duration t, and taking the second derivative as a centroid acceleration corresponding to the centroid position P (t) of the foot robot; g represents the acceleration of gravity, which is the acceleration of gravityA column vector representing 3 dimensions of the gravitational acceleration g,a set of real numbers representing a multi-dimensional space; l represents angular momentum of the legged robotA column vector representing 3 dimensions of angular momentum L,represents the first derivative of the angular momentum L with respect to the interval duration t;a diagonal symmetry matrix representing the centroid position p (t); f. of0{ P (t) } is used for expressing the sum of the acting force of at least one foot of the foot type robot contacting with the ground; g is a constant matrixThe constant matrix G is represented as a matrix of 6 rows and 3Y columns,a set of real numbers representing a multi-dimensional space; z'3×3An identity matrix of 3 rows and 3 columns; r isiThe position of a contact point of the ith foot of the foot type robot, which is contacted with the ground, is represented, and i is a positive integer not less than 1 and not more than Y; y represents the number of feet of the foot type robot contacting with the ground;indicating a point of contact riIs used to form the oblique symmetric matrix.
2. And creating relation data between the acting force received by at least one foot of the foot type robot and the centroid position P (t) of the foot type robot according to the relation data between the acting force received by at least one foot of the foot type robot and the gravity of the foot type robot and the centroid position P (t) of the foot type robot.
Wherein, the centroid position P (t) of the foot robot satisfies the following relation:
P(t)=Pinit+Pt;;
wherein the P isinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period; ptAnd the mass center position variation of the foot type robot after the mass center position enters the interval time t from the initial time point of the planning period is represented. In the embodiment of the present application, the initial centroid position PinitThe same as the position of the center of mass included in the state data of the legged robot at the initial position.
A relationship P (t) P satisfied by the centroid position P (t)init+PtSubstituting the relation data between the acting force received by at least one foot of the foot type robot and the gravity of the foot type robot into the relation data between the acting force received by at least one foot of the foot type robot and the centroid position P (t) of the foot type robot, wherein the relation data between the acting force received by at least one foot of the foot type robot and the centroid position P (t) of the foot type robot can be expressed by the following functions:
wherein G is a constant matrix, the constant matrixThe constant matrix G is represented as a matrix of 6 rows and 3Y columns,a set of real numbers representing a multi-dimensional space; f. of0{ P (t) } is used for expressing the sum of the acting force of at least one foot of the foot type robot contacting with the ground; m represents the mass of the legged robot; ptRepresenting the mass center position variation of the mass center position of the foot type robot after the interval duration t from the initial time point of the planning period;representing the amount of change P in the position of the center of masstA second derivative of the interval duration t; the P isinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period,is a constant vector PinitA skew-symmetric matrix of (a); g represents the acceleration of the gravity,a column vector representing 3 dimensions of the gravitational acceleration g;an oblique symmetric matrix representing the acceleration of gravity g,a skew symmetric matrix representing the amount of change in the centroid position; l represents angular momentum of the legged robotA column vector representing 3 dimensions of angular momentum L,representing the first derivative of the angular momentum L over the interval duration t.
Because the mass center position variation satisfies the relationIn the above-mentioned relation data between the acting force applied to at least one foot of the legged robot and the position p (t) of the center of mass of the legged robot,the following relationship is satisfied:
wherein,representing the amount of change P in the position of the center of masstThe component in the plane formed by the x and y axes,the corresponding z coordinate is 0;representing the amount of change P in the position of the center of masstA component in the z-axis;the corresponding x and y coordinates are 0;representing the amount of change P in the position of the center of masstA skew-symmetric matrix of components in a plane formed by the x and y axes;representing the amount of change P in the position of the center of masstThe second derivative of the component on the plane formed by the axes x and y to the interval duration t also represents the component of the centroid acceleration on the plane formed by the axes x and y;representing the amount of change P in the position of the center of masstThe second derivative of the component in the z-axis with respect to the interval duration t, also denoted centroid plusA component of velocity in the z-axis;representing the amount of change P in the position of the center of masstA diagonally symmetric matrix of components in the z-axis;indicating the moment about the Z-axis,indicating a moment in a certain direction in the xy-plane. Due to the fact thatAndco-linear, thenIs 0.
Since the motion of the legged robot in the z-axis direction is stable and the amount of change is small during the motion of the legged robot, the amount of change in the above relational expression can be ignored Andis small and can be ignored, at least one foot of the foot type robot receives the acting force and the mass center position P (t) of the foot type robotCan be omitted.
When the posture of the foot type robot changes small in the moving process of the foot type robot, the corresponding angular momentum of the foot type robot changesMeasurement ofIf the force exerted on at least one foot of the foot-type robot is small and can be ignored, the third term on the right side of the equation in the relation data between the acting force exerted on at least one foot of the foot-type robot and the centroid position P (t) of the foot-type robot can be ignored, and the relation data between the acting force exerted on at least one foot of the foot-type robot and the centroid position P (t) of the foot-type robot is simplified to obtain the following relation:
Gf0{P(t)}≈HX′t-Wg,
wherein G is a constant matrix, the constant matrixThe constant matrix G is represented as a matrix of 6 rows and 3Y columns,a set of real numbers representing a multi-dimensional space; f. of0{ P (t) } is used for expressing the sum of the acting force of at least one foot of the foot type robot contacting with the ground; h is a constant matrix; wgIs a constant vector; x'tRepresenting the amount of change P in the position of the center of masstAnd acceleration of center of massA set of variance; m represents the mass of the legged robot; z'3×3An identity matrix of 3 rows and 3 columns; the P isinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period;is a constant vector PinitA skew-symmetric matrix of (a); g represents the acceleration of the gravity,a column vector representing 3 dimensions of the gravitational acceleration g;an oblique symmetric matrix representing the gravitational acceleration g.
3. Second relation data is created from relation data between the acting force to which at least one foot of the legged robot is subjected and the position of the centre of mass p (t) of the legged robot.
By processing the relation data between the acting force received by at least one foot of the foot robot and the centroid position p (t) of the foot robot, the following relation can be obtained:
wherein f is0{ P (t) } is used for expressing the sum of the acting force of at least one foot of the foot type robot contacting with the ground; g+Is a constant matrix expressed as a pseudo-inverse of the constant matrix G+Constant matrix representing at least one foot correspondenceGathering; h is a constant matrix; p (t) represents the centroid position;is a second derivative of the centroid position P (t) to the interval duration t, representing the centroid acceleration corresponding to the centroid position P (t); λ represents a fourth constant corresponding to at least one foot of the legged robot; wgIs a constant vector; u is a constant matrix which represents a mapping matrix set corresponding to a fourth constant lambda corresponding to at least one foot.
Through the relational expression, second relational data corresponding to the ith foot of the foot type robot can be obtained, and the following relations are satisfied:
wherein f isi{ P (t) } represents the corresponding force of the ith foot;is a constant matrix, a constant matrixA constant matrix corresponding to the ith foot is represented; h is a constant matrix; p (t) represents the centroid position;is a second derivative of the centroid position P (t) to the interval duration t, representing the centroid acceleration corresponding to the centroid position P (t); λ represents a fourth constant corresponding to at least one foot of the legged robot; u shapeiA mapping matrix corresponding to a fourth constant lambda corresponding to the ith foot is represented; wgIs a constant vector.
From the second relational data, it can be seen that the force f corresponding to the ith foot of the legged roboti{ P (t) } is linear with a fourth constant λ.
It should be noted that, in the embodiment of the present application, the centroid position p (t) of the foot-type robot is illustrated in an ideal condition, and in another embodiment, the centroid position p (t) of the foot-type robot has an error, and the centroid position p (t) of the foot-type robot is affected by the foot of the foot-type robot during the moving process of the foot-type robot, so that the centroid position p (t) of the foot-type robot changes within a certain range. In order to improve the accuracy and stability of the obtained centroid position of the legged robot, uncertainty constraints are added to the errors of the centroid position. As shown in fig. 6, one point is taken in each of the positive and negative directions of the x, y, and z axes of the coordinate system, and point 1, point 2, point 3, point 4, point 5, and point 6 are obtained. Obtaining the offset delta P 'of the centroid position of the legged robot by taking the obtained six points as the vertexes of the polyhedron'j。
Wherein j is used for representing points acquired on coordinate axes x, y and z and can be 1, 2, 3, 4, 5 and 6; δ represents an offset coefficient, δ being a constant; p'jIs expressed as the offset of the centroid position of the foot robot on the coordinate axis, P'jCorresponds to any one point, P ', of the six points on the coordinate axis'jCan be expressed as (± δ x, 0, 0), (0, ± δ y, 0), (0, 0, ± δ z); pinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period; p0Representing the position of the centre of mass, P, of the legged robot in the initial position1Representing the position of the center of mass of the legged robot at the end position,to increase the centroid position after the offset at the beginning of the planning cycle,the center of mass position of the legged robot after the offset is increased corresponding to the initial position is shown,the center of mass position of the legged robot after the offset is increased corresponding to the termination position is shown.
Adding offset delta P 'to the centroid position of the foot robot'jThen, the relation data between the acting force applied to at least one foot of the foot type robot and the mass center position p (t) of the foot type robot can be expressed by the following functions:
wherein G is a constant matrix, the constant matrixThe constant matrix G is represented as a matrix of 6 rows and 3Y columns,a set of real numbers representing a multi-dimensional space; f. of0{ P (t) } is used for expressing the sum of the acting force of at least one foot of the foot type robot contacting with the ground; m represents the mass of the legged robot; z'3×3An identity matrix of 3 rows and 3 columns; g represents the acceleration of the gravity,a column vector representing 3 dimensions of the gravitational acceleration g;an oblique symmetric matrix representing the acceleration of gravity g, PinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period,is a constant vector PinitA skew-symmetric matrix of (a); ptRepresenting the mass center position variation of the mass center position of the foot type robot after the interval duration t from the initial time point of the planning period;representing the amount of change P in the position of the center of masstA second derivative of the interval duration t;a skew symmetric matrix representing the amount of change in the centroid position; j is used to indicate points taken on the coordinate axes x, y, z, and may be 1, 2, 3, 4, 5, 6; δ represents an offset coefficient, δ being a constant; p'jIs shown as footThe offset of the centroid position of the robot on the coordinate axis.
Adding offset delta P 'through mass center position of foot type robot'jThe relation data between the acting force received by at least one foot of the foot type robot and the centroid position P (t) of the foot type robot can determine that the acting force received by the foot type robot accords with the friction force constraint when the offset of the centroid position of the foot type robot reaches each vertex of the polyhedron, and the acting force received by the foot type robot also accords with the friction force constraint when the offset of the centroid position of the foot type robot is in the polyhedron.
Third, the process of creating third relational data:
and creating third relation data according to the friction force constraint of the legged robot, the fourth relation data and the fifth relation data.
During the movement of the foot robot, the foot robot is constrained by friction: the friction force of the foot contacting with the ground in the foot type robot is more than 0, and the friction force of the foot is not less than the acting force f of the foot contacting with the groundiThe component force of { P (t) } in the friction force direction avoids the relative sliding between the foot and the ground, thereby ensuring that the foot type robot can normally move. Acting force f corresponding to at least one foot of foot type roboti{ P (t) } are all constrained by friction, satisfying the following relationship:
wherein n isiIs the normal vector of the contact point of the ith foot of the legged robot and the ground,represents a normal vector niIs a column vector of 3 dimensions and,a set of real numbers representing a multi-dimensional space; t is ti1、ti2Expression and foot typeTwo tangent vectors on a plane perpendicular to the normal vector of the contact point of the ith foot of the robot and the ground, i.e. the tangent vector ti1And tangent vector ti2The two-dimensional orthogonal transmission line is orthogonal,representing tangent vector ti1And the tangent vector ti2Military is a column vector of 3 dimensions; t denotes the transpose of the vector, μiThe friction coefficient between the ith foot and the ground of the foot type robot.
Because the legged robot is restrained by friction force in the moving process of the legged robot, the direction of the acting force received by the contact between the ith foot in contact with the ground and the ground in the legged robot is in a cone, the contact point of the ith foot and the ground is the vertex of the cone, and the connecting line from the vertex to any point of the base circle of the cone in the cone can be used as the acting force f received by the contact between the ith foot and the groundiDirection of { P (t) }. In order to avoid introducing non-linear constraint, the cone is approximately in the shape of a rectangular pyramid, and the force f applied to the contact of the ith foot and the groundi{ P (t) } satisfies the following relationship:
wherein, muiIs the coefficient of friction; n isiIs the normal vector of the contact point of the ith foot of the legged robot and the ground,represents a normal vector niIs a column vector of 3 dimensions and,a set of real numbers representing a multi-dimensional space; t is ti1、ti2Two tangent vectors on a plane perpendicular to the normal vector of the contact point of the ith foot of the legged robot with the ground, i.e. the tangent vector ti1And tangent vector ti2The two-dimensional orthogonal transmission line is orthogonal,representing tangent vector ti1And the tangent vector ti2Military is a column vector of 3 dimensions; t denotes the transpose of the vector;represents the minimum value of the acting force of the ith foot of the foot type robot contacting with the ground in the normal direction,represents the maximum value of the acting force of the ith foot of the foot type robot contacting with the ground in the normal direction,are all larger than 0, and are all larger than 0,can be any value set.Normal vectors for representing the four sides of a rectangular pyramid.
By the above relational expression, the acting force f received by the contact between the ith foot of the foot type robot and the groundi{ P (t) } constraint of force components on four sides of the rectangular pyramid, and acting force f applied to the contact of the ith foot of the foot-type robot with the groundi{ P (t) } constraint of normal force component to enable the ith foot of the legged robot to contact with the ground under the action force fiThe direction of { P (t) } is confined within a rectangular pyramid.
Because the foot robot meets the friction force constraint at a plurality of sampling time points, the fourth relational data corresponding to each sampling time point and the fifth relational data corresponding to each sampling time point are substituted into the relational expression to obtain
HfV+Bf≤Df
Wherein HfIs a constant matrix, Bf、DfAre all constant vectors, V represents a variable vectorThe variable matrixAnd Λ is a collection set of fourth constants λ corresponding to different feet, and a general solution of the acting force of the legged robot contacting with the ground under the condition of satisfying the barycenter dynamics can be obtained through the collection set Λ. The variable matrix V may be a column vector of 87 rows and a constant matrix HfCan be a matrix of 360 rows and 87 columns, constant vector BfColumn vector, constant vector D, which may be 360 rowsfA column vector of 360 rows may be used.
In addition, the mass center position of the foot robot has an offset delta P'jThen the above relationship can be expressed as:
Substituting the fourth relation data corresponding to each sampling time point into the fifth relation data to obtain a third relation satisfying the following relation:
J=Jgrf+Jlen
wherein J represents a target value; j. the design is a squaregrfFor representing the corresponding force f of at least one footiWeighted sum of squares of { P (t) }, JlenRepresenting a weighted sum of squares of a plurality of distances. J in the third relational datagrfAnd JlenIncludes the square of the variable matrix V, and the variable matrix V satisfies the friction constraint.
Through a quadratic programming solver, the minimum value of the target value J in the third relational data can be obtained, and then the variable matrix V corresponding to the minimum value of the target value J can be obtained, that is, the second value corresponding to the minimum value of the target value J is obtainedTwo constants CfreeAnd a fourth constant lambda, the second constant C being determined by taking the valuefreeAnd obtaining a first constant C with determined value by the third constant h, and substituting the first constant C with determined value into the first relation data to obtain the centroid moving track of the legged robot.
The method provided by the embodiment of the application is based on the mass-cardiography of the foot type robot, ignores the parameters which have small influence on the centroid position of the foot type robot, considers the constraints of the centroid position, the speed and the acceleration of the initial position and the termination position on the centroid position, and the constraints of the friction force on the contact between the foot type robot and the ground, converts the determined centroid position into a quadratic programming problem, solves the centroid movement track with high stability, then obtains the joint torque of each joint of the foot type robot according to inverse kinematics by combining the termination position of the foot type robot foot-landing point, and controls the joints to rotate according to the joint torque of the joints to drive the foot type robot to move.
The method for determining the centroid position provided by the embodiment of the application can be suitable for various foot robots, such as biped robots, quadruped robots or multi-leged robots; the device can be suitable for various gaits of the foot type robot, such as biped walking, quadruped running or random gaits and the like; can be suitable for various complex environments, such as flat ground, uneven ground, slopes, stairs and the like; any order of the interval duration t can be adopted, and any moving process can be adopted from the initial position to the end position; under the condition that the ground is a plane or the height difference is small, the height of the robot mass center can be kept unchanged, and the motion of the mass center in the plane is planned only by adopting 2 groups of curves; the constraint of the state data of the starting position and the state data of the ending position on the centroid position can be determined according to actual requirements, and independent variables are still required to be ensured in curve parameters after the constraint is added; when the sampling time points are selected, sampling can be carried out at any position of the centroid position track, the more the number of the sampling time points is, the more reasonable the distribution is, the more reliable the obtained centroid movement track is, but the larger the size of the quadratic programming problem is, the longer the solving time is. In addition, the distance corresponding to the sampling time point in the third relational data can be determined through a plurality of sampling time points, the distance can comprise components in three directions of an x axis, a y axis and a z axis, and different weights can be selected according to actual conditions; besides the ground acting force and the curve oscillation amplitude, the square sum of the acceleration, the square sum of the speed difference of adjacent points, the square sum of the acceleration difference and the like can be considered. Simplification of the friction cone: any N (N >4) pyramid inscribed in the friction cone can be used for approximation, the larger the value of N is, the more accurate the approximation of the real friction cone is, but the larger the size of the quadratic programming problem is, the longer the solving time is; position of contact point: the contact point is not limited to the contact point between the foot of the legged robot and the ground, and is also suitable for the contact condition between the body, the trunk, the upper limb and other parts of the robot and the environment; centroid position uncertainty constrained polyhedron: any polyhedron meeting the actual requirement can be adopted, the increase of the number of vertexes of the polyhedron can lead to the increase of the size of the quadratic programming problem, and the solving time is increased. Under the condition that the position of the center of mass in a certain single direction is determined and the change is negligible, reducing the dimension of the polyhedron into a parallel polygon; under the condition that the positions of the mass centers in a certain two directions are determined and the change is negligible, the dimension of the polyhedron can be reduced into a straight line; when the positions of the three directional centroids are determined and the change is negligible, the dimension can be reduced to a point.
As shown in fig. 7, the legged robot is configured with 4 legs, and the legged robot moves from an initial position to an end position according to a determined centroid moving trajectory 701.
As shown in fig. 8, the trajectory of the centroid position is generated once per half the stepping cycle for a legged robot whose centroid position, centroid velocity and centroid acceleration are plotted as a function of interval duration. The two curves in each graph represent centroid position curves with the centroid position p (t) contained therein having interval durations t raised to the highest powers of 3 and 6, respectively. The foot type robot is provided with 4 feet, namely a right back foot, a right front foot, a left back foot and a left front foot, the stepping sequence of the foot type robot is to step the right back foot, the right front foot, the left back foot and the left front foot, and each half stepping cycle can be to step the right back foot and the right front foot or to step the left back foot and the left front foot. The legged robot repeatedly performs a stepping process of a plurality of legs in a stepping order, thereby moving the legged robot. As can be seen from fig. 8, the centroid position curves in which the interval duration t included in the centroid position p (t) is raised to the highest powers of 3 and 6, respectively, have small deviations, and therefore, it can be determined that the interval duration t included in the centroid position p (t) can be raised to the highest power of an arbitrary value.
As shown in fig. 9, the trajectory of the centroid position is generated once per stepping cycle for the legged robot, which is a graph of the centroid position, centroid velocity, and centroid acceleration as a function of the interval duration. The two curves in each graph represent centroid position curves with the centroid position p (t) contained therein having interval durations t raised to the highest powers of 3 and 6, respectively. The foot type robot is provided with 4 feet, namely a right back foot, a right front foot, a left back foot and a left front foot, the stepping sequence of the foot type robot is that the right back foot, the right front foot, the left back foot and the left front foot are stepped, and each stepping cycle can be that the right back foot, the right front foot, the left back foot and the left front foot are stepped. The legged robot repeatedly performs a stepping process of a plurality of legs in a stepping order, thereby moving the legged robot. As can be seen from fig. 9, the centroid position curves in which the interval duration t included in the centroid position p (t) is raised to the highest powers of 3 and 6, respectively, have small deviations, and therefore, it can be determined that the interval duration t included in the centroid position p (t) can be raised to the highest power of an arbitrary value.
As shown in fig. 10, when the highest power of the interval duration t included in the centroid position p (t) of the legged robot is 6, the first row of images represents a curve in which the centroid position trajectory is generated once every half stepping cycle of the legged robot, and the total moment and the omitted moment of the legged robot vary with the interval duration; the second row of images represent curves that the center of mass position track is generated once in each stepping cycle of the foot type robot, and the total moment and the omitted moment of the foot type robot change along with the interval duration; as can be seen from fig. 10, the omitted moment portion is close to 0 when determining the centroid position in the above embodiment, which indicates that the moment portion is negligible.
As shown in fig. 11, the legged robot determines the centroid position according to the method for determining the centroid position in the above embodiment, and the centroid position determined for the legged robot and the real centroid position of the legged robot vary with the interval duration. In fig. 11, the first row of images shows a graph in which the centroid position changes with the interval duration when the legged robot moves at a slow speed, and the second row of images shows a graph in which the centroid position changes with the interval duration when the legged robot moves at a fast speed. As can be seen from fig. 11, by the centroid position determining method provided in the foregoing embodiment, the centroid position determined for the foot robot coincides with the true centroid position of the foot robot, so that the centroid position determining method provided in the embodiment of the present application is determined to be accurate.
The following embodiments create third relation data by a state data error between the second state data of the legged robot at the termination position and the predicted state data, and then determine the movement locus of the legged robot by the third relation data. Fig. 12 is a flowchart of a mass center position determining method according to an embodiment of the present application, applied to a legged robot, as shown in fig. 12, the method includes:
1201. second state data of the legged robot at the end position is acquired.
Wherein the second state data includes at least a target centroid position. Optionally, the target centroid position is represented in the form of coordinates in a coordinate system, or alternatively, in the form of a vector. For example, in the world coordinate system, the target centroid position of the legged robot is [20, 35, 80 ].
In one possible implementation, the second state data includes a target centroid position, and the step 1201 includes: when the foot type robot is at the termination position, the contact point position of at least one foot configured by the foot type robot and the ground is obtained, and the target mass center position is determined according to the contact point position of the at least one foot.
For example, the foot robot is a four-legged robot, and when the foot robot moves to the end position, and all four feet of the four-legged robot contact the ground, four contact positions at which the four feet contact the ground are acquired, and the target centroid position of the foot robot at the end position is determined based on the four contact positions.
The center of mass is the center of mass of the legged robot, the center of mass position is the position of the center of mass of the legged robot, and the target center of mass position is the position of the center of mass of the legged robot expected when the legged robot moves to the termination position.
The end position is the position that the foot robot will reach, at which time the foot robot does not reach the end position. The termination position is determined by the legged robot according to the environment in which the legged robot is located. Optionally, the legged robot acquires an environment image including a moving direction of the legged robot through a visual perception system, performs feature extraction on the environment image, determines a termination position of the legged robot, and determines a contact point position where at least one foot is in contact with the ground when the legged robot is at the termination position.
For example, the visual perception system includes a camera, and the legged robot captures an environment in a moving direction of the legged robot through the camera to obtain an environment image including the moving direction of the legged robot.
Optionally, the center positions of the plurality of contact positions are determined according to the contact positions of the plurality of feet of the legged robot and the ground, and the target centroid position is determined according to the height of the legged robot and the center positions.
For example, in a world coordinate system, a coordinate system of a right-hand rule is adopted, a moving direction of the legged robot is taken as an X axis, a direction perpendicular to the X axis on a left side of the legged robot is taken as a Y axis, and a direction perpendicular to a ground surface is taken as a Z axis, a center position of a plurality of contact positions is determined by contact positions of a plurality of feet of the legged robot, and a coordinate value of a target centroid position in the world coordinate system, that is, the target centroid position is determined by adding a coordinate value of the center position on the Z axis to a height value of the legged robot.
In one possible implementation, the second state data further includes a target centroid velocity, and the step 1201 further includes: acquiring initial state data of the legged robot at an initial position, wherein the initial state data at least comprises an initial centroid position; and determining the ratio of the distance between the target centroid position and the initial centroid position to the target moving time as the target centroid speed.
The initial position is the current position of the foot type robot, and the initial centroid position is the current position of the centroid of the foot type robot. The centroid velocity is a moving velocity of the centroid of the legged robot, and can be represented by a vector. The target centroid speed is a moving speed expected to be possessed by the centroid of the foot robot when the foot robot moves to the termination position.
And the distance between the target centroid position and the initial centroid position represents the distance moved by the centroid of the foot type robot in the process that the foot type robot moves from the initial position to the termination position. The target movement time period indicates a time period required for the legged robot to move from the initial position to the end position. Alternatively, the target movement time period is an arbitrary time period, for example, 2 seconds, 3 seconds, or the like. By the ratio of the distance to the target moving time, the speed of the foot robot moving from the initial position to the end position, namely the target centroid speed of the foot robot moving to the end position, can be determined. Optionally, the target centroid velocity is represented in the form of a vector.
For example, the centroid position of the legged robot is represented in a vector form, e.g., [1, 2, 3], where each element in the vector represents a coordinate value of the centroid of the legged robot on the x-axis, the y-axis and the z-axis of the coordinate system, respectively, and then the distance between the target centroid position and the initial centroid position is also represented in a vector form, which represents the displacement of the centroid of the legged robot on the x-axis, the y-axis and the z-axis, and the ratio between the distance and the target moving time is the component velocity of the target centroid velocity on the x-axis, the y-axis and the z-axis.
In one possible implementation, the second state data further includes a target centroid acceleration, the initial state data further includes an initial centroid velocity, and the step 1201 further includes: and determining the ratio of the difference between the target centroid speed and the initial centroid speed to the target moving time length as the target acceleration.
Wherein, the target centroid acceleration is the acceleration expected to be possessed by the centroid of the foot type robot when the foot type robot moves to the termination position. Optionally, the target centroid acceleration is represented in the form of a vector. The initial centroid velocity is indicative of the velocity of the centroid of the legged robot when the legged robot is in the initial position. Optionally, the initial centroid velocity is represented in the form of a vector.
The difference between the target centroid speed and the initial centroid speed indicates the variation of the centroid speed of the foot robot when the foot robot moves from the initial position to the end position, and the ratio of the variation of the centroid speed to the target moving time length, namely the variation of the centroid speed of the foot robot in unit time when the foot robot moves from the initial position to the end position, namely the target centroid acceleration when the foot robot moves to the end position.
In one possible implementation, the second state data at least includes a target centroid position, a target centroid velocity, and a target centroid acceleration, then the step 1201 includes: when the legged robot is at the termination position, the contact point position of at least one foot configured by the legged robot, which is contacted with the ground, is obtained, and the target centroid position is determined according to the contact point position of the at least one foot; acquiring initial state data of the legged robot at an initial position, wherein the initial state data at least comprises an initial centroid position, and determining the ratio of the distance between a target centroid position and the initial centroid position to the target movement time as a target centroid speed; and determining the ratio of the difference between the target centroid speed and the initial centroid speed to the target moving time length as the target acceleration.
1202. First relation data is created, the first relation data indicating a relation between the interval duration t and the centroid position p (t) of the legged robot.
The interval duration t indicates the duration of an interval between any time point in the process that the foot robot moves from the initial position to the termination position and the initial time point corresponding to the initial position. The centroid position p (t) indicates the centroid position of the legged robot at interval duration t. The first relation data comprises a first constant C with undetermined value, and the first constant C is used for representing the relation between the centroid position P (t) and the interval duration t. Optionally, the first constant C is represented in a vector form, or alternatively, in a matrix form.
In the legged robot, the first relation data is stored in the form of a descriptive sentence or a function.
In one possible implementation, this step 1202 includes: setting the first relationship data as: centroid position p (t) is the product of a first constant C and duration matrix E.
Wherein the duration matrix E is used to represent a matrix of interval durations t.
Optionally, the first relationship data satisfies the following relationship:
P(t)=Pinit+EC
wherein, PinitIs a first constant vector for representing the initial centroid position of the legged robot at the initial position.
In the moving process of the foot robot, the centroid position of the foot robot changes along with the moving interval time t, the centroid position after the arbitrary interval time t has a corresponding centroid position variation, the sum of the centroid position variation corresponding to the interval time t and the initial centroid position of the foot robot when the foot robot starts moving is used as the centroid position P (t) corresponding to the foot robot after the arbitrary interval time t, so that first relation data indicating the relation between the centroid position P (t) and the interval time t is determined, and the centroid moving track of the foot robot can be determined through the first relation data subsequently.
1203. And determining the predicted state data of the legged robot at the termination position according to the target moving time and the first relation data.
Since the first relation data is used for representing the centroid position of any time point in the process that the foot robot moves from the initial position to the end position, the target moving duration indicates the duration required by the foot robot to move from the initial position to the end position, and the predicted centroid position of the foot robot can be predicted when the foot robot moves to the end position according to the centroid trajectory indicated by the first relation data through the target moving duration and the first relation data. Because the first relation data comprises the first constant C with undetermined value, the obtained predicted centroid position is related to the first constant C with undetermined value.
In one possible implementation, predicting the state data includes predicting a centroid location, and step 1203 includes: and determining the predicted centroid position of the legged robot after the legged robot moves from the initial position for the target moving time according to the first relation data.
And the first relation data indicates the relation between the interval duration t and the centroid position P (t) of the foot type robot, the first relation data comprises a first constant C with undetermined value, the target moving duration is taken as the interval duration t and substituted into the first relation data to obtain the predicted centroid position of the foot type robot, and the predicted centroid position is related to the first constant C with undetermined value.
In one possible implementation, predicting the state data includes predicting a centroid velocity, and step 1203 includes: and according to the relation data between the interval duration t and the centroid speed of the foot type robot, determining the predicted centroid speed of the foot type robot after the initial position passes through the target moving duration.
The predicted centroid speed is the centroid speed of the foot type robot predicted through the first relation data when the foot type robot moves to the termination position, and the predicted centroid speed is related to a first constant C with an undetermined value.
Optionally, a first derivative of the first relation data to the interval duration t is obtained, relation data between the interval duration t and the centroid speed of the legged robot is obtained, and the target moving duration is substituted into the relation data to obtain the predicted centroid speed.
In one possible implementation, predicting the state data includes predicting a centroid acceleration, and step 1203 includes: and according to the relation data between the interval time t and the centroid acceleration of the foot type robot, determining the predicted centroid acceleration of the foot type robot after the initial position passes through the target moving time.
The predicted centroid acceleration is the centroid acceleration of the foot type robot predicted through the first relation data when the foot type robot moves to the end position, and the predicted centroid acceleration is related to a first constant C with an undetermined value.
Optionally, a second derivative of the first relation data to the interval duration t is obtained, relation data between the interval duration t and the centroid acceleration of the legged robot is obtained, and the target moving duration is substituted into the relation data to obtain the predicted centroid acceleration.
In one possible implementation, the predicted state data at least includes a predicted centroid position, a predicted centroid velocity, and a predicted centroid acceleration, then step 1203 includes: determining a predicted centroid position of the legged robot after the legged robot moves from the initial position for a target moving time according to the first relation data; according to the first relation data, establishing relation data between the interval duration t and the mass center speed of the foot type robot, and according to the relation data between the interval duration t and the mass center speed of the foot type robot, determining the predicted mass center speed of the foot type robot after the initial position passes through the target moving duration; and according to the relation data between the interval time t and the centroid acceleration of the foot type robot, determining the predicted centroid acceleration of the foot type robot after the initial position passes through the target moving time.
1204. Second relationship data corresponding to at least one foot of the legged robot configuration is created.
Wherein the second relation data corresponding to at least one foot respectively indicate the acting force f corresponding to at least one footiRelation to position of centre of mass P (t), force fiAnd indicating the acting force applied to the ith foot of the foot type robot when the ith foot is in contact with the ground, wherein i is a positive integer, and the second relation data comprises a first constant C with an undetermined value. In the legged robot, the second relation data is stored in the form of descriptive sentences or in the form of functions.
In one possible implementation, this step 1204 includes: and creating sixth relational data, creating seventh relational data, and creating second relational data corresponding to at least one foot according to the sixth relational data and the seventh relational data.
Wherein the sixth relation data indicates a relation between an angular momentum L of the foot robot, which is used to represent a change in the attitude of the foot robot, and the interval duration t. The seventh relationship data indicates an applied force f corresponding to at least one footi(L) a positive correlation with the angular momentum L. The seventh relational data is used for representing that the acting force corresponding to at least one foot of the foot type robot is influenced by the posture of the foot type robot. Determining the acting force f on the contact of at least one foot of the foot type robot and the ground through the created sixth relation data and the seventh relation dataiAnd the interval duration t.
In the legged robot, the sixth relational data and the seventh relational data are stored in the form of descriptive sentences or in the form of functions.
1205. Third relationship data is created based on a state data error between the second state data and the predicted state data.
Wherein the third correlation coefficient data indicates the error between the target value J and the state data and the acting force f applied by at least one foot contacting with the groundiIs determined by the positive correlation between the squares of (a). Since the predicted centroid position is related to the first constant C, the state data error is also related to the first constant C, and therefore, the target value J is related to the first constant C, that is, the third correlation data includes the first constant C whose value is not determined. In the legged robot, the third correlation data is stored in the form of descriptive sentences or in the form of functions.
In one possible implementation, each force f is determinediThe square of the product of the weight and the corresponding weight, the acting force f corresponding to at least one footiThe sum of the squares of the corresponding force f corresponding to the at least one footiWeighted sum of squares of (a). Optionally, each force fiCorrespond toThe weight of (c) is arbitrarily set.
Optionally, the acting force f received by at least one foot of the foot robot contacting with the groundiIncluded Andthe acting forceIs acting force fiComponent in the x-axis, the forceIs acting force fiComponent in the y-axis, the forceIs acting force fiComponent force in z-axis, i-th foot of the foot robot contacting with the ground, corresponding acting force fiSatisfies the following relationship:
wherein, FiRepresents the corresponding acting force f of the ith footiWeighted square of a1、a2、a3Respectively represent the acting force f corresponding to the ith footiWeight in x, y, z axes, a1、a2、a3Is an arbitrary first constant, a1、a2、a3The values of (A) may be the same or different. In addition, for different forces, a1May be the same or different, a2May be the same or different, a3May be the same or different.
Optionally, the acting force f corresponding to at least one foot of the foot type robot contacting with the groundiIs equal to the weighted square F corresponding to at least one footiAnd (4) summing.
In one possible implementation, the second state data includes a target centroid position, and the predicted state data includes a predicted centroid position; this step 1205 includes: determining a first difference between the target centroid position and the predicted centroid position, setting a target value J to an applied force f corresponding to at least one footiAnd the sum of the squares of the first differences.
Wherein the first difference is indicative of a difference between the target centroid position and the predicted centroid position of the legged robot at the termination position. Since the predicted centroid position is related to the first constant C, the first difference is related to the first constant C, and the target value J is set to the acting force f corresponding to at least one footiThe target value J is related to the quadratic term of the first constant C after the sum of the squares of the first difference. Optionally, when the first constant C includes a plurality of constant terms, the quadratic term of the first constant C includes a quadratic constant term composed of the plurality of constant terms, that is, a square of each constant term or a product of any two constant terms. For example, the first constant C includes a constant term Cx、CyAnd CzThen the quadratic term of the first constant C includesCxCy、CxCz、CyCzAnd (4) equality of a quadratic constant term.
Optionally, a distance between the target centroid position and the predicted centroid position is determined as the first difference.
Alternatively, the target centroid position and the predicted centroid position are both expressed in terms of coordinates, and the first difference value is also expressed in terms of coordinates. The target centroid position comprises first coordinate values on x, y and z axes, the predicted centroid position comprises second coordinate values on the x, y and z axes, differences between the first coordinate values and the second coordinate values on the x, y and z axes are determined to obtain first differences, the first differences comprise differences on the x, y and z axes, and the weighted square sum of the differences of the first differences on the x, y and z axes is used as the square of the first differences. Optionally, the weights corresponding to the x, y and z axes are set arbitrarily.
In one possible implementation, the second state data includes a target centroid velocity and the predicted state data includes a predicted centroid velocity, step 1205 includes: determining a third difference between the target centroid velocity and the predicted centroid velocity, setting the target value J to the applied force f corresponding to at least one footiAnd the sum of the squares of the third differences.
Wherein the third difference is indicative of a difference between the target centroid velocity and the predicted centroid velocity of the legged robot when the legged robot is in the terminal position. Since the predicted centroid velocity is related to the first constant C, the third difference is related to the first constant C, and the target value J is set to the applied force f corresponding to at least one footiThe target value J is related to the quadratic term of the first constant C after the sum of the weighted squares of the third difference and the third difference. Optionally, when the first constant C includes a plurality of constant terms, the quadratic term of the first constant C includes a quadratic constant term composed of the plurality of constant terms, that is, a square of each constant term or a product of any two constant terms. For example, the first constant C includes a constant term Cx、CyAnd CzThen the quadratic term of the first constant C includesCxCy、CxCz、CyCzAnd (4) equality of a quadratic constant term.
Alternatively, the target centroid velocity and the predicted centroid velocity are both expressed in terms of coordinates, and the third difference is also expressed in terms of coordinates. The target centroid speed comprises first partial speeds on x, y and z axes, the predicted centroid speed comprises second partial speeds on the x, y and z axes, speed difference values of the first partial speed and the second partial speed on the x, y and z axes are determined to obtain a third difference value, the third difference value comprises speed difference values on the x, y and z axes, and the weighted square sum of the speed difference values of the third difference value on the x, y and z axes is used as the weighted square of the third difference value. The weights corresponding to the x, y and z axes are set arbitrarily.
In one possible implementation, the second state data includes a target centroid acceleration, the predicted state data includes a predicted centroid acceleration, and step 1205 includes: determining a second difference between the target centroid acceleration and the predicted centroid acceleration; setting the target value J to the force f corresponding to at least one footiAnd the sum of the squares of the second differences.
Wherein the second difference is indicative of a difference between the target centroid acceleration and the predicted centroid acceleration of the legged robot when the legged robot is in the terminal position. Since the predicted centroid acceleration is related to the first constant C and the second difference is related to the first constant C, the target value J is set to the acting force f corresponding to at least one footiThe target value J is related to the quadratic term of the first constant C after the sum of the weighted squares of the third difference and the third difference. Optionally, when the first constant C includes a plurality of constant terms, the quadratic term of the first constant C includes a quadratic constant term composed of the plurality of constant terms, that is, a square of each constant term or a product of any two constant terms. For example, the first constant C includes a constant term Cx、CyAnd CzThen the quadratic term of the first constant C includesCxCy、CxCz、CyCzAnd (4) equality of a quadratic constant term.
Alternatively, the target centroid acceleration and the predicted centroid acceleration are both expressed in the form of coordinates, and the second difference is also expressed in the form of coordinates. The target centroid acceleration comprises first partial accelerations on x, y and z axes, the predicted centroid acceleration comprises second partial accelerations on the x, y and z axes, acceleration difference values of the first partial accelerations and the second partial accelerations on the x, y and z axes are determined to obtain second difference values, the second difference values comprise acceleration difference values on the x, y and z axes, and the weighted square sum of the acceleration difference values of the second difference values on the x, y and z axes is used as the weighted square of the second difference values. The weights corresponding to the x, y and z axes are set arbitrarily.
It should be noted that, the three possible implementations of the step 1205 are only described in which the state data includes a centroid position, a centroid velocity, or a centroid acceleration, respectively, and in addition, any two of the three possible implementations can be combined, or three possible implementations can be combined.
When the state data error comprises a first difference and a second difference in any two possible implementation manners, the target value J is set to be the acting force f corresponding to at least one footiAnd the sum of the weighted sum of squares of the first difference and the second difference; or, the state data error comprises a first difference and a third difference, the target value J is set to the acting force f corresponding to at least one footiAnd the sum of the weighted sum of squares of the first difference and the third difference; or, the state data error comprises a second difference and a third difference, the target value J is set to the acting force f corresponding to at least one footiAnd the sum of the weighted sums of squares of the second difference and the third difference. Wherein the weight between any two difference values included in the status data error is arbitrarily set.
When the three possible implementations are combined, i.e. the state data error comprises a first difference, a second difference and a third difference, the target value J is set to the acting force f corresponding to at least one footiAnd the sum of the weighted sums of squares of the first difference, the second difference, and the third difference. Alternatively, the weights between the first difference, the second difference, and the third difference are arbitrarily set. And after determining the weighted square of the first difference, the weighted square of the second difference and the weighted square of the third difference, taking the sum of the weighted squares of the first difference, the weighted square of the second difference and the weighted square of the third difference as the weighted sum of the squares of the first difference, the second difference and the third difference.
In one possible implementation, the step 1205 includes the following steps 12051-12053:
12051. and selecting a plurality of sampling time points in the target moving time length.
The sampling time point is a time point between an initial time point corresponding to the initial position and a target time point corresponding to the end position. The plurality of sampling time points includes two or more sampling time points. The time intervals between any two adjacent sampling time points may be equal or unequal.
For example, the moving duration is 60 seconds, the initial time point corresponding to the initial position is 0 second, the target time point corresponding to the end position is 60 seconds, 5 sampling time points are selected from the moving duration, the first sampling time point is 10 seconds, the second sampling time point is 20 seconds, the third sampling time point is 120 seconds, the fourth sampling time point is 40 seconds, and the fifth sampling time point is 50 seconds; alternatively, the first sampling time point is 5 seconds, the second sampling time point is 20 seconds, the third sampling time point is 25 seconds, the fourth sampling time point is 40 seconds, and the fifth sampling time point is 55 seconds.
In one possible implementation, this step 12051 may include: the moving time length is divided into a plurality of time segments, and the ending time point of each time segment is taken as a sampling time point. Wherein, the obtained time periods may be equal or unequal.
12052. And determining fourth relation data corresponding to each sampling time point according to the interval duration between each sampling time point and the initial time point and the first relation data.
Wherein the fourth relationship data indicates a relationship between the first constant C and a sampling centroid position q (C) indicating a centroid position of the legged robot at the corresponding sampling time point. In the legged robot, the fourth relational data is stored in the form of descriptive sentences or in the form of functions.
Because the first relation data indicates that the centroid position P (t) is the product of the first constant C and the duration matrix E, the interval duration between any sampling time point and the initial time point is substituted into the duration matrix E in the first relation data, the value of the duration matrix E at any sampling time point is determined, and fourth relation data corresponding to the sampling time point is obtained, wherein the fourth relation data indicates the relation between the first constant C and the sampling centroid position Q (C). The value of the first constant C included in the fourth relational data is not determined, and the values of other first constants included in the fourth relational data are determined.
12053. And creating third relation data according to the state data error and the fourth relation data.
Wherein the third correlation coefficient data indicates the acting force f corresponding to at least one foot corresponding to the target value J and each sampling time pointiThe square of (c), the state data error, and the sampling centroid position q (c).
In one possible implementation, the second state data includes a target centroid position, and the predicted state data includes a predicted centroid position; this step 12053 includes: a first difference between the target centroid position and the predicted centroid position is determined, and a target value J is set as a sum of the first value, the second value, and the third value.
Wherein the first value is a square of the first difference and the second value is a weighted sum of squares of the plurality of distances. The plurality of distances comprise an initial centroid position of the initial position, a plurality of sampling centroid positions and a distance between any two adjacent centroid positions in the predicted centroid positions, and the third value is an acting force f corresponding to at least one foot corresponding to each sampling time pointiWeighted sum of squares of (a). Alternatively, the weight sum of each distance is set arbitrarily. And determining a square value of the product of each distance and the corresponding weight, and taking the sum of the square values corresponding to the plurality of distances as a weighted square sum of the plurality of distances. The length of the centroid trajectory can be reflected through the weighted square sum of the distances, and the oscillation amplitude of the centroid trajectory curve can be reduced.
Since the plurality of sampling positions and the predicted centroid position are both related to a first constant C, the first difference and the plurality of distances are both related to the first constant C, the first value is a square of the first difference, the second value is a weighted sum of squares of the plurality of distances, and the first value is a weighted sum of squares of the plurality of distancesThe value and the second value are both related to the quadratic term of the first constant C, and the target value J is related to the quadratic term of the first constant C after the target value J is set to the sum of the first value, the second value and the third value. Optionally, when the first constant C includes a plurality of first constant terms, the quadratic term of the first constant C includes a quadratic first constant term composed of the plurality of first constant terms, that is, a square of each first constant term or a product of any two first constant terms. For example, the first constant C includes a first constant term Cx、CyAnd CzThen the quadratic term of the first constant C includesCxCy、CxCz、CyCzThe first constant term is equated two times.
In one possible implementation, the second state data includes a target centroid velocity, the predicted state data includes a predicted centroid velocity, and step 12053 includes: and determining a third difference value between the target centroid speed and the predicted centroid speed, and setting the target value J as the sum of the second value, the third value and the fifth value.
Wherein the fifth value is the square of the third difference, the second value is the weighted sum of squares of the plurality of distances, and the third value is the acting force f corresponding to at least one foot corresponding to each sampling time pointiWeighted sum of squares of (a).
Since the plurality of sampling positions and the predicted centroid velocity are both related to the first constant C, the third difference and the plurality of distances are both related to the first constant C, the fifth value is a square of the third difference, the second value is a weighted sum of squares of the plurality of distances, the fifth value and the second value are both related to a quadratic term of the first constant C, and the target value J is related to the quadratic term of the first constant C after the target value J is set to a sum of the second value, the third value, and the fifth value. Optionally, when the first constant C includes a plurality of first constant terms, the quadratic term of the first constant C includes a quadratic first constant term composed of the plurality of first constant terms, that is, a square of each first constant term or a product of any two first constant terms. Example (b)E.g., the first constant C includes a first constant term Cx、CyAnd CzThen the quadratic term of the first constant C includesCxCy、CxCz、CyCzThe first constant term is equated two times.
In one possible implementation, the second state data includes a target centroid acceleration, the predicted state data includes a predicted centroid acceleration, and step 12053 includes: and determining a second difference value between the target centroid acceleration and the predicted centroid acceleration, and setting the target value J as a sum of the second value, the third value and the fourth value.
Wherein the fourth value is the square of the second difference, the second value is the weighted sum of squares of the plurality of distances, and the third value is the acting force f corresponding to at least one foot corresponding to each sampling time pointiWeighted sum of squares of (a).
Since the plurality of sampling positions and the predicted centroid acceleration are both related to the first constant C, the second difference and the plurality of distances are both related to the first constant C, the fourth value is the square of the second difference, the second value is the weighted sum of squares of the plurality of distances, the fourth value and the second value are both related to the quadratic term of the first constant C, and the target value J is related to the quadratic term of the first constant C after the target value J is set to the sum of the second value, the third value and the fourth value. Optionally, when the first constant C includes a plurality of first constant terms, the quadratic term of the first constant C includes a quadratic first constant term composed of the plurality of first constant terms, that is, a square of each first constant term or a product of any two first constant terms. For example, the first constant C includes a first constant term Cx、CyAnd CzThen the quadratic term of the first constant C includesCxCy、CxCz、CyCzThe first constant term is equated two times.
It should be noted that, the three possible implementations of the step 12053 are only described in which the state data includes the centroid position, the centroid velocity, or the centroid acceleration, respectively, and in addition, any two of the three possible implementations may be combined, or three possible implementations may be combined.
When any two modes are combined, if the state data error comprises a first difference and a second difference, setting the target value J as the weighted square sum of the first difference and the second difference and the sum of the second value and a third value; or, if the state data error includes the first difference and the third difference, setting the target value J as a weighted sum of squares of the first difference and the third difference, and a sum of the second value and the third value; or, the state data error includes a second difference and a third difference, the target value J is set to a weighted sum of squares of the second difference and the third difference, and a sum of the second value and the third value. Wherein the weight between any two difference values included in the status data error is arbitrarily set.
When the three possible implementations described above are combined, i.e., the state data error includes a first difference, a second difference, and a third difference, the target value J is set to be a weighted sum of squares of the first difference, the second difference, and the third difference, and a sum of the second value and the third value.
Optionally, the weights of the first difference, the third difference and the second difference are set arbitrarily. And determining a square value of the product of the first difference value and the corresponding weight, a square value of the product of the third difference value and the corresponding weight, and a square value of the product of the second difference value and the corresponding weight, and taking the sum of the square value corresponding to the first difference value, the square value corresponding to the third difference value and the square value corresponding to the second difference value as the weighted square sum of the first difference value, the third difference value and the second difference value.
1206. And creating eighth relation data, ninth relation data and tenth relation data according to the first relation data and the initial time point.
Wherein the eighth relationship data indicates a relationship between an initial centroid position of the legged robot at the initial position and a first constant C, the ninth relationship data indicates a relationship between an initial centroid velocity of the legged robot at the initial position and the first constant C, and the tenth relationship data indicates a relationship between an initial centroid acceleration of the legged robot at the initial position and the first constant C. In the legged robot, the eighth relational data, the ninth relational data, and the tenth relational data are stored in the form of descriptive sentences or in the form of functions.
In one possible implementation, this step 1206 includes: substituting the initial time point into the first relational data to obtain eighth relational data; acquiring a first derivative of the first relation data to the interval duration t, and substituting the initial time point into the acquired first derivative relation data to acquire ninth relation data; and acquiring a second derivative of the first relation data to the interval duration t, and substituting the initial time point into the acquired second derivative relation data to acquire tenth relation data.
1207. And determining the value of the first constant C when the target value J is the minimum value according to the eighth relation data, the ninth relation data, the tenth relation data, the second relation data and the third relation data.
And under the condition that the first constant C meets the eighth relation data, the ninth relation data, the tenth relation data and the second relation data, determining the value of the first constant C when the target value J is the minimum value, so that the initial state data of the foot type robot at the initial position meets the first relation data corresponding to the first constant C with the determined value, and in the initial position, the acting force corresponding to at least one foot meets the second relation data, so that the accuracy of the determined value of the first constant C is ensured.
In one possible implementation manner, a friction force constraint condition is created, where the friction force constraint condition indicates a friction force constraint condition that is satisfied by an acting force applied by at least one foot of the legged robot contacting with the ground, and the friction force constraint condition includes a first constant C whose value is not determined, and in a case where the friction force constraint condition is satisfied, a value of the first constant C is determined when the target value J is a minimum value according to the eighth relationship data, the ninth relationship data, the tenth relationship data, the second relationship data, and the third relationship data.
It should be noted that, the present application is described by determining the value of the first constant C when the target value J is the minimum value through the eighth relationship data, the ninth relationship data, the tenth relationship data, the second relationship data and the third relationship data, but in another embodiment, the step 1206 and 1207 need not be executed, and the value of the first constant C when the target value J is the minimum value can be determined according to the second relationship data and the third relationship data in other manners.
1208. And acquiring first relation data corresponding to the first constant C with the determined value.
After the value of the first constant C is determined, substituting the first constant C with the determined value into the first relation data, and indicating the centroid position P (t) by the first relation data0) And the relation with the interval duration t, and the first relation data does not include other first constants with undetermined values except the interval duration t. Therefore, the first relation data corresponding to the first constant C with the determined value can represent the centroid trajectory of the legged robot.
1209. In the moving process of the foot type robot, determining the time length t of the foot type robot at any interval according to the first relation data0Centroid position of time P (t)0)。
This step is similar to step 311 described above and will not be described herein.
1210. According to the centroid position P (t)0) And a termination position for determining joint torques of a plurality of joints of the legged robot.
This step is similar to step 312, and will not be described herein again.
1211. And controlling the joints to rotate according to the joint torques of the joints to drive the foot type robot to move.
This step is similar to step 313 described above and will not be described further herein.
It should be noted that, in the embodiment of the present application, a moving process of the legged robot from the starting position to the ending position is described, but in another embodiment, after the legged robot reaches the ending position, the legged robot may further continue to perform the next moving process, and the ending position of the previous moving process is taken as the starting position of the next moving process, and the above-mentioned steps 1201 and 1211 are performed to move the legged robot to the ending position of the next process, thereby implementing a plurality of continuous moving processes of the legged robot.
In one possible implementation, the end position of the last moving process is used as the end position of the legged robot, after determining the end position of the legged robot in the current moving process, whether the end position coincides with the end position is detected, in response to the end position not coinciding with the end position, first state data is set for the end position, and in response to the end position coinciding with the end position, second state data is set for the end position.
It should be noted that the embodiment of the present application is described with the foot robot as the executing subject, and in another embodiment, the above steps 1201-1211 are executed by the server according to the centroid position P (t)0) And the termination position is used for determining joint torques of a plurality of joints of the foot type robot, sending a movement instruction to the foot type robot, wherein the movement instruction carries the joint torques of the plurality of joints, and the foot type robot controls the plurality of joints to rotate according to the joint torques of the plurality of joints to drive the foot type robot to move.
In one possible implementation manner, the server establishes communication connection with a plurality of joints of the foot robot, the server sends rotation instructions to the plurality of joints of the foot robot according to the determined joint torques of the plurality of joints, the rotation instructions carry the joint torques of the corresponding joints, and the rotation instructions received by the plurality of joints of the foot robot rotate according to the corresponding joint torques to drive the foot robot to move.
It should be noted that, in the embodiment of the present application, the foot robot is described as an execution subject, and in another embodiment, the steps 1201-1208 are executed by the server, after the server acquires the first relationship data corresponding to the first constant C whose value is determined, the first relationship data corresponding to the first constant C whose value is determined is sent to the foot robot, and the foot robot executes the steps 1209-1211, thereby controlling the movement of the foot robot.
According to the method provided by the embodiment of the application, the state of each joint of the foot robot is not required to be detected, the predicted state data of the foot robot at the termination position is predicted through the first relation data, then the first constant C in the first relation data is determined by minimizing the state data error between the predicted state data and the expected target state data, so that the difference between the predicted state data and the second state data is minimized, the accuracy of the value of the first constant C is ensured, and the corresponding centroid track is determined according to the first constant C determined by the value, so that the accuracy of the centroid track of the foot robot is improved, the method can be applied to the foot robot with any number of feet, and the application range is wide.
By creating the second relation data, the acting force applied by at least one foot configured by the foot type robot when the foot is contacted with the ground is considered, the accuracy of the centroid track of the foot type robot is improved, the foot type robot can move according to the determined centroid track, the feasibility and the efficiency of the determined centroid track are ensured, and the diversity and the universality of the determined centroid track are also ensured.
The above embodiments relate to the first relationship data, the second relationship data and the third relationship data, and on the basis of the above embodiments, the following embodiments will describe the creation processes of the above three relationship data in detail:
first, a process of creating the first relational data in the embodiment of the present application is similar to a process of creating the first relational data in the previous embodiment, and is not described herein again.
Second, a process of creating second relationship data:
1. based on the process of creating the second relationship data according to the above embodiment, the relationship data between the acting force applied to at least one foot of the legged robot and the centroid position p (t) of the legged robot can be expressed by the following function:
wherein G is a constant matrix, the constant matrixThe constant matrix G is represented as a matrix of 6 rows and 3Y columns,a set of real numbers representing a multi-dimensional space; f. of0The system is used for representing the sum of the acting forces of at least one foot of the legged robot in contact with the ground; m represents the mass of the legged robot; ptRepresenting the mass center position variation of the mass center position of the foot type robot after the interval duration t from the initial time point of the planning period;representing the amount of change P in the position of the center of masstA second derivative of the interval duration t; the P isinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period,is a constant vector PinitA skew-symmetric matrix of (a); g represents the acceleration of the gravity,a column vector representing 3 dimensions of the gravitational acceleration g;an oblique symmetric matrix representing the acceleration of gravity g,a skew symmetric matrix representing the amount of change in the centroid position; l represents angular momentum of the legged robotA column vector representing 3 dimensions of angular momentum L,representing the first derivative of the angular momentum L over the interval duration t.
2. Second relation data is created from relation data between the acting force to which at least one foot of the legged robot is subjected and the position of the centre of mass p (t) of the legged robot.
Because the mass center position variation satisfies the relationIn the above-mentioned relation data between the acting force applied to at least one foot of the legged robot and the position p (t) of the center of mass of the legged robot,the following relationship is satisfied:
wherein,representing the amount of change P in the position of the center of masstThe component in the plane formed by the x and y axes,the corresponding z coordinate is 0;representing the amount of change P in the position of the center of masstA component in the z-axis;the corresponding x and y coordinates are 0;representing the amount of change P in the position of the center of masstA skew-symmetric matrix of components in a plane formed by the x and y axes;representing the amount of change P in the position of the center of masstThe second derivative of the component on the plane formed by the axes x and y to the interval duration t also represents the component of the centroid acceleration on the plane formed by the axes x and y;representing the amount of change P in the position of the center of masstThe second derivative of the component in the z-axis to the interval duration t also represents the component of the centroid acceleration in the z-axis;representing the amount of change P in the position of the center of masstA diagonally symmetric matrix of components in the z-axis;indicating the moment about the Z-axis,indicating a moment in a certain direction in the xy-plane. Due to the fact thatAndco-linear, thenIs 0.
Since the motion of the legged robot in the z-axis direction is stable and the amount of change is small during the motion of the legged robot, the amount of change in the above relational expression can be ignored Andis small and can be ignored, at least one foot of the foot type robot receives the acting force and the mass center position P (t) of the foot type robotCan be omitted.
Considering the attitude of the legged robot at the initial time point in a planning period asThe attitude of the legged robot at the end point in time isThe attitude change of the legged robot in the planning cycle isThe attitude change can be expressed as the attitude of the legged robot from an initial point in timeAngle of rotation gamma about unit axisGet the attitude of the end time point as
wherein,and Δ R are matrices of 3 rows and 3 columns; Δ RijThe element in the ith row and the jth column in the attitude change delta R, wherein the value of i is 1, 2 or 3; j takes the value 1, 2 or 3; sin (·) is used to represent a sine function; cos (-) is used to represent the cosine function.
According to a curve interpolation method, curve difference calculation is carried out on the rotation angle theta to obtain relation data theta (t) between the rotation angle theta and the interval time t, and the relation data theta (t) meets the following relation:
wherein, tsDenotes the initial point in time, teIndicates the end time point, θ (t)s) 0 indicates that the rotation angle θ of the legged robot is 0 at the initial time point;representing that the angular velocity of the legged robot is 0 at an initial time point;indicates that the robot has a rotation angle at the end time point of the robotTheIs a constant;indicating that the angular velocity of the legged robot is 0 at the end time point.
Creating relation data R (t) between the posture of the foot robot and the interval duration t through the relation data theta (t), wherein the relation data R (t) satisfies the following relation:
wherein, I represents a 3-row and 3-column unit matrix; sin (·) is used to represent a sine function; cos (-) is used to represent a cosine function; theta (t) is used for expressing the relation between the rotation angle theta of the foot type robot and the interval time t; gamma represents a unit axis around which the posture of the legged robot changes;is an oblique symmetric matrix of the unit axis gamma;representing the pose of the legged robot at the initial point in time.
By the relation data r (t), relation data between the variation of the angular momentum corresponding to the foot robot and the interval duration t is created, and the relation data between the variation of the angular momentum corresponding to the foot robot and the interval duration t satisfies the following relation:
wherein, I0Representing the moment of inertia of the legged robot about the center of mass; gamma represents a unit axis around which the posture of the legged robot changes; theta (t) is used for expressing the relation between the rotation angle theta of the foot type robot and the interval time t;the device is used for expressing the relation between the angular speed of the foot type robot rotating around the unit axis and the interval duration t;which is used to express the relationship between the angular acceleration of the legged robot rotating around the unit axis and the interval duration t.
Then the relation data between the acting force received by at least one foot of the foot type robot and the centroid position P (t) of the foot type robot is transformed, and the relation data between the acting force received by at least one foot of the foot type robot and the centroid position P (t) of the foot type robot after transformation satisfies the following relation:
Gf0≈H0X′t-Wg
wherein G is a constant matrix, the constant matrixThe constant matrix G is represented as a matrix of 6 rows and 3Y columns,a set of real numbers representing a multi-dimensional space; f. of0The system is used for representing the sum of the acting forces of at least one foot of the legged robot in contact with the ground; h0Is a constant matrix; wgIs a constant vector; x'tRepresenting the amount of change P in the position of the center of masstAnd acceleration of center of massA set of variance; m represents the mass of the legged robot; z'3×3An identity matrix of 3 rows and 3 columns; the P isinitIs a constant vector and is used for representing the initial centroid position of the legged robot at the beginning of any moving period;is a constant vector PinitA skew-symmetric matrix of (a); g represents the acceleration of the gravity,a column vector representing 3 dimensions of the gravitational acceleration g;an oblique symmetric matrix representing the gravitational acceleration g.
The centroid acceleration corresponding to the first relation data and the centroid position P (t)Substituting the relation data with the interval duration t into the relation data between the acting force applied to at least one foot of the foot type robot after transformation and the centroid position P (t) of the foot type robot to obtain second relation data, wherein the second relation data satisfies the following relation:
Gf0≈HC-Wg
where G is a constant matrix, f0The system is used for representing the sum of the acting forces of at least one foot of the legged robot in contact with the ground; h denotes a coefficient matrix with respect to the interval duration t; c is a constant matrix; wgIs a constant vector; h0Is a constant matrix; etRepresenting a duration vector; eaRepresenting a time matrix by a duration vector EtObtained by taking the 2 nd derivative of the interval duration t,represents a time matrix EaA row vector of 4 dimensions; t denotes the transpose of the vector.
Third, the process of creating third relational data:
and creating third relation data according to the friction force constraint of the legged robot, the fourth relation data and the first relation data.
During the movement of the foot robot, the foot robot is constrained by friction: in the foot type robotThe friction force received by the foot contacting with the ground is more than 0, and the friction force received by the foot is not less than the acting force f received by the foot contacting with the groundiThe component force in the direction of the friction force avoids the relative sliding between the foot and the ground, thereby ensuring that the foot type robot can move normally. Acting force f corresponding to at least one foot of foot type robotiAll are restrained by friction force, and satisfy the following relations:
N′i=-[μini-oi μini+oi μini-ti μini+ti]
wherein, N'iThe vector matrix represents the contact point of the ith foot of the legged robot in contact with the ground; n isiIs the normal vector of the contact point of the ith foot of the legged robot and the ground,represents a normal vector niIs a column vector of 3 dimensions and,a set of real numbers representing a multi-dimensional space; oi、tiTwo tangent vectors on a plane perpendicular to the normal vector of the contact point of the ith foot of the legged robot with the ground, i.e., tangent vector oiAnd tangent vector tiThe two-dimensional orthogonal transmission line is orthogonal,represents tangent vector oiAnd the tangent vector tiColumn vectors of 3 dimensions each; t denotes the transpose of the vector, μiThe friction coefficient between the ith foot and the ground of the foot type robot.
The first contact with the ground in the foot robot is because the foot robot is restrained by friction force during the moving process of the foot robotThe direction of the acting force received by the contact of the i feet and the ground is in a cone, the contact point of the i foot and the ground is the vertex of the cone, and the connecting line from the vertex to any point of the base circle of the cone in the cone can be used as the acting force f received by the contact of the i foot and the groundiIn the direction of (a). In order to avoid introducing non-linear constraint, the cone is approximately in the shape of a rectangular pyramid, and the force f applied to the contact of the ith foot and the groundiThe following relationship is satisfied:
wherein, muiIs the coefficient of friction; n isiIs the normal vector of the contact point of the ith foot of the legged robot and the ground,represents a normal vector niIs a column vector of 3 dimensions and,a set of real numbers representing a multi-dimensional space; oi、tiTwo tangent vectors on a plane perpendicular to the normal vector of the contact point of the ith foot of the legged robot with the ground, i.e., tangent vector oiAnd tangent vector tiThe two-dimensional orthogonal transmission line is orthogonal,represents tangent vector oiAnd the tangent vector tiColumn vectors of 3 dimensions each; t denotes the transpose of the vector;represents the minimum value of the acting force of the ith foot of the foot type robot contacting with the ground in the normal direction,represents the maximum value of the acting force of the ith foot of the foot type robot contacting with the ground in the normal direction,are all larger than 0, and are all larger than 0, can be any value set.Normal vectors for representing the four sides of a rectangular pyramid.
By the above relational expression, the acting force f received by the contact between the ith foot of the foot type robot and the groundiThe restraint of component force on four sides of the rectangular pyramid and the acting force f applied to the contact between the ith foot of the legged robot and the groundiThe normal component force is restrained, so that the ith foot of the legged robot is contacted with the ground to receive the acting force fiIs limited to a rectangular pyramid.
When the foot type robot moves and is at any position, acting forces corresponding to all feet of the foot type robot are restrained by friction force to satisfy the following relations:
NTf0≤0
wherein N represents a vector matrix of contact points of all feet of the legged robot in contact with the ground; f. of0The system is used for representing the sum of the acting forces of at least one foot of the legged robot in contact with the ground; n'1The vector matrix represents the contact point of the 1 st foot of the legged robot in contact with the ground; n'2The vector matrix represents the contact point of the 2 nd foot of the legged robot in contact with the ground; n'YThe vector matrix represents the contact point of the Yth foot of the legged robot in contact with the ground; t denotes the transpose of the vector.
Selecting k sampling time points (t) in the target moving time length1,t2,…,tk) Let the legged robot at the sampling time tkG, f, N, H, WgAre respectively represented as Gk、fk、Nk、Hk、Wgk. And the foot robot is at the sampling time point tkWhen at least one foot of the foot type robot is contacted with the ground, the acting force fiThe following relationship is satisfied:
Gkfk=HkC-Wk
wherein G iskIs shown at the sampling time point tkA constant matrix of time; f. ofkIs shown at the sampling time point tkThe sum of acting forces corresponding to all feet of the time-legged robot; hkIs shown at the sampling time point tkA constant matrix of time; c is a constant matrix; wkAt a sampling time point tkA constant vector of time; n is a radical ofkIs shown at the sampling time point tkWhen the robot is in a walking state, the vector matrix of contact points of all feet of the foot robot in contact with the ground is obtained; t denotes the transpose of the vector.
Gk、fk、Nk、Hk、WgkAccording to the sampling time point t of the foot type robotkAt least one foot of the legged robot is in contact with the ground. For example, a foot robot is provided with 4 feet, namely, a right rear foot, a right front foot, a left rear foot and a left front foot, and the foot robot is configured to take steps in the order of right rear foot, right front foot, left rear foot and left front foot, and may take steps of right rear foot and right front foot, left rear foot and left front foot every half step cycle. The legged robot repeatedly performs a stepping process of a plurality of legs in a stepping order, thereby moving the legged robot. In the moving process of the foot type robot, 8 motion stages are included, namely four-foot support, right-stepping back foot, right-stepping front foot, four-foot support,The left hind foot and the left front foot are stepped. When the legged robot is in a four-foot supporting state, GkIs a 6 × 12 matrix, fkIs a 12 × 1 column vector, NkIs a 16 x 12 matrix. The number of footholds, positions and other relevant information may change when the robot is in different stages.
Creating, by the fourth relationship data and the first relationship data, second relationship data satisfying the following relationship:
J=Jgrf+Jlen+Jtgt
wherein J represents a target value; j. the design is a squaregrfFor representing the corresponding force f of at least one footiWeighted sum of squares of, JlenWeighted sum of squares, J, for representing a plurality of distancestgtAnd the weighted square sum is used for representing a first difference value between the predicted centroid position and the target centroid position, a third difference value between the predicted centroid speed and the target centroid speed and a second difference value between the predicted centroid acceleration and the target centroid acceleration when the legged robot is at the termination position.
After the second relational data is created, assuming that the initial time point t of the foot robot at the initial position is 0, determining the value of the constant C when the target value J is the minimum value according to the following relational expression by selecting B sampling time points:
wherein, JgrfFor representing the corresponding force f of at least one footiWeighted sum of squares of, JlenWeighted sum of squares, J, for representing a plurality of distancestgtThe weighted square sum is used for representing a first difference value between the predicted centroid position and the target centroid position, a third difference value between the predicted centroid speed and the target centroid speed and a second difference value between the predicted centroid acceleration and the target centroid acceleration when the legged robot is at the target position; gkIs shown at the sampling time point tkA constant matrix of time; f. ofkIs shown at the sampling time point tkAll of the time-foot type robotsThe sum of the acting forces corresponding to the feet; hkIs shown at the sampling time point tkA constant matrix of time; c is a constant matrix; wkAt a sampling time point tkA constant vector of time; deltakThe constant vector is a vector consisting of a group of same tiny integers; n is a radical ofkIs shown at the sampling time point tkWhen the robot is in a walking state, the vector matrix of contact points of all feet of the foot robot in contact with the ground is obtained; b is the total number of the sampling time points, and k is the kth sampling time point in the B sampling time points; p (0) ═ 0 denotes that the centroid position variation amount at the initial position of the legged robot, which is determined from the first relational data, is 0;represents an initial centroid velocity v of the legged robot at an initial position determined from the first relationship data0;Representing an initial center of mass acceleration a of the legged robot at an initial position determined from the first relationship data0。
The method for determining the centroid position provided by the embodiment of the application can be suitable for various foot robots, such as biped robots, quadruped robots or hexapod robots; the device can be suitable for various gaits of the foot type robot, such as biped walking, four-foot diagonal gaits, four-foot crawling gaits, six-foot diagonal gaits and the like; can be suitable for various complex environments, such as flat ground, uneven ground, slopes, stairs and the like; any order of the interval duration t can be adopted, and any moving process can be adopted in the process from the initial position to the target position; under the condition that the ground is a plane or the height difference is small, the height of the robot mass center can be kept unchanged, and the motion of the mass center in the plane is planned only by adopting 2 groups of curves; continuous constraints such as curve positions, speeds, accelerations and the like can be added according to actual requirements, and independent variables are still required to be ensured in curve parameters after the constraints are added; when the sampling time points are selected, sampling can be carried out at any position of the centroid position track, the more the number of the sampling time points is, the more reasonable the distribution is, the more reliable the obtained centroid movement track is, but the larger the size of the quadratic programming problem is, the longer the solving time is. In addition, in the second relational data, the acting force applied to at least one foot of the legged robot by contacting the ground and the distance corresponding to the sampling time point all have components in the three directions of the x axis, the y axis and the z axis, and different weights can be selected on the x axis, the y axis and the z axis respectively according to actual conditions to determine the weighted square sum of the acting force and the weighted square sum of the distance. In addition, in the second relation data, besides the ground acting force and the curve oscillation amplitude, the square sum of the acceleration, the square sum of the speed difference of adjacent points, the square sum of the acceleration difference and the like can be considered. Position of contact point: the contact point is not limited to the contact point between the foot of the legged robot and the ground, and is also suitable for the situation that the body, the trunk, the upper limb and other parts of the robot are in contact with the environment. According to the centroid position determining method provided by the embodiment of the application, under the condition that the less influence item is reasonably ignored, the centroid position, the centroid speed, the centroid acceleration constraint and the ground friction constraint are fully considered, the centroid trajectory planning problem is converted into a quadratic planning problem, and the centroid trajectory of the foot type robot is determined by utilizing the quadratic planning problem. In the quadratic programming problem, the friction force constraint and various optimization indexes of the ground contact point are fully considered, and the feasibility and the high efficiency of the generated motion are ensured.
Fig. 13 is a schematic structural diagram of a mass center position determining apparatus according to an embodiment of the present application, and as shown in fig. 13, the apparatus includes:
a creating module 1301 for creating first relation data, the first relation data indicating a relation between the interval duration t and a centroid position p (t) of the legged robot, the first relation data including a first constant C;
a creating module 1301, further configured to create second relationship data corresponding to at least one foot of the legged robot configuration, where the second relationship data corresponding to the at least one foot respectively indicate an acting force f corresponding to the at least one footiA relation with the centroid position p (t), the second relation data including a first constant C;
a creation module 1301 for further processing the data according to at leastEstablishing third relation data according to second relation data corresponding to one foot, determining the value of the first constant C when the target value J is the minimum value, and indicating the acting force f applied to the target value J and at least one foot in contact with the ground according to the third relation dataiA positive correlation between the squares of (a);
the obtaining module 1302 is configured to obtain first relationship data corresponding to the first constant C whose value is determined.
In one possible implementation, as shown in fig. 14, a creating module 1301 includes:
a first creating unit 1311, configured to create third relationship data according to the first relationship data and the second relationship data corresponding to at least one foot;
a first determining unit 1312, configured to determine, according to the third correlation data, a value of the first constant C when the target value J is a minimum value.
In another possible implementation, as shown in fig. 14, a creating module 1301 includes:
a first obtaining unit 1313, configured to obtain first state data of the legged robot at an initial position and second state data of the legged robot at a final position, where the state data at least includes a centroid position, a centroid velocity, and a centroid acceleration;
the first creating unit 1311 is further configured to create first relationship data, where the first relationship data includes a first constant C, and the first constant C includes a second constant C whose value is not determinedfreeAnd taking the determined third constant h, wherein the third constant h is determined by the acquired state data.
In another possible implementation, as shown in fig. 14, a creating module 1301 includes:
a setting unit 1314 for setting the first relationship data as: centroid position p (t) is the product of a first constant C and duration matrix E;
wherein E istRepresenting a time duration vector。
In another possible implementation, as shown in fig. 14, a creating module 1301 includes:
a setting unit 1314, configured to set the second relationship data corresponding to the at least one foot as: acting force f corresponding to ith footiIs the sum of the first constant C and a linear mapping of a fourth constant λ corresponding to the ith foot.
In another possible implementation manner, as shown in fig. 14, the first creating unit 1311 includes:
an acquiring subunit 13111, configured to acquire a moving time period required for the legged robot to move from the initial position to the end position;
a selecting subunit 13112, configured to select multiple sampling time points within the moving duration;
a determining subunit 13113, configured to determine, according to the interval duration between each sampling time point and the initial time point and the first relationship data, fourth relationship data corresponding to each sampling time point, where the fourth relationship data indicates a relationship between a first constant C and a sampling centroid position q (C), and the sampling centroid position q (C) indicates a centroid position of the legged robot at the corresponding sampling time point;
a determining subunit 13113, further configured to determine, according to the second relationship data and the fourth relationship data corresponding to the at least one foot, fifth relationship data corresponding to each sampling time point, where the fifth relationship data indicates an acting force f of the first constant C corresponding to the at least one footiThe relationship between;
a creating subunit 13114, configured to create, according to the fourth relation data and the fifth relation data, third relation data indicating an acting force f corresponding to the target value J and at least one foot corresponding to each sampling time pointiAnd the positive correlation between the square of the sampling centroid position q (c).
In another possible implementation, a subunit 13114 is created for setting the target value J to a weighted sum of squares of the plurality of distances and the force f corresponding to at least one footiThe plurality of distances includes a centroid position of the initial position, a plurality of sampled centroid positionsAnd a distance between any two adjacent ones of the centroid positions of the termination positions.
In another possible implementation, the determining subunit 13113 is configured to determine the feet of the legged robot contacting the ground at each sampling time point according to the step sequence of the legged robot, the step time duration corresponding to at least one foot, and the interval time duration between each sampling time point and the initial time point, where the step sequence indicates the step sequence between the feet of the legged robot; the stepping time length corresponding to the feet is the time length from the lifting of the feet to the falling of the feet; and determining fifth relation data according to each sampling mass center position Q (C), the second relation data corresponding to at least one foot and the foot of each sampling time point in contact with the ground.
In another possible implementation manner, as shown in fig. 14, the apparatus further includes:
an obtaining module 1302, configured to obtain second state data of the legged robot at the termination position;
a determining module 1303, configured to determine predicted state data of the legged robot at the termination position according to the target movement duration and the first relationship data;
a creation module 1301, comprising:
a first creating unit 1311 configured to create third correlation data indicating an error between the target value J and the state data and at least one acting force f applied by the foot contacting the ground, based on the state data error between the second state data and the predicted state dataiA positive correlation between the squares of (a);
the first determining unit 1312 is configured to determine, according to the second relation data and the third relation data, a value of the first constant C when the target value J is a minimum value.
In another possible implementation, the second state data includes a target centroid position, and the predicted state data includes a predicted centroid position; as shown in fig. 14, the first creating unit 1311 includes:
a determining subunit 13113 for determining a first difference between the target centroid position and the predicted centroid position;
setting subunit13115, for setting the target value J to the at least one foot-corresponding force fiAnd the sum of the squares of the first differences.
In another possible implementation, the second state data includes a target centroid acceleration, and the predicted state data includes a predicted centroid acceleration; as shown in fig. 14, the first creating unit 1311 includes:
a determining subunit 13113 for determining a second difference between the target centroid acceleration and the predicted centroid acceleration;
a setting subunit 13115 for setting the target value J to the at least one foot-corresponding force fiAnd the sum of the squares of the second differences.
In another possible implementation, the second state data includes a target centroid velocity, and the predicted state data includes a predicted centroid velocity; as shown in fig. 14, the first creating unit 1311 includes:
a determining subunit 13113 for determining a third difference between the target centroid velocity and the predicted centroid velocity;
a setting subunit 13115 for setting the target value J to the at least one foot-corresponding force fiAnd the sum of the squares of the third differences.
In another possible implementation manner, as shown in fig. 14, the first creating unit 1311 includes:
a selecting subunit 13112, configured to select multiple sampling time points within the target moving duration;
a determining subunit 13113, configured to determine, according to the interval duration between each sampling time point and the initial time point and the first relationship data, fourth relationship data corresponding to each sampling time point, where the fourth relationship data indicates a relationship between the first constant C and the sampling centroid position q (C);
a creating subunit 13114, configured to create, according to the state data error and the fourth relationship data, third relationship data indicating an acting force f corresponding to the target value J and at least one foot corresponding to each sampling time pointiSquare, state data ofError and sampling centroid position q (c).
In another possible implementation, the second state data includes a target centroid position, and the predicted state data includes a predicted centroid position; a create sub-unit 13114 for determining a first difference between the target centroid position and the predicted centroid position; setting the target value J as a sum of a first value, a second value and a third value, wherein the first value is the square of a first difference value, the second value is a weighted sum of squares of a plurality of distances, the plurality of distances comprise the centroid position of an initial position, a plurality of sampling centroid positions and the distance between any two adjacent centroid positions in the predicted centroid positions, and the third value is an acting force f corresponding to at least one foot corresponding to each sampling time pointiWeighted sum of squares of (a).
In another possible implementation, the second state data includes a target centroid acceleration, and the predicted state data includes a predicted centroid acceleration; a create sub-unit 13114 for determining a second difference between the target centroid acceleration and the predicted centroid acceleration; setting the target value J as a sum of a second value, a third value and a fourth value, wherein the fourth value is the square of a second difference value, the second value is a weighted sum of squares of a plurality of distances, the plurality of distances comprise an initial centroid position of the initial position, a plurality of sampling centroid positions and a distance between any two adjacent centroid positions in the predicted centroid positions, and the third value is an acting force f corresponding to at least one foot corresponding to each sampling time pointiWeighted sum of squares of (a).
In another possible implementation, the second state data includes a target centroid velocity, and the predicted state data includes a predicted centroid velocity; a create sub-unit 13114 for determining a third difference between the target centroid velocity and the predicted centroid velocity; setting the target value J as a sum of a second value, a third value and a fifth value, the fifth value being a square of the third difference, the second value being a weighted sum of squares of a plurality of distances including an initial centroid position of the initial position, a plurality of sampled centroid positions and a distance between any two adjacent centroid positions of the predicted centroid positions, the third value being a distance between each of the sampled centroids at each of the sampling timesActing force f corresponding to at least one foot corresponding to the pointiWeighted sum of squares of (a).
In another possible implementation form of the method,
a first creating unit 1311, further configured to create sixth relationship data, which indicates a relationship between the angular momentum L of the legged robot and the interval duration t;
a first creating unit 1311, further configured to create seventh relationship data, the seventh relationship data indicating an acting force f corresponding to at least one footi(L) a negative correlation with angular momentum L;
the first creating unit 1311 is further configured to create, according to the sixth relationship data and the seventh relationship data, second relationship data corresponding to at least one foot.
In another possible implementation manner, the first determining unit 1312 is configured to create eighth relationship data, ninth relationship data and tenth relationship data according to the first relationship data and the initial time point, where the eighth relationship data indicates a relationship between an initial centroid position of the legged robot at the initial position and a first constant C, the ninth relationship data indicates a relationship between an initial centroid velocity of the legged robot at the initial position and the first constant C, and the tenth relationship data indicates a relationship between an initial centroid acceleration of the legged robot at the initial position and the first constant C; and determining the value of the first constant C when the target value J is the minimum value according to the eighth relation data, the ninth relation data, the tenth relation data, the second relation data and the third relation data.
In another possible implementation, the second state data includes a target centroid position, as shown in fig. 14, the obtaining module 1302 includes:
a second obtaining unit 1321, configured to obtain a contact point position where at least one foot of the legged robot is in contact with the ground when the legged robot is at the termination position;
a second determining unit 1322 is configured to determine a target centroid position according to the contact point position of the at least one foot.
In another possible implementation, the second state data further includes a target centroid velocity,
an obtaining module 1302, configured to obtain initial state data of the legged robot at an initial position, where the initial state data at least includes an initial centroid position;
the determining module 1303 is further configured to determine a ratio of a distance between the target centroid position and the initial centroid position to the target moving time as the target centroid speed.
In another possible implementation, the second state data further includes a target centroid acceleration, and the initial state data further includes an initial centroid velocity;
the determining module 1303 is further configured to determine a ratio of a difference between the target centroid speed and the initial centroid speed to the target moving time period as the target acceleration.
In another possible implementation, predicting the state data includes predicting a centroid position, as shown in fig. 14, and determining module 1303 includes:
a third determining unit 1331, configured to determine, according to the first relation data, a predicted centroid position of the legged robot after the target moving time duration passes through the initial position.
In another possible implementation, predicting the state data includes predicting a centroid velocity, as shown in fig. 14, and determining module 1303 includes:
a second creating unit 1332, configured to create relationship data between the interval duration t and the centroid speed of the legged robot according to the first relationship data;
a third determining unit 1331, configured to determine the predicted centroid speed of the foot robot after the target moving time period passes through the initial position according to the relationship data between the interval time period t and the centroid speed of the foot robot.
In another possible implementation, predicting the state data includes predicting a centroid acceleration, as shown in fig. 14, and determining module 1303 includes:
a second creating unit 1332, configured to create relationship data between the interval duration t and the centroid acceleration of the legged robot according to the first relationship data;
a third determining unit 1331, configured to determine, according to the relation data between the interval duration t and the centroid acceleration of the foot robot, a predicted centroid acceleration of the foot robot after the target movement duration passes through the initial position.
In another possible implementation manner, after obtaining the first relationship data corresponding to the first constant C whose value is determined, as shown in fig. 14, the apparatus further includes:
a determining module 1303, configured to determine, according to the first relationship data, a time duration t of the legged robot at any interval during the moving process of the legged robot0Centroid position of time P (t)0);
A determining module 1303, further configured to determine the centroid position P (t)0) Determining joint torques of a plurality of joints of the legged robot;
and the control module 1304 is used for controlling the joints to rotate according to the joint torques of the joints so as to drive the foot robot to move.
It should be noted that: the centroid position determining apparatus provided in the above embodiment is only illustrated by dividing the above functional modules, and in practical applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the foot robot or the control device is divided into different functional modules to complete all or part of the above described functions. In addition, the centroid position determining apparatus and the centroid position determining method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and are not described herein again.
The present embodiments also provide a legged robot including a processor and a memory, where the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the centroid position determination method of the above embodiments.
Fig. 15 shows a schematic structural diagram of a legged robot 1500 provided in an exemplary embodiment of the present application. The legged robot 1500 is used to perform the steps performed by the legged robot in the above centroid position determination method.
The legged robot 1500 includes: a processor 1501 and memory 1502.
The memory 1502 may include one or more computer-readable storage media, which may be non-transitory. The memory 1502 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 1502 is used to store at least one computer program for execution by processor 1501 to implement the centroid position determination methods provided by method embodiments herein.
In some embodiments, the legged robot 1500 may also optionally include: a peripheral interface 1503 and at least one peripheral. The processor 1501, memory 1502, and peripheral interface 1503 may be connected by buses or signal lines. Various peripheral devices may be connected to peripheral interface 1503 via buses, signal lines, or circuit boards. Specifically, the peripheral device includes: at least one of a radio frequency circuit 1504, a display screen 1505, a camera assembly 1505, an audio circuit 1507, a positioning assembly 1506, and a power supply 1507.
The peripheral interface 1503 may be used to connect at least one peripheral related to I/O (Input/Output) to the processor 1501 and the memory 1502. In some embodiments, the processor 1501, memory 1502, and peripheral interface 1503 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1501, the memory 1502, and the peripheral interface 1503 may be implemented on separate chips or circuit boards, which is not limited in this embodiment.
The Radio Frequency circuit 1504 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuitry 1504 communicates with communication networks and other communication devices via electromagnetic signals. The radio frequency circuit 1504 converts an electrical signal into an electromagnetic signal to transmit, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 1504 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and so forth. The radio frequency circuit 1504 can communicate with other terminals via at least one wireless communication protocol. The wireless communication protocols include, but are not limited to: the world wide web, metropolitan area networks, intranets, generations of mobile communication networks (2G, 3G, 4G, and 5G), Wireless local area networks, and/or WiFi (Wireless Fidelity) networks. In some embodiments, the radio frequency circuit 1504 may also include NFC (Near Field Communication) related circuits, which are not limited in this application.
The camera assembly 1505 is used to capture images or video. Optionally, camera assembly 1505 includes a front camera and a rear camera. The front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, the number of the rear cameras is at least two, and each rear camera is any one of a main camera, a depth-of-field camera, a wide-angle camera and a telephoto camera, so that the main camera and the depth-of-field camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize panoramic shooting and VR (Virtual Reality) shooting functions or other fusion shooting functions. In some embodiments, camera assembly 1505 may also include a flash. The flash lamp can be a monochrome temperature flash lamp or a bicolor temperature flash lamp. The double-color-temperature flash lamp is a combination of a warm-light flash lamp and a cold-light flash lamp, and can be used for light compensation at different color temperatures.
The positioning component 1506 is used to locate the current geographic position of the legged robot 1500 to implement navigation or LBS (Location Based Service). The Positioning component 1506 may be a Positioning component based on the Global Positioning System (GPS) in the united states, the beidou System in china, or the galileo System in russia.
The power supply 1507 is used to power the various components in the foot robot 1500. The power supply 1507 may be alternating current, direct current, disposable batteries, or rechargeable batteries. When the power supply 1507 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. The wired rechargeable battery is a battery charged through a wired line, and the wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, the legged robot 1500 also includes one or more sensors 1508. The one or more sensors 1508 include, but are not limited to: acceleration sensor 1509, gyro sensor 1510.
The acceleration sensor 1509 can detect the magnitude of acceleration on three coordinate axes of the coordinate system established with the legged robot 1500. For example, the acceleration sensor 1509 may be used to detect components of the gravitational acceleration in three coordinate axes. The processor 1501 may be based on the gravitational acceleration signal collected by the acceleration sensor 1509. The acceleration sensor 1509 may also be used for acquisition of motion data of a game or a user.
The gyro sensor 1510 may detect a body direction and a rotation angle of the legged robot 1500, and the gyro sensor 1510 may collect a 3D motion of the user with respect to the legged robot 1500 in cooperation with the acceleration sensor 1509. The processor 1501 can implement the following functions according to the data collected by the gyro sensor 1510: motion sensing (such as changing the UI according to a user's tilting operation), image stabilization at the time of photographing, game control, and inertial navigation.
Those skilled in the art will appreciate that the configuration shown in fig. 15 does not constitute a limitation of the legged robot 1500, and may include more or fewer components than shown, or some components in combination, or a different arrangement of components.
The embodiment of the present application further provides a control device, which includes a processor and a memory, where at least one computer program is stored in the memory, and the at least one computer program is loaded by the processor and executed to implement the operations performed in the centroid position determination method of the above embodiment.
Optionally, the computer device is provided as a server. Fig. 16 is a schematic structural diagram of a server according to an embodiment of the present application, where the server 1600 may generate a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 1601 and one or more memories 1602, where the memories 1602 store at least one computer program, and the at least one computer program is loaded and executed by the processors 1601 to implement the methods provided by the above method embodiments. Of course, the server may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface, so as to perform input/output, and the server may also include other components for implementing the functions of the device, which are not described herein again.
The present application further provides a computer-readable storage medium, in which at least one computer program is stored, and the at least one computer program is loaded and executed by a processor to implement the operations performed in the centroid position determination method of the foregoing embodiments.
Embodiments of the present application also provide a computer program product or a computer program comprising computer program code stored in a computer readable storage medium. The processor of the control apparatus reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the control apparatus realizes the operations performed in the centroid position determination method as in the above-described embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only an alternative embodiment of the present application and should not be construed as limiting the present application, and any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.
Claims (29)
1. A method of mass center position determination, the method comprising:
creating first relationship data indicative of a relationship between interval duration t and a centroid position p (t) of a legged robot, the first relationship data comprising a first constant C;
creating second relationship data corresponding to at least one foot of the legged robot configuration, the second relationship data corresponding to the at least one foot being indicative of an acting force f corresponding to the at least one foot, respectivelyiA relation to a centroid position p (t), the second relation data comprising the first constant C;
according to the second relation data corresponding to the at least one foot, third relation data are created, and the value of the first constant C is determined when a target value J is the minimum value, wherein the third relation data indicate the acting force f applied by the target value J and the at least one foot contacting with the groundiA positive correlation between the squares of (a);
and acquiring the first relation data corresponding to the first constant C with determined value.
2. The method according to claim 1, wherein the creating third relationship data according to the second relationship data corresponding to the at least one foot and determining the value of the first constant C when the target value J is the minimum value includes:
creating the third relation data according to the first relation data and second relation data corresponding to the at least one foot;
and determining the value of the first constant C when the target value J is the minimum value according to the third relation data.
3. The method of claim 2, wherein creating the first relationship data comprises:
acquiring first state data of the legged robot at an initial position and second state data of the legged robot at a final position, wherein the state data at least comprises a centroid position, a centroid speed and a centroid acceleration;
creating the first relation data, wherein the first relation data comprises the first constant C, and the first constant C comprises a second constant C with undetermined valuefreeAnd taking a determined third constant h, wherein the third constant h is determined by the acquired state data.
5. The method of claim 2, wherein the creating second relationship data corresponding to at least one foot of the legged robot configuration comprises:
setting the second relation data corresponding to the at least one foot as: acting force f corresponding to the ith footiIs the sum of the first constant C and a linear mapping of a fourth constant lambda corresponding to the ith foot.
6. The method of claim 2, wherein creating the third relationship data from the first relationship data and the second relationship data corresponding to the at least one foot comprises:
acquiring the moving time length required by the foot type robot to move from the initial position to the final position;
selecting a plurality of sampling time points in the moving duration;
determining fourth relation data corresponding to each sampling time point according to the interval duration between each sampling time point and the initial time point and the first relation data, wherein the fourth relation data indicate the relation between the first constant C and a sampling centroid position Q (C), and the sampling centroid position Q (C) indicates the centroid position of the legged robot at the corresponding sampling time point;
determining fifth relation data corresponding to each sampling time point according to the second relation data and the fourth relation data corresponding to the at least one foot, wherein the fifth relation data indicate the acting force f corresponding to the first constant C and the at least one footiThe relationship between;
creating the third relation data according to the fourth relation data and the fifth relation data, wherein the third relation data also indicate the acting force f corresponding to the target numerical value J and at least one foot corresponding to each sampling time pointiAnd a positive correlation between the square of (c) and the sampling centroid position q (c).
7. The method of claim 6, wherein the creating the third relational data from the fourth relational data and the fifth relational data comprises:
setting the target value J to a weighted sum of squares of a plurality of distances and a force f corresponding to the at least one footiThe plurality of distances comprises distances between any two adjacent centroid positions of the centroid position of the initial position, the plurality of sample centroid positions, and the centroid position of the end position.
8. The method according to claim 6, wherein the determining fifth relationship data corresponding to each sampling time point according to the second relationship data and the fourth relationship data corresponding to the at least one foot comprises:
determining the feet of the legged robot contacting the ground at each sampling time point according to the step sequence of the legged robot, the step time length corresponding to at least one foot and the interval time length between each sampling time point and the initial time point, wherein the step sequence indicates the step sequence among a plurality of feet of the legged robot, and the step time length corresponding to the feet is the time length for the feet to pass from lifting to falling;
and determining the fifth relation data according to each sampling mass center position Q (C), the second relation data corresponding to the at least one foot and the foot of each sampling time point contacted with the ground.
9. The method of claim 1, further comprising:
acquiring second state data of the legged robot at the termination position;
determining the predicted state data of the legged robot at the termination position according to the target moving duration and the first relation data;
the creating third relation data according to the second relation data corresponding to the at least one foot, and determining the value of the first constant C when the target value J is the minimum value, includes:
based on state data error between the second state data and the predicted state dataCreating said third correlation data indicative of said error in said state data associated with said target value J and of the force f exerted by said at least one foot in contact with the groundiA positive correlation between the squares of (a);
and determining the value of the first constant C when the target value J is the minimum value according to the second relation data and the third relation data.
10. The method of claim 9, wherein the second state data comprises a target centroid position, and wherein the predicted state data comprises a predicted centroid position; said creating said third correlation data based on a state data error between said second state data and said predicted state data, comprising:
determining a first difference between the target centroid position and the predicted centroid position;
setting the target value J to a force f corresponding to the at least one footiAnd the sum of the squares of the first differences.
11. The method of claim 9, wherein the second state data comprises a target centroid acceleration, and the predicted state data comprises a predicted centroid acceleration; said creating said third correlation data based on a state data error between said second state data and said predicted state data, comprising:
determining a second difference between the target centroid acceleration and the predicted centroid acceleration;
setting the target value J to a force f corresponding to the at least one footiAnd the sum of the squares of the second differences.
12. The method of claim 9, wherein the second state data comprises a target centroid velocity and the predicted state data comprises a predicted centroid velocity; said creating said third correlation data based on a state data error between said second state data and said predicted state data, comprising:
determining a third difference between the target centroid velocity and the predicted centroid velocity;
setting the target value J to a force f corresponding to the at least one footiAnd the sum of the squares of the third differences.
13. The method of claim 9, wherein the creating the third correlation data based on the state data error between the second state data and the predicted state data comprises:
selecting a plurality of sampling time points in the target moving duration;
determining fourth relation data corresponding to each sampling time point according to the interval duration between each sampling time point and the initial time point and the first relation data, wherein the fourth relation data indicate the relation between the first constant C and the sampling centroid position Q (C);
creating the third relation data according to the state data error and the fourth relation data, wherein the third relation data indicate the acting force f corresponding to the target value J and at least one foot corresponding to each sampling time pointiA positive correlation between the square of (a), the state data error, and the sampling centroid position q (c).
14. The method of claim 13, wherein the second state data comprises a target centroid position, and wherein the predicted state data comprises a predicted centroid position; the creating the third relationship data according to the state data error and the fourth relationship data includes:
determining a first difference between the target centroid position and the predicted centroid position;
setting the target value J as the sum of a first value, a second value and a third value, wherein the first value is the square of the first difference, and the second value isA weighted sum of squares of a plurality of distances including a centroid position of the initial position, a plurality of sampled centroid positions, and a distance between any two adjacent centroid positions of the predicted centroid positions, the third value being an applied force f corresponding to at least one foot corresponding to each of the sampled time pointsiWeighted sum of squares of (a).
15. The method of claim 13, wherein the second state data comprises a target centroid acceleration, and the predicted state data comprises a predicted centroid acceleration; the creating the third relationship data according to the state data error and the fourth relationship data includes:
determining a second difference between the target centroid acceleration and the predicted centroid acceleration;
setting the target value J as a sum of a second value, a third value and a fourth value, the fourth value being a square of the second difference, the second value being a weighted sum of squares of a plurality of distances including an initial centroid position of the initial position, a plurality of sampling centroid positions and a distance between any two adjacent centroid positions among the predicted centroid positions, the third value being an acting force f corresponding to at least one foot corresponding to each sampling time pointiWeighted sum of squares of (a).
16. The method of claim 13, wherein the second state data comprises a target centroid velocity and the predicted state data comprises a predicted centroid velocity; the creating the third relationship data according to the state data error and the fourth relationship data includes:
determining a third difference between the target centroid velocity and the predicted centroid velocity;
setting the target value J as a sum of a second value, a third value and a fifth value, the fifth value being a square of the third difference, the second value being a weighted sum of squares of a plurality of distances, the plurality of distances including an initial position of the initial positionA centroid position, a plurality of sampling centroid positions and a distance between any two adjacent centroid positions in the predicted centroid positions, wherein the third value is an acting force f corresponding to at least one foot corresponding to each sampling time pointiWeighted sum of squares of (a).
17. The method of claim 9, wherein the creating second relationship data corresponding to at least one foot of the legged robot configuration comprises:
creating sixth relational data indicating a relation between the angular momentum L of the foot robot and the interval duration t;
creating seventh relationship data indicative of an applied force f corresponding to the at least one footi(L) a negative correlation with said angular momentum L;
and creating second relation data corresponding to the at least one foot according to the sixth relation data and the seventh relation data.
18. The method according to claim 9, wherein the determining, according to the second relationship data and the third relationship data, the value of the first constant C when the target value J is the minimum value includes:
creating eighth relation data, ninth relation data and tenth relation data according to the first relation data and the initial time point, wherein the eighth relation data indicate the relation between the initial centroid position of the legged robot at the initial position and the first constant C, the ninth relation data indicate the relation between the initial centroid speed of the legged robot at the initial position and the first constant C, and the tenth relation data indicate the relation between the initial centroid acceleration of the legged robot at the initial position and the first constant C;
and determining the value of the first constant C when the target value J is the minimum value according to the eighth relation data, the ninth relation data, the tenth relation data, the second relation data and the third relation data.
19. The method of claim 9, wherein the second status data comprises a target centroid position, and wherein the acquiring second status data of the legged robot at an end position comprises:
when the legged robot is at the termination position, acquiring a contact point position of at least one foot of the legged robot, which is configured to contact with the ground;
determining the target centroid position based on the contact point position of the at least one foot.
20. The method of claim 19, wherein the second state data further comprises a target centroid velocity, the method further comprising:
acquiring initial state data of the legged robot at the initial position, wherein the initial state data at least comprises an initial centroid position;
determining a ratio of a distance between the target centroid position and the initial centroid position to the target movement time period as the target centroid speed.
21. The method of claim 20, wherein the second state data further comprises a target centroid acceleration, the initial state data further comprises an initial centroid velocity; the method further comprises the following steps:
determining a ratio between a difference between the target centroid speed and the initial centroid speed and the target movement time period as the target acceleration.
22. The method of claim 9, wherein the predicted status data comprises a predicted centroid location, and wherein determining the predicted status data for the legged robot at the end location based on the target movement duration and the first relationship data comprises:
and determining the predicted centroid position of the legged robot after the initial position passes through the target moving time length according to the first relation data.
23. The method of claim 9, wherein the predicted status data comprises a predicted centroid velocity, and wherein determining the predicted status data for the legged robot at the terminal position based on the target movement duration and the first relationship data comprises:
according to the first relation data, establishing relation data between the interval duration t and the mass center speed of the foot type robot;
and determining the predicted centroid speed of the foot robot after the initial position passes through the target moving time length according to the relation data between the interval time length t and the centroid speed of the foot robot.
24. The method of claim 9, wherein the predicted status data comprises a predicted centroid acceleration, and wherein determining the predicted status data for the legged robot at the terminal position based on the target movement duration and the first relationship data comprises:
according to the first relation data, establishing relation data between the interval duration t and the mass center acceleration of the foot type robot;
and determining the predicted centroid acceleration of the foot robot after the initial position passes through the target moving time length according to the relation data between the interval time length t and the centroid acceleration of the foot robot.
25. The method according to any one of claims 1 to 24, wherein after obtaining the first relationship data corresponding to the first constant C whose value has been determined, the method further comprises:
in the moving process of the foot type robot, determining the time length t of the foot type robot at any interval according to the first relation dataoCentroid position of time P (t)0);
According to the centroid position P (t)0) And the target position, determining joint torques of a plurality of joints of the legged robot;
and controlling the joints to rotate according to the joint torques of the joints to drive the foot type robot to move.
26. A mass center position determining apparatus, characterized in that the apparatus comprises:
a creation module for creating first relationship data indicative of a relationship between an interval duration t and a centroid position p (t) of a legged robot, the first relationship data comprising a first constant C;
the creating module is further configured to create second relationship data corresponding to at least one foot of the foot robot configuration, where the second relationship data corresponding to the at least one foot respectively indicate an acting force f corresponding to the at least one footiA relation to a centroid position p (t), the second relation data comprising the first constant C;
the creating module is further configured to create third correlation data according to the second correlation data corresponding to the at least one foot, and determine a value of the first constant C when a target value J is a minimum value, where the third correlation data indicates an acting force f applied to the target value J and the at least one foot when the target value J is in contact with the groundiA positive correlation between the squares of (a);
an obtaining module, configured to obtain the first relationship data corresponding to the first constant C whose value is determined.
27. A legged robot, characterized in that it comprises a processor and a memory, in which at least one computer program is stored, which is loaded and executed by the processor to carry out the operations performed in the method for determining a position of a center of mass according to any one of claims 1 to 25.
28. A control apparatus, characterized in that the control apparatus comprises a processor and a memory, in which at least one computer program is stored, which is loaded and executed by the processor to perform the operations performed in the centroid position determination method according to any one of claims 1 to 25.
29. A computer-readable storage medium, having at least one computer program stored therein, the at least one computer program being loaded and executed by a processor to perform the operations performed in the method for determining a location of a center of mass as claimed in any one of claims 1 to 25.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/086937 WO2021208917A1 (en) | 2020-04-14 | 2021-04-13 | Method and device for determining barycenter position, legged robot, and storage medium |
EP21787912.1A EP4043991A4 (en) | 2020-04-14 | 2021-04-13 | Method and device for determining barycenter position, legged robot, and storage medium |
JP2022539318A JP7454677B2 (en) | 2020-04-14 | 2021-04-13 | Center of mass position determination method, device, footed robot and computer program |
US17/743,296 US20220274254A1 (en) | 2020-04-14 | 2022-05-12 | Barycenter position determining method and apparatus, legged robot, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010291278.4A CN111506094A (en) | 2020-04-14 | 2020-04-14 | Centroid position determining method and device, foot type robot and storage medium |
CN2020102912784 | 2020-04-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113534828A true CN113534828A (en) | 2021-10-22 |
CN113534828B CN113534828B (en) | 2022-12-13 |
Family
ID=71864614
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010291278.4A Pending CN111506094A (en) | 2020-04-14 | 2020-04-14 | Centroid position determining method and device, foot type robot and storage medium |
CN202011503026.XA Active CN113534828B (en) | 2020-04-14 | 2020-12-17 | Centroid position determining method and device, foot type robot and storage medium |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010291278.4A Pending CN111506094A (en) | 2020-04-14 | 2020-04-14 | Centroid position determining method and device, foot type robot and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111506094A (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4043991A4 (en) * | 2020-04-14 | 2023-02-08 | Tencent Technology (Shenzhen) Company Limited | Method and device for determining barycenter position, legged robot, and storage medium |
CN112051797B (en) * | 2020-09-07 | 2023-12-26 | 腾讯科技(深圳)有限公司 | Foot robot motion control method, device, equipment and medium |
CN112114589B (en) * | 2020-09-07 | 2024-02-09 | 腾讯科技(深圳)有限公司 | Foot robot motion control method, device, equipment and medium |
CN114474034B (en) * | 2020-10-26 | 2024-05-28 | 腾讯科技(深圳)有限公司 | Foot robot motion control method, device, equipment and medium |
CN114489092B (en) * | 2020-10-26 | 2023-07-18 | 腾讯科技(深圳)有限公司 | Foot robot motion control method, device, equipment and medium |
CN114723807A (en) * | 2021-01-04 | 2022-07-08 | 腾讯科技(深圳)有限公司 | Centroid trajectory determination method and device, foot type robot, equipment and medium |
CN112783175B (en) * | 2021-01-04 | 2022-09-16 | 腾讯科技(深圳)有限公司 | Centroid trajectory determination method and device, foot type robot, equipment and medium |
CN114137954A (en) * | 2021-10-14 | 2022-03-04 | 深圳鹏行智能研究有限公司 | Quadruped robot centroid trajectory planning method and device and storage medium |
CN114571463B (en) * | 2022-03-28 | 2023-10-20 | 达闼机器人股份有限公司 | Motion detection method and device, readable storage medium and electronic equipment |
CN116991155A (en) * | 2022-09-07 | 2023-11-03 | 腾讯科技(深圳)有限公司 | Method, device, computer equipment and storage medium for determining moving track |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110178637A1 (en) * | 2010-01-18 | 2011-07-21 | Samsung Electronics Co., Ltd. | Walking control apparatus of robot and method of controlling the same |
KR20170001260A (en) * | 2015-06-26 | 2017-01-04 | 국방과학연구소 | Apparatus and method for controlling attitude of wearable robot in slope |
CN106547206A (en) * | 2016-06-29 | 2017-03-29 | 中南大学 | A kind of multi-foot robot dynamic stability based on strength of one's legs algorithm for estimating quantitatively judges method |
CN107065908A (en) * | 2017-04-14 | 2017-08-18 | 中国北方车辆研究所 | A kind of method for planning the quiet gait fuselage movement locus of quadruped robot |
CN108237532A (en) * | 2016-12-23 | 2018-07-03 | 深圳光启合众科技有限公司 | The gait control method, apparatus and robot of multi-foot robot |
CN109311159A (en) * | 2016-04-29 | 2019-02-05 | 软银机器人欧洲公司 | A kind of mobile robot of balance exercise and capacity with enhancing |
-
2020
- 2020-04-14 CN CN202010291278.4A patent/CN111506094A/en active Pending
- 2020-12-17 CN CN202011503026.XA patent/CN113534828B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110178637A1 (en) * | 2010-01-18 | 2011-07-21 | Samsung Electronics Co., Ltd. | Walking control apparatus of robot and method of controlling the same |
KR20170001260A (en) * | 2015-06-26 | 2017-01-04 | 국방과학연구소 | Apparatus and method for controlling attitude of wearable robot in slope |
CN109311159A (en) * | 2016-04-29 | 2019-02-05 | 软银机器人欧洲公司 | A kind of mobile robot of balance exercise and capacity with enhancing |
CN106547206A (en) * | 2016-06-29 | 2017-03-29 | 中南大学 | A kind of multi-foot robot dynamic stability based on strength of one's legs algorithm for estimating quantitatively judges method |
CN108237532A (en) * | 2016-12-23 | 2018-07-03 | 深圳光启合众科技有限公司 | The gait control method, apparatus and robot of multi-foot robot |
CN107065908A (en) * | 2017-04-14 | 2017-08-18 | 中国北方车辆研究所 | A kind of method for planning the quiet gait fuselage movement locus of quadruped robot |
Also Published As
Publication number | Publication date |
---|---|
CN111506094A (en) | 2020-08-07 |
CN113534828B (en) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113534828B (en) | Centroid position determining method and device, foot type robot and storage medium | |
CN112783175B (en) | Centroid trajectory determination method and device, foot type robot, equipment and medium | |
CN111156998B (en) | Mobile robot positioning method based on RGB-D camera and IMU information fusion | |
García Carrillo et al. | Combining stereo vision and inertial navigation system for a quad-rotor UAV | |
KR102198851B1 (en) | Method for generating three dimensional model data of an object | |
CN110494360A (en) | For providing the autonomous system and method photographed and image | |
CN111083633B (en) | Mobile terminal positioning system, establishment method thereof and positioning method of mobile terminal | |
WO2022261381A9 (en) | Localization processing service | |
CN114488848A (en) | Unmanned aerial vehicle autonomous flight system and simulation experiment platform for indoor building space | |
CN115063480A (en) | Pose determination method and device, electronic equipment and readable storage medium | |
Zhou et al. | Autonomous wireless sensor deployment with unmanned aerial vehicles for structural health monitoring applications | |
US20220274254A1 (en) | Barycenter position determining method and apparatus, legged robot, and storage medium | |
CN114723807A (en) | Centroid trajectory determination method and device, foot type robot, equipment and medium | |
JP2022108823A (en) | Search support system and search support program | |
CN113970923A (en) | Mobile communication terminal device operation of robot terminal | |
KR102565444B1 (en) | Method and apparatus for identifying object | |
CN116985110A (en) | Method and device for controlling foot type robot and foot type robot | |
CN115480483A (en) | Method, device, equipment and medium for identifying kinetic parameters of robot | |
CN116991155A (en) | Method, device, computer equipment and storage medium for determining moving track | |
Alshbatat | Adaptive vision-based system for landing an autonomous hexacopter drone on a specific landing platform | |
Antoshchuk et al. | Autopilot model for returning an unmanned aerial vehicle to its starting point in case of electromagnetic noise. | |
Hensel et al. | Monocular Depth Estimation for Autonomous UAV Navigation Based on Deep Learning | |
Sanchez-Lopez et al. | Fuseon: A low-cost portable multi sensor fusion research testbed for robotics | |
US20240255954A1 (en) | Movement trajectory determination | |
Ahangar Arzati | Design and control of DermDrone; a micro-sized quadrotor for dermatology applications with RL-based optimization |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40055208 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |