AnymalStateEstimator
The state estimator for anymal.
tsif Namespace Reference

Classes

class  AngularVelocityUpdate
 
class  AnymalOdometryTsif
 
class  AttitudePrediction
 
class  BoolMeasurement
 
class  ExtFrameCentricAttitudeUpdate
 
class  ExtFrameCentricPoseUpdate
 
class  ExtFrameCentricPositionUpdate
 
class  ImuKinAnymalOdometryTsif
 
struct  ImuKinAnymalOdometryTsifDefinition
 
struct  is_anymal_odometry_tsif_compatible
 
class  LandmarkInOdomMeasurement
 
class  LandmarkInOdomUpdate
 
class  LinearVelocityPrediction
 
class  MapCentricAttitudeUpdate
 
class  MapCentricPositionUpdate
 
class  MapLocalizationTsif
 
struct  MapLocalizationTsifDefinition
 
class  MeasAttExtFrameCentric
 
class  MeasAttMapCentric
 
class  MeasPoseExtFrameCentric
 
class  MeasPoseOdomFrameCentric
 
class  MeasPosExtFrameCentric
 
class  MeasPosMapCentric
 
class  OdomFrameCentricAttitudeUpdate
 
class  OdomFrameCentricPoseUpdate
 
class  OdomFrameCentricPositionUpdate
 
class  PositionPrediction
 
class  RandomWalkPrediction
 
class  TwoWeightRandomWalkPrediction
 

Typedefs

template<typename ConcreteRobotDescription_ , typename RobotState_ , typename Derived_ >
using is_anymal_odometry_tsif_compatible_t = typename is_anymal_odometry_tsif_compatible< ConcreteRobotDescription_, RobotState_, Derived_ >::type
 
using ImuKinAnymalOdometryTsifBase = AnymalOdometryTsif< anymal_description::AnymalConcreteDescription, quadruped_model::QuadrupedState, ImuKinAnymalOdometryTsifDefinition >
 
template<int Y, int B_OMEGA_IB, int B_B_OMEGA>
using AngularVelocityUpdateBase = GyroscopeUpdate< Y, B_OMEGA_IB, B_B_OMEGA >
 
template<int Y, int PHI_IB, int B_OMEGA_IB>
using AttitudePredictionBase = AttitudeFindif< Y, PHI_IB, B_OMEGA_IB >
 
template<int PHI_JB, int PHI_BV, int Y = 0>
using ExtFrameCentricAttitudeUpdateBase = Residual< ElementVector< Element< Vec3, Y >>, ElementVector<>, ElementVector< Element< Quat, PHI_JB >, Element< Quat, PHI_BV >>, MeasAttExtFrameCentric >
 
template<int J_R_JB, int PHI_JB, int B_R_BV, int PHI_BV, int Y_R = 0, int Y_PHI = 1>
using ExtFrameCentricPoseUpdateBase = Residual< ElementVector< Element< Vec3, Y_R >, Element< Vec3, Y_PHI >>, ElementVector<>, ElementVector< Element< Vec3, J_R_JB >, Element< Quat, PHI_JB >, Element< Vec3, B_R_BV >, Element< Quat, PHI_BV >>, MeasPoseExtFrameCentric >
 
template<int J_R_JB, int PHI_JB, int B_R_BV, int Y>
using ExtFrameCentricPositionUpdateBase = Residual< ElementVector< Element< Vec3, Y >>, ElementVector<>, ElementVector< Element< Vec3, J_R_JB >, Element< Quat, PHI_JB >, Element< Vec3, B_R_BV >>, MeasPosExtFrameCentric >
 
template<int Y, int I_R_IB, int PHI_IB, int I_P>
using LandmarkInOdomUpdateBase = Residual< ElementVector< Element< Vec3, Y >>, ElementVector<>, ElementVector< Element< Vec3, I_R_IB >, Element< Quat, PHI_IB >, Element< Vec3, I_P >>, LandmarkInOdomMeasurement >
 
template<int Y, int PHI_IB, int B_V_IM, int B_OMEGA_IB, int B_B_F>
using LinearVelocityPredictionBase = AccelerometerPrediction< Y, B_V_IM, PHI_IB, B_OMEGA_IB, B_B_F >
 
template<int Y, int PHI_JB, int PHI_BV>
using MapCentricAttitudeUpdateBase = Residual< ElementVector< Element< Vec3, Y >>, ElementVector<>, ElementVector< Element< Quat, PHI_JB >, Element< Quat, PHI_BV >>, MeasAttMapCentric >
 
template<int Y, int J_R_JB, int PHI_JB, int B_R_BV>
using MapCentricPositionUpdateBase = Residual< ElementVector< Element< Vec3, Y >>, ElementVector<>, ElementVector< Element< Vec3, J_R_JB >, Element< Quat, PHI_JB >, Element< Vec3, B_R_BV >>, MeasPosMapCentric >
 
template<int PHI_IB, int PHI_IJ, int PHI_BV, int Y = 0>
using OdomFrameCentricAttitudeUpdateBase = AttitudeUpdate< Y, PHI_IB, PHI_IJ, PHI_BV >
 
template<int I_R_IB, int PHI_IB, int I_R_IJ, int PHI_IJ, int B_R_BV, int PHI_BV, int Y_R = 0, int Y_PHI = 1>
using OdomFrameCentricPoseUpdateBase = Residual< ElementVector< Element< Vec3, Y_R >, Element< Vec3, Y_PHI >>, ElementVector<>, ElementVector< Element< Vec3, I_R_IB >, Element< Quat, PHI_IB >, Element< Vec3, I_R_IJ >, Element< Quat, PHI_IJ >, Element< Vec3, B_R_BV >, Element< Quat, PHI_BV >>, MeasPoseOdomFrameCentric >
 
template<int I_R_IB, int PHI_IB, int I_R_IJ, int PHI_IJ, int B_R_BV, int Y = 0>
using OdomFrameCentricPositionUpdateBase = PositionUpdate< Y, I_R_IB, PHI_IB, I_R_IJ, PHI_IJ, B_R_BV >
 
template<int I_R_IB, int PHI_IB, int B_V_IM, int B_OMEGA_IB, int B_R_BM>
using PositionPredictionBase = Residual< ElementVector< Element< Vec3, 0 >>, ElementVector< Element< Vec3, I_R_IB >, Element< Vec3, B_V_IM >, Element< Quat, PHI_IB >, Element< Vec3, B_OMEGA_IB >, Element< Vec3, B_R_BM >>, ElementVector< Element< Vec3, I_R_IB >>, MeasEmpty >
 
template<typename... Elements>
using TwoWeightRandomWalkPredictionBase = Residual< ElementVector< Element< Vec< Elements::kDim >, Elements::kI >... >, ElementVector< Elements... >, ElementVector< Elements... >, BoolMeasurement >
 

Typedef Documentation

template<int Y, int B_OMEGA_IB, int B_B_OMEGA>
using tsif::AngularVelocityUpdateBase = typedef GyroscopeUpdate<Y, B_OMEGA_IB, B_B_OMEGA>
template<int Y, int PHI_IB, int B_OMEGA_IB>
using tsif::AttitudePredictionBase = typedef AttitudeFindif<Y, PHI_IB, B_OMEGA_IB>
template<int PHI_JB, int PHI_BV, int Y = 0>
using tsif::ExtFrameCentricAttitudeUpdateBase = typedef Residual<ElementVector<Element<Vec3,Y>>, ElementVector<>, ElementVector<Element<Quat,PHI_JB>, Element<Quat,PHI_BV>>, MeasAttExtFrameCentric>
template<int J_R_JB, int PHI_JB, int B_R_BV, int PHI_BV, int Y_R = 0, int Y_PHI = 1>
using tsif::ExtFrameCentricPoseUpdateBase = typedef Residual<ElementVector<Element<Vec3,Y_R>, Element<Vec3,Y_PHI>>, ElementVector<>, ElementVector<Element<Vec3,J_R_JB>, Element<Quat,PHI_JB>, Element<Vec3,B_R_BV>, Element<Quat,PHI_BV>>, MeasPoseExtFrameCentric>
template<int J_R_JB, int PHI_JB, int B_R_BV, int Y>
using tsif::ExtFrameCentricPositionUpdateBase = typedef Residual<ElementVector<Element<Vec3,Y>>, ElementVector<>, ElementVector<Element<Vec3,J_R_JB>, Element<Quat,PHI_JB>, Element<Vec3,B_R_BV>>, MeasPosExtFrameCentric>
using tsif::ImuKinAnymalOdometryTsifBase = typedef AnymalOdometryTsif<anymal_description::AnymalConcreteDescription, quadruped_model::QuadrupedState, ImuKinAnymalOdometryTsifDefinition>
template<typename ConcreteRobotDescription_ , typename RobotState_ , typename Derived_ >
using tsif::is_anymal_odometry_tsif_compatible_t = typedef typename is_anymal_odometry_tsif_compatible<ConcreteRobotDescription_, RobotState_, Derived_>::type
template<int Y, int I_R_IB, int PHI_IB, int I_P>
using tsif::LandmarkInOdomUpdateBase = typedef Residual<ElementVector<Element<Vec3, Y>>, ElementVector<>, ElementVector<Element<Vec3, I_R_IB>, Element<Quat, PHI_IB>, Element<Vec3, I_P>>, LandmarkInOdomMeasurement>
template<int Y, int PHI_IB, int B_V_IM, int B_OMEGA_IB, int B_B_F>
using tsif::LinearVelocityPredictionBase = typedef AccelerometerPrediction<Y, B_V_IM, PHI_IB, B_OMEGA_IB, B_B_F>
template<int Y, int PHI_JB, int PHI_BV>
using tsif::MapCentricAttitudeUpdateBase = typedef Residual<ElementVector<Element<Vec3, Y>>, ElementVector<>, ElementVector<Element<Quat, PHI_JB>, Element<Quat, PHI_BV>>, MeasAttMapCentric>
template<int Y, int J_R_JB, int PHI_JB, int B_R_BV>
using tsif::MapCentricPositionUpdateBase = typedef Residual<ElementVector<Element<Vec3, Y>>, ElementVector<>, ElementVector<Element<Vec3, J_R_JB>, Element<Quat, PHI_JB>, Element<Vec3, B_R_BV>>, MeasPosMapCentric>
template<int PHI_IB, int PHI_IJ, int PHI_BV, int Y = 0>
using tsif::OdomFrameCentricAttitudeUpdateBase = typedef AttitudeUpdate<Y, PHI_IB, PHI_IJ, PHI_BV>
template<int I_R_IB, int PHI_IB, int I_R_IJ, int PHI_IJ, int B_R_BV, int PHI_BV, int Y_R = 0, int Y_PHI = 1>
using tsif::OdomFrameCentricPoseUpdateBase = typedef Residual<ElementVector<Element<Vec3,Y_R>, Element<Vec3,Y_PHI>>, ElementVector<>, ElementVector<Element<Vec3,I_R_IB>, Element<Quat,PHI_IB>, Element<Vec3,I_R_IJ>, Element<Quat,PHI_IJ>, Element<Vec3,B_R_BV>, Element<Quat,PHI_BV>>, MeasPoseOdomFrameCentric>
template<int I_R_IB, int PHI_IB, int I_R_IJ, int PHI_IJ, int B_R_BV, int Y = 0>
using tsif::OdomFrameCentricPositionUpdateBase = typedef PositionUpdate<Y, I_R_IB, PHI_IB, I_R_IJ, PHI_IJ, B_R_BV>
template<int I_R_IB, int PHI_IB, int B_V_IM, int B_OMEGA_IB, int B_R_BM>
using tsif::PositionPredictionBase = typedef Residual<ElementVector<Element<Vec3, 0>>, ElementVector<Element<Vec3, I_R_IB>, Element<Vec3, B_V_IM>, Element<Quat, PHI_IB>, Element<Vec3, B_OMEGA_IB>, Element<Vec3, B_R_BM>>, ElementVector<Element<Vec3, I_R_IB>>, MeasEmpty>
template<typename... Elements>
using tsif::TwoWeightRandomWalkPredictionBase = typedef Residual<ElementVector<Element<Vec<Elements::kDim>, Elements::kI>...>, ElementVector<Elements...>, ElementVector<Elements...>, BoolMeasurement>