WO2021208917A1 - 质心位置确定方法、装置、足式机器人及存储介质 - Google Patents
质心位置确定方法、装置、足式机器人及存储介质 Download PDFInfo
- Publication number
- WO2021208917A1 WO2021208917A1 PCT/CN2021/086937 CN2021086937W WO2021208917A1 WO 2021208917 A1 WO2021208917 A1 WO 2021208917A1 CN 2021086937 W CN2021086937 W CN 2021086937W WO 2021208917 A1 WO2021208917 A1 WO 2021208917A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- foot
- centroid
- robot
- relationship data
- constant
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J17/00—Joints
- B25J17/02—Wrist joints
- B25J17/0283—Three-dimensional joints
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39215—Adaptive control with stabilizing compensation
Definitions
- the embodiments of the application relate to the field of computer technology, and in particular to a method, device, footed robot, equipment, and medium for determining the position of the center of mass.
- a footed robot is a robot that simulates the walking posture of an animal or a person to move.
- the footed robot is usually equipped with multiple feet, and each foot is equipped with one or more joints, and moves by controlling the lifting or falling of the foot.
- the position of the center of mass of the footed robot needs to be determined first, so as to control the lifting or falling of the foot according to the determined position of the center of mass.
- the related art provides a method for determining the position of the center of mass, which detects the state of each joint in each foot configured by the foot robot, and performs calculations according to the state of each joint in each foot to determine the position of the center of mass of the foot robot. If the foot robot has a large number of joints, it will lead to a large amount of calculation. Therefore, the above method is only suitable for the case where the foot robot has a small number of joints, and the scope of application is narrow.
- the embodiments of the present application provide a method, a device, a footed robot, equipment, and a medium for determining the position of the center of mass, which can improve the accuracy of the position of the center of mass.
- the technical solution is as follows:
- a method for determining the position of the center of mass includes:
- first relationship data indicating the relationship between the interval time t and the position of the center of mass of the footed robot P(t), the first relationship data including the first constant C;
- the second relationship data includes the first constant C;
- a device for determining a position of a center of mass includes:
- the creation module is configured to create first relationship data, the first relationship data indicating the relationship between the interval time t and the centroid position P(t) of the footed robot, and the first relationship data includes a first constant C;
- the creation module is further configured to create second relationship data corresponding to at least one foot of the foot-type robot configuration, and the second relationship data corresponding to the at least one foot respectively indicate the force f i corresponding to the at least one foot
- the relationship with the center of mass position P(t), the second relationship data includes the first constant C;
- the creation module is further configured to create third relationship data based on the second relationship data corresponding to the at least one foot, and determine the value of the first constant C when the target value J is the minimum value, the The third relationship data indicates a positive correlation between the target value J and the square of the force f i received by the at least one foot in contact with the ground;
- the obtaining module is configured to obtain the first relationship data corresponding to the first constant C whose value has been determined.
- a footed robot in another aspect, includes a processor and a memory, and at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement Operations performed in the centroid position determination method described in the above aspect.
- a control device in another aspect, includes a processor and a memory, and at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to achieve the above The operations performed in the method for determining the position of the center of mass described in the aspect.
- a computer-readable storage medium is provided, and at least one computer program is stored in the computer-readable storage medium, and the at least one computer program is loaded and executed by a processor to realize the centroid as described in the above-mentioned aspect. The operation performed in the location determination method.
- a computer program product or computer program includes computer program code, and the computer program code is stored in a computer-readable storage medium.
- the processor of the control device reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the control device implements the operations performed in the centroid position determination method described in the above-mentioned aspect.
- the method, device, footed robot, equipment, and medium provided in the embodiments of the present application do not need to detect the state of each joint of the footed robot, and create third relational data through the second relationship data corresponding to at least one foot of the footed robot, and Determine the value of the first constant C when the target value J in the third relationship data is the minimum value, and the first constant C whose value has been determined corresponds to the first relationship data to determine that the footed robot moves from the initial position to the end position
- the center-of-mass trajectory of the footed robot enables the foot-mounted robot to move according to the determined center-of-mass trajectory, which ensures the high efficiency of the movement of the foot-mounted robot.
- this method can be applied to any number of footed robots, and has a wide range of applications.
- FIG. 1 is a schematic structural diagram of an implementation environment provided by an embodiment of the present application.
- FIG. 2 is a flowchart of a method for determining the position of the center of mass provided by an embodiment of the present application
- FIG. 3 is a flowchart of a method for determining the position of the center of mass provided by an embodiment of the present application
- FIG. 4 is a frame diagram of a foot robot system for controlling the movement of a foot robot according to an embodiment of the present application
- FIG. 5 is a schematic diagram of a movement process of a footed robot provided by an embodiment of the present application.
- FIG. 6 is a schematic diagram of the offset of the centroid position of a footed robot provided by an embodiment of the present application.
- Fig. 7 is a schematic diagram of a movement process of a footed robot provided by an embodiment of the present application.
- FIG. 8 is a schematic diagram of the status data of a foot-type machine according to an embodiment of the present application changing with the interval time;
- FIG. 9 is a schematic diagram of the state data of a foot-type machine according to an embodiment of the present application changing with the interval time;
- FIG. 10 is a schematic diagram of the torque of a foot-type machine according to an embodiment of the present application changing with the interval time;
- FIG. 11 is a schematic diagram of the position of the center of mass of a foot-type machine according to an embodiment of the present application changing with the length of the interval;
- FIG. 12 is a flowchart of a method for determining the position of the center of mass provided by an embodiment of the present application.
- FIG. 13 is a schematic structural diagram of a centroid position determination device provided by an embodiment of the present application.
- FIG. 14 is a schematic structural diagram of a device for determining a center of mass position according to an embodiment of the present application.
- FIG. 15 is a schematic structural diagram of a footed robot provided by an embodiment of the present application.
- FIG. 16 is a schematic structural diagram of a server provided by an embodiment of the present application.
- first, second, third, “fourth”, “fifth”, “sixth”, “seventh”, “eighth” and “ninth” used in this application Etc. can be used herein to describe various concepts, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another.
- first relationship data may be referred to as second relationship data
- second relationship data may be referred to as first relationship data
- multiple sampling time points include 3 sampling time points, and each refers to each sampling time point of the 3 sampling time points, and any one refers to any one of the 3 sampling time points. It can be the first sampling time point, the second sampling time point, or the third sampling time point.
- AI Artificial Intelligence
- digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge, and use knowledge to obtain the best results.
- artificial intelligence is a comprehensive technology of computer science, which attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a similar way to human intelligence.
- Artificial intelligence is to study the design principles and implementation methods of various intelligent machines, so that the machines have the functions of perception, reasoning and decision-making.
- Artificial intelligence technology is a comprehensive discipline, covering a wide range of fields, including both hardware-level technology and software-level technology.
- Basic artificial intelligence technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technologies, operation/interaction systems, and mechatronics.
- Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning/deep learning.
- Computer Vision is a science that studies how to make machines "see”. Furthermore, it refers to the use of cameras and computers instead of human eyes to identify, track, and measure targets. And further graphics processing, so that computer processing becomes more suitable for human eyes to observe or send to the instrument to detect the image.
- Computer vision studies related theories and technologies trying to establish an artificial intelligence system that can obtain information from images or multi-dimensional data.
- Computer vision technology usually includes image processing, image recognition, image semantic understanding, image retrieval, OCR, video processing, video semantic understanding, video content/behavior recognition, three-dimensional object reconstruction, 3D technology, virtual reality, augmented reality, synchronous positioning and mapping Construction and other technologies also include common face recognition, fingerprint recognition and other biometric recognition technologies.
- the solution provided by the embodiments of this application can determine the end position of the footed robot, and obtain the centroid trajectory of the footed robot moving from the initial position to the end position based on the determined end position, and then follow the centroid trajectory Control the movement of the foot robot to realize the movement of the foot robot to the end position.
- the method for determining the position of the center of mass can be applied to a footed robot.
- the footed robot When the footed robot is moving, determine the center of mass trajectory from the initial position to the end position, and then use the center of mass trajectory to determine the center of mass position of the footed robot at any point in the moving process, thereby controlling at least the footed robot
- the center of mass of the footed robot moves according to the center of mass trajectory to realize the walking of the footed robot.
- control device 102 is a server or another form of device.
- the server is an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, Cloud servers for basic cloud computing services such as cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
- Figure 1 is a schematic structural diagram of an implementation environment provided by an embodiment of the present application.
- the implementation environment includes a footed robot 101 and a server 102.
- the footed robot 101 establishes a communication connection with the server 102 through the established communication Connect to interact.
- the foot robot 101 is used to control the raising or falling of at least one foot, so as to realize the walking of the foot robot.
- the server 102 is used to provide services for the footed robot 101, and can determine the center of mass trajectory for the footed robot 101, and send the determined center of mass trajectory to the footed robot 101, so that the footed robot 101 can move according to the center of mass trajectory.
- the footed robot 101 is equipped with a sensing system through which an image of the moving direction of the footed robot 101 is obtained, and the image is sent to the server 102, and the server 102 processes the image to obtain the footed robot.
- the end position of the robot is subsequently determined based on the end position of the centroid trajectory of the footed robot 101.
- the end position to be reached is determined, and the centroid position determination method provided by the embodiment of the present application is used to determine the centroid trajectory of the footed robot moving from the initial position to the end position, and then the centroid trajectory is used to determine The position of the center of mass of the footed robot at any point in the moving process, so as to control at least one foot of the footed robot to lift or fall, so that the footed robot moves from the initial position to the end position.
- the center of mass of is moved according to the trajectory of the center of mass to realize the walking of the footed robot and ensure the stability of the movement of the footed robot.
- the server can control the movement of the foot robot.
- the server uses the centroid position determination method provided by the embodiment of the application to determine the centroid trajectory of the footed robot moving from the initial position to the end position, and sends the centroid trajectory to the footed robot.
- the foot-type robot controls the center of mass of the foot-type robot to move along the center-of-mass trajectory, which realizes the way of remotely controlling the movement of the foot-type robot.
- Fig. 2 is a flowchart of a method for determining the position of the center of mass provided by an embodiment of the present application, which is applied to a foot-type robot. As shown in Fig. 2, the method includes:
- first relationship data indicates the relationship between the interval time t and the center of mass position P(t) of the footed robot, and the first relationship data includes a first constant C.
- the interval time t indicates the length of the interval between any time point in the process of moving the footed robot from the initial position to the end position and the initial time point corresponding to the initial position
- the center of mass position P(t) indicates that the footed robot is in the interval The position of the center of mass at the time length t.
- the first relationship data acquired at this time has not yet been determined. If the value of the first constant C is determined subsequently, the centroid position P(t) corresponding to any interval t can be obtained through the first relationship data.
- foot robot configured to create at least a second relationship data corresponding to the foot, the foot corresponding to the at least a second relationship data indicate the relationship between the force f i and the centroid position P (t) corresponding to the at least one foot.
- the second relational data includes the first constant C.
- the force f i indicates the force received by the i-th foot of the foot robot in contact with the ground at the center of mass position P(t), and i is a positive integer.
- the footed robot is configured with at least one foot, and the footed robot contacts the ground through the at least one foot, thereby realizing the movement or standing of the footed robot.
- i is used to indicate the serial number of the foot of the foot robot, and is used to distinguish different feet according to the serial number of the foot.
- the center of mass of the footed robot is located at any center of mass position P(t)
- the force received by different feet of the footed robot in contact with the ground may be different, that is, the force f i received by different feet in contact with the ground may be Will be different. Therefore, the second relationship data corresponding to at least one foot is created respectively.
- the third relationship data indicates a positive correlation relationship between the target value J and the square of the force f i received by at least one foot in contact with the ground.
- a target value J square positive correlation between the force f i at least one foot in contact with the ground and subjected refers target value J with the at least one foot in contact with the ground and force f i being the square becomes Larger and larger, as the square of the force f i received by the at least one foot in contact with the ground becomes smaller and smaller.
- the second relationship data corresponding to at least one foot indicates the relationship between the center of mass position P(t) and the force f i corresponding to the at least one foot
- the second relationship data includes the first constant C, which is based on the first constant C corresponding to the at least one foot.
- the second relational data can determine the value of the first constant C when the target value J is the minimum value.
- the first relational data can be used to determine the centroid position P(t) corresponding to any interval t, that is, the determined first constant C
- the corresponding first relational data is equivalent to obtaining the centroid of the footed robot.
- the method provided by the embodiment of the present application does not need to detect the state of each joint of the foot robot, and creates the third relation data through the second relation data corresponding to at least one foot of the foot robot, and determines that the target value J in the third relation data is
- the minimum value is the value of the first constant C
- the first constant C whose value has been determined corresponds to the first relational data, and it is determined as the center of mass trajectory of the footed robot moving from the initial position to the end position, so that the footed robot follows the determined
- the trajectory of the center of mass of the robot is moved to ensure the high efficiency of the foot-type robot.
- this method can be applied to any number of footed robots, and has a wide range of applications.
- the following embodiment creates third relationship data based on the first relationship data and the second relationship data corresponding to at least one foot of the foot robot, and then determines the centroid trajectory of the foot robot through the third relationship data.
- the force f i received by at least one foot of the footed robot means that when the center of mass of the footed robot is located at the center of mass position P(t), at least one foot of the footed robot is in contact with the ground.
- the force f i on at least one foot can be expressed by f i ⁇ P(t) ⁇ , and the first constant C is determined by the second constant C free whose value is undetermined and the first constant whose value has been determined.
- FIG. 3 is a flowchart of a method for determining the position of the center of mass provided by an embodiment of the present application, which is applied to a foot-type robot. As shown in Fig. 3, the method includes:
- the state data includes at least the position of the center of mass, the center of mass velocity, and the center of mass acceleration.
- the center of mass is the center of mass of the footed robot, and the position of the center of mass is the position of the center of mass of the footed robot.
- the position of the center of mass is expressed by coordinates in a coordinate system, or expressed by a vector.
- the center of mass velocity is the moving speed of the center of mass of the footed robot
- the center of mass acceleration is the acceleration of the center of mass of the footed robot.
- both the center of mass velocity and the center of mass acceleration are represented by vectors.
- the position of the center of mass of the footed robot is [20, 35, 80]
- the velocity of the center of mass is [5, 3, 0]
- the acceleration of the center of mass is [2, 2, 2].
- acquiring the first state data of the initial position includes: the footed robot detects the state of the footed robot in the initial position, and obtains the state data of the initial position.
- obtaining the second state data of the end position includes: the footed robot obtains an image of the environment containing the moving direction of the footed robot through a visual perception system, and performs feature extraction on the image to determine the footed position The end position of the robot, and the second state data is determined for the end position.
- the second state data of the end position is arbitrarily set by the footed robot.
- the visual perception system includes a camera, and the footed robot photographs the environment of the moving direction of the footed robot through the camera, and obtains an image of the environment containing the moving direction of the footed robot.
- the first constant C is a constant used to express the relationship between the center of mass position P(t) and the interval duration t, and the first constant C can be expressed in the form of a vector or in the form of a matrix.
- the second constant C free is a constant with an undetermined value, and is a constant used to express the relationship between the interval time t and the position of the center of mass P(t).
- the second constant C free can be expressed in the form of a vector, or in a matrix Formal representation.
- the third constant h is determined by the acquired state data. Since the state data of the footed robot at the initial position and the end position have been determined, the value of the third constant h has been determined.
- the third constant h can be expressed in the form of a vector, or in the form of a matrix.
- a 0 represents the center of mass acceleration of the footed robot at the initial position
- P 1 represents the center of mass position of the footed robot at the end position
- V 1 represents the center of mass velocity of the footed robot at the end position
- a 1 Represents the acceleration of the center of mass of the footed robot at the end position.
- step 302 includes: obtaining a second constant C free of mapping matrix and a third matrix mapped constant h, the product of the second constant C free mapped matrix corresponding to the third and the constant h
- the sum of the products of the corresponding mapping matrices is used as the first constant C. That is, the second constant C free , the third constant h and the first constant C satisfy the following relationship:
- T′ is a constant matrix, which is used to represent the mapping matrix of the second constant C free
- Q is a constant matrix, which is used to represent the mapping matrix of the third constant h.
- the constant matrix T′ is a matrix with 96 rows and 15 columns.
- the constant matrix Q is a constant matrix with 96 rows and 18 columns.
- the second constant C free is a column vector with 15 rows.
- the third constant h is a column vector of 18 rows.
- the first relationship data is used to indicate the relationship between the interval time t and the center of mass position P(t), and the interval time t is used to indicate the process of moving the footed robot from the initial position to the end position.
- the position corresponds to the length of the interval between the initial time points, and the center of mass position P(t) is used to indicate the position of the center of mass of the footed robot at the interval of time t.
- the undetermined first constant C is obtained by the undetermined second constant C free and the determined third constant h
- the first relational data includes the undetermined second constant C free and the third constant h.
- the first relational data can be stored in the form of descriptive sentences, or in the form of functions.
- the duration matrix E is a matrix used to represent the interval duration t, and the duration matrix E satisfies the following relationship:
- E t represents the duration vector.
- the highest power of the interval duration t included in the duration vector E t is 3.
- the highest power of the interval duration t included in the duration vector E t is arbitrarily not less than A positive integer of 2.
- the first relational data is represented by the following function:
- P init is a constant vector, which is used to represent the initial centroid position of the footed robot at the beginning of any movement period
- T′ is a constant matrix, which is used to represent the mapping matrix of the second constant C free
- Q is a constant matrix, which is used to Represents the mapping matrix of the third constant h.
- the position of the center of mass of the footed robot changes with the moving interval t
- the position of the center of mass after an arbitrary interval of time t has a corresponding change in the position of the center of mass
- the interval time t corresponds to the center of mass
- the sum of the position change and the initial centroid position of the footed robot when it starts to move is used as the corresponding centroid position P(t) of the footed robot after an arbitrary interval of time t, thereby determining the indicated centroid position P(t) and the interval
- the first relationship data of the relationship between the time length t can be subsequently used to determine the centroid trajectory of the footed robot through the first relationship data.
- the embodiment of the present application creates the first relational data by acquiring the first state data of the initial position, the second state data of the end position, and the second constant C free, and in another embodiment , There is no need to perform steps 301-303, and other methods can be adopted to create the first relational data.
- the foot-type robot is configured with at least one foot
- the second relational data corresponding to the i-th foot is used to indicate the difference between the center of mass position P(t) and the force f i ⁇ P(t) ⁇ corresponding to the i-th foot Relation
- the force f i ⁇ P(t) ⁇ indicates the force received by the i-th foot of the foot-type robot in contact with the ground at the center of mass position P(t)
- i is a positive integer.
- the fourth constant ⁇ is a constant whose value is undetermined, and the fourth constant ⁇ is used to represent the constant between the force f i ⁇ P(t) ⁇ and the position of the center of mass P(t).
- the second relational data corresponding to at least one foot includes the undetermined value
- the second relational data can be stored in the form of descriptive sentences, or in the form of functions.
- the force received by different feet of the footed robot may be the same or different, and the fourth constant ⁇ corresponding to different feet may be the same. It may also be different.
- the mapping matrix of the fourth constant ⁇ corresponding to the different feet is different.
- the fourth constant ⁇ corresponding to different feet may also be different.
- a footed robot includes 4 feet.
- the fourth constant ⁇ corresponding to any foot includes variables of 6 dimensions; when all 3 feet of the footed robot are in contact with the ground.
- the fourth constant ⁇ corresponding to any foot in contact with the ground contains three-dimensional variables.
- the first relationship data is set as: the center of mass position P(t) is the product of the first constant C and the duration matrix E, then the first relationship data is substituted into the second relationship data corresponding to at least one foot to obtain the force f i ⁇ P(t) corresponding to at least one foot ⁇ Is the sum of the linear mapping of the first constant C and the fourth constant ⁇ corresponding to the i-th foot.
- mapping matrix of the first constant C and the mapping matrix of the fourth constant ⁇ corresponding to the i-th foot determine the first product of the first constant C and the corresponding mapping matrix, and the fourth constant ⁇ corresponding to the i-th foot
- the sum of the obtained first product and the second product is used as the force f i ⁇ P(t) ⁇ corresponding to the i-th foot.
- the supporting footed robot can stand or move, and the center of mass of the footed robot is maintained at the corresponding center of mass position P(t) through the cooperation between at least one of the feet. Therefore, it can be determined that there is an association relationship between the force corresponding to the at least one foot of the foot-type robot and the center of mass position P(t), thereby creating the second relationship data corresponding to the at least one foot.
- the centroid position P(t) of the footed robot determined subsequently conforms to the force condition of the footed robot, ensuring the feasibility of the centroid position P(t) obtained subsequently.
- the force f i ⁇ P(t) ⁇ corresponding to the i-th foot determined by the first constant C and the fourth constant ⁇ corresponding to the i-th foot is used to represent the creation of
- the moving time is arbitrarily set by the foot robot, such as 15 seconds, 30 seconds, and so on.
- the step 305 includes: determining the distance between the center of mass position corresponding to the initial position and the center of mass position corresponding to the end position as the movement distance of the footed robot from the initial position to the end position, Obtain the moving speed of the footed robot, and determine the ratio of the moving distance to the moving speed as the moving time.
- the moving speed of the foot robot is arbitrarily set by the foot robot, such as moving 0.2 meters per second, 0.5 meters per second, and so on.
- sampling time point refers to the time point between the initial time point corresponding to the initial position and the end time point corresponding to the end position.
- the multiple sampling time points include two or more sampling time points. There is an interval duration between every two adjacent sampling time points. Optionally, any two adjacent interval durations are equal or not equal.
- the movement time is 60 seconds
- the initial time point corresponding to the initial position is 0 seconds
- the end time point corresponding to the end position is 60 seconds.
- Five sampling time points are selected from the movement time, and 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
- the fifth sampling time point is 50 seconds
- 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
- the fifth sampling time point is 55 seconds.
- step 306 includes: dividing the moving duration into multiple time periods, and using the end time point of each time period as the sampling time point. Among them, the obtained multiple time periods are all equal or not equal.
- the fourth relationship data indicates the relationship between the first constant C and the sampling centroid position Q(C), because the first constant C is the second constant C free whose value is undetermined and the third constant whose value has been determined. h constitutes, the fourth relational data indicates the relationship between the second constant C free and the sampling centroid position Q (C free ), and the sampling centroid position Q (C free ) indicates the centroid position of the footed robot at the corresponding sampling time point .
- the fourth relational data can be stored in the form of descriptive sentences, or in the form of functions.
- the first relational data indicates that the centroid position P(t) is the product of the first constant C and the duration matrix E
- the first constant C includes the second constant C free whose value is undetermined, and any sampling time point is compared with the initial time
- the interval duration between the points is substituted into the duration matrix E in the first relational data, the value of the duration matrix E at any sampling time point is determined, and the fourth relational data corresponding to the sampling time point is obtained.
- the relationship data indicates the relationship between the second constant C free and the sampling centroid position Q (C free ).
- the value of the second constant C free included in the fourth relationship data has not been determined, and the values of other constants included in the fourth relationship data have all been determined.
- the fifth relationship data indicates the relationship between the first constant C and the force f i corresponding to at least one foot. Because the first constant C is determined by the second constant C free whose value is undetermined and the second constant C free whose value has been determined. If three constants h are formed, the fifth relationship data indicates the relationship between the second constant C free and the force f i ⁇ P(t) ⁇ corresponding to at least one foot.
- the fourth relational data indicates the relation between the second constant C free and the sampling centroid position Q (C free )
- the second relational data corresponding to the at least one foot indicates the force f corresponding to the centroid position P(t) and the at least one foot i ⁇ P(t) ⁇
- the fourth relationship data corresponding to each sampling time point is substituted into the second relationship data
- the fifth relationship data corresponding to each sampling time point can be obtained. Since the value of the second constant C free included in the fourth relationship data is not determined, and the values of the second constant C free and the fourth constant ⁇ included in the second relationship data are not determined, the obtained fifth relationship data
- the values of the second constant C free and the fourth constant ⁇ have not been determined.
- the fifth relational data can be stored in the form of descriptive sentences, or in the form of functions.
- this step 308 includes: based on the step sequence of the foot robot, the step duration corresponding to at least one foot, and the interval time between each sampling time point and the initial time point, determining that the foot robot is at For the feet that are in contact with the ground at each sampling time point, the fifth relationship data is determined based on each sampling centroid position Q (C free ), the second relationship data corresponding to at least one foot, and the feet that are in contact with the ground at each sampling time point.
- the step sequence indicates the step sequence between the multiple feet of the foot-type robot, and the step time corresponding to the foot is the time elapsed from lifting to falling of the foot.
- the step lengths corresponding to different feet are the same or different.
- the step sequence of the foot robot Through the step sequence of the foot robot, the step length corresponding to at least one foot, and the interval time between each sampling time point and the initial time point, it is possible to determine the foot in the stepping process corresponding to each sampling time point, thereby determining where At each sampling time point, the foot of the foot-type robot in contact with the ground. Substituting each sampling centroid position Q (C free ) into the second relational data, it is possible to obtain the force f i ⁇ P(t) ⁇ corresponding to at least one foot in contact with the ground at each sampling time point of the footed robot , Get the fifth relational data.
- a foot robot includes four feet, which are divided into left front foot, left hind foot, right front foot and right hind foot.
- the step sequence is quadruped support movement center of mass, right hind foot step, right front foot step, and quadruped support movement center of mass ,
- Four-leg support moving centroid, left hind foot, left forefoot and four-leg support moving centroid, each step time is 1 second, when the sampling time point is 1.5 seconds, it can be determined that the foot robot is behind right
- the feet currently in contact with the ground are the left forefoot, the left hind foot, and the right forefoot; when the sampling time point is 3.5 seconds, it can be determined that the foot robot is in the process of moving the center of mass of the quadruped support, then the current contact with the ground
- the feet are left forefoot, left hindfoot, right forefoot and right hindfoot.
- the third relationship data indicates the positive correlation between the target value J and the square of the force f i ⁇ P(t) ⁇ received by at least one foot in contact with the ground, and also indicates the target value J and each sampling time point The positive correlation between the square of the force f i ⁇ P(t) ⁇ corresponding to the corresponding at least one foot and the sampling centroid position Q(C free ). Since both the fourth relationship data and the fifth relationship data include the first constant C with an undetermined value, the created third relationship data also includes the first constant C with an undetermined value. Moreover, since the first constant C is composed of the second constant C free with an undetermined value and the third constant h with a determined value, the third relational data includes the second constant C free with an undetermined value. In the footed robot, the third relational data can be stored in the form of descriptive sentences, or in the form of functions.
- this step 309 includes: setting the target value J as the sum of the weighted sum of squares of multiple distances and the weighted sum of squares of the force f i ⁇ P(t) ⁇ corresponding to at least one foot. value.
- the multiple distances include the distance between any two adjacent centroid positions among the centroid positions of the initial position, the centroid positions of the multiple sampling centroids, and the centroid positions of the end position.
- the weight of each distance and the weight of each force f i ⁇ P(t) ⁇ are arbitrarily set by the footed robot, and the weight of the force f i ⁇ P(t) ⁇ is the force f i ⁇ P(t) ⁇ corresponds to the weight corresponding to the foot.
- the target value J satisfies the following relationship:
- J grf is used to represent the weighted sum of squares of the force f i ⁇ P(t) ⁇ corresponding to at least one foot
- J len is used to represent the weighted sum of squares of multiple distances.
- the third relationship data includes a first constant C whose value is not determined, and the first constant C includes a second constant C free whose value is not determined, that is, the third relationship data includes a value not determined Determine the second constant C free .
- the target value J Since the target value J has a positive correlation with the square of the second constant C free , the target value J has a minimum value.
- the target value J is used to optimize the distribution of the force received by at least one foot of the footed robot, can reflect the length of the center of mass trajectory, and can reflect the oscillation amplitude of the center of mass position of the footed robot.
- the minimum value of the target value J makes the foot The distribution of the force received by at least one foot of the foot-type robot is balanced, and the oscillation amplitude of the centroid position of the foot-type robot is small, which can ensure the stability of the foot-type robot during the movement. Therefore, the minimum value of the target value J is selected, and the minimum The value can determine the value of the corresponding second constant C free .
- the first relational data of is: the centroid position P(t) is the product of the first constant C whose value has been determined and the duration matrix E, and the corresponding length can be determined by the arbitrary interval between the initial time points corresponding to the initial position The centroid position of P(t).
- the undetermined constant in the third relational data includes the fourth constant ⁇ .
- the value of the fourth constant ⁇ can also be determined when the target value J is the minimum value.
- the interval time t 0 is the interval between any time point and the initial time point corresponding to the initial position during the movement of the footed robot from the initial position to the end position.
- any interval duration t 0 is substituted into the first relationship data, it can be length t 0 corresponding to the centroid position P (t 0) obtained when any one of the spacer.
- the foot robot controls each joint in each foot to realize the lifting or falling of each foot of the foot robot, thereby driving the foot robot to move.
- the foot robot is to make at least one foot of the foot robot move by controlling the joint torques of multiple joints, so that the position of the center of mass of the foot robot is maintained at a determined center of mass position P(t 0 ). That is, through the centroid position P(t 0 ), end position and inverse kinematics of the footed robot at any interval t 0 , it is determined that the footed robot moves from the initial position to the end position.
- the joint torque of each joint is to make at least one foot of the foot robot move by controlling the joint torques of multiple joints, so that the position of the center of mass of the foot robot is maintained at a determined center of mass position P(t 0 ). That is, through the centroid position P(t 0 ), end position and inverse kinematics of the footed robot at any interval t 0 , it is determined that the foot
- this step 312 includes: determining the joint angles and joint torques of the multiple joints of the foot robot based on the center of mass position P(t 0) and the end position. Among them, the joint angle is used to represent the angle that the foot robot's joints appear after rotating. Through the determined center of mass position P(t 0 ) and inverse kinematics, the joint angles of the multiple joints of the foot robot are determined. Then, through inverse dynamics and optimized control methods, the joint torques of multiple joints of the robot are determined.
- the relationship data between the contact point position of the at least one foot in contact with the ground and the interval time is created, and The relationship data between the posture of the footed robot and the interval time; based on the relationship data between the position of the contact point of the at least one foot in contact with the ground and the interval time, the relationship data between the posture of the footed robot and the interval time, And the first relationship data corresponding to the determined first constant C to determine the relationship data between the joint angles of the multiple joints of the foot robot and the interval time; the joint angles of the multiple joints and the interval time
- the first derivative of the relationship data to the interval length is determined as the relationship data between the joint angular velocity of the multiple joints and the interval duration; the relationship data between the joint angles and the interval duration of the multiple joints is to the second derivative of the interval length, Determined as the relationship data between the joint angular acceleration and the interval duration of the multiple joints of the foot
- the joint angles, joint speeds, and joint angular velocities of the multiple joints of the foot robot at the current time point are collected through sensors configured by the foot robot.
- the multiple joints of the footed robot are controlled to rotate, so that the position of the center of mass of the footed robot coincides with the determined position of the center of mass, so as to realize the movement of the footed robot, and the footed robot
- the center of mass position of the footed robot at any point in time always coincides with the position of the center of mass determined for that point in time, so that the footed robot moves along the determined center of mass trajectory.
- this step 313 includes: controlling the multiple joints to rotate according to the joint angles and joint torques of the multiple joints to drive the foot robot to move.
- the multiple joints are maintained at the corresponding joint angles, so as to realize the lifting or falling of the foot of the foot robot, driving the movement of the foot robot, and ensuring the movement During the process, the center of mass of the footed robot moves along the determined center of mass trajectory.
- the embodiment of the present application is described with a movement process of the footed robot moving from the initial position to the end position.
- the footed robot can continue to execute after reaching the end position.
- the end position of the previous movement process is taken as the initial position of the next movement process, and the above steps 301-313 are executed to move the footed robot to the end position of the next process, thus realizing multiple footed robots.
- a continuous movement process is described with a movement process of the footed robot moving from the initial position to the end position.
- the end position of the last movement process is used as the target position of the footed robot, and after the footed robot is determined to move to the end position of the current movement process, it is detected whether the end position is the same as the target position.
- the end position is the same as the target position.
- set first state data for the end position in response to the end position not coincident with the target position, set second state data for the end position.
- the centroid velocity and centroid acceleration included in the first state data are not zero, and the centroid velocity and centroid acceleration included in the second state data are zero.
- the target position is any position determined by the footed robot.
- the footed robot needs to move to room A, and use the doorway position of room A as the target position.
- the end position not coincident with the target position, it means that the footed robot needs to continue to move after reaching the end position of the current movement process and execute the next movement process.
- the footed robot In order to ensure the continuity of the footed robot movement, the footed robot The center-of-mass velocity and center-of-mass acceleration of is not 0; in response to the end position coincides with the target position, it means that after the footed robot reaches the end position of the current movement process, the footed robot will stop no longer moving, in order to ensure the stability of the footed robot Therefore, the center-of-mass velocity and center-of-mass acceleration of the footed robot are 0, so that the footed robot can stop at the target position.
- the embodiment of the present application is described with a footed robot as the main body of execution.
- the above steps 301-313 are executed by the server, and the server is based on the centroid position P(t 0 ) and terminates.
- Position determine the joint torque of multiple joints of the foot robot, and send a movement command to the foot robot.
- the movement command carries the joint torque of the multiple joints.
- the foot robot controls the multiple joints according to the joint torque of the multiple joints. Rotation drives the foot robot to move.
- the server establishes a communication connection with multiple joints of the foot robot, and the server sends rotation instructions to the multiple joints of the foot robot according to the determined joint torques of the multiple joints, and the rotation instructions carry the corresponding joints.
- the joint torque of the foot robot is rotated according to the corresponding joint torque after receiving the rotation command by the multiple joints of the foot robot to drive the foot robot to move.
- the embodiment of the present application is described with the footed robot as the main body of execution.
- the above steps 301-310 are executed by the server, and the server obtains the first value whose value has been determined.
- the first relationship data corresponding to the determined first constant C is sent to the footed robot, and the footed robot executes steps 311-313 to control the movement of the footed robot.
- the method provided by the embodiment of the present application does not need to detect the state of each joint of the foot robot.
- the first relationship data, the second relationship data corresponding to at least one foot, and the third relationship data can be used to determine that the first constant C free corresponds to The first relational data of, reduces the amount of calculation in the process of determining the first relational data corresponding to the first constant C free , and can be applied to any number of footed robots with a wide range of adaptation.
- the force on the contact between at least one foot of the foot robot configuration and the ground is taken into account, and the accuracy of the determined position of the center of mass of the foot robot is improved.
- the robot can move according to the determined center of mass trajectory, which ensures the feasibility and efficiency of the determined center of mass trajectory, and ensures the diversity and universality of the determined center of mass trajectory.
- FIG. 4 it is a framework diagram of the foot-mounted robot system for controlling the movement of the foot-mounted robot provided by the embodiment of the present application.
- the foot-mounted robot system includes a visual perception subsystem 401, a trajectory generation subsystem 402, and a movement control subsystem 403. .
- the visual perception subsystem 401 obtains the end position and step sequence of the foot robot based on the state data of the foot robot, and sends the obtained end position and step sequence of the foot robot to the trajectory generation subsystem 402.
- the trajectory generation subsystem 402 receives the end position and the step sequence of the footed robot sent by the visual perception subsystem 401, and determines the centroid trajectory of the footed robot based on the determined footed robot's state data.
- the centroid motion trajectory determines the joint torque of each joint of the foot robot, and sends the determined joint torque of each joint of the foot robot to the movement control subsystem 403.
- the movement control subsystem 403 receives the determined joint torque of each joint of the foot robot sent by the trajectory generation subsystem 402, and controls each joint to rotate according to the determined joint torque of each joint of the foot robot to drive the foot robot to move. And in the process of controlling the movement of the foot robot, the status data of the foot robot is monitored in real time to ensure that the foot robot can move stably.
- the foregoing embodiments involve the first relationship data, the second relationship data, and the third relationship data. Based on the foregoing embodiments, the following embodiments will describe the creation process of the foregoing three types of relationship data in detail:
- the step sequence indicates the step sequence between multiple feet of the footed robot, and the execution of a step action by any one foot is called a movement sub-process.
- the end position of the previous moving sub-process is the same as the initial position of the next moving sub-process.
- the first constant C corresponding to the moving sub-process is also different. Then, the first relational data is created for each movement sub-process.
- the first relational data is set as: the centroid position P(t) of the footed robot is the product of the time length matrix E and the first constant C k, the first The constant C k satisfies the following relationship:
- k is a positive integer not less than 1
- C xk represents the component of the first constant C k corresponding to the k-th moving sub-process on the x-axis
- Cyk represents the first constant C k corresponding to the k-th moving sub-process in The y-axis component
- C zk represents the z-axis component of the first constant C k corresponding to the k-th moving sub-process.
- the first relational data corresponding to the k-th movement sub-process can be expressed by the following function:
- the P init is a constant vector, which is used to represent the initial centroid position of the footed robot at the beginning of any movement period;
- E t represents the duration vector;
- C xk represents the first constant C k corresponding to the kth movement sub-process at x The component of the axis,
- C yk represents the component of the first constant C k corresponding to the k-th moving sub-process on the y-axis,
- C zk represents the component of the first constant C k corresponding to the k-th moving sub-process on the z-axis,
- C * k [C *k, 0 C *k, 1 C *k, 2 C *k, 3 ] T , optionally, * represents the x-axis, y-axis or z-axis,
- Indicates that the constant C *k is a column vector including 4 dimensions, Represents the set of real numbers in a multi-dimensional space; the movement duration of each movement sub-process is
- the first constant C in the first relational data corresponding to the movement of the footed robot from the initial position to the end position Is composed of the first constant C k corresponding to multiple moving sub-processes, that is, the first constant C in the first relational data corresponding to the movement of the footed robot from the initial position to the end position includes the first constant C corresponding to each moving sub-process
- the first relational data corresponding to the movement of the footed robot from the initial position to the end position can be expressed by the following function:
- P init is a constant vector, used to represent the initial centroid position of the footed robot at the beginning of any movement period;
- E t represents the time vector;
- C represents the first relational data corresponding to the footed robot moving from the initial position to the end position
- C 1 represents the first constant corresponding to the first moving sub-process
- C 2 represents the first constant corresponding to the second moving sub-process
- C k represents the first constant corresponding to the k-th moving sub-process
- C n represents the first constant corresponding to the nth movement sub-process
- T represents the transpose of the matrix.
- the number of dimensions included in determining the first constant C and the number of dimensions included in the second constant C free can be determined based on variables in the first relationship data.
- the movement of the footed robot from the initial position to the end position includes 8 movement sub-processes, which are, in chronological order, the moving sub-process 501, the moving sub-process 502, the moving sub-process 503, the moving sub-process 504, and the moving sub-process.
- the second 3 means that the state data corresponding to each position includes three variables: center of mass position, center of mass velocity, and center of mass acceleration.
- the state data of the initial position of the first moving sub-process is determined, and the state data of the ending position of the last moving sub-process is determined, so the first constant C is used to represent 8
- the embodiment of this application is only described by creating the first relational data.
- the first relational data of the k-th movement sub-process is subjected to the second derivative of the interval time t to obtain the centroid acceleration of the k-th movement sub-process
- the relationship data with the interval time t, the center of mass acceleration can be expressed by the following function:
- E a represents the time matrix, which is obtained by taking the second derivative of the interval time t by the time length vector E t, Indicates that the time matrix E a is a row vector of 4 dimensions; k is a positive integer not less than 1, C xk represents the component of the first constant C k corresponding to the k-th moving sub-process on the x-axis, and C yk represents the k-th The component of the first constant C k corresponding to the movement sub-process on the y-axis, and C zk represents the component of the first constant C k corresponding to the k-th movement sub-process on the z-axis.
- the relational data is stored in the form of descriptive sentences, or in the form of functions.
- the relationship data between the force received on at least one foot of the footed robot and the gravity of the footed robot itself can be expressed by the following function:
- m represents the quality of the footed robot;
- g represents the acceleration of gravity, the acceleration of gravity Indicates that the acceleration of gravity g is a column vector of 3 dimensions, Represents the set of real numbers in a multidimensional space;
- L represents the angular momentum of the footed robot, angular momentum Indicates that the angular momentum L is a column vector of 3 dimensions, Represents the first derivative of angular momentum L with respect to the interval time t, represents the amount of change in angular momentum L;
- Y represents the number of feet of the footed robot in contact with the ground;
- Z′ 3 ⁇ 3 represents a unit matrix with 3 rows and 3 columns;
- r i represents the position of the contact point where the i-th foot of the footed robot is in
- centroid dynamics equation of the footed robot represents the relationship between the movement of the footed robot and the external force received by the footed robot.
- the external force received by the footed robot conforms to Newton's law and Euler's equation.
- the gravity of the footed robot is equal to the sum of all external forces received by the footed robot, and the first derivative of the angular momentum of the footed robot with respect to time is equal to the moment of the footed robot.
- the relational expression can be obtained Bring this relational expression into the relational data between the force received by at least one foot of the footed robot and the gravity of the footed robot itself, and the force received by at least one foot of the footed robot and the gravity of the footed robot itself.
- m represents the quality of the footed robot;
- g represents the acceleration of gravity, the acceleration of gravity Indicates that the acceleration of gravity g is a column vector of 3 dimensions, Represents the set of real numbers in a multidimensional space;
- L represents the angular momentum of the footed robot, angular momentum Indicates that the angular momentum L is a column vector of 3 dimensions, Represents the first derivative of the angular momentum L with respect to the interval time t;
- Represents the oblique symmetric matrix of the position of the center of mass P(t); f 0 ⁇ P(t) ⁇ is used to represent the sum of the forces received by at least one foot of the foot robot in contact with the ground;
- G is a constant matrix, the constant matrix Indicates that the constant
- P init is a constant vector, which is used to represent the initial centroid position of the footed robot at the beginning of any movement period;
- P t represents the centroid position of the footed robot after the interval time t has passed from the initial time point of the planning period The amount of change in the position of the center of mass.
- the initial centroid position P init is the same as the centroid position included in the state data of the initial position of the footed robot.
- G is a constant matrix
- the constant matrix Indicates that the constant matrix G is a matrix with 6 rows and 3Y columns, Represents the set of real numbers in a multi-dimensional space
- f 0 ⁇ P(t) ⁇ is used to represent the sum of the forces received by at least one foot of the footed robot in contact with the ground
- m represents the mass of the footed robot
- P t represents the weight of the footed robot The change in the position of the center of mass after the interval time t has elapsed since the initial time point of the planning period; Represents the second derivative of the change in the centroid position P t with respect to the interval time t
- the P init is a constant vector used to represent the initial centroid position of the footed robot at the beginning of any movement period, Is the oblique symmetric matrix of the constant vector P init ;
- g represents the acceleration of gravity, Indicates that the acceleration of gravity g is a column vector of 3 dimensions;
- the footed robot Since the footed robot’s posture changes small during its movement, the amount of angular momentum change corresponding to the footed robot Is small and can be ignored, then the relationship data between the force on at least one foot of the footed robot and the center of mass position P(t) of the footed robot can be ignored, and the third term on the right side of the equation can be ignored, then the footed robot
- the relationship data between the force received by at least one foot and the center of mass position P(t) of the foot robot is simplified, and the following relationship is obtained:
- G is a constant matrix
- the constant matrix Indicates that the constant matrix G is a matrix with 6 rows and 3Y columns, Represents a set of real numbers in a multi-dimensional space
- f 0 ⁇ P(t) ⁇ is used to represent the sum of the forces received by at least one foot of the footed robot in contact with the ground
- H is a constant matrix
- W g is a constant vector
- X′ t represents Center of mass position change P t and center of mass acceleration Variation set
- m represents the mass of the footed robot
- Z′ 3 ⁇ 3 represents a unit matrix with 3 rows and 3 columns
- the P init is a constant vector used to represent the initial centroid position of the footed robot at the beginning of any movement period
- g represents the acceleration of gravity, Indicates that the acceleration of gravity g is a column vector of 3 dimensions
- f 0 ⁇ P(t) ⁇ is used to represent the sum of the forces received by at least one foot of the foot robot in contact with the ground;
- G + is a constant matrix, which is expressed as the pseudo-inverse matrix of the constant matrix G, and the constant matrix G + Represents a constant matrix corresponding to at least one foot Set;
- H is a constant matrix;
- P(t) represents the position of the center of mass; Is the second derivative of the center of mass position P(t) with respect to the interval time t, and represents the center of mass acceleration corresponding to the center of mass position P(t);
- ⁇ represents the fourth constant corresponding to at least one leg of the footed robot;
- W g is a constant vector;
- U It is a constant matrix, and the constant matrix U represents a set of mapping matrices corresponding to the fourth constant ⁇ corresponding to at least one foot.
- the second relational data corresponding to the i-th foot of the footed robot can be obtained, and the following relation is satisfied:
- f i ⁇ P(t) ⁇ represents the force corresponding to the i-th foot
- Constant matrix Represents the constant matrix corresponding to the i-th foot
- H is the constant matrix
- P(t) represents the position of the center of mass
- ⁇ represents the fourth constant corresponding to at least one foot of the foot robot
- U i represents the i-th foot
- W g is a constant vector.
- the force f i ⁇ P(t) ⁇ corresponding to the i-th leg of the footed robot has a linear relationship with the fourth constant ⁇ .
- the embodiment of the present application is described with the center of mass position P(t) of the footed robot under ideal conditions, and in another embodiment, the center of mass position P(t) of the footed robot has an error , And the center of mass position P(t) of the footed robot is affected by the feet of the footed robot during the movement, the center of mass position P(t) of the footed robot will change within a certain range. In order to improve the accuracy and stability of the center of mass position of the obtained footed robot, uncertainty constraints are added to the error of the center of mass position.
- one point is taken in each of the positive and negative directions of the x, y, and z axes of the coordinate system to obtain point 1, point 2, point 3, point 4, point 5, and point 6.
- the offset ⁇ P′ j of the centroid position of the footed robot is obtained.
- the relationship data between the force on at least one foot of the footed robot and the centroid position P(t) of the footed robot can be expressed by the following function:
- G is a constant matrix
- the constant matrix Indicates that the constant matrix G is a matrix with 6 rows and 3Y columns, Represents a set of real numbers in a multi-dimensional space
- f 0 ⁇ P(t) ⁇ is used to represent the sum of the forces received by at least one foot of the footed robot in contact with the ground
- m represents the mass of the footed robot
- Z′ 3 ⁇ 3 represents 3 An identity matrix with rows and 3 columns
- g represents the acceleration of gravity, Indicates that the acceleration of gravity g is a column vector of 3 dimensions
- P init is a constant vector, used to represent the initial center of mass position of the footed robot at the beginning of any movement period, Is an oblique symmetric matrix of the constant vector P init
- P t represents the change in the position of the center of mass of the footed robot after the interval time t from the initial time point of the planning period
- the position of the foot robot can be determined When the offset of the center of mass position reaches the vertices of the polyhedron, the force on the footed robot meets the friction constraint. When the offset of the center of mass position of the footed robot is inside the polyhedron, the force on the footed robot is also Comply with friction constraints.
- the third relational data is created.
- the footed robot is constrained by friction: the foot in contact with the ground in the footed robot receives a friction force greater than 0, and the friction force received by the foot is not less than that of the foot in contact with the ground
- the component force of the received force f i ⁇ P(t) ⁇ in the direction of the friction force avoids relative sliding between the foot and the ground, thereby ensuring that the footed robot can move normally.
- the force f i ⁇ P(t) ⁇ corresponding to at least one foot of the foot-type robot is constrained by friction and satisfies the following relationship:
- n i is the normal vector of the contact point where the i-th foot of the foot-type robot is in contact with the ground
- the representation normal vector n i is a column vector of 3 dimensions, Represents a set of real numbers in a multidimensional space
- t i1 and t i2 represent two tangent vectors on a plane perpendicular to the normal vector of the contact point of the i-th foot of the foot-mounted robot with the ground
- the tangent vector t i1 is orthogonal to the tangent vector t i2 , T i1
- Indicates that the tangent vector t i1 and the tangent vector t i2 are column vectors of three dimensions
- T represents the transposition of the vector
- ⁇ i is the friction coefficient between the i-th foot of the foot robot and the ground.
- the direction of the force received by the i-th foot in contact with the ground in contact with the ground is within a cone
- the i-th foot The contact point of each foot with the ground is the apex of the cone, and the line from the apex to any point of the bottom circle of the cone in the cone can be regarded as the force f i ⁇ P (t) ⁇ direction.
- the cone is approximated as a quadrangular pyramid, and the force f i ⁇ P(t) ⁇ on the contact between the i-th foot and the ground satisfies the following relationship:
- ⁇ i is the friction coefficient
- n i is the normal vector of the contact point of the i-th foot of the foot-type robot with the ground
- the representation normal vector n i is a column vector of 3 dimensions, Represents a set of real numbers in a multidimensional space
- t i1 and t i2 represent two tangent vectors on a plane perpendicular to the normal vector of the contact point of the i-th foot of the foot-mounted robot with the ground
- the tangent vector t i1 is orthogonal to the tangent vector t i2 , T i1 , Indicates that both the tangent vector t i1 and the tangent vector t i2 are three-dimensional column vectors
- T represents the transpose of the vector
- the force f i ⁇ P(t) ⁇ on the four sides of the quadrangular pyramid is constrained by the force f i ⁇ P(t) ⁇ on the ith foot of the footed robot in contact with the ground, and the footed robot’s th i foot contact with the ground by a force f i ⁇ P (t) ⁇ in the normal component of the constraint, so that the legged robot i-th foot contact with the ground by the force f i ⁇ P (t) ⁇
- the direction is limited to the quadrangular pyramid.
- H f is a constant matrix
- B f and D f are both constant vectors
- V represents a variable vector
- the variable matrix ⁇ is the collection of the fourth constant ⁇ corresponding to different feet. Through the collection ⁇ , the general solution of the force of the footed robot in contact with the ground under the condition of the center of mass dynamics can be obtained.
- the variable matrix V is a column vector of 87 rows
- the constant matrix H f is a matrix of 360 rows and 87 columns
- the constant vector B f is a column vector of 360 rows
- the constant vector D f is a column vector of 360 rows.
- the obtained third relationship satisfies the following relationship:
- J represents the target value
- J grf is used to represent the weighted sum of squares of the force f i ⁇ P(t) ⁇ corresponding to at least one foot
- J len is used to represent the weighted sum of squares of multiple distances.
- Both J grf and J len in the third relational data include the square of the variable matrix V, and the variable matrix V satisfies the friction constraint.
- the minimum value of the target value J in the third relational data can be obtained, and the variable matrix V corresponding to the minimum value of the target value J can be obtained, that is, the second constant C corresponding to the minimum value of the target value J can be obtained free and the fourth constant ⁇ , by taking the determined second constant C free and the third constant h, the determined first constant C is obtained, and the determined first constant C is substituted into the first relational data, Obtain the centroid trajectory of the footed robot.
- the method provided in the embodiments of the present application is based on the centroid dynamics of the footed robot, ignoring the parameters that have little effect on the centroid position of the footed robot, and considers the constraints of the centroid position, speed, and acceleration constraints of the initial position and the end position on the centroid position , And the frictional constraint of the contact between the footed robot and the ground, the determination of the center of mass position is transformed into a quadratic programming problem, and the stable center of mass trajectory is solved, and then combined with the end position of the footing point of the footed robot, the foot is obtained based on inverse kinematics.
- the joint torque of each joint of the robot controls the rotation of multiple joints in accordance with the joint torques of the multiple joints to drive the foot robot to move.
- the method for determining the position of the center of mass can be applied to various footed robots, such as biped robots, quadruped robots, or multi-pedal robots, etc.; it can be applied to various gaits of footed robots, such as biped walking.
- Four-legged walking, four-legged trot or random gait, etc. can be applied to various complex environments, such as flat ground, uneven ground, slopes, stairs, etc.; can use any step of the interval t, from the initial position to the end position Any movement process can be used in the process; when the ground is flat or the height difference is small, the height of the center of mass of the robot can be kept unchanged, and only 2 sets of curves are used to plan the movement of the center of mass in the plane; the state data of the initial position and The constraint of the state data of the end position on the centroid position can be determined according to actual needs.
- the sampling time point it can be sampled at any position of the centroid position trajectory, sampling time The more the number of points, the more reasonable the distribution, and the more reliable the obtained centroid motion trajectory. However, the larger the size of the quadratic programming problem, the longer the solution time.
- the distance corresponding to the sampling time point in the third relational data can be determined by multiple sampling time points.
- the distance can include the components of the x-axis, y-axis, and z-axis, and different weights can be selected according to the actual situation; except for the ground
- the sum of squares of acceleration, the sum of squares of the speed difference between adjacent points, and the sum of squares of the acceleration difference can also be considered.
- Simplification of the friction cone any N (N>4) pyramid inscribed in the friction cone can be used for approximation.
- the location of the contact point the contact point is not limited to the contact point between the foot of the foot robot and the ground, but also applies to the situation where the body, torso, upper limbs and other parts of the robot are in contact with the environment; the polyhedron with the uncertainty of the center of mass position: Yes Using any polyhedron that meets actual needs, the increase in the number of vertices of the polyhedron will increase the size of the quadratic programming problem and increase the solution time.
- the polyhedron When the position of the centroid in a single direction is determined and the change is negligible, the polyhedron can be reduced to a parallel polygon; when the position of the centroid in two directions is determined and the change is negligible, the dimension of the polyhedron can be reduced to a straight line; When the position of the centroid in each direction is determined and the change can be ignored, the dimensionality can be reduced to a point.
- the foot-mounted robot is configured with 4 feet, and the foot-mounted robot moves from the initial position to the end position according to the determined centroid trajectory 701.
- the footed robot generates a centroid position trajectory every half a step cycle, and the centroid position, the centroid velocity, and the centroid acceleration of the footed robot vary with the interval time.
- the two curves in each graph respectively represent the centroid position curves with the highest power of the interval duration t contained in the centroid position P(t) being 3 and 6, respectively.
- the three graphs in the first column of Fig. 8 are used to indicate that when the highest power of the interval time t contained in the centroid position P(t) is 3 and 6, the centroid position is on the coordinate axes x, y, and z.
- the curve of the coordinate changes with the interval length; the three graphs in the second column of Fig.
- the foot robot is configured with 4 feet, namely the right hind foot, right fore foot, left hind foot and left fore foot.
- the step sequence of the foot robot is right hind foot, right fore foot, left hind foot, and left fore foot.
- each half of the step cycle is the right hind foot, the right forefoot, or the left hind foot and the left forefoot.
- the footed robot repeats the stepping process of multiple feet according to the stepping sequence, so that the footed robot moves. It can be seen from Figure 8 that the maximum power of the interval time t contained in the centroid position P(t) of the footed robot is 3 and 6 respectively. The deviation of the centroid position curve is small. Therefore, the centroid position P(t) contained in the The highest power of the interval length t can be any value.
- the foot-mounted robot generates a center-of-mass position trajectory every step cycle, and the curve of the center-of-mass position, center-of-mass velocity, and center-of-mass acceleration of the foot-mounted robot changes with the interval time.
- the two curves in each graph represent the centroid position curves with the highest power of the interval time t contained in the centroid position P(t) being 3 and 6, respectively.
- the three graphs in the first column of Figure 9 are used to indicate that the highest power of the interval t contained in the centroid position P(t) is 3 and 6, respectively, and the centroid position is on the coordinate axes x, y, z
- the curve of the coordinate changes with the interval length
- the three graphs in the second column of Fig. 9 are used to indicate that the center of mass position P(t) contains the highest power of the interval length t of 3 and 6, respectively, and the center of mass velocity is at the coordinate
- the foot robot is configured with 4 feet, namely the right hind foot, right fore foot, left hind foot and left fore foot.
- the step sequence of the foot robot is right hind foot, right fore foot, left hind foot, and left fore foot.
- each step cycle is stepping right hind foot, stepping right forefoot, stepping left hind foot, and stepping left forefoot.
- the footed robot repeats the stepping process of multiple feet according to the stepping sequence, so that the footed robot moves. It can be seen from Figure 9 that the highest power of the interval time t contained in the centroid position P(t) of the footed robot is 3 and 6, respectively. The deviation of the centroid position curve is small. Therefore, it is determined that the centroid position P(t) contains The highest power of the interval length t can be any value.
- the first row of images indicates that the foot-mounted robot generates a centroid position trajectory every half of the step cycle.
- the curve of the total torque and the omitted torque of the robot with the interval time indicate that the foot robot’s centroid position trajectory is generated once every half step cycle of the foot robot.
- the three curves in the second row in Figure 10 show that when the footed robot generates a centroid position trajectory in each step cycle, the total torque of the footed robot and the omitted torque are in The curve of the component moments on the coordinate axes x, y, z changing with the interval time; it can be seen from Fig. 10 that the moment part omitted when determining the position of the center of mass in the above embodiment is close to 0, which means that this part of the moment can be ignored.
- the footed robot is a curve of the determined centroid position of the footed robot and the centroid position of the footed robot with the interval time according to the method for determining the position of the centroid of the footed robot according to the foregoing embodiment.
- the first row of images shows the curve of the centroid position changing with the interval time when the footed robot is moving slowly
- the second row of images shows the curve of the centroid position changing with the interval time when the footed robot is moving fast. It can be seen from FIG. 11 that the centroid position determined for the footed robot coincides with the centroid position of the footed robot through the centroid position determination method provided in the above embodiment, so that it can be determined that the centroid position determination method provided by the embodiment of the present application is accurate.
- FIG. 12 is a flowchart of a method for determining the position of the center of mass provided by an embodiment of the present application, which is applied to a foot-type robot. As shown in FIG. 12, the method includes:
- the second state data at least includes the target centroid position.
- the target centroid position is expressed in the form of coordinates in the coordinate system, or in the form of a vector.
- the target centroid position of the footed robot is [20, 35, 80].
- the second state data includes the target centroid position
- the step 1201 includes: when the foot-mounted robot is acquired at the end position, the contact point position of at least one foot of the foot-mounted robot configured to contact the ground is based on the at least one The position of the contact point of the foot determines the position of the target centroid.
- the footed robot is a quadruped robot.
- the quadruped robot moves to the end position, all four feet of the quadruped robot are in contact with the ground, then the four contact positions where the four feet are in contact with the ground are obtained, based on the four contact positions.
- Position determine the target centroid position of the footed robot at the end position.
- the center of mass is the center of mass of the footed robot
- the position of the center of mass is the position of the center of mass of the footed robot
- the target center of mass position is the position where the center of mass of the footed robot is expected to be when the footed robot moves to the end position.
- the end position is the position that the footed robot will reach. At this time, the footed robot has not reached the end position.
- the end position is determined by the footed robot based on the environment where the footed robot is located.
- the footed robot acquires an environment image containing the moving direction of the footed robot through a visual perception system, performs feature extraction on the environment image, determines the end position of the footed robot, and determines that the footed robot is at the end Position, at least one of the contact points of the foot in contact with the ground.
- the visual perception system includes a camera, and the footed robot photographs the environment of the moving direction of the footed robot through the camera to obtain an image of the environment including the moving direction of the footed robot.
- the center positions of the multiple contact positions are determined based on the contact positions of the multiple feet of the footed robot with the ground, and the target centroid position is determined based on the height of the footed robot and the center position.
- a right-handed coordinate system is adopted, with the moving direction of the foot robot as the X axis, the left side of the foot robot perpendicular to the X axis as the Y axis, and the direction perpendicular to the ground as Z Axis, through the contact position of multiple feet of the foot robot, determine the center position of the multiple contact positions, add the coordinate value of the center position on the Z axis to the height value of the foot robot, you can get the target centroid position at this
- the coordinate value in the world coordinate system determines the center of mass position of the target.
- the second state data further includes the target centroid velocity
- this step 1201 further includes: obtaining first state data of the footed robot at the initial position, the first state data including at least the initial centroid position; The ratio between the distance between the position and the initial centroid position and the target movement time is determined as the target centroid velocity.
- the initial position is the current position of the footed robot
- the initial centroid position is the current position of the centroid of the footed robot.
- the center-of-mass speed is the moving speed of the center of mass of the footed robot, and the center-of-mass speed can be represented by a vector.
- the target center-of-mass speed is the desired moving speed of the center-of-mass of the footed robot when the footed robot moves to the end position.
- the distance between the target center of mass position and the initial center of mass position represents the distance moved by the center of mass of the footed robot in the process of moving the footed robot from the initial position to the end position.
- the target moving time indicates the time required for the footed robot to move from the initial position to the end position.
- the target movement duration is any duration, for example, 2 seconds or 3 seconds.
- the position of the centroid of the footed robot is expressed in the form of a vector, such as [1, 2, 3].
- Each element in the vector represents the centroid of the footed robot on the x-axis, y-axis and z of the coordinate system.
- the coordinate value of the axis, the distance between the target centroid position and the initial centroid position also expressed as a vector, which represents the displacement of the centroid of the footed robot on the x-axis, y-axis and z-axis, and the distance between the distance and the target moving time
- the ratio of is the sub-velocity of the target center of mass velocity on the x-axis, y-axis and z-axis.
- the second state data further includes the target centroid acceleration
- the first state data further includes the initial centroid velocity.
- This step 1201 further includes: comparing the difference between the target centroid velocity and the initial centroid velocity to the target centroid velocity. The ratio between the moving durations is determined as the target acceleration.
- the target centroid acceleration is the acceleration expected of the centroid of the footed robot when the footed robot moves to the end position.
- the target centroid acceleration is expressed in the form of a vector.
- the initial center of mass speed indicates the speed of the center of mass of the footed robot when the footed robot is in the initial position.
- the initial centroid velocity is expressed in the form of a vector.
- the difference between the target center-of-mass velocity and the initial center-of-mass velocity indicates the change in the center-of-mass velocity of the footed robot when the foot-mounted robot moves from the initial position to the end position, and the ratio of the change in the center-of-mass velocity to the target moving time , That is, when the footed robot moves from the initial position to the end position, the unit time change of the centroid velocity of the footed robot is the target centroid acceleration when the footed robot moves to the end position.
- the second state data includes at least the target centroid position, the target centroid velocity, and the target centroid acceleration.
- step 1201 includes: when the foot robot is at the end position, at least one foot and the foot of the foot robot are configured The position of the contact point of the ground contact is determined based on the position of the contact point of at least one foot to determine the target centroid position; the first state data of the footed robot in the initial position is obtained, the first state data includes at least the initial centroid position, and the target centroid position is compared with The ratio between the initial centroid position and the target movement duration is determined as the target centroid velocity; the difference between the target centroid velocity and the initial centroid velocity and the ratio between the target movement duration is determined as the target acceleration .
- first relationship data indicates the relationship between the interval time t and the center of mass position P(t) of the footed robot.
- the interval duration t indicates the duration of the interval between the initial time points corresponding to the initial position at any time point in the process of the footed robot moving from the initial position to the end position.
- the center of mass position P(t) indicates the position of the center of mass of the footed robot at the interval t.
- the first relationship data includes a first constant C whose value is undetermined, and the first constant C is used to represent the relationship between the center of mass position P(t) and the interval duration t.
- the first constant C is expressed in the form of a vector, or expressed in the form of a matrix.
- the first relational data is stored in the form of descriptive sentences, or in the form of functions.
- the step 1202 includes: setting the first relational data as: the centroid position P(t) is the product of the first constant C and the duration matrix E.
- the duration matrix E is used to represent the matrix of interval duration t.
- the first relational data satisfies the following relations:
- P init is the first constant vector, which is used to represent the initial centroid position of the footed robot at the initial position.
- the position of the center of mass of the footed robot changes with the moving interval t
- the position of the center of mass after an arbitrary interval of time t has a corresponding change in the position of the center of mass
- the interval time t corresponds to the center of mass
- the sum of the position change and the initial centroid position of the footed robot when it starts to move is used as the corresponding centroid position P(t) of the footed robot after an arbitrary interval of time t, thereby determining the indicated centroid position P(t) and the interval
- the first relationship data of the relationship between the time length t can be subsequently used to determine the centroid trajectory of the footed robot through the first relationship data.
- the target movement duration indicates the time required for the footed robot to move from the initial position to the end position. Then, based on the target moving time and the first relationship data, it is possible to predict the predicted center of mass position of the footed robot when the footed robot moves to the end position according to the center of mass trajectory indicated by the first relationship data. Since the first relational data includes the first constant C whose value is undetermined, the obtained predicted centroid position is related to the first constant C whose value is undetermined.
- the predicted state data includes a predicted center of mass position
- this step 1203 includes: based on the first relationship data, determining the predicted center of mass position of the footed robot after a target movement time from the initial position.
- the first relationship data indicates the relationship between the interval time t and the center of mass position P(t) of the footed robot, and the first relationship data includes a first constant C whose value is undetermined, then the target movement duration is taken as the interval duration t is substituted into the first relational data to obtain the predicted centroid position of the footed robot, and the predicted centroid position is related to the first constant C whose value is undetermined.
- the predicted state data includes the predicted center of mass velocity
- this step 1203 includes: based on the first relationship data, creating relationship data between the interval duration t and the center of mass velocity of the footed robot, based on the interval duration t and The relationship data between the center-of-mass velocity of the foot-mounted robot determines the predicted center-of-mass velocity of the foot-mounted robot from the initial position after the target movement time.
- the predicted center of mass velocity is the center of mass velocity of the footed robot predicted by the first relationship data when the footed robot moves to the end position, and the predicted center of mass velocity is related to the first constant C whose value is undetermined.
- obtain the first derivative of the first relational data with respect to the interval time t obtain the relational data between the interval time t and the centroid velocity of the footed robot, and substitute the target moving time into the relational data to obtain the predicted centroid speed.
- the predicted state data includes predicted centroid acceleration
- this step 1203 includes: based on the first relationship data, creating relationship data between the interval time t and the centroid acceleration of the footed robot, and based on the interval time t and The relationship data between the centroid acceleration of the footed robot determines the predicted centroid acceleration of the footed robot from the initial position after the target movement time.
- the predicted centroid acceleration is the centroid acceleration of the footed robot predicted by the first relationship data when the footed robot moves to the end position, and the predicted centroid acceleration is related to the first constant C whose value is undetermined.
- obtain the second derivative of the first relational data to the interval time t obtain the relational data between the interval time t and the centroid acceleration of the footed robot, and substitute the target moving time into the relational data to obtain the predicted centroid Acceleration.
- the predicted state data includes at least the predicted center of mass position, the predicted center of mass velocity, and the predicted center of mass acceleration
- this step 1203 includes: based on the first relational data, determining that the footed robot has moved from the initial position after the target movement time Predict the position of the center of mass; based on the first relationship data, create the relationship data between the interval time t and the center of mass velocity of the footed robot, and based on the relationship data between the interval time t and the center of mass velocity of the footed robot, determine the footed robot by The predicted center-of-mass velocity after the initial position has passed the target moving time; based on the first relationship data, the relationship data between the interval time t and the center-of-mass acceleration of the foot-mounted robot is created, based on the difference between the interval time t and the center-of-mass acceleration of the foot-mounted robot Relational data to determine the predicted centroid acceleration of the footed robot from the initial position after the target movement time.
- the second relationship data corresponding to at least one foot respectively indicates the relationship between the force f i corresponding to the at least one foot and the center of mass position P(t), and the force f i indicates that the i-th foot of the foot-type robot is in contact with the ground.
- the force received, i is a positive integer
- the second relational data includes a first constant C whose value is undetermined.
- the second relational data is stored in the form of descriptive sentences, or in the form of functions.
- this step 1204 includes: creating sixth relationship data, creating seventh relationship data, and creating at least one second relationship data corresponding to the sixth relationship data and seventh relationship data based on the sixth relationship data and the seventh relationship data.
- the sixth relationship data indicates the relationship between the angular momentum L of the footed robot and the interval time t, and the angular momentum L is used to indicate the change of the posture of the footed robot.
- the seventh relationship data indicates a positive correlation between the force f i (L) corresponding to at least one foot and the angular momentum L.
- the seventh relational data is used to indicate that the force corresponding to at least one foot of the footed robot is affected by the posture of the footed robot.
- the sixth relational data and the seventh relational data are stored in the form of descriptive sentences, or in the form of functions.
- the third relationship data indicates a positive correlation relationship between the target value J, the state data error, and the square of the force f i received by at least one foot in contact with the ground. Since the predicted centroid position is related to the first constant C, the state data error is also related to the first constant C. Therefore, the target value J is related to the first constant C, that is, the third relational data includes the first constant whose value is not determined. Constant C. In this footed robot, the third relational data is stored in the form of descriptive sentences, or in the form of functions.
- each square determines the weight corresponding to the weight force f I and the product of the foot corresponding to the at least one force corresponding to the sum of squares of I f and, as the foot corresponding to the at least one force f
- the weighted sum of squares of i is arbitrarily set legged robot.
- the force f i received by at least one foot of the footed robot in contact with the ground includes and The force Is the component force of the acting force f i on the x-axis, the acting force Is the component force of the acting force f i on the y-axis, the acting force Is the component force of the force f i on the z-axis.
- the weighted square of the force f i corresponding to the foot satisfies the following relationship:
- F i represents the weighted square of the force f i corresponding to the i-th foot
- a 1 , a 2 , and a 3 respectively represent the weights of the force f i corresponding to the i-th foot on the x-axis, y-axis, and z-axis
- a 1 , a 2 , and a 3 are arbitrary first constants
- the values of a 1 , a 2 , and a 3 may be the same or different.
- the value of a 1 may be the same or different
- the value of a 2 may be the same or different
- the value of a 3 may be the same or different.
- the second state data includes the target centroid position
- the predicted state data includes the predicted centroid position
- this step 1205 includes: determining the first difference between the target centroid position and the predicted centroid position, and setting the target value J at least one set of weighted squared sufficient force corresponding to f i and, and the square value of the first difference.
- the first difference is used to indicate the difference between the target centroid position and the predicted centroid position of the footed robot at the end position. Since the predicted center of mass position is related to the first constant C, the first difference is related to the first constant C.
- the target value J is set to the weighted sum of squares of the force f i corresponding to at least one foot, the difference is After the sum of the squares, the target value J is related to the quadratic term of the first constant C.
- the quadratic term of the first constant C includes a quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or any two constants The product of terms.
- the quadratic term of the first constant C includes C x C y , C x C z , C y C z and other quadratic constant terms.
- the distance between the target centroid position and the predicted centroid position is determined as the first difference.
- the target centroid position and the predicted centroid position are both expressed in the form of coordinates, and the first difference value is also expressed in the form of coordinates.
- the target centroid position includes the first coordinate values on the x, y, and z axes, and the predicted centroid position includes the second coordinate values on the x, y, and z axes. Determine whether the first coordinate value and the second coordinate value are between x, y, and z.
- the difference value on the axis, the first difference value is obtained, and the first difference value includes the difference value on the x, y, and z axes, and the weighted square sum of the difference value of the first difference value on the x, y, and z axes , As the square of the first difference.
- the weights corresponding to the x, y, and z axes are arbitrarily set by the footed robot.
- the second state data includes the target centroid velocity
- the predicted state data includes the predicted centroid velocity.
- This step 1205 includes: determining the third difference between the target centroid velocity and the predicted centroid velocity, and setting the target value J at least one set of weighted squared sufficient force corresponding to f i and, the square of the third difference and value.
- the third difference is used to indicate the difference between the target centroid speed of the foot robot and the predicted centroid speed when the foot robot is at the end 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 as the weighted sum of squares of the force f i corresponding to at least one foot, which is greater than the third difference After the sum of the squares, the target value J is related to the quadratic term of the first constant C.
- the quadratic term of the first constant C includes a quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or any two constants The product of terms.
- the quadratic term of the first constant C includes C x C y , C x C z , C y C z and other quadratic constant terms.
- the target centroid velocity and the predicted centroid velocity are both expressed in the form of coordinates, and the third difference value is also expressed in the form of coordinates.
- the target center of mass velocity includes the first sub-velocities on the x, y, and z axes
- the predicted center of mass velocity includes the second sub-velocities on the x, y, and z axes.
- the speed difference value on the axis to obtain the third difference value.
- the third difference value includes the speed difference value on the x, y, and z axes.
- the weighted sum of squares is used as the weighted square of the third difference. Among them, the weights corresponding to the x, y, and z axes are arbitrarily set by the foot robot.
- the second state data includes the target centroid acceleration
- the predicted state data includes the predicted centroid acceleration.
- This step 1205 includes: determining the second difference between the target centroid acceleration and the predicted centroid acceleration; at least one set of weighted squared sufficient force corresponding to f i and, and the square value and the second difference.
- the second difference is used to indicate the difference between the target centroid acceleration of the foot robot and the predicted centroid acceleration when the foot robot is at the end 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 as the weighted sum of squares of the force f i corresponding to at least one foot, and the square of the third difference After the sum of values, the target value J is related to the quadratic term of the first constant C.
- the quadratic term of the first constant C includes a quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or any two constants The product of terms.
- the quadratic term of the first constant C includes C x C y , C x C z , C y C z and other quadratic constant terms.
- the target centroid acceleration and the predicted centroid acceleration are both expressed in the form of coordinates, and the second difference value is also expressed in the form of coordinates.
- the target centroid acceleration includes the first component acceleration on the x, y, and z axes
- the predicted centroid acceleration includes the second component acceleration on the x, y, and z axes.
- the acceleration difference value on the axis to obtain the second difference value.
- the second difference value includes the acceleration difference value on the x, y, and z axes.
- the weighted sum of squares is used as the weighted square of the second difference. Among them, the weights corresponding to the x, y, and z axes are arbitrarily set by the foot robot.
- step 1205 is only described in terms of state data including centroid position, centroid velocity, or centroid acceleration.
- any two of the above three possible implementations can be combined. Or a combination of the three possible implementation methods.
- the target value J is set to the weighted sum of squares of the force f i corresponding to at least one foot, and the first difference And the weighted sum of squares of the second difference; or, if the state data error includes the first difference and the third difference, the target value J is set to the weighted sum of squares of the force f i corresponding to at least one foot, And the sum of the weighted sum of squares of the first difference and the third difference; or, if the state data error includes the second difference and the third difference, the target value J is set to the force f i corresponding to at least one foot The weighted sum of squares and the sum of the weighted sum of squares of the second difference and the third difference. Among them, the weight between any two differences included in the state data error is arbitrarily set by the footed robot.
- the state data error includes the first difference, the second difference, and the third difference
- the target value J is set as the weighted sum of squares of the force f i corresponding to at least one foot , And the sum of the weighted sum of squares of the first difference, the second difference, and the third difference.
- the weights between the first difference, the second difference, and the third difference are arbitrarily set by the footed robot.
- the weighted square of the first difference, the weighted square of the second difference, and the weighted square of the third difference After determining the weighted square of the first difference, the weighted square of the second difference, and the weighted square of the third difference, the weighted square of the first difference, the weighted square of the second difference, and the weighted square of the third difference.
- the sum of squares is used as the weighted sum of squares of the first difference, the second difference, and the third difference.
- this step 1205 includes the following steps 12051-12053:
- sampling time point refers to the time point between the initial time point corresponding to the initial position and the target time point corresponding to the end position.
- the multiple sampling time points include two or more sampling time points. The interval between any two adjacent sampling time points may or may not be the same.
- the movement time is 60 seconds
- the initial time point corresponding to the initial position is 0 seconds
- the target time point corresponding to the end position is 60 seconds.
- Five sampling time points are selected from the movement time, and 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
- the fifth sampling time point is 50 seconds
- 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
- the fifth sampling time point is 55 seconds.
- the step 12051 includes: dividing the moving duration into multiple time periods, and using the end time point of each time period as the sampling time point. Among them, the obtained multiple time periods may be equal or unequal.
- the fourth relationship data indicates the relationship between the first constant C and the sampling centroid position Q(C), and the sampling centroid position Q(C) indicates the centroid position of the footed robot at the corresponding sampling time point.
- the fourth relational data is stored in the form of descriptive sentences, or in the form of functions.
- the interval length between any sampling time point and the initial time point is substituted into the time length matrix E in the first relational data , Determine the value of the duration matrix E at any sampling time point, and obtain the fourth relational data corresponding to the sampling time point, the fourth relational data indicating the relationship between the first constant C and the sampling centroid position Q(C) Relationship.
- the value of the first constant C included in the fourth relationship data has not been determined, and the values of other first constants included in the fourth relationship data have been determined.
- the third relationship data indicates the positive correlation between the target value J and the square of the force f i corresponding to at least one foot corresponding to each sampling time point, the state data error, and the sampling centroid position Q(C).
- the second state data includes the target centroid position
- the predicted state data includes the predicted centroid position
- this step 12053 includes: determining the first difference between the target centroid position and the predicted centroid position, and setting the target value J Set to the sum of the first value, the second value, and the third value.
- the first value is the square of the first difference value
- the second value is the weighted sum of squares of multiple distances.
- the multiple distances include the initial centroid position of the initial position, multiple sample centroid positions, and the distance between any two adjacent centroid positions in the predicted centroid position.
- the third value is the distance between at least one foot corresponding to each sampling time point
- the weight of each distance is arbitrarily set by the footed robot. Determine the square value of the product of each distance and the corresponding weight, and use the sum of the square values corresponding to multiple distances as the weighted sum of squares of the multiple distances.
- the weighted sum of squares of multiple distances can reflect the length of the centroid trajectory, and can reduce the amplitude of oscillation of the centroid trajectory curve.
- the first value is the square of the first difference
- the second value is more The weighted sum of squares of the distance
- the first value and the second value are both related to the quadratic term of the first constant C.
- the target value J is set to the sum of the first value, the second value, and the third value
- the The target value J is related to the quadratic term of the first constant C.
- the quadratic term of the first constant C includes a quadratic first constant term composed of the multiple first constant terms, that is, each first constant The square of the term or the product of any two first constant terms.
- the quadratic term of the first constant C includes C x C y , C x C z , C y C z and other quadratic first constant terms.
- the second state data includes the target centroid velocity
- the predicted state data includes the predicted centroid velocity.
- This step 12053 includes: determining the third difference between the target centroid velocity and the predicted centroid velocity, and setting the target value J Set to the sum of the second value, the third value, and the fifth value.
- the fifth value is the square of the third difference value
- the second value is the weighted sum of squares of multiple distances
- the third value is the weighted sum of squares of the force f i corresponding to at least one foot corresponding to each sampling time point.
- the target value J is set to the sum of the second value, the third value and the fifth value, the target The value J is related to the quadratic term of the first constant C.
- the quadratic term of the first constant C includes a quadratic first constant term composed of the multiple first constant terms, that is, each first constant The square of the term or the product of any two first constant terms.
- the quadratic term of the first constant C includes C x C y , C x C z , C y C z and other quadratic first constant terms.
- the second state data includes the target centroid acceleration
- the predicted state data includes the predicted centroid acceleration.
- This step 12053 includes: determining the second difference between the target centroid acceleration and the predicted centroid acceleration, and setting the target value J Set to the sum of the second value, the third value, and the fourth value.
- the fourth value is the square of the second difference value
- the second value is the weighted sum of squares of multiple distances
- the third value is the weighted sum of squares of the force f i corresponding to at least one foot corresponding to each sampling time point.
- the fourth value is the square of the second difference, and the second value is more The weighted sum of squares of the distance, the fourth value and the second value are both related to the quadratic term of the first constant C.
- the target value J is set to the sum of the second value, the third value and the fourth value, the The target value J is related to the quadratic term of the first constant C.
- the quadratic term of the first constant C includes a quadratic first constant term composed of the multiple first constant terms, that is, each first constant The square of the term or the product of any two first constant terms.
- the quadratic term of the first constant C includes C x C y , C x C z , C y C z and other quadratic first constant terms.
- step 12053 is only described in terms of state data including center of mass position, center of mass velocity, or center of mass acceleration.
- any two of the above three possible implementations can be combined. Or a combination of the three possible implementation methods.
- the state data error includes the first difference and the second difference
- the target value J is set as the weighted sum of squares of the first difference and the second difference, the second value, and the third value
- the target value J is set to the weighted sum of squares of the first difference and the third difference, and the sum of the second value and the third value
- the state data error includes the second difference and the third difference
- the target value J is set as the weighted sum of squares of the second difference and the third difference, and the sum of the second value and the third value.
- the weight between any two differences included in the state data error is arbitrarily set by the footed robot.
- the state data error includes the first difference, the second difference, and the third difference
- the target value J is set to the first difference, the second difference, and the third difference.
- the weights of the first difference, the third difference and the second difference are arbitrarily set by the footed robot. Determine the square value of the product of the first difference value and the corresponding weight, the square value of the product of the third difference value and the corresponding weight, and the square value of the product of the second difference value and the corresponding weight, and correspond to the first difference value
- the sum of the square value of, the square value corresponding to the third difference value, and the square value corresponding to the second difference value is the weighted sum of squares of the first difference value, the third difference value, and the second difference value.
- the eighth relational data indicates the relationship between the initial centroid position of the footed robot at the initial position and the first constant C
- the ninth relational data indicates the relation between the initial centroid velocity of the footed robot at the initial position and the first constant C
- the tenth The relationship data indicates the relationship between the initial centroid acceleration of the footed robot at the initial position and the first constant C.
- the eighth relationship data, the ninth relationship data, and the tenth relationship data are stored in the form of descriptive sentences, or in the form of functions.
- this step 1206 includes: substituting the initial time point into the first relational data to obtain the eighth relational data; obtaining the first derivative of the first relational data with respect to the interval time t, and substituting the initial time point into the The ninth relationship data is obtained in the obtained first-order derivative relationship data; the second derivative of the first relationship data to the interval time t is obtained, and the initial time point is substituted into the obtained second-order derivative relationship data to obtain the tenth relationship data .
- the ninth relationship data determines the value of the first constant C when the target value J is the minimum value.
- the value of the first constant C is determined when the target value J is the minimum value, so that the footed robot
- the first state data at the initial position satisfies the first relationship data corresponding to the determined first constant C, and at the initial position, the force corresponding to at least one foot satisfies the second relationship data to ensure the determined first The accuracy of the value of a constant C.
- a friction constraint condition is created, the friction constraint condition indicates the friction constraint condition satisfied by the force received by at least one foot of the foot-type robot in contact with the ground, and the friction constraint condition includes The first constant C with an undetermined value is determined based on the eighth relationship data, the ninth relationship data, the tenth relationship data, the second relationship data, and the third relationship data when the friction constraint condition is satisfied.
- the value of the first constant C when J is the minimum value.
- this application uses eighth relational data, ninth relational data, tenth relational data, second relational data, and third relational data to determine the value of the first constant C when the target value J is the minimum value.
- eighth relational data ninth relational data
- tenth relational data tenth relational data
- second relational data second relational data
- third relational data determining the value of the first constant C when the target value J is the minimum value.
- steps 1206-1207 there is no need to perform steps 1206-1207, and other methods can be used to determine the value of the first constant C when the target value J is the minimum value based on the second relational data and the third relational data.
- the first relationship data indicates the relationship between the center of mass position P(t 0 ) and the interval time t, and the In the first relational data, except for the interval time t, other first constants whose values are undetermined are not included. Therefore, the first relational data corresponding to the first constant C whose value has been determined can represent the centroid trajectory of the footed robot.
- This step is similar to the above step 311, and will not be repeated here.
- This step is similar to the above step 312, and will not be repeated here.
- This step is similar to the above step 313, and will not be repeated here.
- the embodiment of the present application is described with a movement process of the footed robot moving from the initial position to the end position.
- the footed robot can continue to execute after reaching the end position.
- the end position of the previous movement process is taken as the initial position of the next movement process, and the above steps 1201-1211 are executed to move the footed robot to the end position of the next process, thereby realizing multiple footed robots.
- a continuous movement process is described with a movement process of the footed robot moving from the initial position to the end position.
- the end position of the last movement process is used as the target position of the footed robot, and after the footed robot is determined to move to the end position of the current movement process, it is detected whether the end position is the same as the target position.
- Coincidence in response to the end position and the target position not coincident, determine the first state data for the end position, and in response to the end position coincides with the target position, determine the second state data for the end position.
- the embodiment of the present application is described by using a footed robot as the main body of execution.
- the above steps 1201-1211 are executed by the server, and the server is based on the centroid position P(t 0 ) and terminates.
- Position determine the joint torque of multiple joints of the foot robot, and send a movement command to the foot robot.
- the movement command carries the joint torque of the multiple joints.
- the foot robot controls the multiple joints according to the joint torque of the multiple joints. Rotation drives the foot robot to move.
- the server establishes a communication connection with multiple joints of the foot robot, and the server sends rotation instructions to the multiple joints of the foot robot according to the determined joint torques of the multiple joints, and the rotation instructions carry the corresponding joints.
- the joint torque of the foot robot is rotated according to the corresponding joint torque after receiving the rotation command by the multiple joints of the foot robot to drive the foot robot to move.
- the embodiment of the present application is described by using the footed robot as the main body of execution.
- the above steps 1201-1208 are executed by the server, and the server obtains the first value whose value has been determined.
- the first relational data corresponding to a constant C is sent to the footed robot, and the footed robot executes steps 1209-1211 to control the movement of the footed robot.
- the method provided by the embodiment of the present application does not need to detect the state of each joint of the foot robot, and predicts the predicted state data of the foot robot at the end position through the first relationship data, and then minimizes the predicted state data and the expected target state.
- the state data error between the data is used to determine the first constant C in the first relational data, so as to minimize the difference between the predicted state data and the second state data, and to ensure the accuracy of the value of the first constant C, Subsequently, the corresponding centroid trajectory is determined based on the determined first constant C, thereby improving the accuracy of the centroid trajectory of the footed robot, which can be applied to any number of footed robots and has a wide range of applications.
- the accuracy of the foot-mounted robot's center of mass trajectory is improved, so that the foot-mounted robot can move according to the determined center of mass trajectory, The feasibility and efficiency of the determined center of mass trajectory are guaranteed, and the diversity and universality of the determined center of mass trajectory are also guaranteed.
- the foregoing embodiments involve the first relationship data, the second relationship data, and the third relationship data. Based on the foregoing embodiments, the following embodiments will describe the creation process of the foregoing three types of relationship data in detail:
- the process of creating the first relational data in the embodiment of the present application is similar to the process of creating the first relational data in the previous embodiment, and will not be repeated here.
- the relational data between the force received by at least one foot of the footed robot and the center of mass position P(t) of the footed robot can be expressed by the following function:
- G is a constant matrix
- the constant matrix Indicates that the constant matrix G is a matrix with 6 rows and 3Y columns, Represents the set of real numbers in a multi-dimensional space
- f 0 is used to represent the sum of the forces received by at least one foot of the footed robot in contact with the ground
- m represents the mass of the footed robot
- P t represents the center of mass position of the footed robot from the planning period The amount of change in the position of the center of mass after the interval t has passed from the initial time point
- the P init is a constant vector used to represent the initial centroid position of the footed robot at the beginning of any movement period, Is the oblique symmetric matrix of the constant vector P init
- g represents the acceleration of gravity, Indicates that the acceleration of gravity g is a column vector of 3 dimensions
- the posture of the footed robot at the initial time point is The posture of the footed robot at the end time is Then the posture change of the footed robot in the planning period is The posture change can be expressed as the posture of the footed robot from the initial time point as Rotation angle around unit axis ⁇
- the posture to get the end time point is
- ⁇ R are matrixes with 3 rows and 3 columns; ⁇ R ij is the element in the i-th row and j-th column in the attitude change ⁇ R, the value of i is 1, 2 or 3; the value of j is 1, 2 or 3; sin ( ⁇ ) is used to represent the sine function; cos( ⁇ ) is used to represent the cosine function.
- the curve difference calculation is performed on the rotation angle ⁇ , and the relationship data ⁇ (t) between the rotation angle ⁇ and the interval time t is obtained, so that the relationship data ⁇ (t) satisfies the following relationship:
- t s represents the initial time point
- t e represents the end time point
- the relationship data R(t) between the posture of the footed robot and the interval time t is created, and the relationship data R(t) satisfies the following relationship:
- I represents the unit matrix with 3 rows and 3 columns; sin( ⁇ ) is used to represent the sine function; cos( ⁇ ) is used to represent the cosine function; ⁇ (t) is used to represent the rotation angle ⁇ and interval time t of the foot robot
- ⁇ represents the unit axis around which the posture of the footed robot changes; Is the skew symmetric matrix of the unit axis ⁇ ; Represents the posture of the footed robot at the initial time point.
- I 0 represents the moment of inertia of the footed robot with respect to the center of mass
- ⁇ represents the unit axis around which the posture of the footed robot changes
- ⁇ (t) is used to represent the relationship between the rotation angle ⁇ of the footed robot and the interval time t ; It is used to express the relationship between the angular velocity of the foot robot rotating around the unit axis and the interval time t; It is used to express the relationship between the angular acceleration of the foot-type robot rotating around the unit axis and the interval time t.
- G is a constant matrix
- the constant matrix Indicates that the constant matrix G is a matrix with 6 rows and 3Y columns, Represents a set of real numbers in a multi-dimensional space
- f 0 is used to represent the sum of the forces received by at least one foot of the footed robot in contact with the ground
- H 0 is a constant matrix
- W g is a constant vector
- X′ t represents the change in the position of the center of mass P t and centroid acceleration Variation set
- m represents the mass of the footed robot
- Z′ 3 ⁇ 3 represents a unit matrix with 3 rows and 3 columns
- the P init is a constant vector used to represent the initial centroid position of the footed robot at the beginning of any movement period
- g represents the acceleration of gravity, Indicates that the acceleration of gravity g is a column vector of 3 dimensions
- the relationship data between and the interval time t is substituted into the relationship data between the force received by at least one foot of the footed robot and the center of mass position P(t) of the footed robot after the transformation, to obtain the second relationship data, the The second relationship data satisfies the following relationship:
- G is a constant matrix
- f 0 is used to represent the sum of the forces received by at least one foot of the foot robot in contact with the ground
- H represents a coefficient matrix with respect to the interval t
- C is a constant matrix
- W g is a constant vector
- H 0 is a constant matrix
- E t represents a time length vector
- E a represents a time matrix, which is obtained by taking the second derivative of the time length vector E t with respect to the interval time t, Indicates that the time matrix E a is a row vector of 4 dimensions
- T represents the transpose of the vector.
- the third relational data is created.
- the footed robot is constrained by friction: the foot in contact with the ground in the footed robot receives a friction force greater than 0, and the friction force received by the foot is not less than that of the foot in contact with the ground.
- the component force of the received force f i in the direction of the friction force avoids relative sliding between the foot and the ground, thereby ensuring that the footed robot can move normally.
- the force f i corresponding to at least one foot of the footed robot is constrained by friction and satisfies the following relationship:
- N′ i -[ ⁇ i n i -o i ⁇ i n i +o i ⁇ i n i -t i ⁇ i n i +t i ]
- N′ i represents the vector matrix of the contact point where the i-th foot of the foot-mounted robot is in contact with the ground; n i is the normal vector of the contact point where the i-th foot of the foot-mounted robot is in contact with the ground,
- the representation normal vector n i is a column vector of 3 dimensions, Represents the set of real numbers multidimensional space; o i, t i represents the tangent vector on the plane two points of contact with the i-th foot robot foot with the ground is perpendicular to the normal vector, tangent vector O i and orthogonal to the tangent vector T i , O i , It means that both the tangent vector o i and the tangent vector t i are three-dimensional column vectors; T represents the transposition of the vector, and ⁇ i is the friction coefficient between the i-th foot of the foot robot and the ground.
- the direction of the force received by the i-th foot in contact with the ground in contact with the ground is within a cone
- the i-th foot The contact point of each foot with the ground is the apex of the cone, and the line from the apex to any point of the bottom circle of the cone in the cone can be used as the direction of the force f i received by the i-th foot in contact with the ground .
- the cone is approximated as a quadrangular pyramid, and the force f i on the contact between the i-th foot and the ground satisfies the following relationship:
- ⁇ i is the friction coefficient
- n i is the normal vector of the contact point of the i-th foot of the foot-type robot with the ground
- the representation normal vector n i is a column vector of 3 dimensions, Represents the set of real numbers multidimensional space
- o i, t i represents the tangent vector on the plane two points of contact with the i-th foot robot foot with the ground is perpendicular to the normal vector, tangent vector O i and orthogonal to the tangent vector T i , O i , Indicates that both the tangent vector o i and the tangent vector t i are column vectors of 3 dimensions
- T represents the transpose of the vector
- the force f i on the four sides of the quadrangular pyramid is constrained by the force f i received by the contact between the i-th foot of the counterpod robot and the ground, and the i-th foot of the counterpod robot is constrained by the ground
- the force f i received by the contact is constrained by the normal component force, so that the direction of the force f i received by the i-th foot of the footed robot in contact with the ground is restricted to the quadrangular pyramid.
- N represents the vector matrix of the contact points of all feet of the footed robot in contact with the ground
- f 0 is used to represent the sum of the forces received by at least one foot of the footed robot in contact with the ground
- N′ 1 represents the first footed robot The vector matrix of the contact points of each foot in contact with the ground
- N′ 2 represents the vector matrix of the contact point where the second foot of the foot-mounted robot is in contact with the ground
- N′ Y represents the contact point where the Y-th foot of the foot-mounted robot is in contact with the ground
- the vector matrix of; T represents the transpose of the vector.
- G k represents the sampling time point t during the constant k matrix
- F k represents the sampling time point t when the sum of the biasing force sufficient enough for all k corresponding robot
- H k represents the sampling time point k, the time constant t Matrix
- C is a constant matrix
- W k is a constant vector at the sampling time t k
- N k represents the vector matrix of the contact points of all feet of the foot-type robot in contact with the ground at the sampling time t k
- T represents the right The transpose of the vector.
- G k , f k , N k , H k , and W gk are related to the contact of at least one foot of the footed robot with the ground at the sampling time t k.
- a foot robot is configured with 4 feet, namely right hind foot, right fore foot, left hind foot and left fore foot.
- the step sequence of this foot robot is right hind foot, right fore foot, left hind foot, and The left forefoot, optionally, each half of the step cycle is the right hindfoot, the right forefoot, or the left hindfoot and the left forefoot.
- the footed robot repeats the stepping process of multiple feet according to the stepping sequence, so that the footed robot moves.
- quadruped support right hind foot, right forefoot, quadruped support, quadruped support, left hind foot, and left forefoot.
- G k is a 6 ⁇ 12 matrix
- f k is a 12 ⁇ 1 column vector
- N k is a 16 ⁇ 12 matrix.
- the creation of the second relational data satisfies the following relationships:
- J represents a target value
- J grf squared weighting for representing at least one force corresponding to the foot and f i
- J len representing a weighted squared distance and a plurality, J TGT legged robot is used to indicate the end position
- the weighted sum of the first difference between the predicted centroid position and the target centroid position, the third difference between the predicted centroid velocity and the target centroid velocity, and the second difference between the predicted centroid acceleration and the target centroid acceleration is used to indicate the end position
- J grf weighted squared for indicating at least one force corresponding to the foot and f i, J len representing a weighted squared distance and a plurality, J tgt legged robot for indicating the termination position, the predicted centroid position
- G k represents the sampling time point t during the constant matrix k
- f k represents the sum of all a sufficient force legged robot when the corresponding sampling time point t k
- H k represents the sampling time point when the constant matrix t k
- C is a constant matrix
- W k is the constant vector at the sampling time point t k
- ⁇ k is the constant vector, which is a vector composed of a set of the same integers
- N k means that at the sampling time point t k
- the method for determining the position of the center of mass can be applied to various footed robots, such as biped robots, quadruped robots, or hexapod robots, and can be applied to various gaits of footed robots, such as biped walking.
- Quadruped diagonal gait, quadruped crawling gait, hexapod diagonal gait, etc. can be applied to a variety of complex environments, such as flat ground, uneven ground, slopes, stairs, etc.; can use any step of the interval t , Any movement process can be used from the initial position to the end position; when the ground is flat or the height difference is small, the height of the center of mass of the robot can be kept unchanged, and only two sets of curves are used to plan the center of mass in the plane. Movement; continuity constraints such as curve position, speed, acceleration, etc.
- the force received by at least one foot of the foot-type robot in contact with the ground and the distance corresponding to the sampling time point all have components in the x-axis, y-axis, and z-axis directions, which can be based on actual conditions.
- the contact point is not limited to the contact point between the foot of the foot robot and the ground, but also applies to situations where the body, torso, upper limbs and other parts of the robot are in contact with the environment.
- the center of mass position, the center of mass velocity, the constraint of the center of mass acceleration, and the constraint of ground friction are fully considered while ignoring the less influential items, and the problem of center of mass trajectory planning is transformed into a quadratic
- the planning problem uses the secondary planning problem to determine the trajectory of the center of mass of the footed robot.
- the friction constraints of the ground contact points and various optimization indexes are fully considered to ensure the feasibility and efficiency of the generated motion.
- FIG. 13 is a schematic structural diagram of a device for determining a center of mass position according to an embodiment of the present application. As shown in FIG. 13, the device includes:
- the creation module 1301 is configured to create first relationship data, where the first relationship data indicates the relationship between the interval time t and the center of mass position P(t) of the footed robot, and the first relationship data includes a first constant C;
- the creation module 1301 is further configured to create second relationship data corresponding to at least one foot of the foot-type robot configuration, and the second relationship data corresponding to the at least one foot respectively indicate the force f i and the center of mass position P(t) corresponding to the at least one foot.
- the second relationship data includes the first constant C;
- the creation module 1301 is further configured to create third relationship data based on the second relationship data corresponding to at least one foot, and determine the value of the first constant C when the target value J is the minimum value.
- the third relationship data indicates that the target value J is equal to A positive correlation between the square of the force f i received by at least one foot in contact with the ground;
- the obtaining module 1302 is configured to obtain the first relationship data corresponding to the first constant C whose value has been determined.
- the creation module 1301 includes:
- the first creating unit 1311 is configured to create third relationship data based on the first relationship data and the second relationship data corresponding to at least one foot;
- the first determining unit 1312 is configured to determine the value of the first constant C when the target value J is the minimum value based on the third relationship data.
- the creation module 1301 includes:
- the first acquiring unit 1313 is used to acquire the first state data of the footed robot at the initial position and the second state data at the end position, the state data at least including the center of mass position, the center of mass velocity, and the center of mass acceleration;
- the first creating unit 1311 is further configured to create first relational data, the first relational data includes a first constant C, the first constant C includes a second constant C free with an undetermined value and a third constant h with a determined value , The third constant h is determined by the acquired status data.
- the creation module 1301 includes:
- the setting unit 1314 is configured to set the first relational data as: the centroid position P(t) is the product of the first constant C and the duration matrix E;
- E t represents the duration vector.
- the creation module 1301 includes:
- the setting unit 1314 is configured to set the second relationship data corresponding to at least one foot as: the force f i corresponding to the i-th foot is the sum of the linear mapping of the first constant C and the fourth constant ⁇ corresponding to the i-th foot .
- the first creating unit 1311 includes:
- the acquiring subunit 13111 is used to acquire the moving time required for the footed robot to move from the initial position to the end position;
- the selecting subunit 13112 is used to select multiple sampling time points within the moving time
- the determining subunit 13113 is configured to determine the fourth relationship data corresponding to each sampling time point based on the interval length between each sampling time point and the initial time point and the first relationship data, where the fourth relationship data indicates the first constant C
- the relationship with the sampling centroid position Q(C), the sampling centroid position Q(C) indicates the centroid position of the footed robot at the corresponding sampling time point;
- the determining subunit 13113 is further configured to determine the fifth relationship data corresponding to each sampling time point based on the second relationship data and the fourth relationship data corresponding to the at least one foot.
- the fifth relationship data indicates the first constant C and the at least one foot. The relationship between the corresponding forces f i;
- the creation subunit 13114 is used to create third relationship data based on the fourth relationship data and the fifth relationship data.
- the third relationship data also indicates the force f i corresponding to the target value J and at least one foot corresponding to each sampling time point.
- a subunit 13114 is created to set the target value J as the sum of the weighted sum of squares of multiple distances and the weighted sum of squares of the force f i corresponding to at least one foot. The distance between any two adjacent centroid positions among the centroid positions of the initial position, the centroid positions of the multiple sampling centroids, and the centroid positions of the end positions.
- the determining subunit 13113 is used to determine the foot type based on the step sequence of the foot robot, the step length corresponding to at least one foot, and the interval between each sampling time point and the initial time point.
- the step sequence indicates the step sequence between the multiple feet of the foot-type robot; the step time corresponding to the foot is the length of time that the foot elapses from lifting to falling; based on each sample The centroid position Q(C), the second relational data corresponding to at least one foot, and the foot contacting the ground at each sampling time point, determine the fifth relational data.
- the device further includes:
- the obtaining module 1302 is also used to obtain the second state data of the footed robot at the end position;
- the determining module 1303 is configured to determine the predicted state data of the footed robot at the end position based on the target moving time and the first relationship data;
- the first creating unit 1311 is used to create third relational data based on the state data error between the second state data and the predicted state data, the third relational data indicates the target value J and the state data error, and at least one foot is in contact with the ground.
- the first determining unit 1312 is configured to determine the value of the first constant C when the target value J is the minimum value based on the second relationship data and the third relationship data.
- the second state data includes the target centroid position
- the predicted state data includes the predicted centroid position
- the first creating unit 1311 includes:
- the determining subunit 13113 is used to determine the first difference between the target centroid position and the predicted centroid position
- Sub-unit 13115 is provided, for setting a target value J weighted squared foot corresponding to the at least one force f i and, and the square value of the first difference.
- the second state data includes the target centroid acceleration
- the predicted state data includes the predicted centroid acceleration
- the first creating unit 1311 includes:
- the determining subunit 13113 is used to determine the second difference between the target centroid acceleration and the predicted centroid acceleration
- Sub-unit 13115 is provided, for setting a target value J weighted squared corresponding to the at least one foot and a force f i with the square of the second difference value and.
- the second state data includes the target centroid velocity
- the predicted state data includes the predicted centroid velocity
- the first creating unit 1311 includes:
- the determining subunit 13113 is used to determine the third difference between the target centroid velocity and the predicted centroid velocity
- Sub-unit 13115 is provided, for setting a target value J weighted squared corresponding to the at least one foot and a force f i with the square of the difference and the third value.
- the first creating unit 1311 includes:
- the selecting subunit 13112 is used to select multiple sampling time points within the target moving time period
- the determining subunit 13113 is configured to determine the fourth relationship data corresponding to each sampling time point based on the interval length between each sampling time point and the initial time point and the first relationship data, where the fourth relationship data indicates the first constant C The relationship with the sampling centroid position Q(C);
- the creation subunit 13114 is used to create third relationship data based on the state data error and the fourth relationship data.
- the third relationship data indicates the square of the force f i corresponding to the target value J and at least one foot corresponding to each sampling time point. , The positive correlation between the state data error and the sampling centroid position Q(C).
- the second state data includes the target centroid position
- the predicted state data includes the predicted centroid position
- the creation subunit 13114 is used to determine the first difference between the target centroid position and the predicted centroid position
- the target value J is set as the sum of the first value, the second value, and the third value.
- the first value is the square of the first difference
- the second value is the weighted sum of squares of multiple distances.
- the multiple distances include the initial position The centroid position, the distance between any two adjacent centroid positions of the multiple sampling centroid positions, and the predicted centroid positions
- the third value is the weighted sum of squares of the force f i corresponding to at least one foot corresponding to each sampling time point .
- the second state data includes the target centroid acceleration
- the predicted state data includes the predicted centroid acceleration
- the creation subunit 13114 is used to determine the second difference between the target centroid acceleration and the predicted centroid acceleration
- the target value J is set as the sum of the second value, the third value and the fourth value.
- the fourth value is the square of the second difference.
- the second value is the weighted sum of squares of multiple distances.
- the multiple distances include the initial position The distance between any two adjacent centroid positions in the initial centroid position, multiple sample centroid positions, and predicted centroid positions
- the third value is the weighted square of the force f i corresponding to at least one foot corresponding to each sampling time point with.
- the second state data includes the target centroid velocity
- the predicted state data includes the predicted centroid velocity
- the creation subunit 13114 is used to determine the third difference between the target centroid velocity and the predicted centroid velocity
- the target value J is set as the sum of the second value, the third value, and the fifth value.
- the fifth value is the square of the third difference.
- the second value is the weighted sum of squares of multiple distances.
- the multiple distances include the initial position The distance between any two adjacent centroid positions in the initial centroid position, multiple sample centroid positions, and predicted centroid positions
- the third value is the weighted square of the force f i corresponding to at least one foot corresponding to each sampling time point with.
- the first creating unit 1311 is also used to create sixth relational data, the sixth relational data indicating the relationship between the angular momentum L of the footed robot and the interval time t;
- the first creating unit 1311 is further configured to create seventh relationship data, where the seventh relationship data indicates a negative correlation between the force f i (L) corresponding to at least one foot and the angular momentum L;
- the first creating unit 1311 is further configured to create second relationship data corresponding to at least one foot based on the sixth relationship data and the seventh relationship data.
- the first determining unit 1312 is configured to create the eighth relationship data, the ninth relationship data, and the tenth relationship data based on the first relationship data and the initial time point, and the eighth relationship data indicates the formula The relationship between the initial centroid position of the robot in the initial position and the first constant C.
- the ninth relationship data indicates the relationship between the initial centroid velocity of the footed robot in the initial position and the first constant C
- the tenth relationship data indicates the initial position of the footed robot
- the relationship between the initial centroid acceleration and the first constant C; based on the eighth relationship data, the ninth relationship data, the tenth relationship data, the second relationship data, and the third relationship data, the first constant C is determined when the target value J is the minimum value The value of.
- the second state data includes the target centroid position.
- the acquiring module 1302 includes:
- the second acquiring unit 1321 is configured to acquire the position of the contact point where at least one foot of the foot-mounted robot is configured to contact the ground when the foot-mounted robot is at the end position;
- the second determining unit 1322 is configured to determine the target centroid position based on the position of the contact point of at least one foot.
- the second state data also includes the target centroid velocity
- the obtaining module 1302 is also used to obtain first state data of the footed robot at an initial position, where the first state data includes at least the initial center of mass position;
- the determining module 1303 is also used to determine the ratio of the distance between the target center of mass position and the initial center of mass position to the target moving time as the target center of mass velocity.
- the second state data further includes the target centroid acceleration, and the first state data further includes the initial centroid velocity;
- the determining module 1303 is also used to determine the ratio between the difference between the target centroid velocity and the initial centroid velocity and the target movement duration as the target acceleration.
- the predicted state data includes the predicted centroid position.
- the determining module 1303 includes:
- the third determining unit 1331 is configured to determine, based on the first relationship data, the predicted centroid position of the footed robot after the target movement time period has passed from the initial position.
- the predicted state data includes predicted centroid velocity.
- the determining module 1303 includes:
- the second creating unit 1332 is configured to create relationship data between the interval time t and the center of mass velocity of the footed robot based on the first relationship data;
- the third determining unit 1331 is configured to determine the predicted center of mass velocity of the footed robot after the target movement time from the initial position based on the relationship data between the interval time t and the center of mass velocity of the footed robot.
- the predicted state data includes predicted centroid acceleration.
- the determining module 1303 includes:
- the second creating unit 1332 is configured to create relationship data between the interval time t and the centroid acceleration of the footed robot based on the first relationship data;
- the third determining unit 1331 is used to determine the predicted centroid acceleration of the footed robot after the target movement time from the initial position based on the relationship data between the interval time t and the centroid acceleration of the footed robot.
- the apparatus further includes:
- the determining module 1303 is used to determine the centroid position P(t 0 ) of the footed robot at any interval time t 0 based on the first relationship data during the movement of the footed robot;
- the determining module 1303 is also used to determine the joint torques of multiple joints of the foot robot based on the center of mass position P(t 0) and the end position;
- the control module 1304 is used to control the rotation of the multiple joints according to the joint torques of the multiple joints to drive the foot robot to move.
- the apparatus for determining the centroid position obtained in the above embodiment obtains the first relational data
- only the division of the above functional modules is used for illustration.
- the above functions can be allocated to different functions according to needs.
- Module completion that is, the internal structure of the foot robot or control device is divided into different functional modules to complete all or part of the functions described above.
- the centroid position determining device provided in the foregoing embodiment and the centroid position determining method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
- the embodiment of the present application also provides a footed robot, the footed robot includes a processor and a memory, and at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to realize the centroid of the above-mentioned embodiment. The operation performed in the location determination method.
- FIG. 15 shows a schematic structural diagram of a footed robot 1500 provided by an exemplary embodiment of the present application.
- the footed robot 1500 is used to perform the steps performed by the footed robot in the above-mentioned method for determining the position of the center of mass.
- the foot robot 1500 includes a processor 1501 and a memory 1502.
- the processor 1501 may include one or more processing cores, such as a 4-core processor, a 15-core processor, and so on.
- the memory 1502 may include one or more computer-readable storage media, which may be non-transitory and used to store at least one computer program, and the at least one computer program is used to be executed by the processor 1501 to implement the present invention. The method for determining the position of the centroid provided in the method embodiment in the application.
- the foot robot 1500 may optionally further include: a peripheral device interface 1503 and at least one peripheral device.
- the processor 1501, the memory 1502, and the peripheral device interface 1503 may be connected by a bus or a signal line.
- Each peripheral device can be connected to the peripheral device interface 1503 through a bus, a signal line, or a circuit board.
- the peripheral device includes: at least one of a radio frequency circuit 1504, a display screen 1505, a camera component 1505, an audio circuit 1507, a positioning component 1506, and a power supply 1507.
- the peripheral device interface 1503 may be used to connect at least one peripheral device related to I/O (Input/Output) to the processor 1501 and the memory 1502.
- I/O Input/Output
- the radio frequency circuit 1504 is used for receiving and transmitting RF (Radio Frequency, radio frequency) signals, also called electromagnetic signals.
- the radio frequency circuit 1504 communicates with a communication network and other communication devices through electromagnetic signals.
- the camera assembly 1505 is used to collect images or videos.
- the camera assembly 1505 includes a front camera and a rear camera.
- the front camera is set on the front panel of the terminal, and the rear camera is set on the back of the terminal.
- the positioning component 1506 is used to locate the current geographic location of the footed robot 1500 to implement navigation or LBS (Location Based Service, location-based service).
- the positioning component 1506 may be a positioning component based on the GPS (Global Positioning System, Global Positioning System) of the United States, the Beidou system of China, or the Galileo system of Russia.
- the power supply 1507 is used to supply power to various components in the foot robot 1500.
- the power source 1507 may be alternating current, direct current, disposable batteries, or rechargeable batteries.
- the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery.
- a wired rechargeable battery is a battery charged through a wired line
- a wireless rechargeable battery is a battery charged through a wireless coil.
- the rechargeable battery can also be used to support fast charging technology.
- the foot robot 1500 further includes one or more sensors 1508.
- the one or more sensors 1508 include, but are not limited to, an acceleration sensor 1509 and a gyroscope sensor 1510.
- the acceleration sensor 1509 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the foot robot 1500.
- the acceleration sensor 1509 can be used to detect the components of gravitational acceleration on 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 the collection of game or user motion data.
- the gyroscope sensor 1510 can detect the body direction and rotation angle of the foot robot 1500, and the gyroscope sensor 1510 can cooperate with the acceleration sensor 1509 to collect the user's 3D movement of the foot robot 1500. Based on the data collected by the gyroscope sensor 1510, the processor 1501 can implement the following functions: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
- FIG. 15 does not constitute a limitation on the footed robot 1500, and may include more or less components than shown, or combine certain components, or adopt different component arrangements. .
- An embodiment of the present application also provides a control device.
- the control device includes a processor and a memory, and at least one computer program is stored in the memory.
- the at least one computer program is loaded and executed by the processor to realize the centroid position of the foregoing embodiment. Determine what to do in the method.
- FIG. 16 is a schematic structural diagram of a server provided by an embodiment of the present application.
- the server 1600 may have relatively large differences due to different configurations or performance, and may include one or more processors (Central Processing Units, CPU) 1601 and one Or more than one memory 1602, where at least one computer program is stored in the memory 1602, and the at least one computer program is loaded and executed by the processor 1601 to implement the methods provided by the foregoing method embodiments.
- the server may also have components such as a wired or wireless network interface, a keyboard, an input and output interface for input and output, and the server may also include other components for implementing device functions, which will not be repeated here.
- the embodiment of the present application also 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 centroid position determination method of the above-mentioned embodiment The operation performed in.
- the embodiments of the present application also provide a computer program product or computer program.
- the computer program product or computer program includes computer program code, and the computer program code is stored in a computer-readable storage medium.
- the processor of the control device reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the control device implements the operations performed in the centroid position determination method of the foregoing embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Manipulator (AREA)
Abstract
一种质心位置确定方法、装置、足式机器人(101)、设备及介质,属于计算机技术领域。方法包括:创建第一关系数据,创建足式机器人(101)配置的至少一个足对应的第二关系数据,根据至少一个足对应的第二关系数据,创建第三关系数据,并确定目标数值J为最小值时第一常数C的取值(203),获取取值已确定的第一常数C对应的第一关系数据(204)。采用质心位置确定方法,无需检测足式机器人(101)各个关节的状态,通过足式机器人(101)的至少一个足对应的第二关系数据,来确定足式机器人(101)的质心轨迹,使足式机器人(101)按照确定的质心轨迹进行移动,保证了足式机器人(101)移动的高效性,适用于任意足数的足式机器人(101),适应范围广。
Description
本申请要求于2020年04月14日提交、申请号为202010291278.4、发明名称为“质心位置确定方法、装置、足式机器人及存储介质”的中国专利申请,以及2020年12月17日提交、申请号为202011503026.X、发明名称为“质心位置确定方法、装置、足式机器人及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请实施例涉及计算机技术领域,特别涉及一种质心位置确定方法、装置、足式机器人、设备及介质。
足式机器人为模拟动物或人物行走的姿态来移动的机器人,足式机器人通常配置有多个足,每个足上配置有一个或多个关节,通过控制足的抬起或落下而进行移动。而在足式机器人移动时,需要先确定足式机器人的质心位置,从而根据确定的质心位置控制足的抬起或落下。
相关技术中提供了一种确定质心位置方法,通过检测足式机器人配置的各个足中各个关节的状态,根据各个足中各个关节的状态进行运算,以确定足式机器人的质心位置。如果足式机器人的关节数量较多,会导致运算量较大,因此上述方法仅适用于足式机器人的关节数量较少的情况,适用范围窄。
发明内容
本申请实施例提供了一种质心位置确定方法、装置、足式机器人、设备及介质,能够提高质心位置的准确性。所述技术方案如下:
一方面,提供了一种质心位置确定方法,所述方法包括:
创建第一关系数据,所述第一关系数据指示间隔时长t与足式机器人的质心位置P(t)之间的关系,所述第一关系数据包括第一常数C;
创建所述足式机器人配置的至少一个足对应的第二关系数据,所述至少一个足对应的第二关系数据分别指示所述至少一个足对应的作用力f
i与质心位置P(t)之间的关系,所述第二关系数据包括所述第一常数C;
基于所述至少一个足对应的第二关系数据,创建第三关系数据,并确定所述目标数值J为最小值时所述第一常数C的取值,所述第三关系数据指示目标数值J与所述至少一个足与地面接触而受到的作用力f
i的平方之间的正相关关系;
获取取值已确定的所述第一常数C对应的所述第一关系数据。
另一方面,提供了一种质心位置确定装置,所述装置包括:
创建模块,用于创建第一关系数据,所述第一关系数据指示间隔时长t与足式机器人的质心位置P(t)之间的关系,所述第一关系数据包括第一常数C;
所述创建模块,还用于创建所述足式机器人配置的至少一个足对应的第二关系数据,所述至少一个足对应的第二关系数据分别指示所述至少一个足对应的作用力f
i与质心位置P(t)之间的关系,所述第二关系数据包括所述第一常数C;
所述创建模块,还用于基于所述至少一个足对应的第二关系数据,创建第三关系数据,并确定所述目标数值J为最小值时所述第一常数C的取值,所述第三关系数据指示目标数值 J与所述至少一个足与地面接触而受到的作用力f
i的平方之间的正相关关系;
获取模块,用于获取取值已确定的所述第一常数C对应的所述第一关系数据。
另一方面,提供了一种足式机器人,所述足式机器人包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如上述方面所述的质心位置确定方法中所执行的操作。
另一方面,提供了一种控制设备,所述控制设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如上述方面所述的质心位置确定方法中所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如上述方面所述的质心位置确定方法中所执行的操作。
再一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中。控制设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行所述计算机程序代码,使得所述控制设备实现如上述方面所述的质心位置确定方法中所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的方法、装置、足式机器人、设备及介质,无需检测足式机器人各个关节的状态,通过足式机器人的至少一个足对应的第二关系数据,创建第三关系数据,并确定第三关系数据中目标数值J为最小值时第一常数C的取值,将取值已确定的第一常数C对应第一关系数据,确定为该足式机器人由初始位置移动至终止位置的质心轨迹,使足式机器人能够按照确定的质心轨迹进行移动,保证了足式机器人移动的高效性。并且,此方式能够适用于任意足数的足式机器人,适应范围广。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的结构示意图;
图2是本申请实施例提供的一种质心位置确定方法的流程图;
图3是本申请实施例提供的一种质心位置确定方法的流程图;
图4是本申请实施例提供的一种足式机器人系统的控制足式机器人移动的框架图;
图5是本申请实施例提供的一种足式机器人的移动过程的示意图;
图6是本申请实施例提供的一种足式机器人的质心位置的偏移量的示意图;
图7是本申请实施例提供的一种足式机器人的移动过程的示意图;
图8是本申请实施例提供的一种足式机器的状态数据随间隔时长变化的示意图;
图9是本申请实施例提供的一种足式机器的状态数据随间隔时长变化的示意图;
图10是本申请实施例提供的一种足式机器的力矩随间隔时长变化的示意图;
图11是本申请实施例提供的一种足式机器的质心位置随间隔时长变化的示意图;
图12是本申请实施例提供的一种质心位置确定方法的流程图;
图13是本申请实施例提供的一种质心位置确定装置的结构示意图;
图14是本申请实施例提供的一种质心位置确定装置的结构示意图;
图15是本申请实施例提供的一种足式机器人的结构示意图;
图16是本申请实施例提供的一种服务器的结构示意图。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方 式作进一步地详细描述。
本申请所使用的术语“第一”、“第二”、“第三”、“第四”、“第五”、“第六”、“第七”、“第八”、“第九”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一关系数据称为第二关系数据,且类似地,可将第二关系数据称为第一关系数据。
本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,而每个是指对应的多个中的每一个,任一是指多个中的任意一个。举例来说,多个采样时间点包括3个采样时间点,而每个是指这3个采样时间点中的每一个采样时间点,任一是指这3个采样时间点中的任意一个,可以是第一个采样时间点,可以是第二个采样时间点、也可以是第三个采样时间点。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例提供的方案,基于人工智能的计算机视觉技术,足式机器人能够确定终止位置,基于确定的终止位置来获取足式机器人由初始位置移动至终止位置的质心轨迹,后续根据该质心轨迹控制足式机器人移动,实现足式机器人向终止位置移动。
本申请实施例提供的质心位置确定方法,能够应用于足式机器人。足式机器人在移动时,确定由初始位置移动至终止位置的质心轨迹,后续通过该质心轨迹,确定该足式机器人在移动过程中的任一时间点的质心位置,从而控制足式机器人的至少一个足抬起或落下,以使足式机器人由初始位置向终止位置移动的过程中,足式机器人的质心按照该质心轨迹移动,实现该足式机器人的行走。
本申请实施例提供的质心位置确定方法,还能够应用于控制设备。可选地,该控制设备102是服务器或其他形式的设备。可选地,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
图1是本申请实施例提供的一种实施环境的结构示意图,如图1所示,该实施环境包括足式机器人101和服务器102,足式机器人101与服务器102建立通信连接,通过建立的通信连接进行交互。
足式机器人101用于控制至少一个足抬起或落下,实现足式机器人的行走。服务器102用于为足式机器人101提供服务,能够为足式机器人101确定质心轨迹,并将确定的质心轨 迹发送至足式机器人101,以使足式机器人101按照该质心轨迹进行移动。
可选地,足式机器人101配置有感知系统,通过该感知系统,获取该足式机器人101移动方向的图像,将该图像发送至服务器102,由该服务器102对该图像进行处理,获取足式机器人的终止位置,后续根据该终止位置,确定足式机器人101的质心轨迹。
本申请实施例提供的方法,可用于多种场景。
例如,足式机器人移动场景下:
足式机器人在移动过程中,确定需要到达的终止位置,采用本申请实施例提供的质心位置确定方法,确定足式机器人由初始位置移动至该终止位置的质心轨迹,后续通过该质心轨迹,确定该足式机器人在移动过程中的任一时间点的质心位置,从而控制足式机器人的至少一个足抬起或落下,以使足式机器人由初始位置向终止位置移动的过程中,足式机器人的质心按照该质心轨迹移动,实现该足式机器人的行走,保证了足式机器人移动的稳定性。
再例如,遥控足式机器人移动场景下:
足式机器人在移动过程中,服务器能够控制足式机器人移动。在服务器控制足式机器人移动过程中,服务器采用本申请实施例提供的质心位置确定方法,确定足式机器人由初始位置移动至终止位置的质心轨迹,将该质心轨迹发送给足式机器人,由该足式机器人控制该足式机器人的质心沿着该质心轨迹进行移动,实现了远距离控制足式机器人移动的方式。
图2是本申请实施例提供的一种质心位置确定方法的流程图,应用于足式机器人,如图2所示,该方法包括:
201、创建第一关系数据,第一关系数据指示间隔时长t与足式机器人的质心位置P(t)之间的关系,第一关系数据包括第一常数C。
其中,间隔时长t指示足式机器人从初始位置移动到终止位置的过程中的任一时间点与初始位置对应的初始时间点之间间隔的时长,质心位置P(t)指示足式机器人在间隔时长t时的质心位置。
由于第一关系数据中包含的第一常数C的取值未确定,因此此时获取的第一关系数据还未确定。后续如果该第一常数C的取值确定,则能够通过该第一关系数据获取到任一间隔时长t对应的质心位置P(t)。
202、创建足式机器人配置的至少一个足对应的第二关系数据,至少一个足对应的第二关系数据分别指示至少一个足对应的作用力f
i与质心位置P(t)之间的关系。
其中,第二关系数据包括第一常数C。作用力f
i指示足式机器人在质心位置P(t)下的第i个足与地面接触而受到的作用力,i为正整数。
足式机器人配置有至少一个足,该足式机器人通过该至少一个足与地面接触,从而实现该足式机器人的移动或站立。i用于表示该足式机器人的足的序号,根据足的序号用于对不同的足进行区分。足式机器人的质心位于任一质心位置P(t)时,该足式机器人与地面接触的不同的足受到的作用力可能会不同,即不同的足与地面接触而受到的作用力f
i可能会不同。因此,分别创建了至少一个足对应的第二关系数据。
203、基于至少一个足对应的第二关系数据,创建第三关系数据,并确定目标数值J为最小值时第一常数C的取值。
其中,第三关系数据指示目标数值J与至少一个足与地面接触而受到的作用力f
i的平方之间的正相关关系。目标数值J与至少一个足与地面接触而受到的作用力f
i的平方之间的正 相关关系,是指目标数值J随着该至少一个足与地面接触而受到的作用力f
i的平方变大而变大,随着该至少一个足与地面接触而受到的作用力f
i的平方变小而变小。
由于至少一个足对应的第二关系数据指示质心位置P(t)与至少一个足对应的作用力f
i之间的关系,第二关系数据包括第一常数C,则基于至少一个足对应的第二关系数据,能够确定目标数值J为最小值时第一常数C的取值。
204、获取取值已确定的第一常数C对应的第一关系数据。
将取值已确定的第一常数C代入到第一关系数据后,通过第一关系数据能够确定到任一间隔时长t对应的质心位置P(t),即取值已确定的第一常数C对应的第一关系数据相当于得到足式机器人的质心。
本申请实施例提供的方法,无需检测足式机器人各个关节的状态,通过足式机器人的至少一个足对应的第二关系数据,创建第三关系数据,并确定第三关系数据中目标数值J为最小值时第一常数C的取值,将取值已确定的第一常数C对应第一关系数据,确定为该足式机器人由初始位置移动至终止位置的质心轨迹,使足式机器人按照确定的质心轨迹进行移动,保证了足式机器人移动的高效性。并且,此方式能够适用于任意足数的足式机器人,适应范围广。
下述实施例是基于第一关系数据及足式机器人的至少一个足对应的第二关系数据,来创建第三关系数据,之后通过该第三关系数据来确定足式机器人的质心轨迹的。在下述实施例中,由于足式机器人的至少一个足受到的作用力f
i,是指足式机器人的质心位于质心位置P(t)时,该足式机器人的至少一个足与地面接触而受到的作用力,则至少一个足受到的作用力f
i能够以f
i{P(t)}表示,且第一常数C是由取值未确定的第二常数C
free和取值已确定的第三常数h构成的,则采样质心位置Q(C)能够以Q(C
free)表示。图3是本申请实施例提供的一种质心位置确定方法的流程图,应用于足式机器人,如图3所示,该方法包括:
301、获取足式机器人在初始位置的第一状态数据及在终止位置的第二状态数据,状态数据至少包括质心位置、质心速度及质心加速度。
质心为该足式机器人的质量中心,质心位置为该足式机器人的质量中心所在的位置,可选地,该质心位置用坐标系中的坐标表示,或者,用向量表示。质心速度为该足式机器人的质量中心的移动速度,质心加速度为该足式机器人的质心的加速度,可选地,该质心速度和质心加速度均用向量表示。例如,在世界坐标系中,足式机器人的质心位置为[20,35,80],质心速度为[5,3,0],质心加速度为[2,2,2]。
在一种可能实现方式中,获取初始位置的第一状态数据包括:足式机器人检测该足式机器人在初始位置的状态,得到该初始位置的状态数据。
在一种可能实现方式中,获取终止位置的第二状态数据包括:足式机器人通过视觉感知系统,获取包含该足式机器人移动方向的环境的图像,对该图像进行特征提取,确定该足式机器人的终止位置,为该终止位置确定第二状态数据。可选地,终止位置的第二状态数据是足式机器人任意设置的。例如,视觉感知系统中包括摄像头,足式机器人通过摄像头拍摄该足式机器人移动方向的环境,得到包含该足式机器人移动方向的环境的图像。
302、将第二常数C
free与第三常数h的线性映射之和,作为取值未确定的第一常数C。
其中,第一常数C是用于表示质心位置P(t)与间隔时长t之间关系的常数,该第一常数C能够以向量形式表示,或者,以矩阵形式表示。
第二常数C
free为取值未确定的常数,是用于表示间隔时长t与质心位置P(t)之间的关系的常数,该第二常数C
free能够以向量形式表示,或者,以矩阵形式表示。
第三常数h由获取的状态数据确定,由于该足式机器人在初始位置和终止位置的状态数据已确定,则该第三常数h的取值已确定。该第三常数h能够以向量形式表示,或者,以矩阵形式表示。例如,该第三常数h表示为h=[P
0 V
0 a
0 P
1 V
1 a
1],其中,P
0表示足式机器人在初始位置时的质心位置,V
0表示足式机器人在初始位置时的质心速度,a
0表示足式机器人在初始位置时的质心加速度,P
1表示足式机器人在终止位置时的质心位置,V
1表示足式机器人在终止位置时的质心速度,a
1表示足式机器人在终止位置时的质心加速度。
由于第二常数C
free的取值未确定,第三常数h的取值已确定,则对第二常数C
free和第三常数h进行线性映射之和,得到的第一常数C的取值未确定。
在一种可能实现方式中,该步骤302包括:获取第二常数C
free的映射矩阵及第三常数h的映射矩阵,将第二常数C
free与对应的映射矩阵的乘积及第三常数h与对应的映射矩阵的乘积之和,作为第一常数C。即第二常数C
free、第三常数h及第一常数C,满足以下关系:
C=T′C
free+Qh
其中,T′为常数矩阵,用于表示第二常数C
free的映射矩阵,Q为常数矩阵,用于表示第三常数h的映射矩阵。可选地,该常数矩阵T′为96行15列的矩阵,可选地,该常数矩阵Q为96行18列的常数矩阵,可选地,该第二常数C
free为15行的列向量,可选地,该第三常数h为18行的列向量。
303、将第一关系数据设置为:质心位置P(t)为第一常数C与时长矩阵E的乘积。
其中,第一关系数据用于指示间隔时长t与质心位置P(t)之间的关系,间隔时长t用于指示足式机器人从初始位置移动到终止位置的过程中,任一时间点与初始位置对应的初始时间点之间间隔的时长,质心位置P(t)用于指示足式机器人在间隔时长t时的质心位置。由于取值未确定的第一常数C是通过取值未确定的第二常数C
free及取值已确定的第三常数h得到的,则第一关系数据包括取值未确定的第二常数C
free及第三常数h。在该足式机器人中,第一关系数据能够是以描述语句的形式进行存储,或者,是以函数的形式进行存储的。
该时长矩阵E是用于表示间隔时长t的矩阵,该时长矩阵E满足以下关系:
其中,E
t表示时长向量。在本申请实施例中,该时长向量E
t中包括间隔时长t的最高次幂为3,而在另一实施例中,该时长向量E
t中包括间隔时长t的最高次幂是任意不小于2的正整数。
在一种可能实现方式中,该第一关系数据用以下函数表示:
P(t)=P
init+EC
其中,P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置;T′为常数矩阵,用于表示第二常数C
free的映射矩阵;Q为常数矩阵,用于表示第三常数h的映射矩阵。
由于第一关系数据中包含的第二常数C
free的取值未确定,无法通过第一关系数据确定任意的间隔时长t对应的质心位置P(t),后续如果该第二常数C
free的取值已确定,则能够通过该第一关系数据获取到任一间隔时长t对应的质心位置P(t)。
由于在足式机器人的移动过程中,足式机器人的质心位置是随移动的间隔时长t变化的,经过任意间隔时长t后的质心位置具有对应的质心位置变化量,将间隔时长t对应的质心位置变化量与足式机器人在开始移动时的初始质心位置之和,作为该足式机器人经过任意间隔时长t后对应的质心位置P(t),从而确定了指示质心位置P(t)与间隔时长t之间关系的第一关系数据,后续能够通过第一关系数据确定足式机器人的质心轨迹。
需要说明的是,本申请实施例是通过获取到的初始位置的第一状态数据、终止位置的第二状态数据及第二常数C
free,来创建第一关系数据的,而在另一实施例中,无需执行步骤301-303,能够采取其他方式,创建第一关系数据。
304、将至少一个足对应的第二关系数据设置为:第i个足对应的作用力f
i{P(t)}为第一常数C和第i个足对应的第四常数λ的线性映射之和。
其中,足式机器人配置有至少一个足,第i个足对应的第二关系数据用于指示质心位置P(t)与第i个足对应的作用力f
i{P(t)}之间的关系,作用力f
i{P(t)}指示足式机器人在质心位置P(t)下的第i个足与地面接触而受到的作用力,i为正整数。该第四常数λ为取值未确定的常数,该第四常数λ用于表示作用力f
i{P(t)}与质心位置P(t)之间关系的常数。由于第一常数C是由取值未确定的第二常数C
free和取值已确定的第三常数h构成的,则在至少一个足对应的第二关系数据中,包括了取值未确定的第二常数C
free和第四常数λ。在该足式机器人中,第二关系数据能够是以描述语句的形式进行存储,或者,是以函数的形式进行存储的。
该足式机器人的质心位于质心位置P(t)时,在该足式机器人不同的足受到的作用力可能会相同,也可能会不同,则不同的足对应的第四常数λ可能会相同,也可能会不同。当该足式机器人不同的足受到的作用力不同、不同的足对应的第四常数λ相同时,则不同的足对应的第四常数λ的映射矩阵不同。且足式机器人的质心位于不同的质心位置P(t)时,不同的足对应的第四常数λ也可能会不同。例如,足式机器人包括4个足,当足式机器人4个足均与地面接触时,则任一足对应的第四常数λ包含6个维度的变量;当足式机器人3个足均与地面接触时,则与地面接触的任一足对应的第四常数λ包含3个维度的变量。
由于至少一个足对应的第二关系数据分别指示质心位置P(t)与至少一个足对应的作用力f
i{P(t)}之间的关系,将第一关系数据中设置为:质心位置P(t)为第一常数C与时长矩 阵E的乘积,则将第一关系数据代入到至少一个足对应的第二关系数据中,得到至少一个足对应的作用力f
i{P(t)}为第一常数C与第i个足对应的第四常数λ的线性映射之和。
通过获取第一常数C的映射矩阵及第i个足对应的第四常数λ的映射矩阵,确定第一常数C与对应的映射矩阵的第一乘积,及第i个足对应的第四常数λ与对应的映射矩阵的第二乘积,将得到的第一乘积与第二乘积之和作为第i个足对应的作用力f
i{P(t)}。
由于足式机器人通过配置的至少一个足与地面接触,支撑足式机器人能够站立或者移动,通过至少一个足之间的配合,使该足式机器人的质心保持在对应的质心位置P(t)上,因此,能够确定足式机器人的至少一个足对应的作用力与质心位置P(t)之间具有关联关系,从而创建至少一个足对应的第二关系数据。通过创建至少一个足对应的第二关系数据,使得后续确定的足式机器人的质心位置P(t)符合足式机器人的受力情况,保证了后续得到的质心位置P(t)的可行性。
需要说明的是,本申请实施例是以通过第一常数C与第i个足对应的第四常数λ,确定的第i个足对应的作用力f
i{P(t)},来表示创建的第二关系数据的,而在另一实施例中,无需执行步骤304,能够采取其他方式,创建足式机器人配置的至少一个足对应的第二关系数据。
305、获取足式机器人由初始位置移动至终止位置所需的移动时长。
其中,该移动时长是足式机器人任意设置的,如15秒、30秒等。
在一种可能实现方式中,该步骤305包括:将初始位置对应的质心位置与终止位置对应的质心位置之间的距离,确定为该足式机器人由该初始位置移动至终止位置的移动距离,获取足式机器人的移动速度,将该移动距离与该移动速度的比值确定为该移动时长。其中,该足式机器人的移动速度是足式机器人任意设置的,如每秒移动0.2米、每秒移动0.5米等。
306、在移动时长内选取多个采样时间点。
其中,采样时间点是指初始位置对应的初始时间点与终止位置对应的终止时间点之间的时间点。多个采样时间点包括两个或两个以上采样时间点。每两个相邻的采样时间点之间具有间隔时长,可选地,相邻的任两个间隔时长相等,或者,不相等。
例如,移动时长为60秒,初始位置对应的初始时间点为0秒,终止位置对应的终止时间点为60秒,从移动时长内选取5个采样时间点,第一个采样时间点为10秒,第二个采样时间点为20秒,第三个采样时间点为30秒,第四个采样时间点为40秒,第五个采样时间点为50秒;或者,第一个采样时间点为5秒,第二个采样时间点为20秒,第三个采样时间点为25秒,第四个采样时间点为40秒,第五个采样时间点为55秒。
在一种可能实现方式中,该步骤306包括:将该移动时长分成多个时间段,将每个时间段的结束时间点作为采样时间点。其中,得到的多个时间段均相等,或者,不相等。
307、基于每个采样时间点与初始时间点之间的间隔时长及第一关系数据,确定每个采样时间点对应的第四关系数据。
其中,第四关系数据指示第一常数C与采样质心位置Q(C)之间的关系,由于第一常数C是由取值未确定的第二常数C
free和取值已确定的第三常数h构成,则第四关系数据指示第二常数C
free与采样质心位置Q(C
free)之间的关系,采样质心位置Q(C
free)指示足式机器人在对应的采样时间点时的质心位置。在该足式机器人中,第四关系数据能够是以描述语句的形式进行存储,或者,是以函数的形式进行存储的。
由于第一关系数据指示质心位置P(t)为第一常数C与时长矩阵E的乘积,第一常数C 中包括取值未确定的第二常数C
free,将任一采样时间点与初始时间点之间的间隔时长代入第一关系数据中的时长矩阵E中,确定在该任一采样时间点下的时长矩阵E的取值,得到该采样时间点对应的第四关系数据,该第四关系数据指示第二常数C
free与采样质心位置Q(C
free)之间的关系。在第四关系数据中包括的第二常数C
free的取值未确定,该第四关系数据中包括的其他常数的取值均已确定。
308、基于至少一个足对应的第二关系数据及第四关系数据,确定每个采样时间点对应的第五关系数据。
其中,第五关系数据指示第一常数C与至少一个足对应的作用力f
i之间的关系,由于第一常数C是由取值未确定的第二常数C
free和取值已确定的第三常数h构成,则第五关系数据指示第二常数C
free与至少一个足对应的作用力f
i{P(t)}之间的关系。由于第四关系数据指示第二常数C
free与采样质心位置Q(C
free)之间的关系,至少一个足对应的第二关系数据指示质心位置P(t)与至少一个足对应的作用力f
i{P(t)}之间的关系,则将每个采样时间点对应的第四关系数据代入第二关系数据中,能够得到每个采样时间点对应的第五关系数据。由于第四关系数据中包括的第二常数C
free的取值未确定,第二关系数据中包括的第二常数C
free和第四常数λ的取值未确定,则得到的第五关系数据中的第二常数C
free和第四常数λ的取值未确定。在该足式机器人中,第五关系数据能够是以描述语句的形式进行存储,或者,是以函数的形式进行存储的。
在一种可能实现方式中,该步骤308包括:基于足式机器人的迈步顺序、至少一个足对应的迈步时长,及每个采样时间点与初始时间点之间的间隔时长,确定足式机器人在每个采样时间点与地面接触的足,基于每个采样质心位置Q(C
free)、至少一个足对应的第二关系数据及每个采样时间点与地面接触的足,确定第五关系数据。
其中,迈步顺序指示足式机器人的多个足之间的迈步顺序,足对应的迈步时长为足从抬起至落下所经过的时长。可选地,不同的足对应的迈步时长相同,或者,不同。
通过足式机器人的迈步顺序、至少一个足对应的迈步时长及每个采样时间点与初始时间点之间的间隔时长,能够确定与每个采样时间点对应的处于迈步过程的足,从而确定在每个采样时间点时,该足式机器人与地面接触的足。将每个采样质心位置Q(C
free)代入第二关系数据中,能够得到足式机器人在每个采样时间点时,与地面接触的至少一个足对应的作用力f
i{P(t)},得到第五关系数据。
例如,足式机器人包括四个足,分为左前足、左后足、右前足及右后足,该迈步顺序为四足支撑移动质心、迈右后足、迈右前足、四足支撑移动质心、四腿支撑移动质心、迈左后足、迈左前足及四足支撑移动质心,每个迈步时长均为1秒,则当采样时间点为1.5秒时,能够确定足式机器人处于迈右后足的过程,则当前与地面接触的足为左前足、左后足及右前足;当采样时间点为3.5秒时,能够确定足式机器人处于四足支撑移动质心的过程,则当前与地面接触的足为左前足、左后足、右前足及右后足。
309、基于第四关系数据和第五关系数据,创建第三关系数据。
其中,第三关系数据指示目标数值J与至少一个足与地面接触而受到的作用力f
i{P(t)}的平方之间的正相关关系,还指示目标数值J与每个采样时间点对应的至少一个足对应的作用力f
i{P(t)}的平方及采样质心位置Q(C
free)之间的正相关关系。由于第四关系数据和第五关系数据中均包括了取值未确定的第一常数C,则创建的第三关系数据中也包 括了取值未确定的第一常数C。并且,由于第一常数C是由取值未确定的第二常数C
free和取值已确定的第三常数h构成,则第三关系数据中包括了取值未确定的第二常数C
free。在该足式机器人中,第三关系数据能够是以描述语句的形式进行存储,或者,是以函数的形式进行存储的。
在一种可能实现方式中,该步骤309包括:将目标数值J设置为多个距离的加权平方和与至少一个足对应的作用力f
i{P(t)}的加权平方和之间的和值。其中,多个距离包括初始位置的质心位置、多个采样质心位置及终止位置的质心位置中相邻的任两个质心位置之间的距离。
其中,每个距离的权重及每个作用力f
i{P(t)}的权重均是足式机器人任意设置的,作用力f
i{P(t)}的权重为该作用力f
i{P(t)}对应的足对应的权重。确定每个距离与对应的权重的乘积的平方值,将多个距离对应的平方值之和作为多个距离的加权平方和,确定每个足对应的作用力f
i{P(t)}与对应的权重的乘积的平方值,将多个作用力对应的平方值之和作为至少一个足对应的作用力f
i{P(t)}的加权平方和。
在一种可能实现方式中,该目标数值J满足以下关系:
J=J
grf+J
len
其中,J
grf用于表示至少一个足对应的作用力f
i{P(t)}的加权平方和,J
len用于表示多个距离的加权平方和。
需要说明的是,本申请实施例是基于多个采样时间点来创建第三关系数据的,而在另一实施例中,无需执行步骤305-309,执行以下步骤代替:
确定足式机器人在初始位置时的质心位置,与足式机器人在终止位置时的质心位置之间的距离,将目标数值J设置为该距离的加权平方值与至少一个足对应的作用力f
i{P(t)}的加权平方和之间的和值。
确定该距离与对应的权重的乘积的平方值,作为该距离的加权平方值,确定每个足对应的作用力f
i{P(t)}与对应的权重的乘积的平方值,将多个作用力f
i{P(t)}对应的平方值之和作为至少一个足对应的作用力f
i{P(t)}的加权平方和。
310、基于第三关系数据,确定目标数值J为最小值时第一常数C的取值,获取取值已确定的第一常数C对应的第一关系数据。
在本申请实施例中,第三关系数据中包括了取值未确定的第一常数C,第一常数C包括取值未确定的第二常数C
free,即第三关系数据中包括取值未确定的第二常数C
free。
由于目标数值J与第二常数C
free的平方呈正相关关系,则目标数值J存在最小值。目标数值J用于优化足式机器人的至少一个足受到的作用力的分配,能够反映质心轨迹的长度,并且能够体现出足式机器人的质心位置的震荡幅度,通过目标数值J的最小值,使得足式机器人的至少一个足受到的作用力的分配均衡,且足式机器人的质心位置的震荡幅度小,能够保证足式机器人在移动过程中的稳定性,因此选取目标数值J的最小值,通过最小值能够确定出对应的第二常数C
free的取值。
通过取值已确定的第二常数C
free及取值已确定的第三常数h,能够得到第一常数C的取值,将取值已确定的第一常数C代入第一关系数据后,得到的第一关系数据为:质心位置 P(t)为取值已确定的第一常数C与时长矩阵E的乘积,则通过与初始位置对应的初始时间点之间的任意间隔时长,能够确定对应的质心位置P(t)。
另外,第三关系数据中取值未确定的常数包括第四常数λ,则基于第三关系数据,还能够确定目标数值J为最小值时第四常数λ的取值。
另外,通过取值已确定的第一常数C对应的第一关系数据,以间隔时长为横坐标,以质心位置为纵坐标,创建坐标系,基于取值已确定的第一常数C对应的第一关系数据中质心位置P(t)与间隔时长t之间的关系,在该坐标系中创建任意间隔时长对应的质心位置点,将多个质心位置点连成的曲线,确定为该足式机器人的质心轨迹。
311、在足式机器人的移动过程中,基于第一关系数据,确定足式机器人在任一间隔时长t
0时的质心位置P(t
0)。
其中,间隔时长t
0为足式机器人由初始位置向终止位置移动过程中,任一时间点与该初始位置对应的初始时间点之间间隔的时长。
由于取值已确定的第一常数C对应的第一关系数据中的除了间隔时长t外,其他常数的取值均已确定,则将任一间隔时长t
0代入该第一关系数据中,能够得到该任一间隔时长t
0对应的质心位置P(t
0)。
312、基于质心位置P(t
0)及终止位置,确定足式机器人的多个关节的关节扭矩。
在本申请实施例中,足式机器人通过控制各个足中的各个关节,来实现足式机器人的各个足的抬起或落下,从而带动足式机器人移动。足式机器人是通过控制多个关节的关节扭矩,使足式机器人的至少一个足支撑足式机器人移动,使足式机器人的质心位置保持在确定的质心位置P(t
0)。即通过足式机器人在任一间隔时长t
0时的质心位置P(t
0)、终止位置及逆运动学,来确定出足式机器人由初始位置向终止位置移动的过程中,该足式机器人的多个关节的关节扭矩。
在一种可能实现方式中,该步骤312包括:基于质心位置P(t
0)及终止位置,确定足式机器人的多个关节的关节角度和关节扭矩。其中,该关节角度用于表示足式机器人的关节转动后所呈现的角度。通过确定的质心位置P(t
0)及逆运动学,来确定出足式机器人的多个关节的关节角度。然后,通过逆动力学和优化控制方法,来确定机器人的多个关节的关节扭矩。
可选地,基于足式机器人的至少一个足与地面接触的接触点位置,及该足式机器人的迈步时序,创建至少一个足与地面接触的接触点位置与间隔时长之间的关系数据,及足式机器人的姿态与间隔时长之间的关系数据;基于该至少一个足与地面接触的接触点位置与间隔时长之间的关系数据、该足式机器人的姿态与间隔时长之间的关系数据,及取值已确定的第一常数C对应的第一关系数据,确定足式机器人的多个关节的关节角度与间隔时长之间的关系数据;将多个关节的关节角度与间隔时长之间的关系数据对间隔时长的一阶导数,确定为多个关节的关节角速度与间隔时长之间的关系数据;将多个关节的关节角度与间隔时长之间的关系数据对间隔时长的二阶导数,确定为足式机器人的多个关节的关节角加速度与间隔时长之间的关系数据;基于关节角速度与间隔时长之间的关系数据、关节角速度与间隔时长之间的关系数据及关节角加速度与间隔时长之间的关系数据,确定足式机器人在任一间隔时长t
0时多个关节的关节角度、关节角速度及关节角加速度;获取多个关节在当前时间点的关节角度、关节角速度及关节角加速度,基于多个关节在当前时间点的关节角度、关节角速度及关节角加速度,及该间隔时长t
0对应的多个关节的关节角度、关节角速度及关节角加速度,确 定该足式机器人多个关节的关节扭矩。
可选地,通过足式机器人配置的传感器,采集到足式机器人的多个关节的在当前时间点的关节角度、关节速度及关节角速度。
313、按照多个关节的关节扭矩,控制多个关节进行转动,带动足式机器人移动。
通过确定的多个关节的关节扭矩,控制该足式机器人的多个关节进行转动,使该足式机器人的质心位置与确定的质心位置重合,以实现该足式机器人的移动,且足式机器人由初始位置向终止位置移动的过程中,该足式机器人在任一时间点的质心位置,始终与为该时间点确定的质心位置保持重合,从而使得足式机器人沿着确定的质心轨迹移动。
在一种可能实现方式中,该步骤313包括:按照多个关节的关节角度和关节扭矩,控制多个关节进行转动,带动足式机器人移动。
通过按照关节角度和关节扭矩控制多个关节进行转动,使得多个关节保持在对应的关节角度,从而实现足式机器人的足的抬起或落下,带动足式机器人的移动,且能够保证在移动过程中,足式机器人的质心沿着确定的质心轨迹移动。
需要说明的是,本申请实施例是以足式机器人由初始位置向终止位置移动的一个移动过程进行说明的,而在另一实施例中,足式机器人在到达终止位置后,还能够继续执行下一个移动过程,将上一个移动过程的终止位置作为下一个移动过程的初始位置,执行上述步骤301-313,使足式机器人移动到下一个过程的终止位置,从而实现了足式机器人的多个连续的移动过程。
在一种可能实现方式中,将最后一个移动过程的终止位置作为该足式机器人的目标位置,在确定足式机器人移动至当前的移动过程的终止位置后,检测该终止位置是否与该目标位置重合,响应于该终止位置与该目标位置未重合,为该终止位置设置第一状态数据,响应于该终止位置与该目标位置重合,为该终止位置设置第二状态数据。
其中,第一状态数据中包括的质心速度及质心加速度不为0,第二状态数据中包括的质心速度及质心加速度为0。在足式机器人移动至目标位置后,足式机器人将停止不再移动。可选地,该目标位置是足式机器人确定的任意位置。例如,该足式机器人需要移动至房间A,将房间A的门口位置作为该目标位置。响应于终止位置与目标位置未重合,表示该足式机器人到达当前的移动过程的终止位置后,需要继续移动,执行下一个移动过程,为了保证足式机器人移动的连续性,则该足式机器人的质心速度和质心加速度不为0;响应于终止位置与目标位置重合,表示该足式机器人到达当前的移动过程的终止位置后,足式机器人将停止不再移动,为了保证足式机器人的稳定性,则该足式机器人的质心速度和质心加速度为0,使该足式机器人能够停止在目标位置上。
需要说明的是,本申请实施例以使足式机器人为执行主体来进行说明的,而在另一实施例中,上述步骤301-313由服务器执行,服务器基于质心位置P(t
0)及终止位置,确定足式机器人的多个关节的关节扭矩,向足式机器人发送移动指令,该移动指令携带多个关节的关节扭矩,由足式机器人按照多个关节的关节扭矩,控制多个关节进行转动,带动足式机器人移动。
在一种可能实现方式中,服务器与足式机器人的多个关节建立通信连接,服务器按照确定的多个关节的关节扭矩,向足式机器人的多个关节发送转动指令,转动指令携带对应的关节的关节扭矩,由足式机器人的多个关节在接收到的转动指令后,按照对应的关节扭矩进行转动,带动足式机器人移动。
需要说明的是,本申请实施例以使足式机器人为执行主体来进行说明的,而在另一实施例中,上述步骤301-310由服务器执行,在服务器获取到取值已确定的第一常数C对应的第一关系数据后,将取值已确定的第一常数C对应的第一关系数据发送至足式机器人,由足式机器人执行步骤311-313,从而控制足式机器人移动。
本申请实施例提供的方法,无需检测足式机器人各个关节的状态,通过创建的第一关系 数据、至少一个足对应的第二关系数据及第三关系数据,即可确定第一常数C
free对应的第一关系数据,减小了确定第一常数C
free对应的第一关系数据过程中的计算量,能够适用于任意足数的足式机器人,适应范围广。且通过将该第一常数C
free对应的第一关系数据,能够确定足式机器人由初始位置向终止位置移动过程中任一间隔时长对应的质心位置,则确定了该足式机器人由初始位置移动至终止位置的质心轨迹,使足式机器人按照确定的质心轨迹进行移动,保证了足式机器人移动的高效性。
并且,通过创建至少一个足对应的第二关系数据,考虑到了足式机器人配置的至少一个足与地面接触受到的作用力,提高了确定的足式机器人的质心位置的准确度,使该足式机器人能够按照确定的质心轨迹移动,保证了确定的质心轨迹的可行性和高效性,保证了确定质心轨迹的多样性和普适性。
如图4所示,是本申请实施例提供的足式机器人系统的控制足式机器人移动的框架图,该足式机器人系统包括视觉感知子系统401、轨迹生成子系统402、移动控制子系统403。
视觉感知子系统401基于足式机器人的状态数据,获取足式机器人的终止位置及迈步顺序,将得到的足式机器人的终止位置及迈步顺序发送给轨迹生成子系统402。
轨迹生成子系统402接收到视觉感知子系统401发送的足式机器人的终止位置及迈步顺序,并通过获取的足式机器人的状态数据,确定足式机器人的质心轨迹,基于确定的足式机器人的质心运动轨迹,确定该足式机器人各个关节的关节扭矩,将确定的该足式机器人各个关节的关节扭矩发送给移动控制子系统403。
移动控制子系统403接收轨迹生成子系统402发送的确定的该足式机器人各个关节的关节扭矩,按照确定的足式机器人各个关节的关节扭矩,控制各个关节进行转动,带动足式机器人进行移动,并在控制足式机器人移动的过程中实时监测足式机器人的状态数据,保证足式机器人能够稳定移动。
上述实施例中涉及到第一关系数据、第二关系数据及第三关系数据,在上述实施例的基础上,以下实施例将对上述三种关系数据的创建过程进行详细说明:
第一、创建第一关系数据的过程:
1、获取足式机器人的迈步顺序,按照该足式机器人的迈步顺序,将该足式机器人由初始位置移动至终止位置的过程分为连续的多个移动子过程。
其中,迈步顺序指示足式机器人的多个足之间的迈步顺序,任一足执行一个迈步动作称为一个移动子过程。
另外,在多个移动子过程中,为了保证多个移动子过程连续,对于相邻的两个移动子过程,前一个移动子过程的结束位置与下一个移动子过程的初始位置相同。
2、为每个移动子过程分别创建第一关系数据。
由于在多个移动子过程中,移动子过程不同,对足式机器人的质心位置的影响不同,则移动子过程对应的第一常数C也不同。则为每个移动子过程分别创建第一关系数据。
在多个移动子过程中的第k个移动子过程中,将第一关系数据设置为:足式机器人的质心位置P(t)为时长矩阵E与第一常数C
k的乘积,该第一常数C
k满足以下关系:
其中,k为不小于1的正整数,C
xk表示第k个移动子过程对应的第一常数C
k在x轴的分量,C
yk表示第k个移动子过程对应的第一常数C
k在y轴的分量,C
zk表示第k个移动子过 程对应的第一常数C
k在z轴的分量。
第k个移动子过程对应的第一关系数据能够用以下函数表示:
E
t=[1 t t
2 t
3]
T
k-1≤t≤T
k
其中,该P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置;E
t表示时长向量;C
xk表示第k个移动子过程对应的第一常数C
k在x轴的分量,C
yk表示第k个移动子过程对应的第一常数C
k在y轴的分量,C
zk表示第k个移动子过程对应的第一常数C
k在z轴的分量,C
*k=[C
*k,0 C
*k,1 C
*k,2 C
*k,3]
T,可选地,*表示x轴、y轴或z轴,
表示常数C
*k为包括4个维度的列向量,
表示在多维空间中的实数集合;每个移动子过程的移动时长为t
n,n表示多个移动子过程的个数,则前k-1个移动子过程的移动时长之和为
前k个移动子过程的移动时长之和为
3、基于多个移动子过程的第一关系数据,创建足式机器人由初始位置移动至终止位置对应的第一关系数据。
由于足式机器人由初始位置移动至终止位置的移动过程是由足式机器人的多个移动子过程组成,则足式机器人由初始位置移动至终止位置对应的第一关系数据中的第一常数C,是由多个移动子过程对应的第一常数C
k组成,即足式机器人由初始位置移动至终止位置对应的第一关系数据中的第一常数C中包括了每个移动子过程对应的第一常数C
k在x、y、z轴的分量。
在一种可能实现方式中,足式机器人由初始位置移动至终止位置对应的第一关系数据能够用以下函数表示:
C=[C
1 C
2 ... C
k... C
n]
T
其中,该P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置;E
t表示时长向量;C表示足式机器人由初始位置移动至终止位置对应的第一关系数据中的第一常数;C
1表示第一个移动子过程对应的第一常数,C
2表示第二个移动子过程对应的第一常数,C
k表示第k个移动子过程对应的第一常数,C
n表示第n个移动子过程对应的第一常数,T表示对矩阵的转置。
另外,在确定第一常数C中包含的维度数及第二常数C
free中包含的维度数能够基于第一关系数据中的变量确定。如图5所示,足式机器人由初始位置运动至终止位置包括8个移动 子过程,按照时间顺序依次为移动子过程501、移动子过程502、移动子过程503、移动子过程504、移动子过程505、移动子过程506、移动子过程507、移动子过程508。第一常数C中包含在x、y、z轴的分量个数为3,且第一关系数据中的时长向量E
t包括4个维度间隔时长,则能够确定第一常数C中包含的维度数3×8×4=96。由于在任两个相邻的移动子过程中,前一个移动子过程的终止位置与后一个移动子过程的初始位置相同,为了保证8个移动子过程的连续性,第一常数C中用于表示8个移动子过程的连续性的维度数为3×7×3=63,其中,第一个3表示在x、y、z轴的分量个数,7表示8个移动子过程中有7个相同的位置,第二3表示每个位置对应的状态数据中包括质心位置、质心速度及质心加速度共3个变量。由于足式机器人在8个移动子过程中,第一个移动子过程的初始位置的状态数据确定,最后一个移动子过程的终止位置的状态数据确定,则第一常数C中用于表示8个移动子过程的已确定的位置的状态数据的维度数为3×6=18。其中,3表示在x、y、z轴的分量个数,6表示已确定的两个位置的状态数据中包含的数值个数。则第二常数C
free中包含的维度数为96-63-18=15。
在一种可能实现方式中,将第k个移动子过程的第一关系数据对间隔时长t进行2阶导数,得到第k个移动子过程的质心加速度
与间隔时长t之间的关系数据,该质心加速度
与间隔时长t之间的关系数据能够用以下函数表示:
其中,E
a表示时间矩阵,是由时长向量E
t对间隔时长t进行2阶导数得到的,
表示时间矩阵E
a为4个维度的行向量;k为不小于1的正整数,C
xk表示第k个移动子过程对应的第一常数C
k在x轴的分量,C
yk表示第k个移动子过程对应的第一常数C
k在y轴的分量,C
zk表示第k个移动子过程对应的第一常数C
k在z轴的分量。
第二、创建第二关系数据的过程:
1、创建足式机器人的至少一个足受到的作用力与足式机器人自身的重力之间的关系数据。
在该足式机器人中,该关系数据是以描述语句的形式进行存储的,或者,是以函数的形式进行存储的。
在一种可能实现方式中,该足式机器人的至少一个足受到的作用力与足式机器人自身的重力之间的关系数据能够用以下函数表示:
其中,m表示足式机器人的质量;
表示该足式机器人的质心位置P(t)对间隔时长t的二阶导数,作为该足式机器人的质心位置P(t)对应的质心加速度;g表示重力加速度,该重力加速度
表示重力加速度g为3个维度的列向量,
表示多维空间的实数集合;L表示足式机器人的角动量,角动量
表示角动量L为3个维度的列向量,
表示角动量L对间隔时长t的一阶导数,表示角动量L的变化量;Y表示该足式机器人与地面接触的足的个数;Z′
3×3表示3行3列的单位矩阵;r
i表示足式机器人的第i个足与地面接触的接触点位置,i为不小于1、且不大于Y的正整数;
表示接触点r
i的斜对称矩阵;
表示质心位置P(t)的斜对称矩阵;f
i{P(t)}为该足式机器人的第i个足与地面接触受到的作用力。
上述关系式中,用于表示足式机器人的质心动力学方程,表示足式机器人的移动与该足式机器人受到的外力之间的关系,足式机器人受到的外力符合牛顿定律和欧拉方程。其中,足式机器人的重力与足式机器人受到的所有外力之和相等,足式机器人的角动量对时长的一阶导数与足式机器人受到的力矩相等。
根据上述足式机器人的至少一个足受到的作用力与足式机器人自身的重力之间的关系数据,能够获知足式机器人受到的作用力总和与该足式机器人的重力相等,即能够得到关系式
将该关系式带入足式机器人的至少一个足受到的作用力与足式机器人自身的重力之间的关系数据中,对足式机器人的至少一个足受到的作用力与足式机器人自身的重力之间的关系数据进行化简,得到如下关系式:
其中,m表示足式机器人的质量;
表示该足式机器人的质心位置P(t)对间隔时长t的二阶导数,作为该足式机器人的质心位置P(t)对应的质心加速度;g表示重力加速度,该重力加速度
表示重力加速度g为3个维度的列向量,
表示多维空间的实数集合;L表示足式机器人的角动量,角动量
表示角动量L为3个维度的列向量,
表示角动量L对间隔时长t的一阶导数;
表示质心位置P(t)的斜对称矩阵;f
0{P(t)}用于表示足式机器人的至少一个足与地面接触受到的作用力的总和;G为常数矩阵,该常数矩阵
表示常数矩阵G为6行3Y列的矩阵,
表示多维空间的实数集合;Z′
3×3表示3行3列的单位矩阵;r
i表示足式机器人的第i个足与地面接触的接触点位置,i为不小于1、且不大于Y的正整数;Y表示该足式机器人与地面接触的足的个数;
表示接触点r
i的斜对称矩阵。
2、基于上述足式机器人的至少一个足受到的作用力与足式机器人自身的重力之间的关系 数据及足式机器人的质心位置P(t),创建足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据。
其中,足式机器人的质心位置P(t)满足以下关系:
P(t)=P
init+P
t;
其中,该P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置;P
t表示足式机器人的质心位置从该规划周期的初始时间点开始经过间隔时长t后的质心位置变化量。在本申请实施例中,初始质心位置P
init与足式机器人在初始位置的状态数据中包括的质心位置相同。
通过将质心位置P(t)满足的关系P(t)=P
init+P
t代入足式机器人的至少一个足受到的作用力与足式机器人自身的重力之间的关系数据中,得到足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据,该足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据能够用以下函数表示:
其中,G为常数矩阵,该常数矩阵
表示常数矩阵G为6行3Y列的矩阵,
表示多维空间的实数集合;f
0{P(t)}用于表示足式机器人的至少一个足与地面接触受到的作用力的总和;m表示足式机器人的质量;P
t表示足式机器人的质心位置从该规划周期的初始时间点开始经过间隔时长t后的质心位置变化量;
表示质心位置变化量P
t对间隔时长t的二阶导数;该P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置,
为常数向量P
init的斜对称矩阵;g表示重力加速度,
表示重力加速度g为3个维度的列向量;
表示重力加速度g的斜对称矩阵,
表示质心位置的变化量的斜对称矩阵;L表示足式机器人的角动量,角动量
表示角动量L为3个维度的列向量,
表示角动量L对间隔时长t的一阶导数。
其中,
表示质心位置变化量P
t在x、y轴构成的平面上的分量,
对应的z坐标为0;
表示质心位置变化量P
t在z轴的分量;
对应的x、y坐标为0;
表示质心位置变化量P
t在x、y轴构成的平面上的分量的斜对称矩阵;
表示质心位置变化量P
t在x、y轴构成的平面上的分量对间隔时长t的二阶导数,也表示质心加速度在x、y轴构成的平面上的分量;
表示质心位置变化量P
t在z轴的分量对间隔时长t的二阶导数,也表示质心加 速度在z轴上的分量;
表示质心位置变化量P
t在z轴的分量的斜对称矩阵;
表示绕Z轴的力矩,
表示在xy平面内的某一方向上的力矩。由于
与
共线,则
为0。
由于在足式机器人的移动过程中,该足式机器人在z轴方向上的移动稳定,变化量小,能够忽略上述关系式中的
及
的绝对值均小,能够忽略,则上述足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据中的
能够忽略。
由于足式机器人在移动过程中,足式机器人的姿态变化小时,该足式机器人对应的角动量的变化量
小,能够忽略,则该足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据中等式右侧的第三项能够忽略,则将足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据进行化简,得到如下关系式:
Gf
0{P(t)}≈HX′
t-W
g,
其中,G为常数矩阵,该常数矩阵
表示常数矩阵G为6行3Y列的矩阵,
表示多维空间的实数集合;f
0{P(t)}用于表示足式机器人的至少一个足与地面接触受到的作用力的总和;H为常数矩阵;W
g为常数向量;X′
t表示质心位置变化量P
t和质心加速度
变化量集合;m表示足式机器人的质量;Z′
3×3表示3行3列的单位矩阵;该P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置;
为常数向量P
init的斜对称矩阵;g表示重力加速度,
表示重力加速度g为3个维度的列向量;
表示重力加速度g的斜对称矩阵。
3、基于足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据,创建第二关系数据。
通过对足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据进行处理,能够得到以下关系式:
其中,f
0{P(t)}用于表示足式机器人的至少一个足与地面接触受到的作用力的总和;G
+为常数矩阵,表示为常数矩阵G的伪逆矩阵,该常数矩阵G
+表示至少一个足对应的常数矩阵
集合;H为常数矩阵;P(t)表示质心位置;
为质心位置P(t)对间隔时长t的二阶导数,表示质心位置P(t)对应的质心加速度;λ表示足式机器人的至少一个足对应的第四常数;W
g为常数向量;U为常数矩阵,该常数矩阵U表示至少一个足对应的第四常数λ对应的映射矩阵集合。
通过上述关系式,能够得到该足式机器人第i个足对应的第二关系数据,满足以下关系:
其中,f
i{P(t)}表示第i个足对应的作用力;
为常数矩阵,常数矩阵
表示第i个足对应的常数矩阵;H为常数矩阵;P(t)表示质心位置;
为质心位置P(t)对间隔时长t的二阶导数,表示质心位置P(t)对应的质心加速度;λ表示足式机器人的至少一个足对应的第四常数;U
i表示第i个足对应的第四常数λ对应的映射矩阵;W
g为常数向量。
根据上述第二关系数据可知,足式机器人第i个足对应的作用力f
i{P(t)}与第四常数λ呈线性关系。
需要说明的是,本申请实施例是以理想条件下的足式自机器人的质心位置P(t)进行说明的,而在另一实施例中,足式机器人的质心位置P(t)存在误差,且足式机器人在移动过程中该质心位置P(t)受到足式机器人的足的影响,则该足式机器人的质心位置P(t)会在一定范围内变化。为了提高得到的足式机器人的质心位置的准确性和稳定性,为质心位置的误差增加不确定性约束。如图6所示,在坐标系的x、y、z轴的正负方向上各取一个点,得到点1、点2、点3、点4、点5、点6。以得到的六个点作为多面体的顶点,得到足式机器人的质心位置的偏移量δP′
j。
其中,j用于表示坐标轴x、y、z上取得的点,为1、2、3、4、5、6;δ表示偏移量系数,δ为常数;P′
j表示为足式机器人的质心位置在坐标轴上的偏移量,P′
j对应坐标轴上的六点中任一点,可选地,P′
j的坐标表示为(±δx,0,0)、(0,±δy,0)、(0,0,±δz);P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置;P
0表示足式机器人在初始位置时的质心位置,P
1表示足式机器人在终止位置时的质心位置,
为规划周期开始时增加偏移量后的质心位置,
表示足式机器人在初始位置对应的增加偏移量后的质心位置,
表示足式机器人在终止位置对应的增加偏移量后的质心位置。
在足式机器人的质心位置增加偏移量δP′
j后,足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据能够用以下函数表示:
其中,G为常数矩阵,该常数矩阵
表示常数矩阵G为6行3Y列的矩阵,
表示多维空间的实数集合;f
0{P(t)}用于表示足式机器人的至少一个足与地面接触受到的 作用力的总和;m表示足式机器人的质量;Z′
3×3表示3行3列的单位矩阵;g表示重力加速度,
表示重力加速度g为3个维度的列向量;
表示重力加速度g的斜对称矩阵,P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置,
为常数向量P
init的斜对称矩阵;P
t表示足式机器人的质心位置从该规划周期的初始时间点开始经过间隔时长t后的质心位置变化量;
表示质心位置变化量P
t对间隔时长t的二阶导数;
表示质心位置的变化量的斜对称矩阵;j用于表示坐标轴x、y、z上取得的点,为1、2、3、4、5、6;δ表示偏移量系数,δ为常数;P′
j表示为足式机器人的质心位置在坐标轴上的偏移量。
通过足式机器人的质心位置增加偏移量δP′
j后的足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据,能够确定足式机器人的质心位置的偏移量达到多面体的各个顶点时,足式机器人受到的作用力符合摩擦力约束,则当足式机器人的质心位置的偏移量在多面体的内部时,足式机器人受到的作用力也符合摩擦力约束。
第三、创建第三关系数据的过程:
基于足式机器人受到的摩擦力约束、第四关系数据和第五关系数据,创建第三关系数据。
在该足式机器人的移动过程中,该足式机器人受到摩擦力约束:该足式机器人中与地面接触的足受到的摩擦力大于0,且该足受到的摩擦力不小于该足与地面接触受到的作用力f
i{P(t)}在摩擦力方向上的分力,避免了足与地面之间产生相对滑动,从而保证该足式机器人能够正常移动。足式机器人的至少一个足对应的作用力f
i{P(t)}均受到摩擦力约束,满足以下关系:
其中,n
i为足式机器人第i个足与地面接触的接触点的法向量,
表示法向量n
i为3个维度的列向量,
表示多维空间的实数集合;t
i1、t
i2表示与足式机器人第i个足与地面的接触点的法向量垂直的平面上的两个切向量,切向量t
i1与切向量t
i2正交,t
i1、
表示切向量t
i1和切向量t
i2均为3个维度的列向量;T表示对向量的转置,μ
i为足式机器人第i个足与地面之间的摩擦系数。
由于在该足式机器人的移动过程中,该足式机器人受到摩擦力约束,该足式机器人中与地面接触的第i个足与地面接触受到的作用力的方向在一个圆锥内,该第i个足与地面的接触点为圆锥的顶点,该圆锥内由顶点到该圆锥的底圆的任一点之间的连线,均能够作为第i个足与地面接触受到的作用力f
i{P(t)}的方向。为了避免引入非线性约束,将该圆锥近似呈四棱锥,该第i个足与地面接触受到的作用力f
i{P(t)}满足以下关系:
其中,μ
i为摩擦系数;n
i为足式机器人第i个足与地面接触的接触点的法向量,
表示法向量n
i为3个维度的列向量,
表示多维空间的实数集合;t
i1、t
i2表示与足式机器人第i个足与地面的接触点的法向量垂直的平面上的两个切向量,切向量t
i1与切向量t
i2正交,t
i1、
表示切向量t
i1和切向量t
i2均为3个维度的列向量;T表示对向量的转置;
表示该足式机器人的第i个足与地面接触受到的作用力在法向方向上的最小值,
表示该足式机器人的第i个足与地面接触受到的作用力在法向方向上的最大值,
均大于0,
均能够是足式机器人设置的任意数值。
用于表示四棱锥的四个侧面的法向量。
通过上述关系式,通过对足式机器人的第i个足与地面接触受到的作用力f
i{P(t)}在四棱锥的四个侧面的分力的约束,及对足式机器人的第i个足与地面接触受到的作用力f
i{P(t)}在法向分力的约束,使得足式机器人的第i个足与地面接触受到的作用力f
i{P(t)}的方向限制在四棱锥内。
由于足式机器人在多个采样时间点均满足摩擦力约束,则将每个采样时间点对应的第四关系数据、每个采样时间点对应的第五关系数据代入到上述关系式中,得到
H
fV+B
f≤D
f
其中,H
f为常数矩阵,B
f、D
f均为常数向量,V表示变量向量,该变量矩阵
Λ为不同的足对应的第四常数λ的合集,通过合集Λ能够得到满足质心动力学条件下足式机器人与地面接触的作用力的通解。可选地,该变量矩阵V为87行的列向量,常数矩阵H
f为360行87列的矩阵,常数向量B
f为360行的列向量,常数向量D
f为360行的列向量。
另外,由于足式机器人的质心位置存在偏移量δP′
j,则上述关系能够表示为:
通过将每个采样时间点对应的第四关系数据代入到第五关系数据,得到的第三关系满足以下关系:
J=J
grf+J
len
其中,J表示目标数值;J
grf用于表示至少一个足对应的作用力f
i{P(t)}的加权平方和,J
len用于表示多个距离的加权平方和。第三关系数据中J
grf和J
len中均包括变量矩阵V的平方,且该变量矩阵V满足摩擦力约束。
通过二次规划求解器,能够得到第三关系数据中目标数值J的最小值,则能够得到目标数值J的最小值对应的变量矩阵V,即得到目标数值J的最小值对应的第二常数C
free和第四常数λ,通过取值已确定的第二常数C
free及第三常数h,得到取值确定的第一常数C,将取值确定的第一常数C代入第一关系数据中,得到足式机器人的质心轨迹。
本申请实施例提供的方法,基于足式机器人质心动力学,忽略其中对足式机器人的质心 位置影响小的参数,并考虑初始位置和终止位置的质心位置、速度、加速度约束对质心位置的约束,及足式机器人与地面接触受到的摩擦力约束,将确定质心位置转化成二次规划问题,求解稳定性高的质心轨迹,随后结合足式机器人落脚点的终止位置,基于逆运动学得到足式机器人各个关节的关节扭矩,按照多个关节的关节扭矩,控制多个关节进行转动,带动足式机器人移动。
本申请实施例提供的质心位置确定方法,能够适用于各种足式机器人,如双足机器人、四足机器人或多足机器人等;能够适用于足式机器人的各种步态,如双足行走、四足行走、四足小跑或随机步态等;能够适用于各种复杂环境下,如平地、不平地面、斜坡、楼梯等;能够采用间隔时长t的任意阶,在由初始位置至终止位置过程中能够采用任一个移动过程;对于地面为平面或高度差较小的情况下,能够保持机器人质心的高度不变,仅采用2组曲线规划质心在平面内的运动;初始位置的状态数据和终止位置的状态数据对质心位置的约束可根据实际需求确定,需保证添加约束后的曲线参数中仍有独立变量;在选取采样时间点时,能够在质心位置轨迹的任意位置进行采样,采样时间点的个数越多,分布越合理,得到的质心运动轨迹越可靠,但二次规划问题的尺寸越大,求解时间越长。另外第三关系数据中采样时间点对应的距离能够通过多个采样时间点确定,距离能够包括x轴、y轴、z轴三个方向的分量,能够根据实际情况选择不同的权重;除考虑地面作用力、曲线震荡幅度外,还能够考虑加速度的平方和、相邻点速度差的平方和、加速度差的平方和等。摩擦锥的简化:能够采用摩擦锥内接的任意N(N>4)棱锥进行近似,N的值越大,对摩擦锥的近似越准确,但二次规划问题的尺寸越大,求解时间越长;接触点的位置:接触点不仅局限于足式机器人的足与地面的接触点,同样适用于机器人身体、躯干、上肢等部位与环境接触的情况;质心位置不确定性约束的多面体:可采用任意符合实际需求的多面体,多面体顶点数量的增大会导致二次规划问题尺寸的增大,求解时间增长。在某单个方向质心位置确定且变化能够忽略的情况下,能够将多面体降维成平行多边形;在某两个方向质心位置确定且变化能够忽略的情况下,能够将多面体降维成直线;当三个方向质心位置均确定且变化能够忽略的情况下,能够降维成一个点。
如图7所示,足式机器人配置有4个足,足式机器人按照确定的质心轨迹701,由初始位置移动至终止位置。
如图8所示,足式机器人每半个迈步周期生成一次质心位置轨迹,该足式机器人的质心位置、质心速度及质心加速度随间隔时长变化的曲线图。每个曲线图中的两条曲线分别表示质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6的质心位置曲线。其中,图8中第一列的三个曲线图用于表示质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6时,质心位置在坐标轴x、y、z上的坐标随间隔时长变化的曲线;图8中第二列的三个曲线图用于表示质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6时,质心速度在坐标轴x、y、z上的分速度随间隔时长变化的曲线;图8中第二列的三个曲线图用于表示质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6时,质心加速度在坐标轴x、y、z上的分加速度随间隔时长变化的曲线。足式机器人配置有4个足,分别为右后足、右前足、左后足及左前足,该足式机器人的迈步顺序为迈右后足、迈右前足、迈左后足、迈左前足,可选地,每半个迈步周期为迈右后足、迈右前足,或者,为迈左后足、迈左前足。该足式机器人按照迈步顺序重复执行多个足的迈步过程,从而使该足式机器人移动。由图8可知,足式机器人的质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6的质心位置曲线的偏差小,因此,确定质心位置P(t)中包含的间隔时长t的最高次幂能够是任意数值。
如图9所示,足式机器人每个迈步周期生成一次质心位置轨迹,该足式机器人的质心位置、质心速度及质心加速度随间隔时长变化的曲线图。每个曲线图中的两条曲线分别表示质 心位置P(t)中包含的间隔时长t的最高次幂分别为3和6的质心位置曲线。其中,图9中第一列的三个曲线图用于表示质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6时,质心位置在坐标轴x、y、z上的坐标随间隔时长变化的曲线;图9中第二列的三个曲线图用于表示质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6时,质心速度在坐标轴x、y、z上的分速度随间隔时长变化的曲线;图9中第二列的三个曲线图用于表示质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6时,质心加速度在坐标轴x、y、z上的分加速度随间隔时长变化的曲线。足式机器人配置有4个足,分别为右后足、右前足、左后足及左前足,该足式机器人的迈步顺序为迈右后足、迈右前足、迈左后足、迈左前足,可选地,每个迈步周期为迈右后足、迈右前足、迈左后足、迈左前足。该足式机器人按照迈步顺序重复执行多个足的迈步过程,从而使该足式机器人移动。由图9可知,足式机器人的质心位置P(t)中包含的间隔时长t的最高次幂分别为3和6的质心位置曲线的偏差小,因此,确定质心位置P(t)中包含的间隔时长t的最高次幂能够是任意数值。
如图10所示,足式机器人的质心位置P(t)中包含的间隔时长t的最高次幂为6时,第一排图像表示足式机器人每半个迈步周期生成一次质心位置轨迹,足式机器人的总力矩和省略的力矩随间隔时长变化的曲线,其中,在图10中第一排的三个曲线图表示足式机器人每半个迈步周期生成一次质心位置轨迹时,足式机器人的总力矩和省略的力矩在坐标轴x、y、z上的分力矩随间隔时长变化的曲线;第二排图像表示足式机器人每个迈步周期生成一次质心位置轨迹,足式机器人的总力矩和省略的力矩随间隔时长变化的曲线,其中,在图10中第二排的三个曲线图表示足式机器人每个迈步周期生成一次质心位置轨迹时,足式机器人的总力矩和省略的力矩在坐标轴x、y、z上的分力矩随间隔时长变化的曲线;由图10可知,在上述实施例中确定质心位置时省略的力矩部分接近0,则表示该部分力矩能够忽略。
如图11所示,足式机器人按照上述实施例质心位置确定方法,为足式机器人确定的质心位置与足式机器人的质心位置随间隔时长变化的曲线。在图11中,第一排的图像表示足式机器人慢速移动时,质心位置随间隔时长变化的曲线,第二排图像表示足式机器人快速移动时,质心位置随间隔时长变化的曲线。通过图11可知,通过上述实施例提供的质心位置确定方法,为足式机器人确定的质心位置与足式机器人的质心位置重合,从而确定本申请实施例提供的质心位置确定方法准确。
下述实施例是通过足式机器人在终止位置的第二状态数据及预测状态数据之间的状态数据误差,来创建第三关系数据,之后通过该第三关系数据来确定足式机器人的移动轨迹的。图12是本申请实施例提供的一种质心位置确定方法的流程图,应用于足式机器人,如图12所示,该方法包括:
1201、获取足式机器人在终止位置的第二状态数据。
其中,第二状态数据至少包括目标质心位置。可选地,目标质心位置以坐标系中的坐标的形式表示,或者,以向量的形式表示。例如,在世界坐标系中,足式机器人的目标质心位置为[20,35,80]。
在一种可能实现方式中,第二状态数据包括目标质心位置,该步骤1201包括:获取足式机器人在终止位置时,足式机器人配置的至少一个足与地面接触的接触点位置,基于至少一个足的接触点位置,确定目标质心位置。
例如,该足式机器人为四足机器人,在足式机器人移动至终止位置时,四足机器人的四足均与地面接触,则获取四足与地面接触的四个接触位置,基于该四个接触位置,确定该足式机器人在终止位置时的目标质心位置。
其中,质心为该足式机器人的质量中心,质心位置为该足式机器人的质心所在的位置,目标质心位置是该足式机器人移动至终止位置时,期望该足式机器人的质心所在的位置。
该终止位置为该足式机器人将要到达的位置,此时,足式机器人并未到达该终止位置。该终止位置由足式机器人基于该足式机器人所在环境确定的。可选地,足式机器人通过视觉感知系统,获取包含该足式机器人移动方向的环境图像,对该环境图像进行特征提取,确定该足式机器人的终止位置,并确定该足式机器人在该终止位置时,至少一个足与地面接触的接触点位置。
例如,视觉感知系统中包括摄像头,足式机器人通过摄像头拍摄该足式机器人移动方向的环境,得到包含该足式机器人移动方向的环境图像。
可选地,基于足式机器人的多个足与地面的接触位置,确定多个接触位置的中心位置,基于足式机器人的高度及该中心位置,确定该目标质心位置。
例如,在世界坐标系中,采用右手规则的坐标系,以足式机器人的移动方向为X轴,以足式机器人的左侧与X轴垂直的方向为Y轴,与地面垂直的方向为Z轴,通过足式机器人的多个足的接触位置,确定多个接触位置的中心位置,将中心位置在Z轴上的坐标值加上足式机器人的高度值,即可得到目标质心位置在该世界坐标系中的坐标值,即确定了该目标质心位置。
在一种可能实现方式中,第二状态数据还包括目标质心速度,该步骤1201还包括:获取足式机器人在初始位置的第一状态数据,第一状态数据至少包括初始质心位置;将目标质心位置与初始质心位置之间的距离,与目标移动时长之间的比值,确定为目标质心速度。
其中,该初始位置为该足式机器人当前所在的位置,该初始质心位置为该足式机器人的质心当前所在的位置。质心速度为该足式机器人的质心的移动速度,该质心速度能够用向量表示。该目标质心速度为该足式机器人移动至终止位置时,期望该足式机器人的质心所具有的移动速度。
目标质心位置与初始质心位置之间的距离,表示该足式机器人由初始位置移动至终止位置的过程中,该足式机器人的质心所移动的距离。该目标移动时长指示足式机器人由初始位置移动至终止位置所需的时长。可选地,该目标移动时长为任意时长,例如,2秒或3秒等。通过将该距离与该目标移动时长的比值,能够确定该足式机器人由初始位置移动至终止位置的速度,也即是足式机器人移动至终止位置的目标质心速度。可选地,目标质心速度以向量的形式表示。
例如,该足式机器人的质心位置以向量的形式表示,如,[1,2,3],该向量中的每个元素分别表示足式机器人的质心在坐标系的x轴、y轴及z轴的坐标值,则目标质心位置与初始质心位置之间的距离,也用向量表示,表示该足式机器人的质心在x轴、y轴及z轴上的位移,距离与目标移动时长之间的比值,即为目标质心速度在x轴、y轴及z轴的分速度。
在一种可能实现方式中,第二状态数据还包括目标质心加速度,第一状态数据还包括初始质心速度,该步骤1201还包括:将目标质心速度与初始质心速度之间的差值,与目标移动时长之间的比值,确定为目标加速度。
其中,该目标质心加速度为该足式机器人移动至终止位置时,期望该足式机器人的质心所具有的加速度。可选的,该目标质心加速度以向量的形式表示。初始质心速度指示足式机器人在初始位置时,足式机器人的质心的速度。可选的,该初始质心速度以向量的形式表示。
目标质心速度与初始质心速度之间的差值,指示该足式机器人由初始位置移动至终止位置时,该足式机器人的质心速度的变化量,该质心速度的变化量与目标移动时长的比值,即为该足式机器人由初始位置移动至终止位置时,该足式机器人的质心速度的单位时间变化量,即为该足式机器人移动至终止位置时的目标质心加速度。
在一种可能实现方式中,第二状态数据至少包括目标质心位置、目标质心速度及目标质心加速度,则该步骤1201包括:获取足式机器人在终止位置时,足式机器人配置的至少一个足与地面接触的接触点位置,基于至少一个足的接触点位置,确定目标质心位置;获取足式机器人在初始位置的第一状态数据,该第一状态数据至少包括初始质心位置,将目标质心位置与初始质心位置之间的距离,与目标移动时长之间的比值,确定为目标质心速度;将目标 质心速度与初始质心速度之间的差值,与目标移动时长之间的比值,确定为目标加速度。
1202、创建第一关系数据,第一关系数据指示间隔时长t与足式机器人的质心位置P(t)之间的关系。
其中,间隔时长t指示足式机器人从初始位置移动至终止位置的过程中的任一时间点,与初始位置对应的初始时间点之间间隔的时长。质心位置P(t)指示足式机器人在间隔时长t时的质心位置。第一关系数据包括取值未确定的第一常数C,该第一常数C用于表示质心位置P(t)与间隔时长t之间关系。可选地,该第一常数C以向量形式表示,或者,以矩阵形式表示。
在该足式机器人中,第一关系数据是以描述语句的形式进行存储的,或者,是以函数的形式进行存储的。
在一种可能实现方式中,该步骤1202包括:将该第一关系数据设置为:质心位置P(t)为第一常数C与时长矩阵E的乘积。
其中,该时长矩阵E用于表示间隔时长t的矩阵。
可选地,第一关系数据满足一下关系:
P(t)=P
init+EC
其中,P
init为第一常数向量,用于表示足式机器人在初始位置时的初始质心位置。
由于在足式机器人的移动过程中,足式机器人的质心位置是随移动的间隔时长t变化的,经过任意间隔时长t后的质心位置具有对应的质心位置变化量,将间隔时长t对应的质心位置变化量与足式机器人在开始移动时的初始质心位置之和,作为该足式机器人经过任意间隔时长t后对应的质心位置P(t),从而确定了指示质心位置P(t)与间隔时长t之间关系的第一关系数据,后续能够通过第一关系数据确定足式机器人的质心轨迹。
1203、基于目标移动时长及第一关系数据,确定足式机器人在终止位置的预测状态数据。
由于第一关系数据用于表示足式机器人由初始位置移动至终止位置的过程中,任一时间点的质心位置,该目标移动时长指示足式机器人由初始位置移动至终止位置所需的时长,则通过该目标移动时长及该第一关系数据,能够预测该足式机器人按照该第一关系数据指示的质心轨迹移动至终止位置时,该足式机器人的预测质心位置。由于第一关系数据中包括取值未确定的第一常数C,则得到的预测质心位置与取值未确定的第一常数C有关。
在一种可能实现方式中,预测状态数据包括预测质心位置,该步骤1203包括:基于第一关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心位置。
第一关系数据指示间隔时长t与足式机器人的质心位置P(t)之间的关系,且该第一关系数据中包括取值未确定的第一常数C,则将目标移动时长作为间隔时长t,代入第一关系数据中,得到该足式机器人的预测质心位置,且该预测质心位置与取值未确定的第一常数C有关。
在一种可能实现方式中,预测状态数据包括预测质心速度,该步骤1203包括:基于第一关系数据,创建间隔时长t与足式机器人的质心速度之间的关系数据,基于该间隔时长t与足式机器人的质心速度之间的关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心速度。
其中,预测质心速度是足式机器人移动至终止位置时,通过第一关系数据预测的该足式机器人的质心速度,该预测质心速度与取值未确定的第一常数C有关。
可选地,获取第一关系数据对间隔时长t的一阶导数,得到该间隔时长t与足式机器人的 质心速度之间的关系数据,将目标移动时长代入该关系数据中,得到该预测质心速度。
在一种可能实现方式中,预测状态数据包括预测质心加速度,该步骤1203包括:基于第一关系数据,创建间隔时长t与足式机器人的质心加速度之间的关系数据,基于该间隔时长t与足式机器人的质心加速度之间的关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心加速度。
其中,预测质心加速度是足式机器人移动至终止位置时,通过第一关系数据预测的该足式机器人的质心加速度,该预测质心加速度与取值未确定的第一常数C有关。
可选地,获取第一关系数据对间隔时长t的二阶导数,得到该间隔时长t与足式机器人的质心加速度之间的关系数据,将目标移动时长代入该关系数据中,得到该预测质心加速度。
在一种可能实现方式中,预测状态数据至少包括预测质心位置、预测质心速度及预测质心加速度,则该步骤1203包括:基于第一关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心位置;基于第一关系数据,创建间隔时长t与足式机器人的质心速度之间的关系数据,基于该间隔时长t与足式机器人的质心速度之间的关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心速度;基于第一关系数据,创建间隔时长t与足式机器人的质心加速度之间的关系数据,基于该间隔时长t与足式机器人的质心加速度之间的关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心加速度。
1204、创建足式机器人配置的至少一个足对应的第二关系数据。
其中,至少一个足对应的第二关系数据分别指示至少一个足对应的作用力f
i与质心位置P(t)之间的关系,作用力f
i指示足式机器人的第i个足与地面接触而受到的作用力,i为正整数,第二关系数据包括取值未确定的第一常数C。在该足式机器人中,第二关系数据是以描述语句的形式进行存储的,或者,是以函数的形式进行存储的。
在一种可能实现方式中,该步骤1204包括:创建第六关系数据,创建第七关系数据,基于第六关系数据及第七关系数据,创建至少一个足对应的第二关系数据。
其中,第六关系数据指示足式机器人的角动量L与间隔时长t之间的关系,角动量L用于表示足式机器人的姿态的变化。第七关系数据指示至少一个足对应的作用力f
i(L)与角动量L之间的正相关关系。第七关系数据用于表示足式机器人至少一个足对应的作用力受到足式机器人的姿态的影响。通过创建的第六关系数据及第七关系数据,从而确定足式机器人的至少一个足与地面接触受到的作用力f
i与间隔时长t之间的关系。
在该足式机器人中,第六关系数据和第七关系数据是以描述语句的形式进行存储,或者,是以函数的形式进行存储的。
1205、基于第二状态数据与预测状态数据之间的状态数据误差,创建第三关系数据。
其中,第三关系数据指示目标数值J与状态数据误差及至少一个足与地面接触而受到的作用力f
i的平方之间的正相关关系。由于预测质心位置与第一常数C有关,则状态数据误差也与该第一常数C有关,因此,目标数值J与第一常数C有关,即第三关系数据中包括取值未确定的第一常数C。在该足式机器人中,第三关系数据是以描述语句的形式进行存储的,或者,是以函数的形式进行存储的。
在一种可能实现方式中,确定每个作用力f
i与对应的权重的乘积的平方,将至少一个足对应的作用力f
i对应的平方之和,作为该至少一个足对应的作用力f
i的加权平方和。可选地,每个作用力f
i对应的权重是足式机器人任意设置的。
可选地,足式机器人的至少一个足与地面接触而受到的作用力f
i包括
及
该 作用力
为作用力f
i在x轴的分力,该作用力
为作用力f
i在y轴的分力,该作用力
为作用力f
i在z轴的分力,对于足式机器人与地面接触的第i足,该足对应的作用力f
i的加权平方满足以下关系:
其中,F
i表示第i足对应的作用力f
i的加权平方,a
1、a
2、a
3分别表示第i足对应的作用力f
i在x轴、y轴、z轴上的权重,a
1、a
2、a
3为任意第一常数,a
1、a
2、a
3的取值可能相同,也可能不同。另外,对于不同的作用力,a
1的取值可能相同也可能不同,a
2的取值可能相同也可能不同,a
3的取值可能相同也可能不同。
可选地,足式机器人与地面接触的至少一个足对应的作用力f
i的加权平方和,等于至少一个足对应的加权平方F
i之和。
在一种可能实现方式中,第二状态数据包括目标质心位置,预测状态数据包括预测质心位置;该步骤1205包括:确定目标质心位置与预测质心位置之间的第一差值,将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第一差值的平方的和值。
其中,第一差值用于指示足式机器人在终止位置时的目标质心位置与预测质心位置之间的差值。由于预测质心位置与第一常数C有关,则第一差值与第一常数C有关,在将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第一差值的平方的和值后,该目标数值J与第一常数C的二次项有关。可选地,在第一常数C包括多个常数项时,该第一常数C的二次项包括该多个常数项组成的二次常数项,即每个常数项的平方或任两个常数项的乘积。例如,第一常数C包括常数项C
x、C
y及C
z,则该第一常数C的二次项中包括
C
xC
y、C
xC
z、C
yC
z等二次常数项。
可选地,确定目标质心位置与预测质心位置之间的距离,作为该第一差值。
可选地,目标质心位置、预测质心位置均以坐标的形式表示,则该第一差值也以坐标的形式表示。目标质心位置包括x、y、z轴上的第一坐标值,预测质心位置包括x、y、z轴上的第二坐标值,确定第一坐标值与第二坐标值在x、y、z轴上的差值,得到该第一差值,该第一差值包括x、y、z轴上的差值,将第一差值在x、y、z轴上的差值的加权平方和,作为该第一差值的平方。可选地,x、y、z轴对应的权重是足式机器人任意设置的。
在一种可能实现方式中,第二状态数据包括目标质心速度,预测状态数据包括预测质心速度,该步骤1205包括:确定目标质心速度与预测质心速度之间的第三差值,将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第三差值的平方的和值。
其中,第三差值用于指示足式机器人在终止位置时,足式机器人的目标质心速度与预测质心速度之间的差值。由于预测质心速度与第一常数C有关,则该第三差值与第一常数C有关,将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第三差值的平方的和值后,该目标数值J与第一常数C的二次项有关。可选地,在第一常数C包括多个常数项时,该第一常数C的二次项包括该多个常数项组成的二次常数项,即每个常数项的平方或任两个常数项的乘积。例如,第一常数C包括常数项C
x、C
y及C
z,则该第一常数C的二次项中包括
C
xC
y、C
xC
z、C
yC
z等二次常数项。
可选地,目标质心速度、预测质心速度均以坐标的形式表示的,则该第三差值也以坐标的形式表示。目标质心速度包括x、y、z轴上的第一分速度,预测质心速度包括x、y、z轴 上的第二分速度,确定第一分速度与第二分速度在x、y、z轴上的速度差值,得到该第三差值,该第三差值包括x、y、z轴上的速度差值,将第三差值在x、y、z轴上的速度差值的加权平方和,作为该第三差值的加权平方。其中,x、y、z轴对应的权重是足式机器人任意设置的。
在一种可能实现方式中,第二状态数据包括目标质心加速度,预测状态数据包括预测质心加速度,该步骤1205包括:确定目标质心加速度与预测质心加速度之间的第二差值;将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第二差值的平方的和值。
其中,第二差值用于指示足式机器人在终止位置时,足式机器人的目标质心加速度与预测质心加速度之间的差值。由于预测质心加速度与第一常数C有关,该第二差值与第一常数C有关,将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第三差值的平方的和值后,该目标数值J与第一常数C的二次项有关。可选地,在第一常数C包括多个常数项时,该第一常数C的二次项包括该多个常数项组成的二次常数项,即每个常数项的平方或任两个常数项的乘积。例如,第一常数C包括常数项C
x、C
y及C
z,则该第一常数C的二次项中包括
C
xC
y、C
xC
z、C
yC
z等二次常数项。
可选地,目标质心加速度、预测质心加速度均以坐标的形式表示的,则该第二差值也以坐标的形式表示。目标质心加速度包括x、y、z轴上的第一分加速度,预测质心加速度包括x、y、z轴上的第二分加速度,确定第一分加速度与第二分加速度在x、y、z轴上的加速度差值,得到该第二差值,该第二差值包括x、y、z轴上的加速度差值,将第二差值在x、y、z轴上的加速度差值的加权平方和,作为该第二差值的加权平方。其中,x、y、z轴对应的权重是足式机器人任意设置的。
需要说明的是,上述步骤1205的三种可能实现方式,仅是以状态数据包括质心位置、质心速度或者质心加速度分别进行说明的,另外,上述三种可能实现方式中能够任意两种方式结合,或者三种可能实现方式结合。
在任意两种可能实现方式结合时,状态数据误差包括第一差值和第二差值,则将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第一差值与第二差值的加权平方和的和值;或者,状态数据误差包括第一差值和第三差值,则将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第一差值与第三差值的加权平方和的和值;或者,状态数据误差包括第二差值和第三差值,则将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第二差值与第三差值的加权平方和的和值。其中,状态数据误差中包括的任两个差值之间的权重是足式机器人任意设置的。
在上述三种可能实现方式结合时,即状态数据误差包括第一差值、第二差值及第三差值,则将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第一差值、第二差值及第三差值的加权平方和的和值。可选地,第一差值、第二差值及第三差值之间的权重是足式机器人任意设置的。在确定第一差值的加权平方、第二差值的加权平方及第三差值的加权平方后,将第一差值的加权平方、第二差值的加权平方及第三差值的加权平方之和,作为第一差值、第二差值及第三差值的加权平方和。
在一种可能实现方式中,该步骤1205包括以下步骤12051-12053:
12051、在目标移动时长内选取多个采样时间点。
其中,采样时间点是指初始位置对应的初始时间点与终止位置对应的目标时间点之间的时间点。多个采样时间点包括两个或两个以上采样时间点。任两个相邻采样时间点之间的间 隔时长可能相等,也可能不相等。
例如,移动时长为60秒,初始位置对应的初始时间点为0秒,终止位置对应的目标时间点为60秒,从移动时长内选取5个采样时间点,第一个采样时间点为10秒,第二个采样时间点为20秒,第三个采样时间点为120秒,第四个采样时间点为40秒,第五个采样时间点为50秒;或者,第一个采样时间点为5秒,第二个采样时间点为20秒,第三个采样时间点为25秒,第四个采样时间点为40秒,第五个采样时间点为55秒。
在一种可能实现方式中,该步骤12051包括:将该移动时长分成多个时间段,将每个时间段的结束时间点作为采样时间点。其中,得到的多个时间段可能均相等,也可能不相等。
12052、基于每个采样时间点与初始时间点之间的间隔时长及第一关系数据,确定每个采样时间点对应的第四关系数据。
其中,第四关系数据指示第一常数C与采样质心位置Q(C)之间的关系,采样质心位置Q(C)指示足式机器人在对应的采样时间点时的质心位置。在该足式机器人中,第四关系数据是以描述语句的形式进行存储,或者,是以函数的形式进行存储的。
由于第一关系数据指示质心位置P(t)为第一常数C与时长矩阵E的乘积,将任一采样时间点与初始时间点之间的间隔时长代入第一关系数据中的时长矩阵E中,确定在该任一采样时间点下的时长矩阵E的取值,得到该采样时间点对应的第四关系数据,该第四关系数据指示第一常数C与采样质心位置Q(C)之间的关系。在第四关系数据中包括的第一常数C的取值未确定,该第四关系数据中包括的其他第一常数的取值均已确定。
12053、基于状态数据误差及第四关系数据,创建第三关系数据。
其中,第三关系数据指示目标数值J与每个采样时间点对应的至少一个足对应的作用力f
i的平方、状态数据误差及采样质心位置Q(C)之间的正相关关系。
在一种可能实现方式中,第二状态数据包括目标质心位置,预测状态数据包括预测质心位置;该步骤12053包括:确定目标质心位置与预测质心位置之间的第一差值,将目标数值J设置为第一数值、第二数值及第三数值的和值。
其中,第一数值为第一差值的平方,第二数值为多个距离的加权平方和。多个距离包括初始位置的初始质心位置、多个采样质心位置及预测质心位置中的任两个相邻质心位置之间的距离,第三数值为每个采样时间点对应的至少一个足对应的作用力f
i的加权平方和。可选地,每个距离的权重是足式机器人任意设置的。确定每个距离与对应的权重的乘积的平方值,将多个距离对应的平方值之和作为多个距离的加权平方和。通过多个距离的加权平方和,能够反映质心轨迹的长度,能够降低质心轨迹曲线的震荡幅度。
由于多个采样位置及预测质心位置均与第一常数C有关,则第一差值及多个距离均与第一常数C有关,第一数值为第一差值的平方,第二数值为多个距离的加权平方和,则第一数值及第二数值均与第一常数C的二次项有关,将目标数值J设置为第一数值、第二数值及第三数值的和值后,该目标数值J与第一常数C的二次项有关。可选地,在第一常数C包括多个第一常数项时,该第一常数C的二次项包括该多个第一常数项组成的二次第一常数项,即每个第一常数项的平方或任两个第一常数项的乘积。例如,第一常数C包括第一常数项C
x、C
y及C
z,则该第一常数C的二次项中包括
C
xC
y、C
xC
z、C
yC
z等二次第一常数项。
在一种可能实现方式中,第二状态数据包括目标质心速度,预测状态数据包括预测质心速度,该步骤12053包括:确定目标质心速度与预测质心速度之间的第三差值,将目标数值J设置为第二数值、第三数值及第五数值的和值。
其中,第五数值为第三差值的平方,第二数值为多个距离的加权平方和,第三数值为每个采样时间点对应的至少一个足对应的作用力f
i的加权平方和。
由于多个采样位置及预测质心速度均与第一常数C有关,则第三差值及多个距离均与第一常数C有关,第五数值为第三差值的平方,第二数值为多个距离的加权平方和,第五数值及第二数值均与第一常数C的二次项有关,将目标数值J设置为第二数值、第三数值及第五数值的和值后,该目标数值J与第一常数C的二次项有关。可选地,在第一常数C包括多个第一常数项时,该第一常数C的二次项包括该多个第一常数项组成的二次第一常数项,即每个第一常数项的平方或任两个第一常数项的乘积。例如,第一常数C包括第一常数项C
x、C
y及C
z,则该第一常数C的二次项中包括
C
xC
y、C
xC
z、C
yC
z等二次第一常数项。
在一种可能实现方式中,第二状态数据包括目标质心加速度,预测状态数据包括预测质心加速度,该步骤12053包括:确定目标质心加速度与预测质心加速度之间的第二差值,将目标数值J设置为第二数值、第三数值及第四数值的和值。
其中,第四数值为第二差值的平方,第二数值为多个距离的加权平方和,第三数值为每个采样时间点对应的至少一个足对应的作用力f
i的加权平方和。
由于多个采样位置及预测质心加速度均与第一常数C有关,则第二差值及多个距离均与第一常数C有关,第四数值为第二差值的平方,第二数值为多个距离的加权平方和,则第四数值及第二数值均与第一常数C的二次项有关,将目标数值J设置为第二数值、第三数值及第四数值的和值后,该目标数值J与第一常数C的二次项有关。可选地,在第一常数C包括多个第一常数项时,该第一常数C的二次项包括该多个第一常数项组成的二次第一常数项,即每个第一常数项的平方或任两个第一常数项的乘积。例如,第一常数C包括第一常数项C
x、C
y及C
z,则该第一常数C的二次项中包括
C
xC
y、C
xC
z、C
yC
z等二次第一常数项。
需要说明的是,上述步骤12053的三种可能实现方式,仅是以状态数据包括质心位置、质心速度或者质心加速度分别进行说明的,另外,上述三种可能实现方式中能够任意两种方式结合,或者三种可能实现方式结合。
在任意两种方式结合时,状态数据误差包括第一差值和第二差值,则将目标数值J设置为第一差值与第二差值的加权平方和、第二数值及第三数值的和值;或者,状态数据误差包括第一差值和第三差值,则将目标数值J设置为第一差值与第三差值的加权平方和、第二数值及第三数值的和值;或者,状态数据误差包括第二差值和第三差值,则将目标数值J设置为第二差值与第三差值的加权平方和、第二数值及第三数值的和值。其中,状态数据误差中包括的任两个差值之间的权重是足式机器人任意设置的。
在上述三种可能实现方式结合时即状态数据误差包括第一差值、第二差值及第三差值,则将目标数值J设置为第一差值、第二差值及第三差值的加权平方和、第二数值及第三数值的和值。
可选地,第一差值、第三差值及第二差值的权重是足式机器人任意设置的。确定第一差值与对应的权重的乘积的平方值,第三差值与对应的权重的乘积的平方值,及第二差值与对应的权重的乘积的平方值,将第一差值对应的平方值、第三差值对应的平方值及第二差值对应的平方值之和,即为第一差值、第三差值及第二差值的加权平方和。
1206、基于第一关系数据及初始时间点,创建第八关系数据、第九关系数据及第十关系数据。
其中,第八关系数据指示足式机器人在初始位置的初始质心位置与第一常数C的关系,第九关系数据指示足式机器人在初始位置的初始质心速度与第一常数C的关系,第十关系数据指示足式机器人在初始位置的初始质心加速度与第一常数C的关系。在该足式机器人中,第八关系数据、第九关系数据及第十关系数据是以描述语句的形式进行存储的,或者,是以函数的形式进行存储的。
在一种可能实现方式中,该步骤1206包括:将初始时间点代入第一关系数据中,得到该第八关系数据;获取第一关系数据对间隔时长t的一阶导数,将初始时间点代入得到的一阶导数关系数据中,得到该第九关系数据;获取第一关系数据对间隔时长t的二阶导数,将初始时间点代入得到的二阶导数关系数据中,得到该第十关系数据。
1207、基于第八关系数据、第九关系数据、第十关系数据、第二关系数据及第三关系数据,确定目标数值J为最小值时第一常数C的取值。
在第一常数C满足第八关系数据、第九关系数据、第十关系数据及第二关系数据的情况下,确定目标数值J为最小值时第一常数C的取值,以使足式机器人在初始位置的第一状态数据,满足取值已确定的第一常数C对应的第一关系数据,且在初始位置时,至少一个足对应的作用力满足第二关系数据,以保证确定的第一常数C的取值的准确性。
在一种可能实现方式中,创建摩擦力约束条件,该摩擦力约束条件指示足式机器人的至少一个足与地面接触而受到的作用力所满足的摩擦力约束条件,该摩擦力约束条件中包括取值未确定的第一常数C,在满足该摩擦力约束条件的情况下,基于第八关系数据、第九关系数据、第十关系数据、第二关系数据及第三关系数据,确定目标数值J为最小值时第一常数C的取值。
需要说明的是,本申请是通过第八关系数据、第九关系数据、第十关系数据、第二关系数据及第三关系数据,确定目标数值J为最小值时第一常数C的取值进行说明的,而在另一实施例中,无需执行步骤1206-1207,能够采用其他方式,基于第二关系数据及第三关系数据,确定目标数值J为最小值时第一常数C的取值即可。
1208、获取取值已确定的第一常数C对应的第一关系数据。
在确定第一常数C的取值后,将取值已确定的第一常数C代入第一关系数据中,则第一关系数据指示质心位置P(t
0)与间隔时长t的关系,且该第一关系数据中,除间隔时长t外,不包括其他取值未确定的第一常数。因此,取值已确定的第一常数C对应的第一关系数据能够表示足式机器人的质心轨迹。
1209、在足式机器人的移动过程中,基于第一关系数据,确定足式机器人在任一间隔时长t
0时的质心位置P(t
0)。
该步骤与上述步骤311类似,在此不再赘述。
1210、基于质心位置P(t
0)及终止位置,确定足式机器人的多个关节的关节扭矩。
该步骤与上述步骤312类似,在此不再赘述。
1211、按照多个关节的关节扭矩,控制多个关节进行转动,带动足式机器人移动。
该步骤与上述步骤313类似,在此不再赘述。
需要说明的是,本申请实施例是以足式机器人由初始位置向终止位置移动的一个移动过程进行说明的,而在另一实施例中,足式机器人在到达终止位置后,还能够继续执行下一个移动过程,将上一个移动过程的终止位置作为下一个移动过程的初始位置,执行上述步骤1201-1211,使足式机器人移动到下一个过程的终止位置,从而实现了足式机器人的多个连续的移动过程。
在一种可能实现方式中,将最后一个移动过程的终止位置作为该足式机器人的目标位置,在确定足式机器人移动至当前的移动过程的终止位置后,检测该终止位置是否与该目标位置重合,响应于该终止位置与该目标位置未重合,为该终止位置确定第一状态数据,响应于该终止位置与该目标位置重合,为该终止位置确定第二状态数据。
需要说明的是,本申请实施例以使足式机器人为执行主体来进行说明的,而在另一实施例中,上述步骤1201-1211由服务器执行,服务器基于质心位置P(t
0)及终止位置,确定足式机器人的多个关节的关节扭矩,向足式机器人发送移动指令,该移动指令携带多个关节的关节扭矩,由足式机器人按照多个关节的关节扭矩,控制多个关节进行转动,带动足式机器人移动。
在一种可能实现方式中,服务器与足式机器人的多个关节建立通信连接,服务器按照确定的多个关节的关节扭矩,向足式机器人的多个关节发送转动指令,转动指令携带对应的关节的关节扭矩,由足式机器人的多个关节在接收到的转动指令后,按照对应的关节扭矩进行转动,带动足式机器人移动。
需要说明的是,本申请实施例以使足式机器人为执行主体来进行说明的,而在另一实施例中,上述步骤1201-1208由服务器执行,在服务器获取到将取值已确定的第一常数C对应的第一关系数据后,将取值已确定的第一常数C对应的第一关系数据发送至足式机器人,由足式机器人执行步骤1209-1211,从而控制足式机器人移动。
本申请实施例提供的方法,无需检测足式机器人各个关节的状态,通过第一关系数据,来预测足式机器人在终止位置的预测状态数据,之后通过最小化预测状态数据与期望的目标状态时数据之间的状态数据误差,来确定第一关系数据中的第一常数C,以使预测状态数据与第二状态数据之间的差异最小,保证了第一常数C的取值的准确性,后续基于取值已确定的第一常数C来确定对应的质心轨迹,从而提高了足式机器人的质心轨迹的准确性,能够适用于任意足数的足式机器人,适用范围广。
通过创建第二关系数据,考虑到了足式机器人配置的至少一个足与地面接触受到的作用力,提高了足式机器人的质心轨迹的准确度,使该足式机器人能够按照确定的质心轨迹移动,保证了确定的质心轨迹的可行性和高效性,也保证了确定质心轨迹的多样性和普适性。
上述实施例中涉及到第一关系数据、第二关系数据及第三关系数据,在上述实施例的基础上,以下实施例将对上述三种关系数据的创建过程进行详细说明:
第一、本申请实施例创建第一关系数据的过程,与前一个实施例创建第一关系数据的过程类似,在此不再赘述。
第二、创建第二关系数据的过程:
1、基于上述实施例创建第二关系数据的过程,得到足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据能够用以下函数表示:
其中,G为常数矩阵,该常数矩阵
表示常数矩阵G为6行3Y列的矩阵,
表示多维空间的实数集合;f
0用于表示足式机器人的至少一个足与地面接触受到的作用力的总和;m表示足式机器人的质量;P
t表示足式机器人的质心位置从该规划周期的初始时间点开始进过间隔时长t后的质心位置变化量;
表示质心位置变化量P
t对间隔时长t的二阶导数;该P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置,
为常数向量P
init的斜对称矩阵;g表示重力加速度,
表示重力加速度g为3个维度的列向量;
表示重力加速度g的斜对称矩阵,
表示质心位置的变化量的斜对称矩阵;L表示足式机器人的角动量,角动量
表示角动量L为3个维度的列向量,
表示角动量L对间隔时长t的一阶导数。
2、基于足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据,创建第二关系数据。
其中,
表示质心位置变化量P
t在x、y轴构成的平面上的分量,
对应的z坐标为0;
表示质心位置变化量P
t在z轴的分量;
对应的x、y坐标为0;
表示质心位置变化量P
t在x、y轴构成的平面上的分量的斜对称矩阵;
表示质心位置变化量P
t在x、y轴构成的平面上的分量对间隔时长t的二阶导数,也表示质心加速度在x、y轴构成的平面上的分量;
表示质心位置变化量P
t在z轴的分量对间隔时长t的二阶导数,也表示质心加速度在z轴上的分量;
表示质心位置变化量P
t在z轴的分量的斜对称矩阵;
表示绕Z轴的力矩,
表示在xy平面内的某一方向上的力矩。由于
与
共线,则
为0。
由于在足式机器人的移动过程中,该足式机器人在z轴方向上的移动稳定,变化量小,能够忽略上述关系式中的
及
的绝对值均小,能够忽略,则上述足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据中的
能够忽略。
考虑一个规划周期内,足式机器人在初始时间点的姿态为
足式机器人在结束时间点的姿态为
则足式机器人在该规划周期内的姿态变化为
该姿态变化能够表示为足式机器人由初始时间点的姿态为
绕单位轴Υ旋转角度
得到结束时间点的姿态为
根据曲线插值法,对旋转角度θ进行曲线差值计算,得到旋转角度θ与间隔时长t之间的关系数据θ(t),使该关系数据θ(t)满足以下关系:
其中,t
s表示初始时间点,t
e表示结束时间点,θ(t
s)=0表示足式机器人在初始时间点时旋转角度θ为0;
表示足式机器人在初始时间点时角速度为0;
表示足式机器人在结束时间点时旋转角度为
该
为常数;
表示足式机器人在结束时间点时角速度为0。
通过该关系数据θ(t),创建足式机器人的姿态与间隔时长t之间的关系数据R(t),关系数据R(t)满足以下关系:
其中,I表示3行3列的单位矩阵;sin(·)用于表示正弦函数;cos(·)用于表示余弦函数;θ(t)用于表示足式机器人的旋转角度θ与间隔时长t之间的关系;Υ表示足式机器人的姿态变化所绕的单位轴;
为单位轴Υ的斜对称矩阵;
表示足式机器人在初始时间点的姿态。
通过该关系数据R(t),创建足式机器人对应的角动量的变化量与间隔时长t之间的关系数据,该足式机器人对应的角动量的变化量与间隔时长t之间的关系数据满足以下关系:
其中,I
0表示足式机器人关于质心的转动惯量;Υ表示足式机器人的姿态变化所绕的单位轴;θ(t)用于表示足式机器人的旋转角度θ与间隔时长t之间的关系;
用于表示足式机器人绕单位轴旋转的角速度与间隔时长t之间的关系;
用于表示足式机器人绕单位轴旋转的角加速度与间隔时长t之间的关系。
则通过足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据进行变换,变换后的足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据满足以下关系:
Gf
0≈H
0X′
t-W
g
其中,G为常数矩阵,该常数矩阵
表示常数矩阵G为6行3Y列的矩阵,
表示多维空间的实数集合;f
0用于表示足式机器人的至少一个足与地面接触受到的作用力的总和;H
0为常数矩阵;W
g为常数向量;X′
t表示质心位置变化量P
t和质心加速度
变化 量集合;m表示足式机器人的质量;Z′
3×3表示3行3列的单位矩阵;该P
init为常数向量,用于表示足式机器人在任一移动周期开始时的初始质心位置;
为常数向量P
init的斜对称矩阵;g表示重力加速度,
表示重力加速度g为3个维度的列向量;
表示重力加速度g的斜对称矩阵。
通过将第一关系数据及质心位置P(t)对应的质心加速度
与间隔时长t之间的关系数据,代入上述变换后的足式机器人的至少一个足受到的作用力与足式机器人的质心位置P(t)之间的关系数据,得到第二关系数据,该第二关系数据满足以下关系:
Gf
0≈HC-W
g
其中,G为常数矩阵,f
0用于表示足式机器人的至少一个足与地面接触受到的作用力的总和;H表示关于间隔时长t的系数矩阵;C为常数矩阵;W
g为常数向量;H
0为常数矩阵;E
t表示时长向量;E
a表示时间矩阵,是由时长向量E
t对间隔时长t进行2阶导数得到的,
表示时间矩阵E
a为4个维度的行向量;T表示对向量的转置。
第三、创建第三关系数据的过程:
基于足式机器人受到的摩擦力约束、第四关系数据及第一关系数据,创建第三关系数据。
在该足式机器人的移动过程中,该足式机器人受到摩擦力约束:该足式机器人中与地面接触的足受到的摩擦力大于0,且该足受到的摩擦力不小于该足与地面接触受到的作用力f
i在摩擦力方向上的分力,避免了足与地面之间产生相对滑动,从而保证该足式机器人能够正常移动。足式机器人的至少一个足对应的作用力f
i均受到摩擦力约束,满足以下关系:
N′
i=-[μ
in
i-o
i μ
in
i+o
i μ
in
i-t
i μ
in
i+t
i]
其中,N′
i表示足式机器人第i个足与地面接触的接触点的向量矩阵;n
i为足式机器人第i个足与地面接触的接触点的法向量,
表示法向量n
i为3个维度的列向量,
表示多维空间的实数集合;o
i、t
i表示与足式机器人第i个足与地面的接触点的法向量垂直的平面上的两个切向量,切向量o
i与切向量t
i正交,o
i、
表示切向量o
i和切向量t
i均为3个维度的列向量;T表示对向量的转置,μ
i为足式机器人第i个足与地面之间的摩擦系数。
由于在该足式机器人的移动过程中,该足式机器人受到摩擦力约束,该足式机器人中与地面接触的第i个足与地面接触受到的作用力的方向在一个圆锥内,该第i个足与地面的接触点为圆锥的顶点,该圆锥内由顶点到该圆锥的底圆的任一点之间的连线,均能够作为第i个足与地面接触受到的作用力f
i的方向。为了避免引入非线性约束,将该圆锥近似呈四棱锥,该第i个足与地面接触受到的作用力f
i满足以下关系:
其中,μ
i为摩擦系数;n
i为足式机器人第i个足与地面接触的接触点的法向量,
表示法向量n
i为3个维度的列向量,
表示多维空间的实数集合;o
i、t
i表示与足式机器人第i个足与地面的接触点的法向量垂直的平面上的两个切向量,切向量o
i与切向量t
i正交,o
i、
表示切向量o
i和切向量t
i均为3个维度的列向量;T表示对向量的转置;
表示该足式机器人的第i个足与地面接触受到的作用力在法向方向上的最小值,
表示该足式机器人的第i个足与地面接触受到的作用力在法向方向上的最大值,
均大于0,
均能够是设置的任意数值。
用于表示四棱锥的四个侧面的法向量。
在上述关系式中,通过对足式机器人的第i个足与地面接触受到的作用力f
i在四棱锥的四个侧面的分力的约束,及对足式机器人的第i个足与地面接触受到的作用力f
i在法向分力的约束,使得足式机器人的第i个足与地面接触受到的作用力f
i的方向限制在四棱锥内。
足式机器人在移动过程中,足式机器人在任意位置时,该足式机器人的所有足对应的作用力受到的摩擦力约束满足以下关系:
N
Tf
0≤0
其中,N表示足式机器人所有足与地面接触的接触点的向量矩阵;f
0用于表示足式机器人的至少一个足与地面接触受到的作用力的总和;N′
1表示足式机器人第1个足与地面接触的接触点的向量矩阵;N′
2表示足式机器人第2个足与地面接触的接触点的向量矩阵;N′
Y表示足式机器人第Y个足与地面接触的接触点的向量矩阵;T表示对向量的转置。
在目标移动时长内选取k个采样时间点(t
1,t
2,…,t
k),将足式机器人在采样时间点tk时的G、f、N、H、W
g分别表示为G
k、f
k、N
k、H
k、W
gk。且足式机器人在采样时间点t
k时,足式机器人的至少一个足与地面接触受到的作用力f
i满足以下关系:
G
kf
k=H
kC-W
k
其中,G
k表示在采样时间点t
k时的常数矩阵;f
k表示在采样时间点t
k时足式机器人的所有足对应的作用力总和;H
k表示在采样时间点t
k时的常数矩阵;C为常数矩阵;W
k为在采样时间点t
k时的常数向量;N
k表示在采样时间点t
k时,足式机器人所有足与地面接触的接触点的向量矩阵;T表示对向量的转置。
G
k、f
k、N
k、H
k、W
gk是足式机器人在采样时间点t
k时,与足式机器人的至少一个足与地面接触情况有关。例如,足式机器人配置有4个足,分别为右后足、右前足、左后足及左前足,该足式机器人的迈步顺序为迈右后足、迈右前足、迈左后足、迈左前足,可选地,每半个迈步周期为迈右后足、迈右前足,或者,为迈左后足、迈左前足。该足式机器人按照迈步顺序重复执行多个足的迈步过程,从而使该足式机器人移动。在足式机器人移动过程中,包括8个运动阶段,四足支撑、迈右后足、迈右前足、四足支撑、四足支撑、迈左后足、迈 左前足。在足式机器人处于四足支撑状态时,G
k为6×12的矩阵,f
k为12×1的列向量,N
k为16×12的矩阵。当机器人处于不同阶段时,落脚点数量、位置及其它相关信息可能发生变化。
通过第四关系数据及第一关系数据,创建第二关系数据满足以下关系:
J=J
grf+J
len+J
tgt
其中,J表示目标数值;J
grf用于表示至少一个足对应的作用力f
i的加权平方和,J
len用于表示多个距离的加权平方和,J
tgt用于表示足式机器人在终止位置时,预测质心位置与目标质心位置之间的第一差值、预测质心速度目标质心速度之间的第三差值及预测质心加速度与目标质心加速度之间的第二差值的加权平方和。
在创建第二关系数据后,假设足式机器人在初始位置时的初始时间点t为0,基于选取B个采样时间点,按照如下关系式,确定目标数值J为最小值时常数C的取值:
其中,J
grf用于表示至少一个足对应的作用力f
i的加权平方和,J
len用于表示多个距离的加权平方和,J
tgt用于表示足式机器人在终止位置时,预测质心位置与目标质心位置之间的第一差值、预测质心速度目标质心速度之间的第三差值及预测质心加速度与目标质心加速度之间的第二差值的加权平方和;G
k表示在采样时间点t
k时的常数矩阵;f
k表示在采样时间点t
k时足式机器人的所有足对应的作用力总和;H
k表示在采样时间点t
k时的常数矩阵;C为常数矩阵;W
k为在采样时间点t
k时的常数向量;δ
k为常数向量,是由一组相同的整数组成的向量;N
k表示在采样时间点t
k时,足式机器人所有足与地面接触的接触点的向量矩阵;B为采样时间点总个数,k为B个采样时间点中第k个采样时间点;P(0)=0表示基于第一关系数据确定的、足式机器人在初始位置时的质心位置变化量为0;
表示基于第一关系数据确定的、足式机器人在初始位置时的初始质心速度为v
0;
表示基于第一关系数据确定的、足式机器人在初始位置时的初始质心加速度为a
0。
本申请实施例提供的质心位置确定方法,能够适用于各种足式机器人,如双足机器人、四足机器人或六足机器人等;能够适用于足式机器人的各种步态,如双足行走、四足对角步态、四足爬行步态、六足对角步态等;能够适用于各种复杂环境下,如平地、不平地面、斜坡、楼梯等;能够采用间隔时长t的任意阶,在由初始位置至终止位置过程中能够采用任一个移动过程;对于地面为平面或高度差较小的情况下,能够保持机器人质心的高度不变,仅采用2组曲线规划质心在平面内的运动;可根据实际需求添加曲线位置、速度、加速度等的连续性约束,需保证添加约束后的曲线参数中仍有独立变量;在选取采样时间点时,能够在质心位置轨迹的任意位置进行采样,采样时间点的个数越多,分布越合理,得到的质心运动轨迹越可靠,但二次规划问题的尺寸越大,求解时间越长。另外第二关系数据中足式机器人的至少一个足与地面接触而受到的作用力、采样时间点对应的距离,均在x轴、y轴、z轴三个方向上具有分量,能够根据实际情况,在x轴、y轴、z轴上分别选择不同的权重,来确定作用力的加权平方和、距离的加权平方和。另外第二关系数据中除考虑地面作用力、曲线震荡幅度外,还能够考虑加速度的平方和、相邻点速度差的平方和、加速度差的平方和等。接 触点的位置:接触点不仅局限于足式机器人的足与地面的接触点,同样适用于机器人身体、躯干、上肢等部位与环境接触的情况。基于本申请实施例提供的质心位置确定方法,在忽略其中影响较小项的情况下,充分考虑质心位置、质心速度、质心加速度约束与地面摩擦力约束,将质心轨迹规划问题转化成一个二次规划问题,利用二次规划问题,来确定足式机器人移动的质心轨迹。在二次规划问题中,充分考虑地面接触点的摩擦力约束和各种优化指标,保证了所生成的运动的可行性与高效性。
图13是本申请实施例提供的一种质心位置确定装置的结构示意图,如图13所示,该装置包括:
创建模块1301,用于创建第一关系数据,第一关系数据指示间隔时长t与足式机器人的质心位置P(t)之间的关系,第一关系数据包括第一常数C;
创建模块1301,还用于创建足式机器人配置的至少一个足对应的第二关系数据,至少一个足对应的第二关系数据分别指示至少一个足对应的作用力f
i与质心位置P(t)之间的关系,第二关系数据包括第一常数C;
创建模块1301,还用于基于至少一个足对应的第二关系数据,创建第三关系数据,并确定目标数值J为最小值时第一常数C的取值,第三关系数据指示目标数值J与至少一个足与地面接触而受到的作用力f
i的平方之间的正相关关系;
获取模块1302,用于获取取值已确定的第一常数C对应的第一关系数据。
在一种可能实现方式中,如图14所示,创建模块1301,包括:
第一创建单元1311,用于基于第一关系数据及至少一个足对应的第二关系数据,创建第三关系数据;
第一确定单元1312,用于基于第三关系数据,确定目标数值J为最小值时第一常数C的取值。
在另一种可能实现方式中,如图14所示,创建模块1301,包括:
第一获取单元1313,用于获取足式机器人在初始位置的第一状态数据及在终止位置的第二状态数据,状态数据至少包括质心位置、质心速度及质心加速度;
第一创建单元1311,还用于创建第一关系数据,第一关系数据包括第一常数C,第一常数C包括取值未确定的第二常数C
free及取值已确定的第三常数h,第三常数h由获取的状态数据确定。
在另一种可能实现方式中,如图14所示,创建模块1301,包括:
设置单元1314,用于将第一关系数据设置为:质心位置P(t)为第一常数C与时长矩阵E的乘积;
其中,E
t表示时长向量。
在另一种可能实现方式中,如图14所示,创建模块1301,包括:
设置单元1314,用于将至少一个足对应的第二关系数据设置为:第i个足对应的作用力f
i为第一常数C和第i个足对应的第四常数λ的线性映射之和。
在另一种可能实现方式中,如图14所示,第一创建单元1311,包括:
获取子单元13111,用于获取足式机器人由初始位置移动至终止位置所需的移动时长;
选取子单元13112,用于在移动时长内选取多个采样时间点;
确定子单元13113,用于基于每个采样时间点与初始时间点之间的间隔时长及第一关系数据,确定每个采样时间点对应的第四关系数据,第四关系数据指示第一常数C与采样质心位置Q(C)之间的关系,采样质心位置Q(C)指示足式机器人在对应的采样时间点时的质心位置;
确定子单元13113,还用于基于至少一个足对应的第二关系数据及第四关系数据,确定每个采样时间点对应的第五关系数据,第五关系数据指示第一常数C与至少一个足对应的作用力f
i之间的关系;
创建子单元13114,用于基于第四关系数据和第五关系数据,创建第三关系数据,第三关系数据还指示目标数值J与每个采样时间点对应的至少一个足对应的作用力f
i的平方及采样质心位置Q(C)之间的正相关关系。
在另一种可能实现方式中,创建子单元13114,用于将目标数值J设置为多个距离的加权平方和与至少一个足对应的作用力f
i的加权平方和的和值,多个距离包括初始位置的质心位置、多个采样质心位置及终止位置的质心位置中的任两个相邻质心位置之间的距离。
在另一种可能实现方式中,确定子单元13113,用于基于足式机器人的迈步顺序、至少一个足对应的迈步时长及每个采样时间点与初始时间点之间的间隔时长,确定足式机器人在每个采样时间点与地面接触的足,迈步顺序指示足式机器人的多个足之间的迈步顺序;足对应的迈步时长为足从抬起至落下所经过的时长;基于每个采样质心位置Q(C)、至少一个足对应的第二关系数据及每个采样时间点与地面接触的足,确定第五关系数据。
在另一种可能实现方式中,如图14所示,装置还包括:
获取模块1302,还用于获取足式机器人在终止位置的第二状态数据;
确定模块1303,用于基于目标移动时长及第一关系数据,确定足式机器人在终止位置的预测状态数据;
创建模块1301,包括:
第一创建单元1311,用于基于第二状态数据与预测状态数据之间的状态数据误差,创建第三关系数据,第三关系数据指示目标数值J与状态数据误差及至少一个足与地面接触而受到的作用力f
i的平方之间的正相关关系;
第一确定单元1312,用于基于第二关系数据及第三关系数据,确定目标数值J为最小值时第一常数C的取值。
在另一种可能实现方式中,第二状态数据包括目标质心位置,预测状态数据包括预测质心位置;如图14所示,第一创建单元1311,包括:
确定子单元13113,用于确定目标质心位置与预测质心位置之间的第一差值;
设置子单元13115,用于将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第一差值的平方的和值。
在另一种可能实现方式中,第二状态数据包括目标质心加速度,预测状态数据包括预测质心加速度;如图14所示,第一创建单元1311,包括:
确定子单元13113,用于确定目标质心加速度与预测质心加速度之间的第二差值;
设置子单元13115,用于将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第二差值的平方的和值。
在另一种可能实现方式中,第二状态数据包括目标质心速度,预测状态数据包括预测质心速度;如图14所示,第一创建单元1311,包括:
确定子单元13113,用于确定目标质心速度与预测质心速度之间的第三差值;
设置子单元13115,用于将目标数值J设置为至少一个足对应的作用力f
i的加权平方和,与第三差值的平方的和值。
在另一种可能实现方式中,如图14所示,第一创建单元1311,包括:
选取子单元13112,用于在目标移动时长内选取多个采样时间点;
确定子单元13113,用于基于每个采样时间点与初始时间点之间的间隔时长及第一关系数据,确定每个采样时间点对应的第四关系数据,第四关系数据指示第一常数C与采样质心位置Q(C)之间的关系;
创建子单元13114,用于基于状态数据误差及第四关系数据,创建第三关系数据,第三关系数据指示目标数值J与每个采样时间点对应的至少一个足对应的作用力f
i的平方、状态数据误差及采样质心位置Q(C)之间的正相关关系。
在另一种可能实现方式中,第二状态数据包括目标质心位置,预测状态数据包括预测质心位置;创建子单元13114,用于确定目标质心位置与预测质心位置之间的第一差值;将目标数值J设置为第一数值、第二数值及第三数值的和值,第一数值为第一差值的平方,第二数值为多个距离的加权平方和,多个距离包括初始位置的质心位置、多个采样质心位置及预测质心位置中的任两个相邻质心位置之间的距离,第三数值为每个采样时间点对应的至少一个足对应的作用力f
i的加权平方和。
在另一种可能实现方式中,第二状态数据包括目标质心加速度,预测状态数据包括预测质心加速度;创建子单元13114,用于确定目标质心加速度与预测质心加速度之间的第二差值;将目标数值J设置为第二数值、第三数值及第四数值的和值,第四数值为第二差值的平方,第二数值为多个距离的加权平方和,多个距离包括初始位置的初始质心位置、多个采样质心位置及预测质心位置中的任两个相邻质心位置之间的距离,第三数值为每个采样时间点对应的至少一个足对应的作用力f
i的加权平方和。
在另一种可能实现方式中,第二状态数据包括目标质心速度,预测状态数据包括预测质心速度;创建子单元13114,用于确定目标质心速度与预测质心速度之间的第三差值;将目标数值J设置为第二数值、第三数值及第五数值的和值,第五数值为第三差值的平方,第二数值为多个距离的加权平方和,多个距离包括初始位置的初始质心位置、多个采样质心位置及预测质心位置中的任两个相邻质心位置之间的距离,第三数值为每个采样时间点对应的至少一个足对应的作用力f
i的加权平方和。
在另一种可能实现方式中,
第一创建单元1311,还用于创建第六关系数据,第六关系数据指示足式机器人的角动量L与间隔时长t之间的关系;
第一创建单元1311,还用于创建第七关系数据,第七关系数据指示至少一个足对应的作用力f
i(L)与角动量L之间的负相关关系;
第一创建单元1311,还用于基于第六关系数据及第七关系数据,创建至少一个足对应的第二关系数据。
在另一种可能实现方式中,第一确定单元1312,用于基于第一关系数据及初始时间点,创建第八关系数据、第九关系数据及第十关系数据,第八关系数据指示足式机器人在初始位置的初始质心位置与第一常数C的关系,第九关系数据指示足式机器人在初始位置的初始质心速度与第一常数C的关系,第十关系数据指示足式机器人在初始位置的初始质心加速度与第一常数C的关系;基于第八关系数据、第九关系数据、第十关系数据、第二关系数据及第三关系数据,确定目标数值J为最小值时第一常数C的取值。
在另一种可能实现方式中,第二状态数据包括目标质心位置,如图14所示,获取模块 1302,包括:
第二获取单元1321,用于获取足式机器人在终止位置时,足式机器人配置的至少一个足与地面接触的接触点位置;
第二确定单元1322,用于基于至少一个足的接触点位置,确定目标质心位置。
在另一种可能实现方式中,第二状态数据还包括目标质心速度,
获取模块1302,还用于获取足式机器人在初始位置的第一状态数据,第一状态数据至少包括初始质心位置;
确定模块1303,还用于将目标质心位置与初始质心位置之间的距离,与目标移动时长之间的比值,确定为目标质心速度。
在另一种可能实现方式中,第二状态数据还包括目标质心加速度,第一状态数据还包括初始质心速度;
确定模块1303,还用于将目标质心速度与初始质心速度之间的差值,与目标移动时长之间的比值,确定为目标加速度。
在另一种可能实现方式中,预测状态数据包括预测质心位置,如图14所示,确定模块1303,包括:
第三确定单元1331,用于基于第一关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心位置。
在另一种可能实现方式中,预测状态数据包括预测质心速度,如图14所示,确定模块1303,包括:
第二创建单元1332,用于基于第一关系数据,创建间隔时长t与足式机器人的质心速度之间的关系数据;
第三确定单元1331,用于基于间隔时长t与足式机器人的质心速度之间的关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心速度。
在另一种可能实现方式中,预测状态数据包括预测质心加速度,如图14所示,确定模块1303,包括:
第二创建单元1332,用于基于第一关系数据,创建间隔时长t与足式机器人的质心加速度之间的关系数据;
第三确定单元1331,用于基于间隔时长t与足式机器人的质心加速度之间的关系数据,确定足式机器人由初始位置经过目标移动时长后的预测质心加速度。
在另一种可能实现方式中,获取取值已确定的第一常数C对应的第一关系数据之后,如图14所示,装置还包括:
确定模块1303,用于在足式机器人的移动过程中,基于第一关系数据,确定足式机器人在任一间隔时长t
0时的质心位置P(t
0);
确定模块1303,还用于基于质心位置P(t
0)及终止位置,确定足式机器人的多个关节的关节扭矩;
控制模块1304,用于按照多个关节的关节扭矩,控制多个关节进行转动,带动足式机器人移动。
需要说明的是:上述实施例提供的质心位置确定装置在获取第一关系数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将足式机器人或控制设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的质心位置确定装置与质心位置确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种足式机器人,该足式机器人包括处理器和存储器,存储器中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例 的质心位置确定方法中所执行的操作。
图15示出了本申请一个示例性实施例提供的足式机器人1500的结构示意图。该足式机器人1500用于执行上述质心位置确定方法中足式机器人所执行的步骤。
足式机器人1500包括有:处理器1501和存储器1502。
处理器1501可以包括一个或多个处理核心,比如4核心处理器、15核心处理器等。存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的,用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1501所执行以实现本申请中方法实施例提供的质心位置确定方法。
在一些实施例中,足式机器人1500还可选包括有:外围设备接口1503和至少一个外围设备。处理器1501、存储器1502和外围设备接口1503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1503相连。可选地,外围设备包括:射频电路1504、显示屏1505、摄像头组件1505、音频电路1507、定位组件1506和电源1507中的至少一种。
外围设备接口1503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1501和存储器1502。
射频电路1504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。
摄像头组件1505用于采集图像或视频。可选地,摄像头组件1505包括前置摄像头和后置摄像头。前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。
定位组件1506用于定位足式机器人1500的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1506可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1507用于为足式机器人1500中的各个组件进行供电。电源1507可以是交流电、直流电、一次性电池或可充电电池。当电源1507包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,足式机器人1500还包括有一个或多个传感器1508。该一个或多个传感器1508包括但不限于:加速度传感器1509、陀螺仪传感器1510。
加速度传感器1509可以检测以足式机器人1500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1509可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1509采集的重力加速度信号。加速度传感器1509还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1510可以检测足式机器人1500的机体方向及转动角度,陀螺仪传感器1510可以与加速度传感器1509协同采集用户对足式机器人1500的3D动作。处理器1501根据陀螺仪传感器1510采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
本领域技术人员可以理解,图15中示出的结构并不构成对足式机器人1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种控制设备,该控制设备人包括处理器和存储器,存储器中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的质心位置确定方法中所执行的操作。
可选地,该计算机设备提供为服务器。图16是本申请实施例提供的一种服务器的结构示意图,该服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1601和一个或一个以上的存储器1602,其中,存储器1602中存储有至少一条计算机程序,至少一条计算机程序由处理器1601加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘及 输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的质心位置确定方法中所执行的操作。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。控制设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该控制设备实现如上述实施例的质心位置确定方法中所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (29)
- 一种质心位置确定方法,应用于足式机器人,或与所述足式机器人连接的控制设备,所述方法包括:创建第一关系数据,所述第一关系数据指示间隔时长t与所述足式机器人的质心位置P(t)之间的关系,所述第一关系数据包括第一常数C;创建所述足式机器人配置的至少一个足对应的第二关系数据,所述至少一个足对应的第二关系数据分别指示所述至少一个足对应的作用力f i与质心位置P(t)之间的关系,所述第二关系数据包括所述第一常数C;基于所述至少一个足对应的第二关系数据,创建第三关系数据,并确定目标数值J为最小值时所述第一常数C的取值,所述第三关系数据指示所述目标数值J与所述至少一个足与地面接触而受到的作用力f i的平方之间的正相关关系;获取取值已确定的所述第一常数C对应的所述第一关系数据。
- 根据权利要求1所述的方法,其中,所述基于所述至少一个足对应的第二关系数据,创建第三关系数据,并确定目标数值J为最小值时所述第一常数C的取值,包括:基于所述第一关系数据及所述至少一个足对应的第二关系数据,创建所述第三关系数据;基于所述第三关系数据,确定所述目标数值J为最小值时所述第一常数C的取值。
- 根据权利要求2所述的方法,其中,所述创建第一关系数据,包括:获取所述足式机器人在初始位置的第一状态数据及在终止位置的第二状态数据,状态数据至少包括质心位置、质心速度及质心加速度;创建所述第一关系数据,所述第一关系数据包括所述第一常数C,所述第一常数C包括取值未确定的第二常数C free及取值已确定的第三常数h,所述第三常数h由获取的状态数据确定。
- 根据权利要求2所述的方法,其中,所述创建所述足式机器人配置的至少一个足对应的第二关系数据,包括:将所述至少一个足对应的第二关系数据设置为:第i个足对应的作用力f i为所述第一常数C和所述第i个足对应的第四常数λ的线性映射之和。
- 根据权利要求2所述的方法,其中,所述基于所述第一关系数据及所述至少一个足对应的第二关系数据,创建所述第三关系数据,包括:获取所述足式机器人由初始位置移动至终止位置所需的移动时长;在所述移动时长内选取多个采样时间点;基于每个采样时间点与初始时间点之间的间隔时长及所述第一关系数据,确定所述每个采样时间点对应的第四关系数据,所述第四关系数据指示所述第一常数C与采样质心位置Q(C)之间的关系,所述采样质心位置Q(C)指示所述足式机器人在对应的采样时间点时的质心位置;基于所述至少一个足对应的第二关系数据及所述第四关系数据,确定所述每个采样时间点对应的第五关系数据,所述第五关系数据指示所述第一常数C与所述至少一个足对应的作用力f i之间的关系;基于所述第四关系数据和所述第五关系数据,创建所述第三关系数据,所述第三关系数据还指示所述目标数值J与所述每个采样时间点对应的至少一个足对应的作用力f i的平方及所述采样质心位置Q(C)之间的正相关关系。
- 根据权利要求6所述的方法,其中,所述基于所述第四关系数据和所述第五关系数据,创建所述第三关系数据,包括:将所述目标数值J设置为多个距离的加权平方和与所述至少一个足对应的作用力f i的加权平方和的和值,所述多个距离包括所述初始位置的质心位置、多个采样质心位置及所述终止位置的质心位置中的任两个相邻质心位置之间的距离。
- 根据权利要求6所述的方法,其中,所述基于所述至少一个足对应的第二关系数据及所述第四关系数据,确定所述每个采样时间点对应的第五关系数据,包括:基于所述足式机器人的迈步顺序、所述至少一个足对应的迈步时长及所述每个采样时间点与所述初始时间点之间的间隔时长,确定所述足式机器人在所述每个采样时间点与地面接触的足,所述迈步顺序指示所述足式机器人的多个足之间的迈步顺序,所述足对应的迈步时长为所述足从抬起至落下所经过的时长;基于每个采样质心位置Q(C)、所述至少一个足对应的第二关系数据及所述每个采样时间点与地面接触的足,确定所述第五关系数据。
- 根据权利要求1所述的方法,其中,所述方法还包括:获取所述足式机器人在终止位置的第二状态数据;基于目标移动时长及所述第一关系数据,确定所述足式机器人在所述终止位置的预测状态数据;所述基于所述至少一个足对应的第二关系数据,创建第三关系数据,并确定目标数值J为最小值时所述第一常数C的取值,包括:基于所述第二状态数据与所述预测状态数据之间的状态数据误差,创建所述第三关系数据,所述第三关系数据指示所述目标数值J与所述状态数据误差及所述至少一个足与地面接触而受到的作用力f i的平方之间的正相关关系;基于所述第二关系数据及所述第三关系数据,确定所述目标数值J为最小值时所述第一常数C的取值。
- 根据权利要求9所述的方法,其中,所述第二状态数据包括目标质心位置,所述预测状态数据包括预测质心位置;所述基于所述第二状态数据与所述预测状态数据之间的状态数据误差,创建所述第三关系数据,包括:确定所述目标质心位置与所述预测质心位置之间的第一差值;将所述目标数值J设置为所述至少一个足对应的作用力f i的加权平方和,与所述第一差值的平方的和值。
- 根据权利要求9所述的方法,其中,所述第二状态数据包括目标质心加速度,所述预 测状态数据包括预测质心加速度;所述基于所述第二状态数据与所述预测状态数据之间的状态数据误差,创建所述第三关系数据,包括:确定所述目标质心加速度与所述预测质心加速度之间的第二差值;将所述目标数值J设置为所述至少一个足对应的作用力f i的加权平方和,与所述第二差值的平方的和值。
- 根据权利要求9所述的方法,其中,所述第二状态数据包括目标质心速度,所述预测状态数据包括预测质心速度;所述基于所述第二状态数据与所述预测状态数据之间的状态数据误差,创建所述第三关系数据,包括:确定所述目标质心速度与所述预测质心速度之间的第三差值;将所述目标数值J设置为所述至少一个足对应的作用力f i的加权平方和,与所述第三差值的平方的和值。
- 根据权利要求9所述的方法,其中,所述基于所述第二状态数据与所述预测状态数据之间的状态数据误差,创建所述第三关系数据,包括:在所述目标移动时长内选取多个采样时间点;基于每个采样时间点与初始时间点之间的间隔时长及所述第一关系数据,确定所述每个采样时间点对应的第四关系数据,所述第四关系数据指示所述第一常数C与采样质心位置Q(C)之间的关系;基于所述状态数据误差及所述第四关系数据,创建所述第三关系数据,所述第三关系数据指示所述目标数值J与所述每个采样时间点对应的至少一个足对应的作用力f i的平方、所述状态数据误差及所述采样质心位置Q(C)之间的正相关关系。
- 根据权利要求13所述的方法,其中,所述第二状态数据包括目标质心位置,所述预测状态数据包括预测质心位置;所述基于所述状态数据误差及所述第四关系数据,创建所述第三关系数据,包括:确定所述目标质心位置与所述预测质心位置之间的第一差值;将所述目标数值J设置为第一数值、第二数值及第三数值的和值,所述第一数值为所述第一差值的平方,所述第二数值为多个距离的加权平方和,所述多个距离包括所述初始位置的质心位置、多个采样质心位置及所述预测质心位置中的任两个相邻质心位置之间的距离,所述第三数值为所述每个采样时间点对应的至少一个足对应的作用力f i的加权平方和。
- 根据权利要求13所述的方法,其中,所述第二状态数据包括目标质心加速度,所述预测状态数据包括预测质心加速度;所述基于所述状态数据误差及所述第四关系数据,创建所述第三关系数据,包括:确定所述目标质心加速度与所述预测质心加速度之间的第二差值;将所述目标数值J设置为第二数值、第三数值及第四数值的和值,所述第四数值为所述第二差值的平方,所述第二数值为多个距离的加权平方和,所述多个距离包括初始位置的初始质心位置、多个采样质心位置及预测质心位置中的任两个相邻质心位置之间的距离,所述第三数值为所述每个采样时间点对应的至少一个足对应的作用力f i的加权平方和。
- 根据权利要求13所述的方法,其中,所述第二状态数据包括目标质心速度,所述预测状态数据包括预测质心速度;所述基于所述状态数据误差及所述第四关系数据,创建所述第三关系数据,包括:确定所述目标质心速度与所述预测质心速度之间的第三差值;将所述目标数值J设置为第二数值、第三数值及第五数值的和值,所述第五数值为所述第三差值的平方,所述第二数值为多个距离的加权平方和,所述多个距离包括所述初始位置 的初始质心位置、所述多个采样质心位置及所述预测质心位置中的任两个相邻质心位置之间的距离,所述第三数值为所述每个采样时间点对应的至少一个足对应的作用力f i的加权平方和。
- 根据权利要求9所述的方法,其中,所述创建所述足式机器人配置的至少一个足对应的第二关系数据,包括:创建第六关系数据,所述第六关系数据指示所述足式机器人的角动量L与所述间隔时长t之间的关系;创建第七关系数据,所述第七关系数据指示所述至少一个足对应的作用力f i(L)与所述角动量L之间的负相关关系;基于所述第六关系数据及所述第七关系数据,创建所述至少一个足对应的第二关系数据。
- 根据权利要求9所述的方法,其中,所述基于所述第二关系数据及所述第三关系数据,确定所述目标数值J为最小值时所述第一常数C的取值,包括:基于所述第一关系数据及初始时间点,创建第八关系数据、第九关系数据及第十关系数据,所述第八关系数据指示所述足式机器人在初始位置的初始质心位置与所述第一常数C的关系,所述第九关系数据指示所述足式机器人在所述初始位置的初始质心速度与所述第一常数C的关系,所述第十关系数据指示所述足式机器人在所述初始位置的初始质心加速度与所述第一常数C的关系;基于所述第八关系数据、所述第九关系数据、所述第十关系数据、所述第二关系数据及所述第三关系数据,确定所述目标数值J为最小值时所述第一常数C的取值。
- 根据权利要求9所述的方法,其中,所述第二状态数据包括目标质心位置,所述获取所述足式机器人在终止位置的第二状态数据,包括:获取所述足式机器人在所述终止位置时,所述足式机器人配置的至少一个足与地面接触的接触点位置;基于所述至少一个足的接触点位置,确定所述目标质心位置。
- 根据权利要求19所述的方法,其中,所述第二状态数据还包括目标质心速度,所述方法还包括:获取所述足式机器人在所述初始位置的第一状态数据,所述第一状态数据至少包括初始质心位置;将所述目标质心位置与所述初始质心位置之间的距离,与所述目标移动时长之间的比值,确定为所述目标质心速度。
- 根据权利要求20所述的方法,其中,所述第二状态数据还包括目标质心加速度,所述第一状态数据还包括初始质心速度;所述方法还包括:将所述目标质心速度与所述初始质心速度之间的差值,与所述目标移动时长之间的比值,确定为所述目标加速度。
- 根据权利要求9所述的方法,其中,所述预测状态数据包括预测质心位置,所述基于目标移动时长及所述第一关系数据,确定所述足式机器人在所述终止位置的预测状态数据,包括:基于所述第一关系数据,确定所述足式机器人由初始位置经过所述目标移动时长后的预测质心位置。
- 根据权利要求9所述的方法,其中,所述预测状态数据包括预测质心速度,所述基于目标移动时长及所述第一关系数据,确定所述足式机器人在所述终止位置的预测状态数据,包括:基于所述第一关系数据,创建所述间隔时长t与所述足式机器人的质心速度之间的关系 数据;基于所述间隔时长t与所述足式机器人的质心速度之间的关系数据,确定所述足式机器人由所述初始位置经过所述目标移动时长后的预测质心速度。
- 根据权利要求9所述的方法,其中,所述预测状态数据包括预测质心加速度,所述基于目标移动时长及所述第一关系数据,确定所述足式机器人在所述终止位置的预测状态数据,包括:基于所述第一关系数据,创建所述间隔时长t与所述足式机器人的质心加速度之间的关系数据;基于所述间隔时长t与所述足式机器人的质心加速度之间的关系数据,确定所述足式机器人由所述初始位置经过所述目标移动时长后的预测质心加速度。
- 根据权利要求1-24任一项所述的方法,其中,所述获取取值已确定的所述第一常数C对应的所述第一关系数据之后,所述方法还包括:在所述足式机器人的移动过程中,基于所述第一关系数据,确定所述足式机器人在任一间隔时长t 0时的质心位置P(t 0);基于所述质心位置P(t 0)及终止位置,确定所述足式机器人的多个关节的关节扭矩;按照所述多个关节的关节扭矩,控制所述多个关节进行转动,带动所述足式机器人移动。
- 一种质心位置确定装置,其中,所述装置包括:创建模块,用于创建第一关系数据,所述第一关系数据指示间隔时长t与足式机器人的质心位置P(t)之间的关系,所述第一关系数据包括第一常数C;所述创建模块,还用于创建所述足式机器人配置的至少一个足对应的第二关系数据,所述至少一个足对应的第二关系数据分别指示所述至少一个足对应的作用力f i与质心位置P(t)之间的关系,所述第二关系数据包括所述第一常数C;所述创建模块,还用于基于所述至少一个足对应的第二关系数据,创建第三关系数据,并确定目标数值J为最小值时所述第一常数C的取值,所述第三关系数据指示所述目标数值J与所述至少一个足与地面接触而受到的作用力f i的平方之间的正相关关系;获取模块,用于获取取值已确定的所述第一常数C对应的所述第一关系数据。
- 一种足式机器人,其中,所述足式机器人包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至25任一权利要求所述的质心位置确定方法中所执行的操作。
- 一种控制设备,其中,所述控制设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至25任一权利要求所述的质心位置确定方法中所执行的操作。
- 一种计算机可读存储介质,其中,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至25任一权利要求所述的质心位置确定方法中所执行的操作。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022539318A JP7454677B2 (ja) | 2020-04-14 | 2021-04-13 | 質量中心位置決定方法、装置、足式ロボット及びコンピュータプログラム |
EP21787912.1A EP4043991A4 (en) | 2020-04-14 | 2021-04-13 | METHOD AND APPARATUS FOR DETERMINING A CENTER OF GRAVITY, LEGGED ROBOT AND STORAGE MEDIA |
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 (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010291278.4 | 2020-04-14 | ||
CN202010291278.4A CN111506094A (zh) | 2020-04-14 | 2020-04-14 | 质心位置确定方法、装置、足式机器人及存储介质 |
CN202011503026.X | 2020-12-17 | ||
CN202011503026.XA CN113534828B (zh) | 2020-04-14 | 2020-12-17 | 质心位置确定方法、装置、足式机器人及存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/743,296 Continuation US20220274254A1 (en) | 2020-04-14 | 2022-05-12 | Barycenter position determining method and apparatus, legged robot, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021208917A1 true WO2021208917A1 (zh) | 2021-10-21 |
Family
ID=78083951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/086937 WO2021208917A1 (zh) | 2020-04-14 | 2021-04-13 | 质心位置确定方法、装置、足式机器人及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220274254A1 (zh) |
EP (1) | EP4043991A4 (zh) |
JP (1) | JP7454677B2 (zh) |
WO (1) | WO2021208917A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467484B (zh) * | 2021-09-02 | 2021-12-31 | 深圳市优必选科技股份有限公司 | 双足机器人步态控制方法、装置和计算机设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5392125B2 (ja) * | 2010-02-05 | 2014-01-22 | トヨタ自動車株式会社 | 2脚歩行ロボット及びそのための歩容データ生成方法 |
CN105511465A (zh) * | 2015-12-02 | 2016-04-20 | 歌尔声学股份有限公司 | 一种双足机器人的步态控制方法和装置 |
CN106547206A (zh) * | 2016-06-29 | 2017-03-29 | 中南大学 | 一种基于脚力估计算法的多足机器人动态稳定性定量判定方法 |
CN108237532A (zh) * | 2016-12-23 | 2018-07-03 | 深圳光启合众科技有限公司 | 多足机器人的步态控制方法、装置和机器人 |
CN109703645A (zh) * | 2018-12-29 | 2019-05-03 | 深圳市优必选科技有限公司 | 机器人质心位置调整方法、装置、机器人和数据存储介质 |
CN110262510A (zh) * | 2019-07-11 | 2019-09-20 | 北京理工大学 | 一种降低行走能耗的仿人机器人质心轨迹规划方法 |
CN111506094A (zh) * | 2020-04-14 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 质心位置确定方法、装置、足式机器人及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6168158B2 (ja) * | 2013-12-10 | 2017-07-26 | トヨタ自動車株式会社 | 移動ロボットの移動制御方法、および、移動ロボット |
-
2021
- 2021-04-13 WO PCT/CN2021/086937 patent/WO2021208917A1/zh unknown
- 2021-04-13 EP EP21787912.1A patent/EP4043991A4/en active Pending
- 2021-04-13 JP JP2022539318A patent/JP7454677B2/ja active Active
-
2022
- 2022-05-12 US US17/743,296 patent/US20220274254A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5392125B2 (ja) * | 2010-02-05 | 2014-01-22 | トヨタ自動車株式会社 | 2脚歩行ロボット及びそのための歩容データ生成方法 |
CN105511465A (zh) * | 2015-12-02 | 2016-04-20 | 歌尔声学股份有限公司 | 一种双足机器人的步态控制方法和装置 |
CN106547206A (zh) * | 2016-06-29 | 2017-03-29 | 中南大学 | 一种基于脚力估计算法的多足机器人动态稳定性定量判定方法 |
CN108237532A (zh) * | 2016-12-23 | 2018-07-03 | 深圳光启合众科技有限公司 | 多足机器人的步态控制方法、装置和机器人 |
CN109703645A (zh) * | 2018-12-29 | 2019-05-03 | 深圳市优必选科技有限公司 | 机器人质心位置调整方法、装置、机器人和数据存储介质 |
CN110262510A (zh) * | 2019-07-11 | 2019-09-20 | 北京理工大学 | 一种降低行走能耗的仿人机器人质心轨迹规划方法 |
CN111506094A (zh) * | 2020-04-14 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 质心位置确定方法、装置、足式机器人及存储介质 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4043991A4 |
Also Published As
Publication number | Publication date |
---|---|
JP2023514021A (ja) | 2023-04-05 |
EP4043991A4 (en) | 2023-02-08 |
JP7454677B2 (ja) | 2024-03-22 |
US20220274254A1 (en) | 2022-09-01 |
EP4043991A1 (en) | 2022-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113534828B (zh) | 质心位置确定方法、装置、足式机器人及存储介质 | |
García Carrillo et al. | Combining stereo vision and inertial navigation system for a quad-rotor UAV | |
CN112114589B (zh) | 足式机器人运动控制方法、装置、设备及介质 | |
CN112783175B (zh) | 质心轨迹确定方法、装置、足式机器人、设备及介质 | |
US10093280B2 (en) | Method of controlling a cursor by measurements of the attitude of a pointer and pointer implementing said method | |
WO2022048472A1 (zh) | 足式机器人运动控制方法、装置、设备及介质 | |
Tomažič et al. | Fusion of visual odometry and inertial navigation system on a smartphone | |
CN114488848B (zh) | 面向室内建筑空间的无人机自主飞行系统及仿真实验平台 | |
WO2021208917A1 (zh) | 质心位置确定方法、装置、足式机器人及存储介质 | |
US9579796B2 (en) | Automatic task-specific model reduction for humanoid robots | |
CN114723807A (zh) | 质心轨迹确定方法、装置、足式机器人、设备及介质 | |
Sandru et al. | Automatic control of a quadcopter, ar. drone, using a smart glove | |
Hensel et al. | Monocular Depth Estimation for Autonomous UAV Navigation Based on Deep Learning | |
WO2024051408A1 (zh) | 移动轨迹确定方法、装置、计算机设备及存储介质 | |
CN114489092B (zh) | 足式机器人运动控制方法、装置、设备及介质 | |
Antoshchuk et al. | Autopilot model for returning an unmanned aerial vehicle to its starting point in case of electromagnetic noise | |
Friudenberg | Integration of potential field theory and proportional navigation theory to autonomously guide an unmanned aerial vehicle. | |
Pérez Rodríguez | Quadcopter stabilization based on IMU and Monocamera Fusion | |
Li et al. | A Multi-source Fused Location Estimation Method for UAV Based on Machine Vision and Strapdown Inertial Navigation | |
Brusén | Simultaneous Localization and Mapping of a small-scale vehicle using low-cost IMU, optical wheel encoders and LiDAR | |
Ahmad | High-Performance Testbed for Vision-Aided Autonomous Navigation for Quadrotor UAVs in Cluttered Environments | |
WO2020227899A1 (zh) | 移动设备及控制方法 | |
Mercado-Ravell | Autonomous navigation and teleoperation of unmanned aerial vehicles using monocular vision | |
Ahangar Arzati | Design and control of DermDrone; a micro-sized quadrotor for dermatology applications with RL-based optimization | |
Wang | Advanced Guidance and Navigation of Small UAVs under GPS-denied Environment with Experimental Validations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21787912 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021787912 Country of ref document: EP Effective date: 20220516 |
|
ENP | Entry into the national phase |
Ref document number: 2022539318 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |