Multi-legged robot state estimation method and related devices
Patent Information
- Application Number
- CN202210609440.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-31
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2042-05-31
AI Technical Summary
也就是说,动作捕捉手段本质上是一种调试手段;其需约束多足机器人在特定的实验室区域内运行,离开实验室环境,动作捕捉手段便无法工作
[0025]本申请实施例可在多足机器人在平面上执行空翻动作的过程中,根据当前时刻采集到的多足机器人的传感信息,计算多足机器人的各条机械腿在当前时刻的位置,并根据历史得到的多足机器人在当前时刻的状态估计结果,观测各条机械腿在当前时刻的位置,从而根据相应的位置计算结果和位置观测结果来实现对多足机器人在下一时刻的状态进行估计。并且,通过将空翻过程的多阶段划分运用到空翻状态估计中,可实现根据当前时刻所处的目标阶段对应的运动形态,确定位置计算结果和位置观测结果在状态估计时被信任的程度,从而使得在根据位置计算结果和位置观测结果估计多足机器人在下一时刻的状态时,可进一步参考这两个结果中的各结果被信任的程度,这样可提升状态估计的准确性。并且,本申请实施例可实现对任一环境中的多足机器人进行状态估计,其并不局限于实验室环境,因此可见本申请实施例还可提升状态估计的适用性。
Smart Images

Figure CN117008623B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, specifically to the field of robot planning and control technology, and in particular to a state estimation method and related equipment for a multi-legged robot. Background Technology
[0002] Currently, during somersaults in multi-legged robots (such as quadruped robots), motion capture is typically used to determine the robot's state (such as position and posture information) in real time. However, as is well known in the robotics field, motion capture requires a global camera in an environment outside the multi-legged robot. It is generally used during the debugging of actual multi-legged robots to obtain true-value perception data. In other words, motion capture is essentially a debugging method; it requires constraining the multi-legged robot to operate within a specific laboratory area. Outside of the laboratory environment, motion capture cannot function.
[0003] It is evident that motion capture methods can only be used in laboratory environments, and their main application is determining the current state of a multi-legged robot during a somersault. They cannot estimate the robot's state in the next moment. Therefore, estimating the state of a multi-legged robot in the next moment during a somersault has become a research hotspot. Summary of the Invention
[0004] This application provides a state estimation method and related equipment for a multi-legged robot, which can estimate the state of the multi-legged robot at the next moment and improve the accuracy and applicability of the state estimation.
[0005] On one hand, embodiments of this application provide a state estimation method for a multi-legged robot, wherein the multi-legged robot performs a somersault on a plane, and the somersault process is divided into multiple consecutive stages, each stage corresponding to a motion pattern of the multi-legged robot, and any motion pattern is used to indicate the contact status between each mechanical leg of the multi-legged robot and the plane in the corresponding stage; the method includes:
[0006] During the somersault of the multi-legged robot, the position of each mechanical leg of the multi-legged robot at the current moment is calculated based on the sensor information of the multi-legged robot collected at the current moment, and the position calculation result is obtained.
[0007] Based on the state estimation results of the multi-legged robot obtained from history at the current moment, the positions of each mechanical leg of the multi-legged robot at the current moment are observed to obtain the position observation results;
[0008] The target stage at the current moment is determined from the multiple stages, and the reference information required for state estimation is determined according to the motion pattern corresponding to the target stage; the reference information indicates the degree of confidence in the position calculation result and the position observation result respectively during state estimation.
[0009] Based on the reference information, the position calculation result, and the position observation result, the state of the multi-legged robot at the next moment is estimated, and the state estimation result of the multi-legged robot at the next moment is obtained.
[0010] On the other hand, embodiments of this application provide a state estimation device for a multi-legged robot. The multi-legged robot performs a somersault on a plane, and the somersault process is divided into multiple consecutive stages. Each stage corresponds to a motion pattern of the multi-legged robot, and any motion pattern is used to indicate the contact status between each mechanical leg of the multi-legged robot and the plane in the corresponding stage. The device includes:
[0011] The processing unit is used to calculate the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information of the multi-legged robot collected at the current moment during the somersault of the multi-legged robot, and obtain the position calculation result;
[0012] The processing unit is also used to observe the position of each mechanical leg of the multi-legged robot at the current moment based on the state estimation result of the multi-legged robot obtained in history at the current moment, and obtain the position observation result;
[0013] An estimation unit is used to determine the target stage at the current moment from the plurality of stages, and to determine the reference information required for state estimation based on the motion pattern corresponding to the target stage; the reference information indicates the degree of confidence in the position calculation result and the position observation result respectively during state estimation.
[0014] The estimation unit is further configured to estimate the state of the multi-legged robot at the next moment based on the reference information, the position calculation result, and the position observation result, so as to obtain the state estimation result of the multi-legged robot at the next moment.
[0015] In another aspect, embodiments of this application provide a computer device, the computer device including an input interface and an output interface, the computer device further including:
[0016] A processor, adapted to implement one or more instructions; and,
[0017] A computer storage medium stores one or more instructions adapted for loading and execution by the processor of the aforementioned state estimation method for a multi-legged robot. The state estimation method for the multi-legged robot involves the multi-legged robot performing a somersault on a plane, the somersault process being divided into multiple consecutive stages, each stage corresponding to a motion pattern of the multi-legged robot, and each motion pattern indicating the contact status between each mechanical leg of the multi-legged robot and the plane in the corresponding stage.
[0018] For example, the one or more instructions are adapted to be loaded by the processor and executed as follows:
[0019] During the somersault of the multi-legged robot, the position of each mechanical leg of the multi-legged robot at the current moment is calculated based on the sensor information of the multi-legged robot collected at the current moment, and the position calculation result is obtained.
[0020] Based on the state estimation results of the multi-legged robot obtained from history at the current moment, the positions of each mechanical leg of the multi-legged robot at the current moment are observed to obtain the position observation results;
[0021] The target stage at the current moment is determined from the multiple stages, and the reference information required for state estimation is determined according to the motion pattern corresponding to the target stage; the reference information indicates the degree of confidence in the position calculation result and the position observation result respectively during state estimation.
[0022] Based on the reference information, the position calculation result, and the position observation result, the state of the multi-legged robot at the next moment is estimated, and the state estimation result of the multi-legged robot at the next moment is obtained.
[0023] In another aspect, embodiments of this application provide a computer storage medium storing one or more instructions, which are adapted to be loaded by a processor and executed by the aforementioned state estimation method for multi-legged robots.
[0024] In another aspect, embodiments of this application provide a computer program product, which includes a computer program; when the computer program is executed by a processor, it implements the aforementioned state estimation method for multi-legged robots.
[0025] This application embodiment can calculate the position of each mechanical leg of a multi-legged robot at the current moment based on the sensor information collected at the current moment during a somersault on a plane. It also observes the current position of each mechanical leg based on historical state estimation results of the multi-legged robot at the current moment, thereby estimating the state of the multi-legged robot at the next moment based on the calculated and observed positions. Furthermore, by applying the multi-stage division of the somersault process to the somersault state estimation, the degree of trust in the calculated and observed position results can be determined based on the motion pattern corresponding to the current target stage. This allows for further reference to the degree of trust in each of these two results when estimating the state of the multi-legged robot at the next moment, thus improving the accuracy of the state estimation. Moreover, this application embodiment can perform state estimation for multi-legged robots in any environment, not limited to a laboratory environment, thus demonstrating that this application embodiment also improves the applicability of state estimation. Attached Figure Description
[0026] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0027] Figure 1a This is a schematic diagram illustrating the calculation principle of cubic spline difference provided in an embodiment of this application;
[0028] Figure 1b This is a schematic diagram of the somersault process of a quadruped robot provided in an embodiment of this application;
[0029] Figure 1c This is a schematic diagram illustrating the principle of a state estimation scheme for a multi-legged robot provided in an embodiment of this application;
[0030] Figure 1d This is a schematic diagram illustrating the principle of another state estimation scheme for a multi-legged robot provided in this application embodiment;
[0031] Figure 1e This is a schematic diagram of a virtual robot in a two-dimensional planar model obtained by simplifying a quadruped robot according to an embodiment of this application;
[0032] Figure 1f This is a schematic diagram illustrating the stage division of a somersault process provided in an embodiment of this application;
[0033] Figure 2This is a flowchart illustrating a state estimation method for a multi-legged robot provided in an embodiment of this application;
[0034] Figure 3 This is a flowchart illustrating a state estimation method for a multi-legged robot according to another embodiment of this application;
[0035] Figure 4a This is a schematic diagram illustrating the position of the center of mass of a quadruped robot in the x-direction of the world coordinate system during a somersault, as provided in an embodiment of this application.
[0036] Figure 4b This is a schematic diagram showing the position of the center of mass of a quadruped robot in the z-direction of the world coordinate system during a somersault, as provided in an embodiment of this application.
[0037] Figure 4c This is a schematic diagram of the pitch angle attitude of the center of mass of a quadruped robot in the world coordinate system during a somersault, provided by an embodiment of this application.
[0038] Figure 4d This is a schematic diagram illustrating the position of the center of mass of a quadruped robot in the x and z directions during a somersault, as provided in this application example.
[0039] Figure 4e This is a time marker diagram provided in an embodiment of this application;
[0040] Figure 4f This is a schematic diagram showing the foot positions of the four mechanical legs of a quadruped robot provided in an embodiment of this application;
[0041] Figure 4g This is a schematic diagram of the acceleration of the center of mass of a quadruped robot in the x-direction of the world coordinate system, according to an embodiment of this application.
[0042] Figure 4h This is a schematic diagram of the acceleration of the center of mass of a quadruped robot in the z-direction of the world coordinate system, according to an embodiment of this application.
[0043] Figure 4i This is a schematic diagram showing the force distribution on the four legs of a quadruped robot in the world coordinate system, according to an embodiment of this application.
[0044] Figure 5a This is a schematic diagram showing the position of the center of mass of a quadruped robot in the x-direction of the world coordinate system during a somersault, as provided in another embodiment of this application.
[0045] Figure 5bThis is another schematic diagram showing the position of the center of mass of a quadruped robot in the z-direction of the world coordinate system during a somersault, provided by an embodiment of this application.
[0046] Figure 5c This is a schematic diagram of the pitch angle attitude of the center of mass of a quadruped robot in the world coordinate system during a somersault, as provided in another embodiment of this application.
[0047] Figure 5d This is another schematic diagram provided in this application showing the position of the center of mass of a quadruped robot in the x and z directions during a somersault.
[0048] Figure 5e This is another time marker diagram provided in the embodiments of this application;
[0049] Figure 5f This is a schematic diagram showing the foot positions of the four mechanical legs of another quadruped robot provided in this application embodiment;
[0050] Figure 5g This is a schematic diagram of the acceleration of the center of mass of another quadruped robot in the x-direction of the world coordinate system provided in the embodiments of this application;
[0051] Figure 5h This is a schematic diagram of the acceleration of the center of mass of another quadruped robot in the z-direction of the world coordinate system provided in the embodiments of this application;
[0052] Figure 5i This is a schematic diagram showing the force distribution on the four legs of another quadruped robot provided in this application embodiment in the world coordinate system;
[0053] Figure 6 This is a schematic diagram of the structure of a state estimation device for a multi-legged robot provided in an embodiment of this application;
[0054] Figure 7 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0055] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0056] In this embodiment, a multi-legged robot refers to a robot that moves using multiple mechanical legs, such as a quadruped or hexapod robot. Here, a quadruped robot refers to a robot with four mechanical legs in addition to its body; a hexapod robot refers to a robot with six mechanical legs in addition to its body. Each mechanical leg of a multi-legged robot may include a thigh and a calf, and each mechanical leg may include at least one joint. Furthermore, each mechanical leg may be equipped with three motors, which can be used to control the angle between the leg plane and the body, the angle of the hip joint, and the angle of the knee joint, respectively. Therefore, the posture control of the entire quadruped robot can be achieved by controlling the three motors on each mechanical leg, totaling 12 motors; similarly, the posture control of the entire hexapod robot can be achieved by controlling the three motors on each mechanical leg, totaling 18 motors. It should be noted that various sensors can be configured on multi-legged robots, such as IMU (Inertial Measurement Unit) sensors and joint angle encoders. Among them, the IMU sensor can provide the acceleration and attitude information of the multi-legged robot in real time, and the joint angle encoder can provide the joint angle information of each joint of the multi-legged robot in real time (such as the joint angle angle, angular velocity feedback value, etc.).
[0057] Based on Artificial Intelligence (AI) technology, multi-legged robots can perform somersaults on planar surfaces (such as the ground, tabletops, or other horizontal planes) under reasonable planning. AI refers to the theories, methods, technologies, and application systems that use digital computers or computer-controlled machines to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce new intelligent machines (such as robots) that can react in a way similar to human intelligence. Accordingly, AI technology is a comprehensive discipline involving a wide range of fields, including both hardware and software technologies. At the hardware level, it generally includes technologies such as sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. At the software level, it mainly includes computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0058] Specifically, the completion of a somersault involves establishing a robot dynamics model, planning posture and trajectory based on the robot dynamics model, and motion control based on the planned trajectory. The planning and control processes can be implemented using cubic spline interpolation based on the keyframes involved in the multi-legged robot's posture trajectory. Cubic spline interpolation involves dividing the known data into several segments, constructing a cubic function for each segment, and ensuring that the transitions between these segmented functions have the properties of 0th-order continuity, first-order derivative continuity, and second-order derivative continuity (i.e., smooth transitions). For example, suppose the known data includes (p... a v a , t a ), (p b , t b ) and (p c v c , t c The data consists of three parts: p (position), v (velocity), and t (time). Taking the known data as an example, divided into two segments, the principle of calculating the cubic spline difference can be found in [link to relevant documentation]. Figure 1a As shown: First, two cubic functions, f1(t) and f2(t), can be constructed. Then, a system of equations can be established based on these two cubic functions and known data. The coefficients of the cubic polynomial (a0, a1, a2, a3, b0, b1, b2, b3) can be solved through this system of equations. After solving for the coefficients of the cubic polynomial, the position and corresponding velocity of the multi-legged robot at any given time can be determined using these two cubic functions, thereby realizing the control of the multi-legged robot.
[0059] It should be noted that the embodiments of this application do not limit the somersault action performed by the multi-legged robot or the process of completing the somersault action. For example, the somersault action performed by the multi-legged robot can be a forward somersault (i.e., the body flips forward) or a backward somersault (i.e., the body flips backward), etc. Furthermore, the embodiments of this application do not limit the relative height between the take-off point and the landing point of the multi-legged robot. For example, when performing a somersault action, the multi-legged robot can jump from flat ground and land on flat ground, or jump from a high platform and land on flat ground, or jump from flat ground and land on a high platform, etc. Taking a quadrupedal robot as an example, and taking a quadrupedal robot completing a somersault action under reasonable planning, the corresponding somersault process can be exemplarily described in [reference needed]. Figure 1b As shown. (Through) Figure 1bIt can be seen that the four mechanical legs of a quadruped robot can be divided into two front mechanical legs (the mechanical legs closer to the robot's head) and two rear mechanical legs (the mechanical legs farther from the robot's head); and when the quadruped robot performs a backflip on a plane, the two front mechanical legs leave the plane before the two rear mechanical legs. Since the front flip and backflip are opposite movements, it is understandable that if the quadruped robot performs a front flip, the two rear mechanical legs leave the plane before the two front mechanical legs.
[0060] To estimate the state of a multi-legged robot from the current moment to the next moment, and to improve the accuracy and applicability of the state estimation, this application proposes a state estimation scheme for multi-legged robots. The "current moment" refers to the latest system moment reached during the robot's somersault. Specifically, this state estimation scheme can be executed by a computer device, which can be a terminal or a server; alternatively, it can be executed jointly by a terminal and a server, without limitation. The terminal can be a smartphone, computer (such as a tablet, laptop, or desktop computer), smart wearable device (such as a smartwatch or smart glasses), smart voice interaction device, smart home appliance (such as a smart TV), vehicle terminal, or aircraft, etc.; the server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms, etc. Furthermore, the terminal and server can be located inside or outside the blockchain network, without limitation; even further, the terminal and server can upload any data stored internally to the blockchain network for storage to prevent the internally stored data from being tampered with and to improve data security.
[0061] In its specific implementation, the general principle of the state estimation scheme proposed in this application is as follows: First, the IMU sensor in the multi-legged robot can be invoked to collect the robot's acceleration information at the current moment (which may include the robot's acceleration in multiple directions (such as vertical and horizontal directions)) and current posture information. A joint angle encoder is then invoked to determine the joint angle information of each joint of the multi-legged robot at the current moment (such as joint angle angles, angular velocity feedback values, etc.). Second, the current posture information and joint angle information (such as joint angle angles and angular velocity feedback values) can be integrated into the leg odometry to calculate the position calculation result (which can be represented by y). This position calculation result may include the calculated position of each mechanical leg of the multi-legged robot at the current moment. Additionally, the acceleration information can be input to the state space observer, so that the state space observer can output the position observation result (which can be represented by y) based on the acceleration information and the historically obtained state estimation result of the multi-legged robot at the current moment. m (represented by) the position observation results, which may include: the observed positions of each mechanical leg of the multi-legged robot at the current moment; wherein, the state estimation result of the multi-legged robot at the current moment may be obtained by estimating the state of the multi-legged robot at the current moment when the previous moment was reached, and it may be stored in the vector \hatx k-1 (can be represented as) In other data structures, this is not limited. Then, based on the position calculation results and position observation results, the state of the multi-legged robot at the next moment can be estimated. Specifically, the position calculation results and position observation results can be used as inputs to an Extended Kalman Filter (EKF) unit to perform state estimation, thereby obtaining the state estimation result of the multi-legged robot at the next moment, such as... Figure 1c As shown. The so-called Extended Kalman Filter (EKF) is an extension of the Standard Kalman Filter (Kalman Filter for short) in the nonlinear case. It linearizes the nonlinear function by performing a Taylor expansion, omitting higher-order terms and retaining only the first-order terms of the expansion. Optionally, the position calculation results and position observation results can be used as inputs to the Kalman filter unit or the state estimation model obtained based on machine learning. This allows for state estimation through the Kalman filter unit or the state estimation model, yielding the state estimation result of the multi-legged robot at the next time step. The state estimation result of the multi-legged robot at the next time step can be used simultaneously for the control of the multi-legged robot and as input to the state space observer during the next state estimation; that is, the estimation result obtained through state estimation can be used for the feedback control of the multi-legged robot, thus forming a closed loop.
[0062] Furthermore, practical experience shows that during the somersault of a multi-legged robot, the contact between its various mechanical legs and the plane (such as the ground or a tabletop) changes, allowing the robot to exhibit multiple motion patterns during the somersault. These patterns include all mechanical legs remaining on the plane, all mechanical legs leaving the plane, and some mechanical legs leaving the plane. When all mechanical legs are on the plane, the position calculation results output by the leg odometry are relatively accurate and have high reference value for state estimation. However, when the mechanical legs are off the plane and suspended in the air, the accuracy of the position calculation results output by the leg odometry decreases, and their reference value for state estimation is lower. In this case, state estimation relies more heavily on the position observation results output by the state space observer. Therefore, it is evident that the reference value of the position calculation results output by the leg odometry and the position observation results output by the state space observer changes under different motion patterns of the multi-legged robot. Based on this, to improve the accuracy of state estimation, the embodiments of this application can further divide the somersaulting process of the multi-legged robot into multiple consecutive stages. Each stage corresponds to a motion pattern of the multi-legged robot, and any motion pattern is used to indicate the contact status between each mechanical leg of the multi-legged robot and the plane in the corresponding stage. This allows, after obtaining the position calculation results and position observation results, reference information needed for state estimation of the next moment can be determined based on the motion pattern corresponding to the target stage at the current moment. This reference information can be used to indicate the degree of confidence in the position calculation results and position observation results during state estimation. Then, based on the reference information, position calculation results, and position observation results, the state of the multi-legged robot at the next moment is estimated, such as... Figure 1d As shown.
[0063] In this embodiment, the level of trust corresponding to any result (such as a location calculation result, a location observation result, etc.) can be used to indicate the importance of that result. The importance indicates the degree to which the computer device relies on that result when performing state estimation to obtain a state estimation result. Furthermore, importance and level of trust can be positively correlated; that is, the higher the level of trust corresponding to any result, the higher the importance of that result, thus indicating that the computer device relies more on that result when performing state estimation to obtain a state estimation result. For example, if the level of trust for a location calculation result is higher than the level of trust for a location observation result, it indicates that the location calculation result is more important than the location observation result. Therefore, it can indicate that when performing state estimation based on both the location calculation result and the location observation result, the computer device is more inclined to rely on the location calculation result to achieve state estimation compared to the location observation result, thereby obtaining a state estimation result.
[0064] The process of a multi-legged robot's somersault is divided into stages to obtain multiple consecutive stages, as follows:
[0065] Taking a quadruped robot as an example, assume that at the start of the somersault, all the quadruped robot's mechanical legs are standing on the plane, and during the somersault, the two front mechanical legs on the left and right sides have the same contact with the plane, as do the two rear mechanical legs on the left and right sides. For ease of description, we will use "reference legs" to represent the two mechanical legs that leave the plane first during the somersault, and "reference legs" to represent the two mechanical legs that leave the plane last during the somersault. For example, if the somersault performed by the quadruped robot is a backflip, then based on the aforementioned... Figure 1b As shown in the somersault process, the two front robotic legs leave the plane before the two rear robotic legs. In this case, the reference leg can be used to represent the two front robotic legs of the quadruped robot, and the reference leg can be used to represent the two rear robotic legs. If the somersault performed by the quadruped robot is a forward somersault, considering that the two rear robotic legs leave the plane before the two front robotic legs, the reference leg can be used to represent the two rear robotic legs, and the reference leg can be used to represent the two front robotic legs. Based on this, the multiple stages obtained by dividing the somersault process into stages can include a first stage, a second stage, a third stage, and a fourth stage. Wherein:
[0066] The first stage begins at the start of the somersault and ends at the moment the reference leg leaves the plane. In other words, the first stage begins at the start of the somersault, with both the reference leg and the reference leg simultaneously contacting the plane. The entire process includes the reference leg using the reference leg as a position point, and the reference leg exerting force to push off the ground. The multi-legged robot experiences a reaction force from the plane, causing the reference leg to leave the plane in the following stage, leaving only the reference leg in contact with the plane. Therefore, the first stage ends the instant the reference leg leaves the plane.
[0067] The second phase begins at the first moment and ends at the second moment when both the reference leg and the standard leg leave the plane. In other words, the second phase begins the instant the reference leg leaves the plane and includes the process of the multi-legged robot rotating around the contact point between the reference leg and the plane, until the instant the reference leg and the standard leg leave the plane simultaneously.
[0068] The third phase begins at the second moment and ends at the third moment when at least one of the reference leg and the reference leg lands on the plane. That is, the third phase begins the instant the reference leg and the reference leg simultaneously leave the plane, and the entire process includes the multi-legged robot rotating its center of mass approximately 360 degrees in the air until the instant at least one of the reference leg and the reference leg re-contacts the plane. It should be understood that the multi-legged robot may land on the plane in an inclined position, in which case the reference leg may land first; or, the multi-legged robot may land on the plane in a position parallel to the plane, in which case the reference leg and the reference leg land simultaneously.
[0069] The fourth stage begins at the third moment and ends at the fourth moment when both the reference leg and the reference leg have landed on the plane and are in a stable state. In other words, the fourth stage begins the instant at least one of the reference leg or the reference leg lands on the plane, and the entire process includes the period from when both the reference leg and the reference leg are on the plane and have stabilized until the instant when both the reference leg and the reference leg reach a stable state on the plane. It should be noted that a leg being in a stable state means that the leg no longer wobbles, or the torque or feedback current value of the corresponding joint motor no longer changes, or the change in the torque or feedback current value of the joint motor is less than an amplitude threshold, etc.
[0070] It should be noted that, in this embodiment, the somersault process of the multi-legged robot can be divided into multiple stages as mentioned above, based on the contact between each mechanical leg of the multi-legged robot and the plane during the somersault. In this case, the aforementioned reference legs refer to the two mechanical legs of the quadruped robot that leave the plane first during the somersault, and the reference legs refer to the two mechanical legs of the quadruped robot that leave the plane last during the somersault. Furthermore, for ease of description, since the quadruped robot in this process can be approximated as moving within a two-dimensional plane (the plane formed by the x-axis (horizontal axis) and the z-axis (vertical axis)) in terms of planning, control, and state estimation, if the asymmetry of the quadruped robot's own mass and the control errors of the motors are not considered, the quadruped robot can be simplified as a virtual robot in a two-dimensional planar model for control and state estimation. See [link to relevant documentation]. Figure 1e As shown, the virtual robot may include one virtual front leg and one virtual hind leg. The virtual front leg is obtained by equivalent processing of the two front mechanical legs of the quadruped robot; specifically, it can be obtained by overlapping the left and right front mechanical legs of the quadruped robot. Similarly, the virtual hind leg is obtained by equivalent processing of the two rear mechanical legs of the quadruped robot; specifically, it can be obtained by overlapping the left and right rear mechanical legs of the quadruped robot.
[0071] If the quadruped robot is simplified to a virtual robot in a two-dimensional planar model, then the embodiments of this application can divide the somersault process of the multi-legged robot into the aforementioned multiple stages based on the contact between each leg of the virtual robot and the plane during the somersault. In this case, the aforementioned reference leg refers to the leg obtained by equivalent processing of the two mechanical legs of the quadruped robot that leave the plane first during the somersault, and the reference leg refers to the leg obtained by equivalent processing of the two mechanical legs of the quadruped robot that leave the plane last during the somersault. Specifically, when the somersault action performed by the quadruped robot is a back somersault, the reference leg is the virtual front leg; when the somersault action performed by the quadruped robot is a front somersault, the reference leg is the virtual rear leg. For example, taking the plane as the ground and the somersault action as a back somersault, it is similar to the above. Figure 1b The process shown, with its multiple stages divided into phases, can be found in the diagram. Figure 1f As shown. By Figure 1f Therefore, under these circumstances, the definitions of each stage in the first, second, third, and fourth stages mentioned above can be further defined as follows:
[0072] Phase 1: The virtual robot's virtual front legs and virtual hind legs simultaneously contact the ground. The entire process includes the virtual robot using its virtual hind legs as a positioning point, pushing off the ground with its virtual front legs, and the reaction force from the ground causing the virtual robot to lift off the ground in the next phase, leaving only the virtual hind legs in contact. This phase ends the moment the virtual front legs leave the ground. In Phase 1, the virtual robot in the 2D planar model has two contact points with the ground.
[0073] The second stage begins the instant the virtual robot's virtual front legs leave the ground. The entire process includes the virtual robot rotating around the contact point between its virtual hind legs and the ground, until both its virtual front and hind legs simultaneously leave the ground. In this second stage, the virtual robot in the two-dimensional model has only one contact point with the ground.
[0074] The third stage begins when the virtual robot's virtual front and hind legs simultaneously leave the ground, including the process of the virtual robot's center of mass rotating approximately 360 degrees in the air, until one or more of the virtual robot's legs touch the ground. In this third stage, the number of contact points between the virtual robot and the ground in the two-dimensional planar model is zero.
[0075] Phase Four: This phase begins when one or more legs of the virtual robot touch the ground, encompassing the process of the virtual robot's virtual front legs and virtual hind legs simultaneously landing on the ground and stabilizing. In Phase Four, after both the virtual front legs and virtual hind legs have landed, the virtual robot in the two-dimensional planar model has two contact points with the ground.
[0076] As described above, the state estimation scheme proposed in this application can achieve state estimation of a multi-legged robot (such as a quadruped robot) during a somersault using extended Kalman filtering or other methods. This estimation utilizes IMU sensors and joint angle information of each joint to predict the robot's center of mass and attitude information in real time. Furthermore, by applying the multi-stage division of the somersault process to state estimation, the degree of trust in the position calculation and observation results can be determined based on the motion pattern corresponding to the current target stage. This allows for further reference to the degree of trust in each result when estimating the robot's state in the next moment, improving the accuracy of state estimation and laying the foundation for compliant landing control, aerial attitude control, and post-landing position and attitude localization. In addition, this state estimation scheme can perform state estimation for multi-legged robots in any environment, not limited to a laboratory setting, thus demonstrating its high applicability.
[0077] Based on the above description of the state estimation scheme, this application proposes a state estimation method for a multi-legged robot. This state estimation method can be executed by the aforementioned computer device (terminal or server), or by both the terminal and server; for ease of explanation, the following description will use the execution of the state estimation method by a computer device as an example. Furthermore, in this application embodiment, the multi-legged robot performs a somersault on a plane, and the somersault process is divided into multiple consecutive stages. Each stage corresponds to a motion pattern of the multi-legged robot, and any motion pattern is used to indicate the contact status between each mechanical leg of the multi-legged robot and the plane in the corresponding stage. Please refer to... Figure 2 The state estimation method may include the following steps S201-S205:
[0078] S201, During the somersault of the multi-legged robot, the position of each mechanical leg of the multi-legged robot at the current moment is calculated based on the sensor information of the multi-legged robot collected at the current moment, and the position calculation result is obtained.
[0079] The sensor information refers to the information collected by the sensors in the multi-legged robot. As mentioned above, the sensors in the multi-legged robot may include IMU sensors and joint angle encoders. The IMU sensors can be used to collect the posture information and acceleration of the multi-legged robot in real time, and the joint angle encoders can provide the joint angle information (such as joint angle, angular velocity feedback value, etc.) of each joint on each mechanical leg of the multi-legged robot in real time. Based on this, the sensing information mentioned in step S201 may include: the current posture information of the multi-legged robot collected by the IMU sensors, and the joint angle information of each joint of the multi-legged robot collected by the joint angle encoders.
[0080] In practical implementation, the computer device can input the sensor information of the multi-legged robot collected at the current moment into the leg odometer, so that the leg odometer can calculate the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information, and obtain the position calculation result. The position calculation result may include at least two directional position vectors in the world coordinate system, with different directional position vectors corresponding to different coordinate axis directions; one directional position vector is used to indicate the position of each mechanical leg of the multi-legged robot in the corresponding coordinate axis direction. When the multi-legged robot is approximately moving within a two-dimensional plane (the plane formed by the x-axis (horizontal axis) and the z-axis (vertical axis)), the at least two directional position vectors may include: a directional position vector corresponding to the horizontal axis direction (using p... sx (represented), and the direction position vector corresponding to the vertical axis (using p) sz (Representation). Optionally, considering that the multi-legged robot actually moves in three-dimensional space, at least two directional position vectors may also include: a directional position vector corresponding to the vertical axis (y-axis) (using p... sy (This indicates that) no limitation is made. It is understandable that: p sx Used to indicate the position of each mechanical leg in the x-axis direction, p sz Used to indicate the position of each mechanical leg in the z-axis direction, p sy Used to indicate the position of each mechanical leg in the y-axis direction; and when the multi-legged robot is a quadruped robot, one mechanical leg corresponds to one dimension, then p sx p sz and p sy All dimensions are 4-dimensional.
[0081] The leg odometry calculation of the directional position vector corresponding to the horizontal axis includes the following methods: First, a rotation matrix (which can be represented by R1) can be calculated based on the current posture information. The rotation matrix is a matrix that maps any vector to the robot's base coordinate system by changing its direction. Specifically, the base posture angle of the multi-legged robot can be determined based on the current posture information, and the rotation matrix can be calculated based on this angle. Additionally, a reference position vector (which can be represented by p) can be calculated based on the joint angle information of each joint. rel (Represented by...) This reference position vector indicates the relative position between the base centroid of the multi-legged robot and the tips of each mechanical leg. Next, a rotation matrix can be used to map the reference position vector onto the robot's base coordinate system to obtain the target position vector; specifically, the rotation matrix can be multiplied by the reference position vector to obtain the target position vector, using p... f Let p represent the target position vector. f =R1p rel Additionally, the three-dimensional position vector of the multi-legged robot's base centroid in the world coordinate system (denoted as p0) can be obtained. Then, the components of the target position vector along the horizontal axis (denoted as p) can be analyzed. f The component of the three-dimensional position vector along the horizontal axis (denoted by p0(x)) is fused to obtain the direction position vector corresponding to the horizontal axis (denoted by p0(x)). sx (represented); the fusion process here may include summation, i.e., p sx =p0(x)+p f (x).
[0082] It should be noted that the method for calculating the directional position vectors corresponding to other coordinate axes (such as the vertical axis) is similar to the method for calculating the directional position vector corresponding to the horizontal axis, and will not be repeated here. Furthermore, in addition to including at least two directional position vectors in the world coordinate system, the position calculation result may also include the foot position vector in the robot's base coordinate system (using p...). s (represented), and the foot velocity vector in the robot's base coordinate system (using v) s Other vectors, such as the foot position vector, are used to indicate the three-dimensional position of the foot tip of each mechanical leg of the multi-legged robot in the robot's base coordinate system. The leg odometry calculates the foot position vector by: [the method of calculating the foot position vector is missing from the original text]. f The inverse operation is performed to obtain the foot position vector. The foot velocity vector is used to indicate the three-dimensional velocity of each mechanical leg of the multi-legged robot in the robot's base coordinate system; the leg odometry calculates the foot velocity vector in ways that may include: taking the target position vector (p fThe derivative is then taken, and the result is inverted to obtain the foot velocity vector. It should be understood that when the multi-legged robot is a quadruped robot, p... s and v s All dimensions are 12-dimensional.
[0083] Based on the above description, when the position calculation result includes both the foot position vector in the robot's base coordinate system (using p) s (represented by v) The foot velocity vector in the robot's base coordinate system (using v) s (represented by p) the direction position vector corresponding to the horizontal axis direction (using p) sx (represented), and the direction position vector corresponding to the vertical axis (using p) sz When the position is calculated (y) by the leg odometer, the method for obtaining the position calculation result (y) can be seen in the following formula 1.1:
[0084]
[0085] In Formula 1.1 above, the subscript B represents the definition in the robot base coordinate system, and the subscript W represents the definition in the world coordinate system; furthermore, (z) and (x) represent the components of the preceding vector on the z-axis and x-axis, respectively. Based on the above description, it can be seen that the embodiments of this application can not only... s v s and p sz You can add p to the location calculation results. sx And the corresponding terms, which helps to improve the accuracy of state estimation in the x-axis direction.
[0086] It should be understood that, due to the fact that each piece of information in the location calculation result (such as p) s v s p sx p sz (etc.) all include the sub-vectors corresponding to each mechanical leg of the multi-legged robot, for example: p s This includes the sub-foot position vector corresponding to each robotic leg. Each sub-foot position vector indicates the three-dimensional position of the corresponding robotic leg's foot in the robot's base coordinate system; v s This includes the sub-foot end velocity vector corresponding to each robotic leg. Each sub-foot end velocity vector indicates the three-dimensional velocity of the corresponding robotic leg's foot end in the robot's base coordinate system; p sx This includes the x-direction position vector corresponding to each robotic leg; any x-direction position vector is used to indicate the position of the corresponding robotic leg in the x-axis direction; p szThis includes the z-direction position vector corresponding to each robotic leg. Each z-direction position vector indicates the position of the corresponding robotic leg in the z-axis direction. Therefore, if the position calculation result is divided according to the dimensions of the robotic legs, it can be considered that the position calculation result includes the sub-position calculation result of each robotic leg. The sub-position calculation result of any robotic leg can include: the sub-vector corresponding to any robotic leg in each piece of information in the position calculation result.
[0087] S202, based on the state estimation results of the multi-legged robot obtained from history at the current moment, observe the position of each mechanical leg of the multi-legged robot at the current moment to obtain the position observation results.
[0088] It should be understood that during the somersault of a multi-legged robot, state estimation is an iterative process; that is, each time a moment arrives, the computer device can acquire the corresponding information to estimate the state of the multi-legged robot at the next moment, thus obtaining the corresponding state estimation result. Based on this, the state estimation result of the multi-legged robot at the current moment is obtained from the estimation of the multi-legged robot's state at the previous moment when the computer device arrived. Furthermore, the state estimation result of the multi-legged robot at the current moment can be used as the state vector in the state-space observer; specifically, using... Let the state vector be represented. The definition of the state vector can be found in Equation 1.2 below:
[0089]
[0090] In Formula 1.2 above, p0 and v0 represent the three-dimensional position vector and three-dimensional velocity vector of the base centroid of the multi-legged robot in the world coordinate system, respectively; p1, p2, p3, and p4 represent the position vectors of the four mechanical legs of the multi-legged robot in the world coordinate system, respectively. It should be understood that this is an example of a quadruped robot, and the state vector is represented by an example, so the state vector includes the four vectors p1, p2, p3, and p4; if the multi-legged robot is a robot with other numbers of legs, the number of position vectors in the state vector can be adjusted adaptively.
[0091] In the specific implementation of step S202, the computer device can acquire the acceleration information of the multi-legged robot at the current moment, and input the acceleration information and the state estimation result of the multi-legged robot at the current moment into the state space observer, so that the state space observer can observe the position of each mechanical leg of the multi-legged robot at the current moment based on the acceleration information and the state estimation result of the multi-legged robot at the current moment, and obtain the position observation result. Specifically, the state space observer can first use an internal mathematical expression (as shown in Formula 1.3 below) to observe the state of the multi-legged robot at the current moment based on the acceleration information and the state estimation result of the multi-legged robot at the current moment, and obtain the state observation result (using...). (represented); then, using the following formula 1.4, the position of each mechanical leg of the multi-legged robot at the current moment is observed based on the state observation results, and the position observation result (y) is obtained. m ).
[0092]
[0093]
[0094] In formulas 1.3-1.4 above, g represents gravitational acceleration, a represents acceleration information, and the three matrices A, B, and C can be represented as follows:
[0095]
[0096]
[0097]
[0098] Where dt represents the time of one control cycle, I is the identity matrix, and 0 represents the zero matrix. The subscripts of I and 0 indicate the dimensions of the identity matrix and the zero matrix, respectively. C1 and C2 correspond to the state observation results (using... The corresponding state (i.e., the vector in the corresponding dimension) in the representation is chosen to become the output y. m The selection matrix. G1 and G2 are used to convert the state observation results (using...) The components of vectors p1, p2, p3, and p4 in the x-axis and z-axis directions are selected to form y. m .
[0099] S203, determine the target stage at the current moment from multiple stages.
[0100] In one specific implementation, since the multi-legged robot performs somersaults according to a motion trajectory planning sequence, this motion trajectory planning sequence plans the contact situation between each mechanical leg and the plane at each moment during the somersault, so that each stage involved in the somersault process corresponds to a corresponding time period; therefore, when the computer device executes step S203, it can match the current moment with the time periods corresponding to each stage, and determine the stage corresponding to the time period containing the current moment as the target stage.
[0101] In another specific implementation, considering that the actual movement trajectory of a multi-legged robot performing a somersault may differ from the planned movement trajectory, determining the target stage at the current moment based on the planned movement trajectory sequence might lead to inaccurate determination. Therefore, this application further proposes a technical means to determine the target stage at the current moment based on feedback of the actual state changes of the multi-legged robot. Specifically, when executing step S203, the computer device can obtain the current state feedback information of the multi-legged robot at the current moment, which is generated by feeding back the state of the multi-legged robot at the current moment; and determine the target stage at the current moment from multiple stages based on the current state feedback information.
[0102] S204. Determine the reference information required for state estimation based on the motion pattern corresponding to the target stage.
[0103] The reference information can be used to indicate the degree of confidence in the position calculation results and position observation results during state estimation. This reference information can be parameters in the Extended Kalman Filter (EKF), parameters in the Kalman Filter itself, or parameters in the state estimation model, etc., without limitation; for ease of explanation, the following explanation will primarily focus on the reference information being parameters in the EKF. Specifically, the reference information may include a first parameter and a second parameter; the first parameter indicates the degree of confidence in the position calculation results, and the second parameter indicates the degree of confidence in the position observation results. Further, as mentioned above, the position calculation results may include the sub-position calculation results of each robotic leg; therefore, the first parameter may include at least multiple target vectors, with different target vectors corresponding to different robotic legs, and any target vector is used to indicate the degree of confidence in the sub-position calculation results of the corresponding robotic leg. Similar to the position calculation results, the position observation results may include the sub-position observation results of each robotic leg; therefore, the second parameter may also include at least multiple reference vectors, with different reference vectors corresponding to different robotic legs, and any reference vector is used to indicate the degree of confidence in the sub-position observation results of the corresponding robotic leg.
[0104] Practice has proven that the p value in the position calculation results output by the leg odometer is...s and v s In other words, when the legs of the multi-legged robot do not leave the plane (i.e., do not leave the ground), the calculated p s and v s The accuracy is relatively high, but when the legs are off the plane (e.g., off the ground) and suspended in the air, the calculated p... s and v s The accuracy of the extended Kalman filter is relatively low, and it has little reference value for state estimation. Therefore, the parameter matrix of the extended Kalman filter should be reasonably selected to achieve the following: when the legs of the multi-legged robot do not leave the plane, increase the confidence level of ps and vs, that is, increase the confidence level of the position calculation results; when the legs of the multi-legged robot leave the plane, decrease the confidence level of ps and vs, that is, decrease the confidence level of the position calculation results, and rely more on the position observation results output by the state space observer. Furthermore, the sub-position calculation results of each mechanical leg in the position calculation results can be treated differently according to the contact between each mechanical leg and the plane. For example, taking the quadruped robot performing a backflip as an example, since in the second stage of a series of stages, both front mechanical legs of the quadruped robot have left the plane (e.g., front legs off the ground), while both rear mechanical legs have not left the plane (e.g., rear legs not off the ground), then the confidence level of the sub-position calculation results of the two rear mechanical legs can be increased, and the confidence level of the sub-position calculation results of the two front mechanical legs can be decreased.
[0105] Based on this, taking a quadruped robot as an example, the specific implementation of step S204 by the computer device can be as follows: If the motion pattern corresponding to the target stage is that all the mechanical legs of the quadruped robot are off the plane, then according to the principle that the degree of confidence in the position calculation result is less than the degree of confidence in the position observation result, the first parameter and the second parameter are selected to obtain the reference information required for state estimation. If the motion pattern corresponding to the target stage is that some of the mechanical legs of the quadruped robot are off the plane, then according to the principle that the degree of confidence in the first sub-position calculation result is less than the degree of confidence in the second sub-position calculation result, the first parameter and the second parameter are selected to obtain the reference information required for state estimation. The first sub-position calculation result includes: the sub-position calculation result corresponding to the mechanical leg that is off the plane; the second sub-position calculation result includes: the sub-position calculation result corresponding to the mechanical leg that is not off the plane. Therefore, this embodiment of the application can adjust the state estimation algorithm based on whether the quadruped robot is in contact with the plane, the number of contact points with the plane, and which part of the quadruped robot the plane specifically contacts, thereby improving the accuracy of state estimation.
[0106] S205. Based on the reference information, position calculation results, and position observation results, the state of the multi-legged robot at the current moment is estimated for the next moment, and the state estimation result of the multi-legged robot at the next moment is obtained.
[0107] In practical implementation, if the reference information consists of parameters in the extended Kalman filter, the computer device, when executing step S205, can perform extended Kalman filtering based on the reference information, position calculation results, and position observation results to obtain the state estimation result of the multi-legged robot at the next moment. The extended Kalman filtering process may include the following formulas 1.5-1.10:
[0108] ye = y - ym (Equation 1.5)
[0109] P m =APA T +Q formula 1.6
[0110] S = CP m C T +R Formula 1.7
[0111] K k =P m C T S -1 Formula 1.8
[0112]
[0113]
[0114] In formulas 1.5-1.10 above, ye represents the calculated position result y and the observed position result y. m The difference between them, A and C, can be found in the relevant descriptions in formulas 1.3-1.4 above. T and C T Let A and C represent the transpose matrices of A and C, respectively. Q and R are parameter matrices in the extended Kalman filter, corresponding to the degree of trust in different information sources; where Q represents the second parameter in the aforementioned reference information, and R represents the first parameter in the aforementioned reference information. That is, R indicates the degree of trust in the calculated position result y, and Q indicates the degree of trust in the observed position result y. m The degree of trust. P is a preset matrix parameter, P m S, K k as well as Both represent intermediate parameters obtained during the extended Kalman filtering process, S -1 Describe the inverse matrix of S. This represents the state estimation result of the multi-legged robot at the next time step. Furthermore, after obtaining the state estimation result of the multi-legged robot at the next time step, P can be updated to facilitate the next extended Kalman filter processing; the update formula for P is shown in equations 1.11-1.12 below:
[0115]
[0116]
[0117] In formulas 1.11-1.12 above, This represents the intermediate parameters obtained during the update process of P. express The transpose of .
[0118] It should be noted that the above is merely an illustrative description of the specific implementation of step S205 and is not exhaustive. For example, if the reference information is a parameter in a Kalman filter, the computer device, when executing step S205, can perform Kalman filtering based on the reference information, position calculation results, and position observation results to obtain the state estimation result of the multi-legged robot at the next moment. As another example, if the reference information is a parameter in a state estimation model, the state estimation model can be invoked to estimate the state of the multi-legged robot at the next moment based on the reference information, position calculation results, and position observation results, thus obtaining the state estimation result of the multi-legged robot at the next moment, and so on.
[0119] This application embodiment can calculate the position of each mechanical leg of a multi-legged robot at the current moment based on the sensor information collected at the current moment during a somersault on a plane. It also observes the current position of each mechanical leg based on historical state estimation results of the multi-legged robot at the current moment, thereby estimating the state of the multi-legged robot at the next moment based on the calculated and observed positions. Furthermore, by applying the multi-stage division of the somersault process to the somersault state estimation, the degree of trust in the calculated and observed position results can be determined based on the motion pattern corresponding to the current target stage. This allows for further reference to the degree of trust in each of these two results when estimating the state of the multi-legged robot at the next moment, thus improving the accuracy of the state estimation. Moreover, this application embodiment can perform state estimation for multi-legged robots in any environment, not limited to a laboratory environment, thus demonstrating that this application embodiment also improves the applicability of state estimation.
[0120] Based on the above Figure 2The embodiments of the methods shown in the illustrations are described in detail in this application. Figure 3 The state estimation method shown is illustrated; in this embodiment, the state estimation method is still described using a computer device as an example. See also Figure 3 As shown, the state estimation method includes the following steps S301-S306:
[0121] S301, during the somersault of the multi-legged robot, the position of each mechanical leg of the multi-legged robot at the current moment is calculated based on the sensor information of the multi-legged robot collected at the current moment, and the position calculation result is obtained.
[0122] S302, based on the historical state estimation results of the multi-legged robot at the current moment, observe the position of each mechanical leg of the multi-legged robot at the current moment to obtain the position observation results.
[0123] S303, Obtain the current state feedback information of the multi-legged robot at the current moment. This current state feedback information is generated by feeding back the state of the multi-legged robot at the current moment.
[0124] S304, Based on the current status feedback information, determine the target stage at the current moment from multiple stages.
[0125] In one specific implementation of step S304, the computer device can detect the contact status between the reference leg and the plane at the current moment, and the contact status between the reference leg and the plane at the current moment, based on the current state feedback information, and obtain the detection result; based on the detection result, the target stage at the current moment is determined from multiple stages. Specifically, if the detection result indicates that the reference leg is not in contact with the plane at the current moment, but the reference leg is in contact with the plane at the current moment, then the target stage at the current moment can be determined as the second stage; if the detection result indicates that neither the reference leg nor the reference leg is in contact with the plane at the current moment, then the target stage at the current moment can be determined as the third stage; if the detection result indicates that both the reference leg and the reference leg are in contact with the plane at the current moment, then the target stage at the current moment may be the first stage or the fourth stage. In this case, the target stage at the current moment can be further determined by combining the stage at the previous moment. If the stage at the previous moment was the first stage, then the target stage is the first stage; if the stage at the previous moment was the third or fourth stage, then the target stage is the fourth stage.
[0126] The following describes several implementation methods for detecting the contact status between the reference leg and the plane at the current moment, based on the current state feedback information:
[0127] Implementation Method 1: Generally, when the legs of a multi-legged robot are suspended in the air without contacting a plane (e.g., not touching the ground), the load on the legs is only their mass. Since the mass of the legs is negligible relative to the overall mass of the multi-legged robot, the load is small, and the feedback current values and joint motor torques of each joint are relatively small. However, when the legs of the multi-legged robot contact a plane (e.g., touching the ground), the load on the multi-legged robot becomes its entire mass plus the equivalent inertial force of downward movement due to its own inertia. Therefore, the load is large, and the feedback current values and joint motor torques of each joint are relatively large. Based on this, when a sudden increase in the joint motor torque or feedback current value is detected, it is considered that the multi-legged robot is landing from the air onto a plane (e.g., the ground). When a sudden decrease in the joint motor torque or feedback current value is detected, it is considered that the multi-legged robot is moving from the plane (e.g., the ground) into the air. This allows for a rough determination of the moment when the robot's foot leaves the plane, thus indicating whether the corresponding leg is in contact with the plane at that moment.
[0128] Based on this, the current state feedback information obtained by the computer device may include: the current state feedback value of the reference leg and the current state feedback value of the reference leg, whereby each state feedback value includes the joint motor torque or feedback current value corresponding to the leg. Specifically, for either the reference leg or the reference leg, the method for detecting the contact status between that leg and the plane at the current moment based on the current state feedback information includes: obtaining the historical state feedback value of that leg at the previous moment, and determining the current state feedback value of that leg from the current state feedback information, thereby determining whether there is a sudden change in the current state feedback value of that leg based on the historical state feedback value. In this embodiment, a sudden change in the current state feedback value means that the difference between the current state feedback value and the historical state feedback value is greater than a preset difference; based on this, the computer device can calculate the difference between the historical state feedback value and the current state feedback value of that leg; if the calculated difference is greater than the preset difference, it is determined that there is a sudden change in the current state feedback value; if the calculated difference is not greater than the preset difference, it is determined that there is no sudden change in the current state feedback value. For example, suppose the historical state feedback value is 20 and the preset difference is 50. If the current state feedback value is 100, then since 100 minus 20 equals 80, and 80 is greater than 50, it can be considered that the current state feedback value has a sudden change. If the current state feedback value is 30, then since 30 minus 20 equals 10, and 10 is less than 50, it can be considered that the current state feedback value has no sudden change.
[0129] If, based on historical state feedback values, the current state feedback value of any item shows a sudden change, and the current state feedback value of any item is greater than the historical state feedback value, then it is determined that any item is in contact with the plane at the current moment. If, based on historical state feedback values, the current state feedback value of any item shows a sudden change, and the current state feedback value of any item is less than the historical state feedback value, then it is determined that any item is not in contact with the plane at the current moment. If, based on historical state feedback values, the current state feedback value of any item does not show a sudden change, then the contact status between any item and the plane at the previous moment is determined; if any item was in contact with the plane at the previous moment, then it is determined that any item is in contact with the plane at the current moment; if any item was not in contact with the plane at the previous moment, then it is determined that any item is not in contact with the plane at the current moment.
[0130] Implementation Method 2: Based on the multi-legged robot's center of mass height and posture detected by an external vision or motion capture system, as well as the joint angle information of the multi-legged robot, the moment when the multi-legged robot's foot contacts the plane can be calculated, thereby determining whether the corresponding leg is in contact with the plane at the current moment. Based on this, the current state feedback information obtained by the computer device may include: the multi-legged robot's center of mass height, center of mass posture, the current joint angle information corresponding to the reference leg, and the current joint angle information corresponding to the reference leg. Specifically, for either the reference leg or the reference leg, the method for detecting the contact status between that leg and the plane at the current moment based on the current state feedback information includes: calculating the height of that leg from the plane based on the center of mass height, center of mass posture, and the current joint angle information corresponding to that leg; if the calculated height is less than or equal to a height threshold (e.g., a value of 0 or 0.5), it is determined that that leg is in contact with the plane at the current moment; if the calculated height is greater than the height threshold, it is determined that that leg is not in contact with the plane at the current moment.
[0131] Implementation Method 3: Whether a leg is in contact with a plane at a given moment can be determined using a plantar tactile sensor. Based on this, the current state feedback information obtained by the computer device can include: the current plantar tactile feedback value corresponding to the reference leg and the current plantar tactile feedback value corresponding to the standard leg. The plantar tactile feedback value is generated by the plantar tactile sensor of the corresponding leg. Furthermore, when any plantar tactile sensor detects that the corresponding leg is in contact with the plane, it generates a first value as the plantar tactile feedback value; when it detects that the corresponding leg is not in contact with the plane, it generates a second value as the plantar tactile feedback value. The first and second values can be set according to actual needs, for example, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1, etc. Specifically, for either the reference leg or the standard leg, the method for detecting the contact status between that leg and the plane at the current moment based on the current state feedback information includes: obtaining the current plantar tactile feedback value corresponding to that leg from the current state feedback information; if the obtained current plantar tactile feedback value is a first value, then it is determined that that leg is in contact with the plane at the current moment; if the obtained current plantar tactile feedback value is a second value, then it is determined that that leg is not in contact with the plane at the current moment.
[0132] It should be understood that the above is merely an exemplary illustration of one specific implementation of step S304, and is not exhaustive. For example, practice has shown that when the multi-legged robot stands stably on a plane, the acceleration in the z-direction collected by the IMU sensor is one times the gravitational acceleration g; when the multi-legged robot is in a state of complete weightlessness in the air, the acceleration in the z-direction collected by the IMU sensor is close to 0; during the process of the multi-legged robot forcefully stepping on the plane with its feet to prepare for takeoff, and during the process of cushioning its fall onto the plane, the acceleration in the z-direction collected by the IMU sensor is greater than one times the gravitational acceleration g. Therefore, it can be seen that in any two adjacent stages of multiple phases, the acceleration of the multi-legged robot in the vertical direction changes abruptly at the moment of transition from the previous stage to the next. Based on this, the embodiments of this application also propose another specific implementation of step S304.
[0133] In another specific implementation of step S304, the current state feedback information obtained by the computer device may include: the current acceleration of the multi-legged robot in the vertical direction; then the computer device can obtain the historical acceleration of the multi-legged robot in the vertical direction at the previous moment; if it is determined that the current acceleration has a sudden change based on the historical acceleration, then the next stage adjacent to the reference stage among multiple stages is determined as the target stage at the current moment; if it is determined that the current acceleration has not a sudden change based on the historical acceleration, then the reference stage is determined as the target stage at the current moment. In this embodiment, a sudden change in the current acceleration means that the difference between the current acceleration and the historical acceleration is greater than a difference threshold; based on this, the computer device can calculate the difference between the historical acceleration and the current acceleration; if the calculated difference is greater than the difference threshold, it is determined that the current acceleration has a sudden change; if the calculated difference is not greater than the difference threshold, it is determined that the current acceleration has not a sudden change. For example, suppose the historical acceleration is 2 and the difference threshold is 5; if the current acceleration is 9, then since 9 minus 2 equals 7, and 7 is greater than 5, it can be considered that the current acceleration has changed abruptly; if the current acceleration is 4, then since 4 minus 2 equals 2, and 2 is less than 5, it can be considered that the current acceleration has not changed abruptly.
[0134] Optionally, since the somersault process of the multi-legged robot is continuous, for any two adjacent moments, these two moments are either in the same stage or in two consecutive stages. Therefore, the computer device can first determine the stage of the previous moment as a reference stage and determine whether the reference stage is the last stage among multiple stages. If the reference stage is the last stage among multiple stages, it indicates that the current moment must be in the last stage, and in this case, the last stage can be directly determined as the target stage of the current moment. If the reference stage is a stage other than the last stage among multiple stages, step S303 can be triggered so that the target stage of the current moment can be determined according to the current state feedback information in step S304. Through this processing method, the target stage of the current moment can be quickly determined when it is known that the previous moment was in the last stage, which improves processing efficiency and saves processing resources.
[0135] In this case, step S304 can also be implemented in the following specific ways:
[0136] If the current state feedback information includes the current state feedback value of the reference leg and the current state feedback value of the reference leg, then since the state feedback value of either the reference leg or the reference leg may change abruptly when the contact situation between them and the plane changes, another specific implementation of step S304 may also include: determining, from the reference leg and the reference leg, the target leg whose contact situation with the plane needs to change when the end time of the reference stage arrives; obtaining the historical state feedback value of the target leg at the previous moment, and judging whether the current state feedback value of the target leg has changed abruptly based on the historical state feedback value; if yes, then determining the next stage adjacent to the reference stage among the multiple stages as the target stage at the current moment; if no, then determining the reference stage as the target stage at the current moment.
[0137] If the current state feedback information includes: the centroid height, centroid posture, current joint angle information of the reference leg, and current joint angle information of the reference leg, then another specific implementation of step S304 may include: calculating the first height of the reference leg from the plane based on the centroid height, centroid posture, and current joint angle information of the reference leg; calculating the second height of the reference leg from the plane based on the centroid height, centroid posture, and current joint angle information of the reference leg; and determining the target stage at the current moment from multiple stages based on the first and second heights. Specifically, if both the first and second heights are equal to zero, then the first stage among multiple stages is determined as the target stage at the current moment; if the first height is greater than zero and the second height is equal to zero, then the second stage among multiple stages is determined as the target stage at the current moment; if both the first and second heights are greater than zero, then the third stage among multiple stages is determined as the target stage at the current moment; if the first height is equal to zero and the second height is greater than zero, then the fourth stage among multiple stages can be determined as the target stage at the current moment.
[0138] If the current state feedback information includes: the current plantar tactile feedback value corresponding to the reference leg and the current plantar tactile feedback value corresponding to the reference leg, then another specific implementation of step S304 may further include: if it is determined from the current state feedback information that both the reference leg and the reference leg are in contact with the plane, then the first stage among the multiple stages is determined as the target stage at the current moment; if it is determined from the current state feedback information that the reference leg is not in contact with the plane and the reference leg is in contact with the plane, then the second stage among the multiple stages is determined as the target stage at the current moment; if it is determined from the current state feedback information that neither the reference leg nor the reference leg is in contact with the plane, then the third stage among the multiple stages is determined as the target stage at the current moment; if it is determined from the current state feedback information that the reference leg is in contact with the plane and the reference leg is not in contact with the plane, then the fourth stage among the multiple stages is determined as the target stage at the current moment.
[0139] S305: Based on the motion pattern corresponding to the target stage, determine the reference information required for state estimation. The reference information is the parameters in the extended Kalman filter.
[0140] S306. Based on the reference information, position calculation results, and position observation results, extended Kalman filtering is performed to obtain the state estimation result of the multi-legged robot at the next moment.
[0141] This application embodiment can calculate the position of each mechanical leg of a multi-legged robot at the current moment based on the sensor information collected at the current moment during a somersault on a plane. It also observes the current position of each mechanical leg based on historical state estimation results of the multi-legged robot at the current moment, thereby estimating the state of the multi-legged robot at the next moment based on the calculated and observed positions. Furthermore, by applying the multi-stage division of the somersault process to the somersault state estimation, the degree of trust in the calculated and observed position results can be determined based on the motion pattern corresponding to the current target stage. This allows for further reference to the degree of trust in each of these two results when estimating the state of the multi-legged robot at the next moment, thus improving the accuracy of the state estimation. Moreover, this application embodiment can perform state estimation for multi-legged robots in any environment, not limited to a laboratory environment, thus demonstrating that this application embodiment also improves the applicability of state estimation.
[0142] In order to illustrate the above Figure 2 or Figure 3 The effect of the state estimation method shown above, in the embodiments of this application, will be explained by the above. Figure 2 or Figure 3 The state estimation method shown was applied to a single somersault of a quadruped robot, thus obtaining... Figures 4a-4c The state estimation results are shown. Wherein:
[0143] (1) Figure 4a This represents the position of the quadruped robot's center of mass in the x-direction of the world coordinate system during its somersault. Figure 4aThe dashed line 11 represents the state estimate obtained by using a technique that combines feedback based on the actual state changes of the quadruped robot to divide each moment into stages, thus estimating the position of the quadruped robot's center of mass in the x-direction of the world coordinate system. The dotted dashed line 12 represents the state estimate obtained by using a technique that divides each moment into stages based on the planned foot-to-ground contact situation in the quadruped robot's motion trajectory planning sequence, thus estimating the position of the quadruped robot's center of mass in the x-direction of the world coordinate system. The solid line 13 represents the data result obtained by real-time capture of the position of the quadruped robot's center of mass in the x-direction of the world coordinate system using a motion capture system during the quadruped robot's somersault (i.e., the true value of the position of the center of mass in the x-direction of the world coordinate system). Figure 4a The results show that, in the x-direction of the world coordinate system, the state estimate obtained by the dashed line 11 under reasonable stage division is very close to the true value collected by the motion capture system.
[0144] (2) Figure 4b This represents the position of the quadruped robot's center of mass along the z-axis in the world coordinate system during its somersault. Figure 4b The dashed line 14 represents the state estimate obtained by using a technique that combines feedback based on the actual state changes of the quadruped robot to divide each moment into stages, thus estimating the position of the quadruped robot's center of mass in the z-direction of the world coordinate system. The dotted dashed line 15 represents the state estimate obtained by using a technique that divides each moment into stages based on the planned foot-to-ground contact situation in the quadruped robot's motion trajectory planning sequence, thus estimating the position of the quadruped robot's center of mass in the z-direction of the world coordinate system. The solid line 16 represents the data result obtained by real-time capture of the position of the quadruped robot's center of mass in the z-direction of the world coordinate system using a motion capture system during the quadruped robot's somersault (i.e., the true value of the position of the center of mass in the z-direction of the world coordinate system). Figure 4b The results show that, in the z-direction of the world coordinate system, the state estimate obtained by the dashed line 14 under reasonable stage division is very close to the true value collected by the motion capture system.
[0145] (3) Figure 4c This represents the pitch (or tilt angle) of the quadruped robot's center of mass in the world coordinate system during a somersault. Figure 4cThe dashed line 17 represents the state estimate obtained by combining feedback based on the actual state changes of the quadruped robot during its somersault to determine the stage at each moment, thus estimating the pitch posture of the quadruped robot's center of mass in the world coordinate system. The solid line 18 represents the data result obtained by real-time capture of the quadruped robot's pitch posture in the world coordinate system using a motion capture system during its somersault (i.e., the true value of the pitch posture of the center of mass in the world coordinate system). Figure 4c The results show that, in the pitch rotation direction of the world coordinate system, the state estimate obtained by the dashed line 17 under reasonable stage division is very close to the true value collected by the motion capture system.
[0146] Furthermore, based on the above Figures 4a-4c By extracting the positions of the quadruped robot's center of mass in the x and z directions and constructing an x-z diagram, we can obtain... Figure 4d The diagram shown (the horizontal axis represents the position in the x-direction, and the vertical axis represents the position in the z-direction); where, Figure 4d The dashed lines represent the state estimation results, and the solid lines represent the data results collected by the motion capture system. Through analysis of... Figure 4d Analysis of the data shows that, at the landing moment, compared to the data collected by the motion capture system, the state estimation result has an error of 2.5cm in the x-direction and -11.5cm in the z-direction. This accuracy is relatively low in multi-stage, highly dynamic scenarios with strong interaction with the environment (such as somersaults).
[0147] Based on the above Figures 4a-4c As described in the relevant description, compared to the technique of dividing each stage based on the motion trajectory planning sequence, the technique of dividing each stage based on the feedback of the actual state changes of the quadruped robot makes the stage division more reasonable. For example, in this embodiment, the stage division times obtained from the feedback of the actual state changes of the quadruped robot are marked to obtain... Figure 4e The time marker diagram shown is as follows. From left to right, the first vertical line marks the boundary between the first and second stages, the second between the second and third stages, and the third between the third and fourth stages. It should be understood that these corresponding time divisions are also represented by lines in other accompanying figures, such as those mentioned above. Figures 4a-4c middle.
[0148] Furthermore, from the aforementioned Figure 2 or Figure 3As can be seen from the description of the state estimation method, during the state estimation process, information such as the quadruped robot's center of mass position, center of mass orientation, acceleration, and forces acting on its feet will also change. Figures 4f-4i As shown. Among them, Figure 4f This indicates the foot positions of the four mechanical legs of the quadruped robot, calculated based on the center of mass position obtained from the motion capture system and the joint angle information measured by the joint encoder. It serves as a reference for judging the quadruped robot's airborne and landing states and the corresponding stage divisions. Figure 4g It is the acceleration of the quadruped robot's center of mass in the x-direction of the world coordinate system, used as a reference to determine the quadruped robot's airborne and landing states and the corresponding stage divisions. Figure 4h It is the acceleration of the quadruped robot's center of mass in the z-direction of the world coordinate system, used as a reference to determine the quadruped robot's airborne and landing states and the corresponding stage divisions. Figure 4i It is the force situation of the four legs of the quadruped robot in the world coordinate system. This force situation can be calculated by the Jacobian matrix obtained based on the current feedback value of each joint angle and the posture of each joint of the quadruped robot. It is used as a reference to judge the airborne and landing state of the quadruped robot and the corresponding stage division.
[0149] It should be noted that in practical applications, IMU signal fusion inevitably takes time and cannot be instantaneous. Furthermore, system software architecture and communication transmission also introduce latency. This embodiment, in order to illustrate the accuracy of the state estimation method itself, assumes that the above-mentioned... Figures 4a-4i In this process, the error caused by IMU delay is eliminated. Furthermore, considering the deviation between the initial angle of the motion capture system and the IMU—because the motion capture system uses the posture at power-on calibration as the attitude origin, while the IMU obtains the absolute posture of the quadruped robot relative to the Earth by fusing signals such as gravity direction and geomagnetism—the subsequent results of this application's embodiments address this situation by eliminating this static error. Since absolute posture information affects the rotation matrix, thereby affecting the accuracy of the position calculation results involved in state estimation, eliminating static error can improve the consistency between the state estimation results and the state results captured by the motion capture system.
[0150] Furthermore, actual test results show that in the experimental system, the IMU data is 10ms slower than the data acquired by the motion capture system, meaning the IMU data has a latency of 10ms. Based on this, the embodiments of this application also provide relevant figures obtained without removing the IMU latency, such as… Figures 5a-5i As shown. It should be understood that, Figures 5a-5i The data type and curve labeling method for each graph in the above are the same as those described above. Figures 4a-4iThe consistency is the same, so I will not repeat it here; and through the analysis of... Figure 5d Analysis of the data shows that, at the landing time, compared to the data collected by the motion capture system, the state estimation result has an error of 10.6 cm in the x-direction and an error of -11.9 cm in the z-direction.
[0151] Based on the description of the above embodiments of the state estimation method for multi-legged robots, this application also discloses a state estimation device for multi-legged robots; the state estimation device may be a computer program (including program code) running on a computer device, and the state estimation device can execute... Figure 2 or Figure 3 The method flow shown illustrates the various steps. The multi-legged robot performs a somersault on a plane, and the somersault process is divided into multiple consecutive stages. Each stage corresponds to a specific motion pattern of the multi-legged robot, and each motion pattern indicates the contact status between the robot's mechanical legs and the plane during the corresponding stage. Please refer to [link to relevant documentation]. Figure 6 The state estimation device can operate the following units:
[0152] The processing unit 601 is used to calculate the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information of the multi-legged robot collected at the current moment during the somersault of the multi-legged robot, and obtain the position calculation result;
[0153] The processing unit 601 is further configured to observe the position of each mechanical leg of the multi-legged robot at the current moment based on the state estimation result of the multi-legged robot obtained in history at the current moment, and obtain the position observation result;
[0154] The estimation unit 602 is used to determine the target stage at the current moment from the plurality of stages, and to determine the reference information required for state estimation based on the motion pattern corresponding to the target stage; the reference information indicates the degree of confidence in the position calculation result and the position observation result respectively during state estimation.
[0155] The estimation unit 602 is further configured to estimate the state of the multi-legged robot at the next moment based on the reference information, the position calculation result, and the position observation result, so as to obtain the state estimation result of the multi-legged robot at the next moment.
[0156] In one embodiment, when the processing unit 601 calculates the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information of the multi-legged robot collected at the current moment, and obtains the position calculation result, it may specifically be used for:
[0157] The sensor information of the multi-legged robot collected at the current moment is input into the leg odometer, so that the leg odometer can calculate the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information, and obtain the position calculation result;
[0158] The position calculation results include: at least two directional position vectors in the world coordinate system, with different directional position vectors corresponding to different coordinate axis directions; and one directional position vector used to indicate the position of each mechanical leg in the corresponding coordinate axis direction.
[0159] In another embodiment, the at least two directional position vectors include: a directional position vector corresponding to the horizontal axis direction; each mechanical leg of the multi-legged robot includes at least one joint; the sensing information includes: the current posture information of the multi-legged robot and the joint angle information of each joint of the multi-legged robot;
[0160] The leg odometer calculates the directional position vector corresponding to the horizontal axis direction in the following ways:
[0161] The rotation matrix is calculated based on the current posture information, and a reference position vector is calculated based on the joint angle information of each joint. The reference position vector is used to indicate the relative position between the base center of mass of the multi-legged robot and the foot tip of each mechanical leg.
[0162] The reference position vector is mapped to the robot's base coordinate system using the rotation matrix to obtain the target position vector; and the three-dimensional position vector of the multi-legged robot's base centroid in the world coordinate system is obtained.
[0163] The components of the target position vector in the horizontal axis direction and the components of the three-dimensional position vector in the horizontal axis direction are fused to obtain the directional position vector corresponding to the horizontal axis direction.
[0164] In another embodiment, the multi-legged robot is a quadruped robot, and at the moment the somersault begins, all the mechanical legs of the quadruped robot are standing on the plane; wherein, the multiple stages include a first stage, a second stage, a third stage, and a fourth stage;
[0165] The first stage begins at the start of the somersault and ends at the first moment when the reference leg leaves the plane; the reference leg is used to represent the two mechanical legs of the quadruped robot that leave the plane first during the somersault.
[0166] The second stage begins at the first moment and ends at the second moment when both the reference leg and the reference leg leave the plane; the reference leg is used to represent the two mechanical legs of the quadruped robot that leave the plane after the somersault.
[0167] The start time of the third stage is the second time, and the end time is the third time when at least one of the reference leg and the reference leg falls onto the plane;
[0168] The fourth stage begins at the third moment and ends at the fourth moment when both the reference leg and the standard leg have landed on the plane and are in a stable state.
[0169] In another implementation, the estimation unit 602, when determining the target stage at the current moment from the plurality of stages, may specifically be used to:
[0170] Obtain the current state feedback information of the multi-legged robot at the current moment, wherein the current state feedback information is generated by feeding back the state of the multi-legged robot at the current moment;
[0171] Based on the current status feedback information, the target stage at the current moment is determined from the multiple stages.
[0172] In another embodiment, when the estimation unit 602 determines the target stage at the current moment from the plurality of stages based on the current state feedback information, it may specifically be used to:
[0173] Based on the current state feedback information, the contact status between the reference leg and the plane at the current moment, and the contact status between the reference leg and the plane at the current moment are detected to obtain the detection result;
[0174] Based on the detection results, the target stage at the current moment is determined from the multiple stages.
[0175] In another embodiment, the current state feedback information includes: the current state feedback value of the reference leg and the current state feedback value of the reference leg, wherein each state feedback value includes the joint motor torque or feedback current value corresponding to the leg.
[0176] Specifically, for either the reference leg or the standard leg, when the estimation unit 602 is used to detect the contact status between the reference leg and the plane at the current moment based on the current state feedback information, it may be used to:
[0177] Obtain the historical state feedback value of any one of the items at the previous time at the current time, and determine the current state feedback value of any one of the items from the current state feedback information;
[0178] If, based on the historical state feedback value, it is determined that the current state feedback value of any one of the items has a sudden change, and the current state feedback value of any one of the items is greater than the historical state feedback value, then it is determined that any one of the items is in contact with the plane at the current moment.
[0179] If, based on the historical state feedback value, it is determined that the current state feedback value of any one of the items has a sudden change, and the current state feedback value of any one of the items is less than the historical state feedback value, then it is determined that any one of the items is not in contact with the plane at the current moment.
[0180] In another embodiment, the estimation unit 602 can also be used for:
[0181] If it is determined from the historical state feedback value that there is no sudden change in the current state feedback value of any item, then the contact status between any item and the plane at the previous moment is determined.
[0182] If any of the items was in contact with the plane at the previous time, then it is determined that any of the items is in contact with the plane at the current time.
[0183] If any of the items was not in contact with the plane at the previous moment, then it is determined that any of the items is not in contact with the plane at the current moment.
[0184] In another embodiment, the current state feedback information includes: the center of mass height and center of mass posture of the multi-legged robot, the current joint angle information corresponding to the reference leg, and the current joint angle information corresponding to the reference leg;
[0185] Specifically, for either the reference leg or the standard leg, when the estimation unit 602 is used to detect the contact status between the reference leg and the plane at the current moment based on the current state feedback information, it may be used to:
[0186] Based on the centroid height, the centroid posture, and the current joint angle information corresponding to any one of them, calculate the height of any one of them from the plane;
[0187] If the calculated height is less than or equal to the height threshold, then it is determined that any one of the items is in contact with the plane at the current moment;
[0188] If the calculated height is greater than the height threshold, then it is determined that none of the items is in contact with the plane at the current moment.
[0189] In another embodiment, the current state feedback information includes: the current plantar tactile feedback value corresponding to the reference leg and the current plantar tactile feedback value corresponding to the reference leg. The plantar tactile feedback value is generated by the plantar tactile sensor of the corresponding leg. When any plantar tactile sensor detects that the corresponding leg is in contact with the plane, it generates a first value as the plantar tactile feedback value. When it detects that the corresponding leg is not in contact with the plane, it generates a second value as the plantar tactile feedback value.
[0190] Specifically, for either the reference leg or the standard leg, when the estimation unit 602 is used to detect the contact status between the reference leg and the plane at the current moment based on the current state feedback information, it may be used to:
[0191] Obtain the current foot tactile feedback value corresponding to any one of the current status feedback information;
[0192] If the current tactile feedback value of the foot is the first value, then it is determined that any one of the items is in contact with the plane at the current moment;
[0193] If the current tactile feedback value of the foot is the second value, then it is determined that none of the items is in contact with the plane at the current moment.
[0194] In another embodiment, the current state feedback information includes: the current acceleration of the multi-legged robot in the vertical direction; wherein, in any two adjacent stages of the plurality of stages, at the moment of transition from the previous stage to the next stage, the acceleration of the multi-legged robot in the vertical direction undergoes a sudden change.
[0195] Accordingly, when the estimation unit 602 determines the target stage at the current moment from the plurality of stages based on the current state feedback information, it may specifically be used to:
[0196] Obtain the historical acceleration of the multi-legged robot in the vertical direction at the previous time point at the current time.
[0197] If the current acceleration is determined to have a sudden change based on the historical acceleration, then the next stage adjacent to the reference stage among the multiple stages is determined as the target stage at the current moment.
[0198] If the current acceleration does not change abruptly based on the historical acceleration, then the reference stage is determined as the target stage at the current moment.
[0199] In another embodiment, the reference information includes a first parameter and a second parameter; the first parameter indicates the degree of confidence in the location calculation result, and the second parameter indicates the degree of confidence in the location observation result;
[0200] The position calculation result includes the sub-position calculation result of each mechanical leg. The first parameter includes at least a plurality of target vectors, and different target vectors correspond to different mechanical legs. Any target vector is used to indicate the degree of trust in the sub-position calculation result of the corresponding mechanical leg.
[0201] Accordingly, when the estimation unit 602 is used to determine the reference information required for state estimation based on the motion pattern corresponding to the target stage, it can be specifically used for:
[0202] If the motion pattern corresponding to the target stage is the pattern in which all the mechanical legs of the quadruped robot leave the plane, then according to the principle that the degree of confidence in the position calculation result is less than the degree of confidence in the position observation result, the first parameter and the second parameter are selected to obtain the reference information required for state estimation.
[0203] If the motion pattern corresponding to the target stage is the pattern in which some of the mechanical legs of the quadruped robot leave the plane, then according to the principle that the degree of confidence in the calculation result of the first sub-position is less than the degree of confidence in the calculation result of the second sub-position, the first parameter and the second parameter are selected to obtain the reference information required for state estimation.
[0204] The first sub-position calculation result includes: the sub-position calculation result corresponding to the mechanical leg that has left the plane; the second sub-position calculation result includes: the sub-position calculation result corresponding to the mechanical leg that has not left the plane.
[0205] In another implementation, the reference information is the parameters in the extended Kalman filter; correspondingly, when the estimation unit 602 estimates the state of the multi-legged robot at the next moment based on the reference information, the position calculation result, and the position observation result, and obtains the state estimation result of the multi-legged robot at the next moment, it can be specifically used for:
[0206] Based on the reference information, the position calculation result, and the position observation result, an extended Kalman filter is performed to obtain the state estimation result of the multi-legged robot at the next moment.
[0207] According to another embodiment of this application, Figure 6The units in the illustrated state estimation device can be individually or entirely merged into one or more other units, or some of the units can be further divided into multiple functionally smaller units. This achieves the same operation without affecting the technical effects of the embodiments of this application. The above units are based on logical function division. In practical applications, the function of one unit can be implemented by multiple units, or the function of multiple units can be implemented by one unit. In other embodiments of this application, the state estimation device may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented collaboratively by multiple units.
[0208] According to another embodiment of this application, the following can be achieved by running on a general-purpose computing device, such as a computer, which includes processing elements and storage elements such as a central processing unit (CPU), random access memory (RAM), and read-only memory (ROM), a device capable of performing operations such as... Figure 2 or Figure 3 The computer program (including program code) for each step involved in the corresponding method shown, to construct such... Figure 6 The state estimation apparatus shown herein, and the state estimation method for implementing the embodiments of this application, are described. The computer program may be recorded on, for example, a computer-readable recording medium, loaded onto the aforementioned computing device via the same medium, and run therein.
[0209] This application embodiment can calculate the position of each mechanical leg of a multi-legged robot at the current moment based on the sensor information collected at the current moment during a somersault on a plane. It also observes the current position of each mechanical leg based on historical state estimation results of the multi-legged robot at the current moment, thereby estimating the state of the multi-legged robot at the next moment based on the calculated and observed positions. Furthermore, by applying the multi-stage division of the somersault process to the somersault state estimation, the degree of trust in the calculated and observed position results can be determined based on the motion pattern corresponding to the current target stage. This allows for further reference to the degree of trust in each of these two results when estimating the state of the multi-legged robot at the next moment, thus improving the accuracy of the state estimation. Moreover, this application embodiment can perform state estimation for multi-legged robots in any environment, not limited to a laboratory environment, thus demonstrating that this application embodiment also improves the applicability of state estimation.
[0210] Based on the description of the above method and apparatus embodiments, this application also provides a computer device. Please refer to... Figure 7The computer device includes at least a processor 701, an input interface 702, an output interface 703, and a computer storage medium 704. The processor 701, input interface 702, output interface 703, and computer storage medium 704 within the computer device can be connected via a bus or other means. The computer storage medium 704 can be stored in the computer device's memory. The computer storage medium 704 is used to store computer programs, which include program instructions. The processor 701 is used to execute the program instructions stored in the computer storage medium 704. The processor 701 (or CPU (Central Processing Unit)) is the computing and control core of the computer device, suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions to achieve a corresponding method flow or function.
[0211] In one embodiment, the processor 701 described in this application can be used to perform a series of state estimations on a multi-legged robot, specifically including: during the somersault of the multi-legged robot, calculating the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information of the multi-legged robot collected at the current moment, and obtaining a position calculation result; observing the position of each mechanical leg of the multi-legged robot at the current moment based on the historical state estimation result of the multi-legged robot at the current moment, and obtaining a position observation result; determining the target stage at the current moment from the multiple stages, and determining the reference information required for state estimation based on the motion pattern corresponding to the target stage; the reference information indicating the degree of confidence in the position calculation result and the position observation result respectively during state estimation; estimating the state of the multi-legged robot at the next moment based on the reference information, the position calculation result, and the position observation result, and obtaining the state estimation result of the multi-legged robot at the next moment, etc.
[0212] This application embodiment also provides a computer storage medium (memory), which is a memory device in a computer device used to store programs and data. It is understood that the computer storage medium here can include both the built-in storage medium in the computer device and extended storage media supported by the computer device. The computer storage medium provides storage space that stores the operating system of the computer device. Furthermore, the storage space also stores one or more instructions suitable for loading and execution by the processor 701. These instructions can be one or more computer programs (including program code). It should be noted that the computer storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device; optionally, it can also be at least one computer storage medium located remotely from the aforementioned processor.
[0213] In one embodiment, a processor may load and execute one or more instructions stored in a computer storage medium to achieve the aforementioned... Figure 2 or Figure 3 The corresponding steps in the method embodiment shown; in specific implementation, one or more instructions in the computer storage medium can be loaded and executed by the processor as follows:
[0214] During the somersault of the multi-legged robot, the position of each mechanical leg of the multi-legged robot at the current moment is calculated based on the sensor information of the multi-legged robot collected at the current moment, and the position calculation result is obtained.
[0215] Based on the state estimation results of the multi-legged robot obtained from history at the current moment, the positions of each mechanical leg of the multi-legged robot at the current moment are observed to obtain the position observation results;
[0216] The target stage at the current moment is determined from the multiple stages, and the reference information required for state estimation is determined according to the motion pattern corresponding to the target stage; the reference information indicates the degree of confidence in the position calculation result and the position observation result respectively during state estimation.
[0217] Based on the reference information, the position calculation result, and the position observation result, the state of the multi-legged robot at the next moment is estimated, and the state estimation result of the multi-legged robot at the next moment is obtained.
[0218] In one implementation, when calculating the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information collected at the current moment, and obtaining the position calculation result, the one or more instructions can be loaded and executed by the processor:
[0219] The sensor information of the multi-legged robot collected at the current moment is input into the leg odometer, so that the leg odometer can calculate the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information, and obtain the position calculation result;
[0220] The position calculation results include: at least two directional position vectors in the world coordinate system, with different directional position vectors corresponding to different coordinate axis directions; and one directional position vector used to indicate the position of each mechanical leg in the corresponding coordinate axis direction.
[0221] In another embodiment, the multi-legged robot is a quadruped robot, and at the moment the somersault begins, all the mechanical legs of the quadruped robot are standing on the plane; wherein, the multiple stages include a first stage, a second stage, a third stage, and a fourth stage;
[0222] The first stage begins at the start of the somersault and ends at the first moment when the reference leg leaves the plane; the reference leg is used to represent the two mechanical legs of the quadruped robot that leave the plane first during the somersault.
[0223] The second stage begins at the first moment and ends at the second moment when both the reference leg and the reference leg leave the plane; the reference leg is used to represent the two mechanical legs of the quadruped robot that leave the plane after the somersault.
[0224] The start time of the third stage is the second time, and the end time is the third time when at least one of the reference leg and the reference leg falls onto the plane;
[0225] The fourth stage begins at the third moment and ends at the fourth moment when both the reference leg and the standard leg have landed on the plane and are in a stable state.
[0226] In another implementation, when determining the target stage at the current moment from the plurality of stages, the one or more instructions may be loaded and executed by the processor:
[0227] Obtain the current state feedback information of the multi-legged robot at the current moment, wherein the current state feedback information is generated by feeding back the state of the multi-legged robot at the current moment;
[0228] Based on the current status feedback information, the target stage at the current moment is determined from the multiple stages.
[0229] In another implementation, when determining the target stage at the current moment from the plurality of stages based on the current state feedback information, the one or more instructions can be loaded and executed by the processor:
[0230] Based on the current state feedback information, the contact status between the reference leg and the plane at the current moment, and the contact status between the reference leg and the plane at the current moment are detected to obtain the detection result;
[0231] Based on the detection results, the target stage at the current moment is determined from the multiple stages.
[0232] In another embodiment, the current state feedback information includes: the current state feedback value of the reference leg and the current state feedback value of the reference leg, wherein each state feedback value includes the joint motor torque or feedback current value corresponding to the leg.
[0233] Specifically, for either the reference leg or the standard leg, when detecting the contact status between either leg and the plane at the current moment based on the current state feedback information, one or more instructions can be loaded and executed by the processor:
[0234] Obtain the historical state feedback value of any one of the items at the previous time at the current time, and determine the current state feedback value of any one of the items from the current state feedback information;
[0235] If, based on the historical state feedback value, it is determined that the current state feedback value of any one of the items has a sudden change, and the current state feedback value of any one of the items is greater than the historical state feedback value, then it is determined that any one of the items is in contact with the plane at the current moment.
[0236] If, based on the historical state feedback value, it is determined that the current state feedback value of any one of the items has a sudden change, and the current state feedback value of any one of the items is less than the historical state feedback value, then it is determined that any one of the items is not in contact with the plane at the current moment.
[0237] In another implementation, the one or more instructions may be loaded and executed by the processor:
[0238] If it is determined from the historical state feedback value that there is no sudden change in the current state feedback value of any item, then the contact status between any item and the plane at the previous moment is determined.
[0239] If any of the items was in contact with the plane at the previous time, then it is determined that any of the items is in contact with the plane at the current time.
[0240] If any of the items was not in contact with the plane at the previous moment, then it is determined that any of the items is not in contact with the plane at the current moment.
[0241] In another embodiment, the current state feedback information includes: the center of mass height and center of mass posture of the multi-legged robot, the current joint angle information corresponding to the reference leg, and the current joint angle information corresponding to the reference leg;
[0242] Specifically, for either the reference leg or the standard leg, when detecting the contact status between either leg and the plane at the current moment based on the current state feedback information, one or more instructions can be loaded and executed by the processor:
[0243] Based on the centroid height, the centroid posture, and the current joint angle information corresponding to any one of them, calculate the height of any one of them from the plane;
[0244] If the calculated height is less than or equal to the height threshold, then it is determined that any one of the items is in contact with the plane at the current moment;
[0245] If the calculated height is greater than the height threshold, then it is determined that none of the items is in contact with the plane at the current moment.
[0246] In another embodiment, the current state feedback information includes: the current plantar tactile feedback value corresponding to the reference leg and the current plantar tactile feedback value corresponding to the reference leg. The plantar tactile feedback value is generated by the plantar tactile sensor of the corresponding leg. When any plantar tactile sensor detects that the corresponding leg is in contact with the plane, it generates a first value as the plantar tactile feedback value. When it detects that the corresponding leg is not in contact with the plane, it generates a second value as the plantar tactile feedback value.
[0247] Specifically, for either the reference leg or the standard leg, when detecting the contact status between either leg and the plane at the current moment based on the current state feedback information, one or more instructions can be loaded and executed by the processor:
[0248] Obtain the current foot tactile feedback value corresponding to any one of the current status feedback information;
[0249] If the current tactile feedback value of the foot is the first value, then it is determined that any one of the items is in contact with the plane at the current moment;
[0250] If the current tactile feedback value of the foot is the second value, then it is determined that none of the items is in contact with the plane at the current moment.
[0251] In another embodiment, the current state feedback information includes: the current acceleration of the multi-legged robot in the vertical direction; wherein, in any two adjacent stages of the plurality of stages, at the moment of transition from the previous stage to the next stage, the acceleration of the multi-legged robot in the vertical direction undergoes a sudden change.
[0252] Accordingly, when determining the target stage at the current moment from the multiple stages based on the current state feedback information, the one or more instructions can be loaded and executed by the processor:
[0253] Obtain the historical acceleration of the multi-legged robot in the vertical direction at the previous time point at the current time.
[0254] If the current acceleration is determined to have a sudden change based on the historical acceleration, then the next stage adjacent to the reference stage among the multiple stages is determined as the target stage at the current moment.
[0255] If the current acceleration does not change abruptly based on the historical acceleration, then the reference stage is determined as the target stage at the current moment.
[0256] In another embodiment, the reference information includes a first parameter and a second parameter; the first parameter indicates the degree of confidence in the location calculation result, and the second parameter indicates the degree of confidence in the location observation result;
[0257] The position calculation result includes the sub-position calculation result of each mechanical leg. The first parameter includes at least a plurality of target vectors, and different target vectors correspond to different mechanical legs. Any target vector is used to indicate the degree of trust in the sub-position calculation result of the corresponding mechanical leg.
[0258] Accordingly, when determining the reference information required for state estimation based on the motion pattern corresponding to the target stage, the one or more instructions can be loaded and executed by the processor:
[0259] If the motion pattern corresponding to the target stage is the pattern in which all the mechanical legs of the quadruped robot leave the plane, then according to the principle that the degree of confidence in the position calculation result is less than the degree of confidence in the position observation result, the first parameter and the second parameter are selected to obtain the reference information required for state estimation.
[0260] If the motion pattern corresponding to the target stage is the pattern in which some of the mechanical legs of the quadruped robot leave the plane, then according to the principle that the degree of confidence in the calculation result of the first sub-position is less than the degree of confidence in the calculation result of the second sub-position, the first parameter and the second parameter are selected to obtain the reference information required for state estimation.
[0261] The first sub-position calculation result includes: the sub-position calculation result corresponding to the mechanical leg that has left the plane; the second sub-position calculation result includes: the sub-position calculation result corresponding to the mechanical leg that has not left the plane.
[0262] In another implementation, the reference information is the parameters in the extended Kalman filter; correspondingly, when estimating the state of the multi-legged robot at the next moment based on the reference information, the position calculation result, and the position observation result, and obtaining the state estimation result of the multi-legged robot at the next moment, one or more instructions can be loaded and specifically executed by the processor: performing extended Kalman filtering based on the reference information, the position calculation result, and the position observation result to obtain the state estimation result of the multi-legged robot at the next moment.
[0263] This application embodiment can calculate the position of each mechanical leg of a multi-legged robot at the current moment based on the sensor information collected at the current moment during a somersault on a plane. It also observes the current position of each mechanical leg based on historical state estimation results of the multi-legged robot at the current moment, thereby estimating the state of the multi-legged robot at the next moment based on the calculated and observed positions. Furthermore, by applying the multi-stage division of the somersault process to the somersault state estimation, the degree of trust in the calculated and observed position results can be determined based on the motion pattern corresponding to the current target stage. This allows for further reference to the degree of trust in each of these two results when estimating the state of the multi-legged robot at the next moment, thus improving the accuracy of the state estimation. Moreover, this application embodiment can perform state estimation for multi-legged robots in any environment, not limited to a laboratory environment, thus demonstrating that this application embodiment also improves the applicability of state estimation.
[0264] It should be noted that, according to one aspect of this application, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and executes the computer instructions, causing the computer device to perform the aforementioned... Figure 2 or Figure 3 The methods shown are provided in various alternative embodiments. It should be understood that the above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, equivalent variations made in accordance with the claims of this application are still within the scope of this application.
Claims
1. A state estimation method for a multi-legged robot, characterized in that, The multi-legged robot performs a somersault on a plane, and the somersault process is divided into multiple consecutive stages. Each stage corresponds to a motion pattern of the multi-legged robot, and any motion pattern is used to indicate the contact status between each mechanical leg of the multi-legged robot and the plane in the corresponding stage; the method includes: During the somersault of the multi-legged robot, the position of each mechanical leg of the multi-legged robot at the current moment is calculated based on the sensor information of the multi-legged robot collected at the current moment, and the position calculation result is obtained. Based on the state estimation results of the multi-legged robot obtained from history at the current moment, the positions of each mechanical leg of the multi-legged robot at the current moment are observed to obtain the position observation results; the multi-legged robot is a quadruped robot; The target stage at the current moment is determined from the multiple stages. If the motion pattern corresponding to the target stage is that all the mechanical legs of the quadruped robot have left the plane, then, according to the principle that the degree of confidence in the position calculation result is less than the degree of confidence in the position observation result, a first parameter and a second parameter are selected to obtain the reference information required for state estimation. If the motion pattern corresponding to the target stage is that some of the mechanical legs of the quadruped robot have left the plane, then, according to the principle that the degree of confidence in the first sub-position calculation result is less than the degree of confidence in the second sub-position calculation result, a first parameter and a second parameter are selected to obtain the reference information required for state estimation. The position calculation... The results include the sub-position calculation results of each robotic leg. The first sub-position calculation result includes the sub-position calculation result corresponding to the robotic leg that has left the plane. The second sub-position calculation result includes the sub-position calculation result corresponding to the robotic leg that has not left the plane. The reference information includes the first parameter and the second parameter. The first parameter includes at least a plurality of target vectors, and different target vectors correspond to different robotic legs. Each target vector is used to indicate the degree of confidence in the sub-position calculation result of the corresponding robotic leg. The first parameter indicates the degree of confidence in the position calculation result during state estimation, and the second parameter indicates the degree of confidence in the position observation result during state estimation. Based on the reference information, the position calculation result, and the position observation result, the state of the multi-legged robot at the next moment is estimated, and the state estimation result of the multi-legged robot at the next moment is obtained.
2. The method as described in claim 1, characterized in that, The step of calculating the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information collected at the current moment, and obtaining the position calculation result, includes: The sensor information of the multi-legged robot collected at the current moment is input into the leg odometer, so that the leg odometer can calculate the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information, and obtain the position calculation result; The position calculation results include: at least two directional position vectors in the world coordinate system, with different directional position vectors corresponding to different coordinate axis directions; and one directional position vector used to indicate the position of each mechanical leg in the corresponding coordinate axis direction.
3. The method as described in claim 2, characterized in that, The at least two directional position vectors include: a directional position vector corresponding to the horizontal axis direction; each mechanical leg of the multi-legged robot includes at least one joint; the sensing information includes: the current posture information of the multi-legged robot and the joint angle information of each joint of the multi-legged robot; The leg odometer calculates the directional position vector corresponding to the horizontal axis direction in the following ways: The rotation matrix is calculated based on the current posture information, and a reference position vector is calculated based on the joint angle information of each joint. The reference position vector is used to indicate the relative position between the base center of mass of the multi-legged robot and the foot tip of each mechanical leg. The reference position vector is mapped to the robot's base coordinate system using the rotation matrix to obtain the target position vector; and the three-dimensional position vector of the multi-legged robot's base centroid in the world coordinate system is obtained. The components of the target position vector in the horizontal axis direction and the components of the three-dimensional position vector in the horizontal axis direction are fused to obtain the directional position vector corresponding to the horizontal axis direction.
4. The method as described in any one of claims 1-3, wherein at the start of the somersault, each of the quadruped robot's mechanical legs is standing on the plane; wherein, The multiple phases include a first phase, a second phase, a third phase, and a fourth phase; The first stage begins at the start of the somersault and ends at the first moment when the reference leg leaves the plane; the reference leg is used to represent the two mechanical legs of the quadruped robot that leave the plane first during the somersault. The second stage begins at the first moment and ends at the second moment when both the reference leg and the reference leg leave the plane; the reference leg is used to represent the two mechanical legs of the quadruped robot that leave the plane after the somersault. The start time of the third stage is the second time, and the end time is the third time when at least one of the reference leg and the reference leg falls onto the plane; The fourth stage begins at the third moment and ends at the fourth moment when both the reference leg and the standard leg have landed on the plane and are in a stable state.
5. The method as described in claim 4, characterized in that, The quadruped robot is simplified as a virtual robot in a two-dimensional planar model, and the virtual robot includes a virtual front leg and a virtual hind leg; The virtual front legs are obtained by equivalent processing of the two front mechanical legs of the quadruped robot, and the virtual hind legs are obtained by equivalent processing of the two hind mechanical legs of the quadruped robot. When the quadruped robot performs a backflip, the reference leg is the two front mechanical legs corresponding to the virtual front leg; when the quadruped robot performs a frontflip, the reference leg is the two rear mechanical legs corresponding to the virtual hind leg.
6. The method as described in claim 4, characterized in that, Determining the target stage at the current moment from the plurality of stages includes: Obtain the current state feedback information of the multi-legged robot at the current moment, wherein the current state feedback information is generated by feeding back the state of the multi-legged robot at the current moment; Based on the current status feedback information, the target stage at the current moment is determined from the multiple stages.
7. The method as described in claim 6, characterized in that, The step of determining the target stage at the current moment from the plurality of stages based on the current state feedback information includes: Based on the current state feedback information, the contact status between the reference leg and the plane at the current moment, and the contact status between the reference leg and the plane at the current moment are detected to obtain the detection result; Based on the detection results, the target stage at the current moment is determined from the multiple stages.
8. The method as described in claim 7, characterized in that, The current status feedback information includes: the current status feedback value of the reference leg and the current status feedback value of the reference leg. Each status feedback value includes the joint motor torque or feedback current value corresponding to the leg. The method for detecting the contact status between the reference leg and the plane at the current moment, based on the current state feedback information, for either the reference leg or the base leg, includes: Obtain the historical state feedback value of any one of the items at the previous time at the current time, and determine the current state feedback value of any one of the items from the current state feedback information; If, based on the historical state feedback value, it is determined that the current state feedback value of any one of the items has a sudden change, and the current state feedback value of any one of the items is greater than the historical state feedback value, then it is determined that any one of the items is in contact with the plane at the current moment. If, based on the historical state feedback value, it is determined that the current state feedback value of any one of the items has a sudden change, and the current state feedback value of any one of the items is less than the historical state feedback value, then it is determined that any one of the items is not in contact with the plane at the current moment.
9. The method as described in claim 8, characterized in that, The method further includes: If it is determined from the historical state feedback value that there is no sudden change in the current state feedback value of any item, then the contact status between any item and the plane at the previous moment is determined. If any of the items was in contact with the plane at the previous time, then it is determined that any of the items is in contact with the plane at the current time. If any of the items was not in contact with the plane at the previous moment, then it is determined that any of the items is not in contact with the plane at the current moment.
10. The method as described in claim 7, characterized in that, The current status feedback information includes: the center of mass height and center of mass posture of the multi-legged robot, the current joint angle information corresponding to the reference leg, and the current joint angle information corresponding to the reference leg; The method for detecting the contact status between the reference leg and the plane at the current moment, based on the current state feedback information, for either the reference leg or the base leg, includes: Based on the centroid height, the centroid posture, and the current joint angle information corresponding to any one of them, calculate the height of any one of them from the plane; If the calculated height is less than or equal to the height threshold, then it is determined that any one of the items is in contact with the plane at the current moment; If the calculated height is greater than the height threshold, then it is determined that none of the items is in contact with the plane at the current moment.
11. The method as described in claim 7, characterized in that, The current state feedback information includes: the current plantar tactile feedback value corresponding to the reference leg and the current plantar tactile feedback value corresponding to the reference leg. The plantar tactile feedback value is generated by the plantar tactile sensor of the corresponding leg. When any plantar tactile sensor detects that the corresponding leg is in contact with the plane, it generates a first value as the plantar tactile feedback value. When it detects that the corresponding leg is not in contact with the plane, it generates a second value as the plantar tactile feedback value. The method for detecting the contact status between the reference leg and the plane at the current moment, based on the current state feedback information, for either the reference leg or the base leg, includes: Obtain the current foot tactile feedback value corresponding to any one of the current status feedback information; If the current tactile feedback value of the foot is the first value, then it is determined that any one of the items is in contact with the plane at the current moment; If the current tactile feedback value of the foot is the second value, then it is determined that none of the items is in contact with the plane at the current moment.
12. The method as described in claim 6, characterized in that, The current state feedback information includes: the current acceleration of the multi-legged robot in the vertical direction; wherein, in any two adjacent stages of the plurality of stages, at the moment of transition from the previous stage to the next stage, the acceleration of the multi-legged robot in the vertical direction undergoes a sudden change. The step of determining the target stage at the current moment from the plurality of stages based on the current state feedback information includes: Obtain the historical acceleration of the multi-legged robot in the vertical direction at the previous time point at the current time. If a sudden change in the current acceleration is determined based on the historical acceleration, then the next stage adjacent to the reference stage among the multiple stages is determined as the target stage at the current moment; the reference stage is the stage at the previous moment of the current moment. If the current acceleration does not change abruptly based on the historical acceleration, then the reference stage is determined as the target stage at the current moment.
13. The method as described in claim 1, characterized in that, The first and second parameters in the reference information are both parameter matrices in the extended Kalman filter; the estimation of the state of the multi-legged robot at the next moment based on the reference information, the position calculation result, and the position observation result, to obtain the state estimation result of the multi-legged robot at the next moment, includes: Based on the reference information, the position calculation result, and the position observation result, an extended Kalman filter is performed to obtain the state estimation result of the multi-legged robot at the next moment.
14. A state estimation device for a multi-legged robot, characterized in that, The multi-legged robot performs a somersault on a plane, and the somersault process is divided into multiple consecutive stages. Each stage corresponds to a motion pattern of the multi-legged robot, and each motion pattern is used to indicate the contact status between each mechanical leg of the multi-legged robot and the plane in the corresponding stage; the device includes: The processing unit is used to calculate the position of each mechanical leg of the multi-legged robot at the current moment based on the sensor information of the multi-legged robot collected at the current moment during the somersault of the multi-legged robot, and obtain the position calculation result; The processing unit is further configured to observe the position of each mechanical leg of the multi-legged robot at the current moment based on the state estimation result of the multi-legged robot obtained in history at the current moment, and obtain the position observation result; the multi-legged robot is a quadruped robot; An estimation unit is used to determine the target stage at the current moment from the plurality of stages. If the motion pattern corresponding to the target stage is that all the mechanical legs of the quadruped robot have left the plane, then a first parameter and a second parameter are selected to obtain the reference information required for state estimation, based on the principle that the degree of confidence in the position calculation result is less than the degree of confidence in the position observation result. If the motion pattern corresponding to the target stage is that some of the mechanical legs of the quadruped robot have left the plane, then a first parameter and a second parameter are selected to obtain the reference information required for state estimation, based on the principle that the degree of confidence in the first sub-position calculation result is less than the degree of confidence in the second sub-position calculation result. The position calculation results include the sub-position calculation results of each robotic leg. The first sub-position calculation result includes the sub-position calculation result corresponding to the robotic leg that has left the plane. The second sub-position calculation result includes the sub-position calculation result corresponding to the robotic leg that has not left the plane. The reference information includes the first parameter and the second parameter. The first parameter includes at least a plurality of target vectors, and different target vectors correspond to different robotic legs. Any target vector is used to indicate the degree of confidence in the sub-position calculation result of the corresponding robotic leg. The first parameter indicates the degree of confidence in the position calculation results during state estimation, and the second parameter indicates the degree of confidence in the position observation results during state estimation. The estimation unit is further configured to estimate the state of the multi-legged robot at the next moment based on the reference information, the position calculation result, and the position observation result, so as to obtain the state estimation result of the multi-legged robot at the next moment.
15. A computer device, comprising an input interface and an output interface, characterized in that, Also includes: A processor, adapted to implement one or more instructions; and computer storage media; The computer storage medium stores one or more instructions, which are adapted to be loaded by the processor and executed as described in any one of claims 1-13, for the state estimation method of the multi-legged robot.
16. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions, which are adapted to be loaded by a processor and executed as described in any one of claims 1-13, for the state estimation method of the multi-legged robot.
17. A computer program product, characterized in that, The computer program product includes a computer program; when the computer program is executed by a processor, it implements the state estimation method for a multi-legged robot as described in any one of claims 1-13.
Citation Information
Patent Citations
State estimation method and system for multi-modal perception of foot robot
CN111086001A