The Kinetics Observer: A Tightly Coupled Estimator for Legged Robots

arXiv:2406.13267 · cs.RO · Submitted 2024-06-19 · Read on arXiv

Listen

Radio episode about this paper

Transcript

Introduction to the show: ident: Robotics Radio. Generated commentary on the latest robotics and control papers.

Rosa: Today's paper: "The Kinetics Observer".

Dev: The Kinetics Observer proposes a novel, tightly coupled estimator that simultaneously estimates contact and perturbation forces along with robot kinematics for real-time proprioceptive odometry.

Rosa: First, who's behind it and why it matters.

Paper summary: Rosa: So we're looking at a paper called "The Kinetics Observer: A Tightly Coupled Estimator for Legged Robots." The main idea here is they've put together a new estimator that tries to figure out the robot's movement—its kinematics, and how much force it's taking from the ground or obstacles—all at the same time in real time.

Dev: It claims this works by using a Multiplicative Extended Kalman Filter. The big claim is that by linking the way the robot moves with what it’s feeling through contacts, they get estimates for contact and perturbation forces plus its kinematics that are good enough for proprioceptive odometry.

Taro: What does it actually mean when they say they have this tight coupling? Is it just putting a few things in the filter together, or is the connection deeper?

Rosa: It’s deeper than just putting things in one filter. They achieve this by using a visco-elastic model of the contacts. This model links how those contacts move to the movement of the robot's center of mass.

Dev: That linking mechanism is key because it ensures a tight coupling between whole-body kinematics and dynamics, which is what makes this approach more robust than just looking at things separately.

Taro: So if the contacts are modeled visco-elastically, that means the system accounts for how the contact itself deforms or behaves when it's being hit?

Rosa: Exactly. It allows them to derive a contact wrench from the difference between where they expect the robot to be and where its center of mass kinematics suggest it should be, which creates this link between kinematic and contact-based odometry.

Dev: They define a state vector that includes things like joint positions, velocities, body states, gravity bias for gyros, and external forces or torques they call GammaFe and GammaT e.

Taro: That external wrench part sounds important. So it’s not just tracking the robot's path, but also trying to figure out what outside forces are acting on it that aren't just the contact forces?

Paper summary: Rosa: Right. They use that estimation of external wrenches as a kind of slack variable to compensate for any modeling errors or uncertainties they might have in their state transition and measurement models.

Dev: When you look at the kinematic state transition, they use discrete integration with Lie Group properties of SE(three) to predict how the centroid frame kinematics evolve <ref:2406.13267#pg3>. They get the body acceleration by modeling it as a function of external and contact wrenches.

Taro: That’s what I mean about linking kinematics to wrenches—they're using Newton-Euler equations to drive the prediction, so they're not just guessing where things are going based on past data?

Rosa: They are trying to make sure that the acceleration calculation is directly tied to those external and contact wrenches, which enforces a high coupling between their state kinematics and the actual forces.

Dev: For odometry modes, they propose two options: 6D odometry and planar odometry. Both start by detecting contacts using thresholds on measured forces from sensors.

Taro: The 6D mode sounds like it’s trying to figure out the position of new contacts by using forward kinematics based on the estimated centroid frame, and then correcting that against the current wrench measurements?

Rosa: That’s right. It estimates the discrepancy between where a contact is predicted to be and its actual measured state using those force and torque measurements.

Dev: The planar odometry mode is specifically for flat ground scenarios because it keeps the height of all estimated contact positions at a constant value, which helps avoid drifts in the robot's estimated height.

Taro: So for someone who only listens to this, what does this mean practically? It means instead of just getting a rough estimate of where the robot is on a flat surface, you get something much more accurate when it’s moving around obstacles.

Rosa: Precisely. The paper demonstrates that the Kinetics Observer's odometry is much more accurate than other state-of-the-art legged odometry when the robot is doing multi-contact motion across tilted obstacles.

Dev: They tested this on two humanoid robots, HRP-2Kai and HRP-5P, in a multi-contact scenario with tilted obstacles. The results showed the estimation of the contact pose was more accurate than their reference, with a final position error of two point six eight cm against five point five zero cm for legged odometry.

Paper summary: Taro: That error number seems pretty tight for complex motion; how fast is this whole process running? I need to know if this is something you can actually use when you're trying to keep up with a robot on the move.

Dev: The computation speed they evaluated was under zero point four five milliseconds per iteration, which means it’s capable of real-time feedback, which is pretty fast for a filter like this.

Rosa: And they also found that the estimator can provide an accurate and reactive estimation of the left-hand wrench even when that wrench is hidden from the observer itself, which sounds like a tough problem to solve.

Taro: So they’re not just relying on what they directly measure; they’re using all this coupling to infer things that aren't immediately visible or measurable in isolation?

Dev: That’s right. The whole point of the tight coupling is exploiting those redundancies in measurements to get a more complete picture of the robot's state and its interactions with the environment.

Rosa: So, when we think about the title, "The Kinetics Observer: A Tightly Coupled Estimator for Legged Robots," it really points to how they manage all these different data streams—kinematics, forces, contacts—in one cohesive loop.

Dev: The authors are trying to solve the problem of state estimation for legged robots by linking the kinematics and dynamics through this visco-elastic contact model.

Taro: If you're listening on a podcast about robotics, this paper suggests that you don't need every single sensor working perfectly to get good localization; you just need that mathematical coupling to pull the pieces together.

Rosa: It’s about making sure the estimates for the robot's position and its interaction forces stay consistent with each other, even when things are complex, like walking on uneven ground.

Dev: This framework is already available as an open-source project, and they’re preparing it for public release soon. The implications are that this kind of integrated estimation method could make legged robots much more reliable for real-world navigation tasks.

Conclusion: Rosa: So, to wrap up what we've been talking about, this paper presents something called The Kinetics Observer. It's basically this estimator that tries to nail down exactly how a legged robot is moving—its contacts, its forces, and its body movement all at once in real time.

Dev: Yeah it’s the whole point of linking those things together so you get a better picture than if you were tracking them separately. The authors are trying to build this framework using a specific mathematical setup called a Multiplicative Extended Kalman Filter.

Taro: And what’s the core mechanism they use for that link? It sounds like the key is modeling the contacts with something called a visco-elastic model, right?

Rosa: Exactly. That model connects the forces at those contacts directly to how much the robot's center of mass is shifting. It enforces this very tight coupling between what’s happening on your feet and what’s happening in your body dynamics.

Dev: From an engineering standpoint that means they’re constantly making sure the kinematic predictions match the measured wrenches, which is crucial for keeping latency low, under half a millisecond per iteration.

Taro: So if you're listening just tuning into this, it means for autonomous systems like these robots, you don't need perfect sensor readings everywhere to get good localization in complex situations.

Rosa: Right. This method is designed to be robust even when the robot is moving across tilted ground or dealing with multiple contact points simultaneously. It’s about making sure that the estimates for position and force are consistent across all those different inputs.

Dev: The results they showed on those humanoid robots were pretty strong; they found the contact pose estimation was more accurate than their own reference measurement in multi-contact scenarios.

Taro: That accuracy is what matters when you think about real-world autonomy. It’s not just about following a path; it’s about understanding the physics of that path to handle unexpected situations where things misbehave.

Rosa: It really shows how much data you can squeeze out of a single loop by using all the available information—the kinematics, the forces, and even estimating some hidden external torques.

Dev: And they even managed to estimate those biases affecting gyrometers, which is a neat extra layer that adds reliability when you're relying on inertial sensors.

Taro: So where does this leave us? It’s an open-source framework now, which is big because it lets other researchers and engineers take this approach and see how it performs in their own specific environments.

Rosa: Yeah, the implication here is that we might be able to build much more reliable navigation systems for legged robots without needing a massive sensor suite just to handle the dynamics correctly.

Dev: It’s moving from theoretical modeling toward practical, real-time implementation, which is usually where these kinds of estimators get tested and refined.

CNRS-AIST Joint Robotics Laboratory (JRL) · Université Paris-Saclay

cs.RO

Submitted: 2024-06-19

Updated: 2026-10-08

Code: https://github.com/ArnaudDmt/state-observation

Project page: https://jrl-umi3218.github.io/mc_rt

License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/

Importance score: 73/100

The gist: The Kinetics Observer proposes a novel, tightly coupled estimator that simultaneously estimates contact and perturbation forces along with robot kinematics for real-time proprioceptive odometry.

Key concepts

Visco-elastic Model of Contacts
This model links the kinematics of robot contacts to their reaction wrenches. It uses the difference between current and rest contact kinematics to calculate the resulting contact wrench. This ensures a tight coupling between how the robot's overall motion relates to the forces exerted at each point of contact, improving accuracy.
Multiplicative Extended Kalman Filter (MEKF)
The MEKF is used as the core estimator for real-time state estimation. It allows the system to simultaneously estimate multiple variables—like contact forces and robot kinematics—by tightly coupling them. This structure enhances robustness and accuracy in estimating the robot's state during motion.
State Vector Definition
The state vector comprehensively defines all necessary variables for the observer, including pose (pl), orientation ($\Omega$), linear velocity ($v_l$), angular velocity ($\omega_l$), biases, and external wrenches. The measurement vector includes contact forces and IMU data. This complete definition ensures all relevant dynamic information is tracked.
Kinematics State-Transition
This process predicts the robot's kinematic variables by integrating motion using Lie Group properties of SE(3). It calculates the evolution of the robot's centroid frame kinematics, deriving linear and angular velocities from Newton-Euler equations. This step ensures that predicted kinematics are tightly coupled with external wrenches.

Terminology

Summary

The Kinetics Observer proposes a novel, tightly coupled estimator that simultaneously estimates contact and perturbation forces along with robot kinematics for real-time proprioceptive odometry. This method addresses the challenge of state estimation for legged robots by ensuring a tight coupling between whole-body kinematics and dynamics through a visco-elastic model of contacts.

How it works

The core of the Kinetics Observer is based on a Multiplicative Extended Kalman Filter (MEKF) which allows for the real-time simultaneous estimation of contact and perturbation forces, and of the robot’s kinematics, which are accurate enough to perform proprioceptive odometry<ref:2406.13267#pg6>. This coupling is achieved by using a visco-elastic model of the contacts linking their kinematics to the ones of the centroid of the robot<ref:2406.13267#pg5>. This redundancy in measurements enhances robustness and accuracy<ref:2406.13267#pg4>.

The system state vector is defined as x≜ pl, omega, vl, ωl, bg,j nI j=0, ΓFe, ΓT e, nc i=0T<ref:2406.13267#pg6>. The measurement vector y is defined as y≜ ya,j, yg,j nI j=0, yF,i, yT,i nw i=0T<ref:2406.13267#pg6>. The inputs u required by the estimator regroup dynamic variables of the system and information about the considered contacts and IMUs<ref:2406.13267#pg6>.

Kinematics State-Transition

The prediction of kinematic variables is performed by discrete integration using Lie Groups properties of SE(3)<ref:2406.13267#pg6>. The state transition model defines the evolution of the centroid frame kinematics, where al and ω˙ l are obtained from Newton-Euler’s equations<ref:2406.13267#pg6>. This method ensures a highly tight coupling between our state kinematics and the wrenches by modeling accelerations as functions of external and contact wrenches<ref:2406.13267#pg6>.

The visco-elastic model of the contacts links reaction wrenches to estimated contact poses, where the discrepancy between current and rest kinematics yields a contact wrench<ref:2406.13267#pg6>. This model ensures non-divergence between the kinematics of the centroid frame from the contacts by associating their difference with a proportional reaction and offers a high coupling between the kinematic and the contact-based odometry<ref:2406.13267#pg6>.

Odometry Modes

The Kinetics Observer proposes two modes for odometry: 6D odometry and planar odometry<ref:2406.13267#pg6>. Both start by detecting contacts using thresholds on measured forces<ref:2406.13267#pg6>. The 6D odometry estimates the pose of new contacts through forward kinematics using the estimated centroid frame, and then estimates the discrepancy between this contact pose and the rest pose using current wrench measurements<ref:2406.13267#pg6>.

The planar odometry is an adaptation for flat ground, where it sets the height of all estimated contact positions at a constant value to avoid drifts in the estimated height of the robot<ref:2406.13267#pg6>. The paper demonstrates that the Kinetics Observer's odometry is much more accurate than state-of-the-art legged odometry during multi-contact motion<ref:2406.13267#pg6>.

Bias and External Wrench Estimation

The estimator can estimate biases affecting gyrometer measurements, which are assumed to have slow variations over time<ref:2406.13267#pg6>. It also estimates other external forces and torques ΓFe, ΓT e that are not associated with our model of contacts expressed in the centroid frame<ref:2406.13267#pg6>. The estimation of external wrenches serves as a slack variable to compensate for modeling errors and uncertainties in our state-transition and measurement models<ref:2406.13267#pg6>.

Experimental Results

The Kinetics Observer was tested on two humanoid robots, HRP-2Kai and HRP-5P<ref:2406.13267#pg6>. In a multi-contact scenario with tilted obstacles, the estimation of the contact pose was found to be more accurate than our reference and the final position error was 2.68 cm against 5,50 cm for legged odometry<ref:2406.13267#pg6>. Furthermore, the estimator can provide an accurate and reactive estimation of the left-hand wrench even when it is hidden from the observer<ref:2406.13267#pg6>. The computation speed was evaluated to be under 0.45 ms per iteration, allowing for real-time feedback<ref:2406.13267#pg6>.

Conclusions

The Kinetics Observer is a framework able to estimate accurately, simultaneously, and with tight coupling, the kinematics of the robot, the contact location, and external forces applied on the robot<ref:2406.13267#pg6>. This estimator exploits all available data and models in a single loop<ref:2406.13267#pg6>. The estimator is already available as an open-source framework and is in the process of preparing the public release<ref:2406.13267#pg6>.

--- Page 1 ---

The gist

The Kinetics Observer proposes a novel, tightly coupled estimator that simultaneously estimates contact and perturbation forces along with robot kinematics for real-time proprioceptive odometry.

Kinematics State-Transition

The prediction of kinematic variables is performed by discrete integration using Lie Groups properties of SE(3)<ref:2406.13267#pg6>. The state transition model defines the evolution of the centroid frame kinematics, where al and ω˙ l are obtained from Newton-Euler’s equations<ref:2406.13267#pg6>.

Bias and External Wrench Estimation

The estimator can estimate biases affecting gyrometer measurements, which are assumed to have slow variations over time<ref:2406.13267#pg6>.

Improvements for AI systems

  1. Joint estimation of kinematics, contact forces, and state variables: The Kinetics Observer is the first estimator that performs proprioceptive odometry while also estimating the external wrench and the contact wrenches applied on the robot, simultaneously and in a tightly coupled manner. This allows for a total coherence between our state variables by explicitly coupling IMU measurements with contact locations and forces in its dynamical model.

  2. Robust odometry under uncertainty: The system is designed to handle environmental uncertainties by using a visco-elastic model of the contacts linking their kinematics to the ones of the centroid of the robot, which allows for non-divergence between the kinematics of the centroid frame from the contacts by associating their difference with a proportional reaction.

  3. Estimation in non-coplanar environments: The estimator can estimate characteristics of the environment, namely the orientation of the ground, based on all the proprioceptive sensors, and it is tested for non-coplanar contact scenario using a multi-contact controller, allowing for accurate pose estimation even when stepping with tilted obstacles.

  4. Real-time state estimation performance: The estimator achieves high computational speed, running in under 0.45 ms per iteration, making it suitable for real-time feedback in most controllers.

  5. Bias and unmodeled wrench compensation: The system estimates the bias affecting gyrometers and the external wrenches that are not associated with the contact model, serving as a slack variable to compensate for modeling errors and uncertainties in our state-transition and measurement models.

Sources

Related papers