AnymalStateEstimator
The state estimator for anymal.
anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ > Class Template Referenceabstract

Base class used for state estimation for a generic anymal type robot with custom attachments. More...

#include <AnymalStateEstimator.hpp>

Inheritance diagram for anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >:
Inheritance graph

Public Types

using NodeBase = any_node::Node
 
using Base = any_state_estimator::AnyStateEstimator< RobotContainersRos_ >
 
using RobotModel = romo::RobotModel< ConcreteDescription_, RobotState_ >
 
using ContactForceEstimation = romo::ContactForceEstimation< ConcreteDescription_, RobotState_ >
 
using RD = typename RobotModel::RD
 
using CT = typename ConcreteDescription_::ConcreteTopology
 
using BranchEnum = typename RD::BranchEnum
 
using BodyEnum = typename RD::BodyEnum
 
using JointEnum = typename RD::JointEnum
 
using ContactEnum = typename RD::ContactEnum
 
using ActuatorEnum = typename RD::ActuatorEnum
 
using ContactStateEnumDetector = typename robot_utils::ContactDetectorBase::ContactState
 
using ContactStateEnumDescription = typename RD::ContactStateEnum
 
using ForceCalibratorCommandsShm = std_utils::EnumArray< ContactEnum, robot_utils::ForceCalibratorCommand >
 
using ForceCalibratorCommandsRos = robot_utils_ros::ForceCalibratorCommands
 
using PoseWithCovarianceShm = any_measurements::PoseWithCovariance
 
using PoseWithCovarianceRos = geometry_msgs::PoseWithCovarianceStamped
 
using OdometryRos = nav_msgs::Odometry
 
using JointStateShm = std_utils::EnumArray< JointEnum, any_measurements::ExtendedJointState >
 
using JointStateRos = any_msgs::ExtendedJointState
 
using TwistShm = any_measurements::TwistWithCovariance
 
using TwistRos = geometry_msgs::TwistWithCovarianceStamped
 
using QuadrupedFramesGeneratorBase = quadruped_model::QuadrupedFramesGeneratorBase< ConcreteDescription_, RobotState_ >
 
using StateStatus = anymal_description::StateStatus
 
template<typename ValueType_ >
using ContactEnumContainer = std_utils::EnumArray< ContactEnum, ValueType_ >
 
template<typename Msg_ , typename MsgRos_ >
using ForceCalibratorCommandConversionTrait = robot_utils_ros::ConversionTraits< RD, Msg_, MsgRos_ >
 
using ActuatorReadingsContainer = typename RobotContainerRos::ActuatorReadingsRos
 
using ActuatorReadingsShm = typename ActuatorReadingsContainer::type
 
using ActuatorReadingsRos = typename ActuatorReadingsContainer::msgType
 
using ImuContainer = typename RobotContainerRos::ImuRos
 
using ImuShm = typename ImuContainer::type
 
using ImuRos = typename ImuContainer::msgType
 
using RobotStateContainer = typename RobotContainerRos::RobotStateRos
 
using RobotStateRos = typename RobotStateContainer::msgType
 
using RobotStateShm = typename RobotStateContainer::type
 
- Public Types inherited from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >
using RobotContainer = typename RobotContainersRos_::ConcreteContainers
 
using RobotContainerRos = RobotContainersRos_
 
using RobotStateContainer = typename RobotContainerRos::RobotStateRos
 
using ActuatorReadingsContainer = typename RobotContainerRos::ActuatorReadingsRos
 
using ImuContainer = typename RobotContainerRos::ImuRos
 
using ImuShm = typename ImuContainer::type
 
using ImuRos = typename ImuContainer::msgType
 
using RobotStateShm = typename RobotStateContainer::type
 
using RobotStateRos = typename RobotStateContainer::msgType
 
using ActuatorReadingsShm = typename ActuatorReadingsContainer::type
 
using ActuatorReadingsRos = typename ActuatorReadingsContainer::msgType
 

Public Member Functions

 AnymalStateEstimator ()=delete
 
 AnymalStateEstimator (any_node::Node::NodeHandlePtr nh)
 
 ~AnymalStateEstimator () override=default
 
- Public Member Functions inherited from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >
 AnyStateEstimator ()=delete
 
 AnyStateEstimator (any_node::Node::NodeHandlePtr nh)
 Constructor. More...
 
 ~AnyStateEstimator () override=default
 
bool init () override
 
void preCleanup () override
 
void cleanup () override
 
bool update (const any_worker::WorkerEvent &event)
 Is called periodically to update the estimator when running standalone. More...
 

Protected Member Functions

void initImpl () final
 Initializes further objects. More...
 
bool resetEstimator (const kindr::HomTransformQuatD &pose) final
 Resets the state estimator to pose. More...
 
bool resetEstimatorHere () final
 Resets the state estimator at the current pose. More...
 
void readParameters () final
 Reads parameters from the parameter server. More...
 
void initializeMessages () final
 Initializes messages in derived class. More...
 
void initializePublishers () final
 Initializes additional publishers in the derived class. More...
 
void initializeSubscribers () final
 Initializes additional subscribers in the derived class. More...
 
void advertiseServices () final
 Initializes services. More...
 
void receiveMeasurements () final
 Receives measurements from your subscriber. Gets called before preprocessMeasurements. More...
 
void preprocessMeasurements () final
 Preprocesses the measurements. Gets called before advancing the estimator. More...
 
void advanceEstimator () final
 Advances the estimator by updating the filter. Gets called before setting the estimator output. More...
 
void setOutput () final
 Prepare the output to be published. Gets called before publishing. More...
 
void publish () final
 Publishes desired output via cosmo. More...
 
void publishRos () final
 Publishes data over ros. More...
 
void addVariablesToLog () final
 Adds variables to the signal logger. More...
 
virtual void resetModelState (const kindr::HomTransformQuatD &pose)=0
 Resets base pose of the robotModelPtr to pose and the actuators according to the current measurements. More...
 
virtual void initializeRobotStateMsgs ()=0
 Initializes robot specific ros messages. More...
 
virtual void fillJointStates ()=0
 Fills the joint states with new measurements. More...
 
virtual void updateEstimatedState ()=0
 Updates the robot specific estimated state. More...
 
virtual void initModel ()=0
 Sets the model and frames generator ptr. More...
 
virtual void updateAdditionalFrameTransforms ()
 Optionally implements setting additional frame transforms in updateEstimatedRobotState. More...
 
virtual void readParametersImpl ()
 Read paramters for further objects. More...
 
virtual void addVariablesToLogImpl ()
 Add logger variables for further objects. More...
 
virtual void resetModulesImpl ()
 Reset further modules/resources. More...
 
void resetModules ()
 ReInitializes additional resources/modules such as contact detectors or the frames generator. More...
 
void forceCalibratorCommandsCallback (const ForceCalibratorCommandsShm &msg)
 Handles incoming forcecalibrator commands from the highlevel controller. More...
 
bool toggleZeroVelocityUpdatesService (any_msgs::Toggle::Request &req, any_msgs::Toggle::Response &res)
 Enables and disables zero velocity updates. If enabled, the estimator will try to keep the base fixed with respect to the world when contact is lost completely. Also, contact timeouts are circumvented in this case. More...
 
void notify (notification::Level level, const std::string &name, const std::string &description, const std::vector< std::string > &outputDevices=std::vector< std::string >{})
 Sends notifications over various channels as specified in the estimator parameters. More...
 
bool calibrateContactForcesService (any_msgs::SetUInt32::Request &req, any_msgs::SetUInt32::Response &res)
 Sets the calibrators in calibration mode. More...
 
bool commandForceCalibratorsService (anymal_state_estimator::ForceCalibratorCommand::Request &req, anymal_state_estimator::ForceCalibratorCommand::Response &res)
 Handles incoming force calibrator commands. More...
 
bool configureForceCalibratorsService (anymal_state_estimator::ForceCalibratorConfig::Request &req, anymal_state_estimator::ForceCalibratorConfig::Response &res)
 Handles incoming force calibrator configurations. More...
 
void initializeForceCalibrators ()
 
virtual void initializeContactDetectors ()
 
void initializeContactWrenchReaders ()
 
void updateContactForces ()
 Processes measured or estimated contact forces using the calibrators. More...
 
virtual void advanceContactDetector (ContactEnumContainer< ContactStateEnumDetector > &contactStates)
 Detects whether the endeffectors are in contact. More...
 
void updateContacts ()
 Advances the contact detectors and updates related logic. More...
 
void updateEstimatedRobotState ()
 Updates the estimated quadrupedState with the newest estimate from the filter. More...
 
void setEstimatedPoses ()
 
void updateEstimatorStatus ()
 
- Protected Member Functions inherited from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >
void update ()
 The main update function of the estimator. Calls receiveMeasurements, preprocessMeasurements, advanceEstimator, setOutput and publish. More...
 
void startWorkers ()
 Starts workers for the synced update and ros publishing. More...
 
bool updateSynced (const any_worker::WorkerEvent &event)
 Calls the update method and afterwards sleeps until the next iteration. More...
 
bool publishRos (const any_worker::WorkerEvent &event)
 Publishes data over ros via publishRos() and afterwards sleeps until the next update has finished. More...
 
void imuCallback (const ImuShm &msg)
 Handles incoming imu messages. More...
 
void actuatorReadingsCallback (const ActuatorReadingsShm &msg)
 Handles incoming actuator reading messages. More...
 
bool resetService (any_state_estimator_msgs::ResetStateEstimator::Request &req, any_state_estimator_msgs::ResetStateEstimator::Response &res)
 Wraps reset estimator, is called by a ros service. More...
 
bool resetHereService (std_srvs::Trigger::Request &req, std_srvs::Trigger::Response &res)
 Wraps reset estimator here, is called by a ros service. More...
 

Protected Attributes

bool hasSensorError_ {false}
 
bool useKfeContactEstimation_ {false}
 
bool useContactForceEstimation_ {false}
 
bool hasFullContact_ {false}
 
bool waitingForFullContact_ {true}
 
bool waitingForInitializationDuration_ {true}
 
bool fakeKinematicsUpdateActive_ {false}
 
std::atomic< bool > zeroVelocityUpdatesEnabled_ {false}
 
std::atomic< bool > usePoseMeas_ {true}
 
bool publishRosOdometryMsg_ {false}
 
Eigen::Matrix< double, 3, 1 > imuLinearAccelerationBias_ {Eigen::Matrix<double,3,1>::Zero()}
 
Eigen::Matrix< double, 3, 1 > imuAngularVelocityBias_ {Eigen::Matrix<double,3,1>::Zero()}
 
double initializationDuration_ {0.0}
 
double fullContactTime_ {std::numeric_limits<double>::max()}
 
double sensorTimeout_ {0.0}
 
double contactTimeout_ {0.0}
 
unsigned int noContactZeroVelUpdIterationCounter_ {0u}
 
unsigned int noContactZeroVelUpdIterationThreshold_ {1u}
 
unsigned int contactZeroVelUpdIterationCounter_ {0u}
 
unsigned int contactZeroVelUpdIterationThreshold_ {1u}
 
std::string baseFrameId_ {""}
 
std::string odomFrameId_ {""}
 
std::mutex mutexFilter_
 
std::mutex mutexForceCalibrators_
 
std::mutex mutexForceCalibratorCommands_
 
Filter_ filter_
 
std::shared_ptr< RobotModelrobotModelPtr_ {nullptr}
 
std::unique_ptr< QuadrupedFramesGeneratorBaseframesGeneratorPtr_ {nullptr}
 
StateStatus estimatorStatus_ {StateStatus::STATUS_ERROR_UNKNOWN}
 
RobotState_ filterState_
 
std::atomic< unsigned int > contactFilterCoefficient_ {1u}
 
const unsigned int contactFilterCoefficientUpdate_ {1u}
 
unsigned int contactFilterCoefficientInit_ {200u}
 
ContactEnumContainer< unsigned int > consecutiveContactCount_ {0u}
 
ContactEnumContainer< std::unique_ptr< ContactWrenchInterface > > contactWrenchReaders_
 
ContactEnumContainer< std::unique_ptr< ContactWrenchPublisher > > contactWrenchPublishers_
 
ContactEnumContainer< std::unique_ptr< robot_utils::ForceCalibratorBase > > forceCalibrators_
 
ContactEnumContainer< std::unique_ptr< robot_utils::ContactDetectorBase > > contactDetectors_
 
ContactEnumContainer< Contactcontacts_
 
ContactEnumContainer< bool > useForceCalibrators_
 
std::shared_ptr< ContactForceEstimationcontactForceEstimator_ {nullptr}
 
RobotStateRos rosEstRobotState_
 
JointStateShm measJointStates_
 
JointStateRos measJointStatesRos_
 
PoseWithCovarianceShm estPoseInOdom_
 
PoseWithCovarianceRos estPoseInOdomRos_
 
TwistShm estTwist_
 
TwistRos estTwistRos_
 
OdometryRos estOdometryRos_
 
ForceCalibratorCommandsShm forceCalibratorCommands_
 
unsigned int forceCalibratorMissCount_ {0u}
 
unsigned int contactWrenchPublisherMissCount_ {0u}
 
unsigned int forceCalibratorPublisherMissCount_ {0u}
 
unsigned int jointStatePublisherMissCount_ {0u}
 
unsigned int jointStateThrottlePublisherMissCount_ {0u}
 
unsigned int robotStateThrottleMissCount_ {0u}
 
unsigned int imuMissCount_ {0u}
 
unsigned int actuatorReadingMissCount_ {0u}
 
unsigned int imuPublisherMissCount_ {0u}
 
unsigned int imuThrottleMissCount_ {0u}
 
unsigned int robotStatePublisherMissCount_ {0u}
 
unsigned int actuatorReadingsPublisherMissCount_ {0u}
 
unsigned int jointStateThrottleCounter_ {0u}
 
unsigned int poseInOdomThrottleCounter_ {0u}
 
unsigned int twistThrottleCounter_ {0u}
 
unsigned int imuThrottleCounter_ {0u}
 
unsigned int robotStateThrottleCounter_ {0u}
 
unsigned int imuThrottleDecimation_ {1u}
 
unsigned int twistThrottleDecimation_ {1u}
 
unsigned int poseInOdomThrottleDecimation_ {1u}
 
unsigned int jointStateThrottleDecimation_ {1u}
 
unsigned int robotStateThrottleDecimation_ {1u}
 
cosmo_ros::SubscriberRosPtr< ForceCalibratorCommandsShm, ForceCalibratorCommandsRos, ForceCalibratorCommandConversionTraitforceCalibratorCommandSubscriber_
 
cosmo_ros::PublisherRosPtr< ForceCalibratorCommandsShm, ForceCalibratorCommandsRos, ForceCalibratorCommandConversionTraitforceCalibratorCommandsPublisher_
 
cosmo_ros::PublisherRosPtr< PoseWithCovarianceShm, PoseWithCovarianceRos, any_measurements_ros::ConversionTraits > estPoseInOdomPublisher_
 
cosmo_ros::PublisherRosPtr< TwistShm, TwistRos, any_measurements_ros::ConversionTraits > estTwistPublisher_
 
cosmo_ros::PublisherRosPtr< JointStateShm, JointStateRos, any_measurements_ros::ConversionTraits > jointStatePublisher_
 
cosmo_ros::PublisherRosPtr< ImuShm, ImuRos, ImuContainer::template ConversionTrait > imuPublisher_
 
cosmo_ros::PublisherRosPtr< ActuatorReadingsShm, ActuatorReadingsRos, ActuatorReadingsContainer::template ConversionTrait > actuatorReadingsPublisher_
 
cosmo_ros::PublisherRosPtr< JointStateShm, JointStateRos, any_measurements_ros::ConversionTraits > jointStateThrottlePublisher_
 
cosmo_ros::PublisherRosPtr< RobotStateShm, RobotStateRos, RobotStateContainer::template ConversionTrait > robotStateThrottlePublisher_
 
cosmo_ros::PublisherRosPtr< ImuShm, ImuRos, ImuContainer::template ConversionTrait > imuPublisherThrottle_
 
cosmo_ros::PublisherRosPtr< PoseWithCovarianceShm, PoseWithCovarianceRos, any_measurements_ros::ConversionTraits > poseInOdomPublisherThrottle_
 
cosmo_ros::PublisherRosPtr< TwistShm, TwistRos, any_measurements_ros::ConversionTraits > twistPublisherThrottle_
 
ros::Publisher odometryRosPublisher_
 
std::shared_ptr< notification::NotificationPublisher > notificationPublisher_
 
ros::ServiceServer toggleZeroVelocityUpdatesService_
 
ros::ServiceServer setForceCalibrationAlhpaFilterService_
 
ros::ServiceServer setForceCalibrationMaxMahalanobisDistanceService_
 
ros::ServiceServer calibrateContactForceService_
 
ros::ServiceServer commandForceCalibratorsService_
 
ros::ServiceServer configureForceCalibratorsService_
 
- Protected Attributes inherited from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >
double timeStep_ {0.0}
 
double initializationDuration_ {0.0}
 
double iterDurationMs_ {0.0}
 
double updateDurationMs_ {0.0}
 
RobotStateShm estimatedState_
 
ImuShm imu_
 
ActuatorReadingsShm actuatorReadings_
 
std::string syncSlaveName_
 
std::string syncMasterName_
 
std::unique_ptr< cosmo::SyncSlave > syncSlave_
 
std::unique_ptr< cosmo::SyncMaster > syncMaster_
 
const std::chrono::microseconds receiveMaxLockTime_ {std::chrono::microseconds{50}}
 
const std::chrono::microseconds sendMaxLockTime_ {std::chrono::microseconds{50}}
 
cosmo_ros::SubscriberRosPtr< ImuShm, ImuRos, ImuContainer::template ConversionTrait > imuSubscriber_
 
cosmo_ros::SubscriberRosPtr< ActuatorReadingsShm, ActuatorReadingsRos, ActuatorReadingsContainer::template ConversionTrait > actuatorReadingsSubscriber_
 
cosmo_ros::PublisherRosPtr< RobotStateShm, RobotStateRos, RobotStateContainer::template ConversionTrait > robotStatePublisher_
 
ros::ServiceServer resetService_
 
ros::ServiceServer resetHereService_
 
bool isSimulation_
 
bool isStandalone_
 
std::condition_variable_any cvUpdate_
 
std::atomic< bool > stopUpdating_ {true}
 
std::mutex mutexUpdate_
 
std::mutex mutexStateEstimator_
 
std::chrono::time_point< std::chrono::steady_clock > timePrevIteration_
 
std::atomic< unsigned long > updateCounter_ {0lu}
 

Detailed Description

template<typename ConcreteDescription_, typename RobotState_, typename RobotContainersRos_, typename Filter_>
class anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >

Base class used for state estimation for a generic anymal type robot with custom attachments.

Template Parameters
ConcreteDescription_romo::RobotDescription
RobotState_romo::RobotState
RobotContainersRos_romo::RobotContainersRos
Filter_The filter type. Needs to derive from AnymalFilter

Member Typedef Documentation

◆ ActuatorEnum

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ActuatorEnum = typename RD::ActuatorEnum

◆ ActuatorReadingsContainer

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::ActuatorReadingsContainer = typename RobotContainerRos::ActuatorReadingsRos

◆ ActuatorReadingsRos

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::ActuatorReadingsRos = typename ActuatorReadingsContainer::msgType

◆ ActuatorReadingsShm

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::ActuatorReadingsShm = typename ActuatorReadingsContainer::type

◆ Base

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::Base = any_state_estimator::AnyStateEstimator<RobotContainersRos_>

◆ BodyEnum

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::BodyEnum = typename RD::BodyEnum

◆ BranchEnum

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::BranchEnum = typename RD::BranchEnum

◆ ContactEnum

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ContactEnum = typename RD::ContactEnum

◆ ContactEnumContainer

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
template<typename ValueType_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ContactEnumContainer = std_utils::EnumArray<ContactEnum, ValueType_>

◆ ContactForceEstimation

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ContactForceEstimation = romo::ContactForceEstimation<ConcreteDescription_, RobotState_>

◆ ContactStateEnumDescription

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ContactStateEnumDescription = typename RD::ContactStateEnum

◆ ContactStateEnumDetector

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ContactStateEnumDetector = typename robot_utils::ContactDetectorBase::ContactState

◆ CT

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::CT = typename ConcreteDescription_::ConcreteTopology

◆ ForceCalibratorCommandConversionTrait

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
template<typename Msg_ , typename MsgRos_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ForceCalibratorCommandConversionTrait = robot_utils_ros::ConversionTraits<RD, Msg_, MsgRos_>

◆ ForceCalibratorCommandsRos

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ForceCalibratorCommandsRos = robot_utils_ros::ForceCalibratorCommands

◆ ForceCalibratorCommandsShm

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::ForceCalibratorCommandsShm = std_utils::EnumArray<ContactEnum, robot_utils::ForceCalibratorCommand>

◆ ImuContainer

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::ImuContainer = typename RobotContainerRos::ImuRos

◆ ImuRos

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::ImuRos = typename ImuContainer::msgType

◆ ImuShm

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::ImuShm = typename ImuContainer::type

◆ JointEnum

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::JointEnum = typename RD::JointEnum

◆ JointStateRos

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::JointStateRos = any_msgs::ExtendedJointState

◆ JointStateShm

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::JointStateShm = std_utils::EnumArray<JointEnum, any_measurements::ExtendedJointState>

◆ NodeBase

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::NodeBase = any_node::Node

◆ OdometryRos

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::OdometryRos = nav_msgs::Odometry

◆ PoseWithCovarianceRos

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::PoseWithCovarianceRos = geometry_msgs::PoseWithCovarianceStamped

◆ PoseWithCovarianceShm

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::PoseWithCovarianceShm = any_measurements::PoseWithCovariance

◆ QuadrupedFramesGeneratorBase

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::QuadrupedFramesGeneratorBase = quadruped_model::QuadrupedFramesGeneratorBase<ConcreteDescription_, RobotState_>

◆ RD

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::RD = typename RobotModel::RD

◆ RobotModel

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::RobotModel = romo::RobotModel<ConcreteDescription_, RobotState_>

◆ RobotStateContainer

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::RobotStateContainer = typename RobotContainerRos::RobotStateRos

◆ RobotStateRos

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::RobotStateRos = typename RobotStateContainer::msgType

◆ RobotStateShm

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using any_state_estimator::AnyStateEstimator< RobotContainersRos_ >::RobotStateShm = typename RobotStateContainer::type

◆ StateStatus

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::StateStatus = anymal_description::StateStatus

◆ TwistRos

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::TwistRos = geometry_msgs::TwistWithCovarianceStamped

◆ TwistShm

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
using anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::TwistShm = any_measurements::TwistWithCovariance

Constructor & Destructor Documentation

◆ AnymalStateEstimator() [1/2]

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::AnymalStateEstimator ( )
delete

◆ AnymalStateEstimator() [2/2]

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::AnymalStateEstimator ( any_node::Node::NodeHandlePtr  nh)
explicit

◆ ~AnymalStateEstimator()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::~AnymalStateEstimator ( )
overridedefault

Member Function Documentation

◆ addVariablesToLog()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::addVariablesToLog ( )
finalprotectedvirtual

Adds variables to the signal logger.

Reimplemented from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ addVariablesToLogImpl()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::addVariablesToLogImpl ( )
inlineprotectedvirtual

Add logger variables for further objects.

Reimplemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ advanceContactDetector()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::advanceContactDetector ( ContactEnumContainer< ContactStateEnumDetector > &  contactStates)
protectedvirtual

Detects whether the endeffectors are in contact.

Parameters
contactStatesContainer to store the resuls in

Reimplemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ advanceEstimator()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::advanceEstimator ( )
finalprotectedvirtual

Advances the estimator by updating the filter. Gets called before setting the estimator output.

Implements any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ advertiseServices()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::advertiseServices ( )
finalprotectedvirtual

Initializes services.

Reimplemented from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ calibrateContactForcesService()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::calibrateContactForcesService ( any_msgs::SetUInt32::Request &  req,
any_msgs::SetUInt32::Response &  res 
)
protected

Sets the calibrators in calibration mode.

Parameters
reqThe request
resThe resource
Returns
true if successful

◆ commandForceCalibratorsService()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::commandForceCalibratorsService ( anymal_state_estimator::ForceCalibratorCommand::Request req,
anymal_state_estimator::ForceCalibratorCommand::Response res 
)
protected

Handles incoming force calibrator commands.

Parameters
reqThe request
resThe resource
Returns
true if successful

◆ configureForceCalibratorsService()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::configureForceCalibratorsService ( anymal_state_estimator::ForceCalibratorConfig::Request req,
anymal_state_estimator::ForceCalibratorConfig::Response res 
)
protected

Handles incoming force calibrator configurations.

Parameters
reqThe request
resThe resource
Returns
true if successful

◆ fillJointStates()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::fillJointStates ( )
protectedpure virtual

Fills the joint states with new measurements.

Implemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ forceCalibratorCommandsCallback()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::forceCalibratorCommandsCallback ( const ForceCalibratorCommandsShm msg)
protected

Handles incoming forcecalibrator commands from the highlevel controller.

Parameters
[in]msgThe force calibrator command msg

◆ initializeContactDetectors()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initializeContactDetectors ( )
protectedvirtual

◆ initializeContactWrenchReaders()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initializeContactWrenchReaders ( )
protected

◆ initializeForceCalibrators()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initializeForceCalibrators ( )
protected

◆ initializeMessages()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initializeMessages ( )
finalprotectedvirtual

Initializes messages in derived class.

Reimplemented from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ initializePublishers()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initializePublishers ( )
finalprotectedvirtual

Initializes additional publishers in the derived class.

Reimplemented from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ initializeRobotStateMsgs()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initializeRobotStateMsgs ( )
protectedpure virtual

Initializes robot specific ros messages.

Implemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ initializeSubscribers()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initializeSubscribers ( )
finalprotectedvirtual

Initializes additional subscribers in the derived class.

Reimplemented from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ initImpl()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initImpl ( )
finalprotectedvirtual

Initializes further objects.

Reimplemented from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ initModel()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initModel ( )
protectedpure virtual

Sets the model and frames generator ptr.

Implemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ notify()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::notify ( notification::Level  level,
const std::string &  name,
const std::string &  description,
const std::vector< std::string > &  outputDevices = std::vector< std::string >{} 
)
protected

Sends notifications over various channels as specified in the estimator parameters.

Parameters
[in]levelThe level
[in]nameThe name
[in]descriptionThe description
[in]outputDevicesThe output devices

◆ preprocessMeasurements()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::preprocessMeasurements ( )
finalprotectedvirtual

Preprocesses the measurements. Gets called before advancing the estimator.

Implements any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ publish()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::publish ( )
finalprotectedvirtual

Publishes desired output via cosmo.

Implements any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ publishRos()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::publishRos ( )
finalprotectedvirtual

Publishes data over ros.

Reimplemented from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ readParameters()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::readParameters ( )
finalprotectedvirtual

Reads parameters from the parameter server.

Reimplemented from any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ readParametersImpl()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::readParametersImpl ( )
inlineprotectedvirtual

Read paramters for further objects.

Reimplemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ receiveMeasurements()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::receiveMeasurements ( )
finalprotectedvirtual

Receives measurements from your subscriber. Gets called before preprocessMeasurements.

Implements any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ resetEstimator()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::resetEstimator ( const kindr::HomTransformQuatD &  pose)
finalprotectedvirtual

Resets the state estimator to pose.

Parameters
[in]poseThe initial pose
Returns
true if successful

Implements any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ resetEstimatorHere()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::resetEstimatorHere ( )
finalprotectedvirtual

Resets the state estimator at the current pose.

Returns
true if successful

Implements any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ resetModelState()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::resetModelState ( const kindr::HomTransformQuatD &  pose)
protectedpure virtual

Resets base pose of the robotModelPtr to pose and the actuators according to the current measurements.

Parameters
[in]poseThe pose to reset

Implemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ resetModules()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::resetModules ( )
protected

ReInitializes additional resources/modules such as contact detectors or the frames generator.

◆ resetModulesImpl()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::resetModulesImpl ( )
inlineprotectedvirtual

Reset further modules/resources.

Reimplemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ setEstimatedPoses()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::setEstimatedPoses ( )
protected

◆ setOutput()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::setOutput ( )
finalprotectedvirtual

Prepare the output to be published. Gets called before publishing.

Implements any_state_estimator::AnyStateEstimator< RobotContainersRos_ >.

◆ toggleZeroVelocityUpdatesService()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::toggleZeroVelocityUpdatesService ( any_msgs::Toggle::Request &  req,
any_msgs::Toggle::Response &  res 
)
protected

Enables and disables zero velocity updates. If enabled, the estimator will try to keep the base fixed with respect to the world when contact is lost completely. Also, contact timeouts are circumvented in this case.

Parameters
reqThe request
resThe resource
Returns
true if successful

◆ updateAdditionalFrameTransforms()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::updateAdditionalFrameTransforms ( )
inlineprotectedvirtual

Optionally implements setting additional frame transforms in updateEstimatedRobotState.

◆ updateContactForces()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::updateContactForces ( )
protected

Processes measured or estimated contact forces using the calibrators.

◆ updateContacts()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::updateContacts ( )
protected

Advances the contact detectors and updates related logic.

◆ updateEstimatedRobotState()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::updateEstimatedRobotState ( )
protected

Updates the estimated quadrupedState with the newest estimate from the filter.

◆ updateEstimatedState()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
virtual void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::updateEstimatedState ( )
protectedpure virtual

Updates the robot specific estimated state.

Implemented in anymal_state_estimator::AnymalStateEstimatorBasic< Filter_ >.

◆ updateEstimatorStatus()

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
void anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::updateEstimatorStatus ( )
protected

Member Data Documentation

◆ actuatorReadingMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::actuatorReadingMissCount_ {0u}
protected

◆ actuatorReadingsPublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<ActuatorReadingsShm, ActuatorReadingsRos, ActuatorReadingsContainer::template ConversionTrait> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::actuatorReadingsPublisher_
protected

◆ actuatorReadingsPublisherMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::actuatorReadingsPublisherMissCount_ {0u}
protected

◆ baseFrameId_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::string anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::baseFrameId_ {""}
protected

◆ calibrateContactForceService_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ros::ServiceServer anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::calibrateContactForceService_
protected

◆ commandForceCalibratorsService_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ros::ServiceServer anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::commandForceCalibratorsService_
protected

◆ configureForceCalibratorsService_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ros::ServiceServer anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::configureForceCalibratorsService_
protected

◆ consecutiveContactCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ContactEnumContainer<unsigned int> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::consecutiveContactCount_ {0u}
protected

◆ contactDetectors_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ContactEnumContainer<std::unique_ptr<robot_utils::ContactDetectorBase> > anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactDetectors_
protected

◆ contactFilterCoefficient_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::atomic<unsigned int> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactFilterCoefficient_ {1u}
protected

◆ contactFilterCoefficientInit_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactFilterCoefficientInit_ {200u}
protected

◆ contactFilterCoefficientUpdate_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
const unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactFilterCoefficientUpdate_ {1u}
protected

◆ contactForceEstimator_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::shared_ptr<ContactForceEstimation> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactForceEstimator_ {nullptr}
protected

◆ contacts_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ContactEnumContainer<Contact> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contacts_
protected

◆ contactTimeout_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
double anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactTimeout_ {0.0}
protected

◆ contactWrenchPublisherMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactWrenchPublisherMissCount_ {0u}
protected

◆ contactWrenchPublishers_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ContactEnumContainer<std::unique_ptr<ContactWrenchPublisher> > anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactWrenchPublishers_
protected

◆ contactWrenchReaders_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ContactEnumContainer<std::unique_ptr<ContactWrenchInterface> > anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactWrenchReaders_
protected

◆ contactZeroVelUpdIterationCounter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactZeroVelUpdIterationCounter_ {0u}
protected

◆ contactZeroVelUpdIterationThreshold_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::contactZeroVelUpdIterationThreshold_ {1u}
protected

◆ estimatorStatus_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
StateStatus anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::estimatorStatus_ {StateStatus::STATUS_ERROR_UNKNOWN}
protected

◆ estOdometryRos_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
OdometryRos anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::estOdometryRos_
protected

◆ estPoseInOdom_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
PoseWithCovarianceShm anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::estPoseInOdom_
protected

◆ estPoseInOdomPublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<PoseWithCovarianceShm, PoseWithCovarianceRos, any_measurements_ros::ConversionTraits> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::estPoseInOdomPublisher_
protected

◆ estPoseInOdomRos_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
PoseWithCovarianceRos anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::estPoseInOdomRos_
protected

◆ estTwist_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
TwistShm anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::estTwist_
protected

◆ estTwistPublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<TwistShm, TwistRos, any_measurements_ros::ConversionTraits> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::estTwistPublisher_
protected

◆ estTwistRos_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
TwistRos anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::estTwistRos_
protected

◆ fakeKinematicsUpdateActive_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::fakeKinematicsUpdateActive_ {false}
protected

◆ filter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
Filter_ anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::filter_
protected

◆ filterState_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
RobotState_ anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::filterState_
protected

◆ forceCalibratorCommands_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ForceCalibratorCommandsShm anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::forceCalibratorCommands_
protected

◆ forceCalibratorCommandsPublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<ForceCalibratorCommandsShm, ForceCalibratorCommandsRos, ForceCalibratorCommandConversionTrait> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::forceCalibratorCommandsPublisher_
protected

◆ forceCalibratorCommandSubscriber_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::SubscriberRosPtr<ForceCalibratorCommandsShm, ForceCalibratorCommandsRos, ForceCalibratorCommandConversionTrait> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::forceCalibratorCommandSubscriber_
protected

◆ forceCalibratorMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::forceCalibratorMissCount_ {0u}
protected

◆ forceCalibratorPublisherMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::forceCalibratorPublisherMissCount_ {0u}
protected

◆ forceCalibrators_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ContactEnumContainer<std::unique_ptr<robot_utils::ForceCalibratorBase> > anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::forceCalibrators_
protected

◆ framesGeneratorPtr_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::unique_ptr<QuadrupedFramesGeneratorBase> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::framesGeneratorPtr_ {nullptr}
protected

◆ fullContactTime_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
double anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::fullContactTime_ {std::numeric_limits<double>::max()}
protected

◆ hasFullContact_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::hasFullContact_ {false}
protected

◆ hasSensorError_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::hasSensorError_ {false}
protected

◆ imuAngularVelocityBias_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
Eigen::Matrix<double,3,1> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuAngularVelocityBias_ {Eigen::Matrix<double,3,1>::Zero()}
protected

◆ imuLinearAccelerationBias_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
Eigen::Matrix<double,3,1> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuLinearAccelerationBias_ {Eigen::Matrix<double,3,1>::Zero()}
protected

◆ imuMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuMissCount_ {0u}
protected

◆ imuPublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<ImuShm, ImuRos, ImuContainer::template ConversionTrait> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuPublisher_
protected

◆ imuPublisherMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuPublisherMissCount_ {0u}
protected

◆ imuPublisherThrottle_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<ImuShm, ImuRos, ImuContainer::template ConversionTrait> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuPublisherThrottle_
protected

◆ imuThrottleCounter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuThrottleCounter_ {0u}
protected

◆ imuThrottleDecimation_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuThrottleDecimation_ {1u}
protected

◆ imuThrottleMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::imuThrottleMissCount_ {0u}
protected

◆ initializationDuration_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
double anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::initializationDuration_ {0.0}
protected

◆ jointStatePublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<JointStateShm, JointStateRos, any_measurements_ros::ConversionTraits> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::jointStatePublisher_
protected

◆ jointStatePublisherMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::jointStatePublisherMissCount_ {0u}
protected

◆ jointStateThrottleCounter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::jointStateThrottleCounter_ {0u}
protected

◆ jointStateThrottleDecimation_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::jointStateThrottleDecimation_ {1u}
protected

◆ jointStateThrottlePublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<JointStateShm, JointStateRos, any_measurements_ros::ConversionTraits> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::jointStateThrottlePublisher_
protected

◆ jointStateThrottlePublisherMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::jointStateThrottlePublisherMissCount_ {0u}
protected

◆ measJointStates_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
JointStateShm anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::measJointStates_
protected

◆ measJointStatesRos_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
JointStateRos anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::measJointStatesRos_
protected

◆ mutexFilter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::mutex anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::mutexFilter_
protected

◆ mutexForceCalibratorCommands_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::mutex anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::mutexForceCalibratorCommands_
protected

◆ mutexForceCalibrators_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::mutex anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::mutexForceCalibrators_
protected

◆ noContactZeroVelUpdIterationCounter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::noContactZeroVelUpdIterationCounter_ {0u}
protected

◆ noContactZeroVelUpdIterationThreshold_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::noContactZeroVelUpdIterationThreshold_ {1u}
protected

◆ notificationPublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::shared_ptr<notification::NotificationPublisher> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::notificationPublisher_
protected

◆ odometryRosPublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ros::Publisher anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::odometryRosPublisher_
protected

◆ odomFrameId_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::string anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::odomFrameId_ {""}
protected

◆ poseInOdomPublisherThrottle_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<PoseWithCovarianceShm, PoseWithCovarianceRos, any_measurements_ros::ConversionTraits> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::poseInOdomPublisherThrottle_
protected

◆ poseInOdomThrottleCounter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::poseInOdomThrottleCounter_ {0u}
protected

◆ poseInOdomThrottleDecimation_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::poseInOdomThrottleDecimation_ {1u}
protected

◆ publishRosOdometryMsg_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::publishRosOdometryMsg_ {false}
protected

◆ robotModelPtr_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::shared_ptr<RobotModel> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::robotModelPtr_ {nullptr}
protected

◆ robotStatePublisherMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::robotStatePublisherMissCount_ {0u}
protected

◆ robotStateThrottleCounter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::robotStateThrottleCounter_ {0u}
protected

◆ robotStateThrottleDecimation_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::robotStateThrottleDecimation_ {1u}
protected

◆ robotStateThrottleMissCount_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::robotStateThrottleMissCount_ {0u}
protected

◆ robotStateThrottlePublisher_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<RobotStateShm, RobotStateRos, RobotStateContainer::template ConversionTrait> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::robotStateThrottlePublisher_
protected

◆ rosEstRobotState_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
RobotStateRos anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::rosEstRobotState_
protected

◆ sensorTimeout_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
double anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::sensorTimeout_ {0.0}
protected

◆ setForceCalibrationAlhpaFilterService_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ros::ServiceServer anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::setForceCalibrationAlhpaFilterService_
protected

◆ setForceCalibrationMaxMahalanobisDistanceService_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ros::ServiceServer anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::setForceCalibrationMaxMahalanobisDistanceService_
protected

◆ toggleZeroVelocityUpdatesService_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ros::ServiceServer anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::toggleZeroVelocityUpdatesService_
protected

◆ twistPublisherThrottle_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
cosmo_ros::PublisherRosPtr<TwistShm, TwistRos, any_measurements_ros::ConversionTraits> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::twistPublisherThrottle_
protected

◆ twistThrottleCounter_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::twistThrottleCounter_ {0u}
protected

◆ twistThrottleDecimation_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
unsigned int anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::twistThrottleDecimation_ {1u}
protected

◆ useContactForceEstimation_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::useContactForceEstimation_ {false}
protected

◆ useForceCalibrators_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
ContactEnumContainer<bool> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::useForceCalibrators_
protected

◆ useKfeContactEstimation_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::useKfeContactEstimation_ {false}
protected

◆ usePoseMeas_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::atomic<bool> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::usePoseMeas_ {true}
protected

◆ waitingForFullContact_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::waitingForFullContact_ {true}
protected

◆ waitingForInitializationDuration_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
bool anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::waitingForInitializationDuration_ {true}
protected

◆ zeroVelocityUpdatesEnabled_

template<typename ConcreteDescription_ , typename RobotState_ , typename RobotContainersRos_ , typename Filter_ >
std::atomic<bool> anymal_state_estimator::AnymalStateEstimator< ConcreteDescription_, RobotState_, RobotContainersRos_, Filter_ >::zeroVelocityUpdatesEnabled_ {false}
protected

The documentation for this class was generated from the following file: