jrl-umi3218 / mc_state_observation

State observers for mc_rtc
BSD 2-Clause "Simplified" License
1 stars 10 forks source link

Add MCKineticsObserver and TiltObserver #30

Open ArnaudDmt opened 9 months ago

ArnaudDmt commented 9 months ago

The KineticsObserver is an MEKF-based (Mulitplicative Extended Kalman Filter) estimator that relies on a visco-elastic model of contacts to estimate the following variables: the pose of the robot in the world, its velocity, the external wrench applied on the centroid, the bias on the gyrometer bias, and the contact wrenches and pose.

The TiltObserver is based on a complementary filter which estimates the tilt and the local velocity of the IMU.

Also adding NaiveOdometry, that can be called after updating the realRobot with another estimator. It uses the estimated tilt to perform an odometry based on the successive contacts (that we also call legged odometry), giving a pose in the world. This method assumes that contacts are subject to no slippage.

Both observers can perform either: