Quad-SDK
Loading...
Searching...
No Matches
state_estimator.h
1#ifndef STATE_ESTIMATOR_H
2#define STATE_ESTIMATOR_H
3
4#include <quad_msgs/ContactMode.h>
5#include <quad_msgs/RobotState.h>
6#include <quad_utils/quad_kd.h>
7#include <quad_utils/ros_utils.h>
8#include <ros/ros.h>
9#include <sensor_msgs/Imu.h>
10#include <sensor_msgs/JointState.h>
11#include <std_msgs/String.h>
12
15
19 public:
25
31 virtual void init(ros::NodeHandle& nh) = 0;
32
38 virtual bool updateOnce(quad_msgs::RobotState& last_robot_state_msg) = 0;
39
47 void readIMU(const sensor_msgs::Imu::ConstPtr& last_imu_msg,
48 Eigen::Vector3d& fk, Eigen::Vector3d& wk,
49 Eigen::Quaterniond& qk);
50
57 const sensor_msgs::JointState::ConstPtr& last_joint_state_msg,
58 Eigen::VectorXd& jk);
59
64 void loadMocapMsg(geometry_msgs::PoseStamped::ConstPtr last_mocap_msg);
65
71 void loadSensorMsg(sensor_msgs::Imu last_imu_msg,
72 sensor_msgs::JointState last_joint_state_msg);
73
74 protected:
76 quad_msgs::RobotState state_est_;
77
79 std::shared_ptr<quad_utils::QuadKD> quadKD_;
80
82 geometry_msgs::PoseStamped::ConstPtr last_mocap_msg_;
83
85 sensor_msgs::Imu last_imu_msg_;
86
88 sensor_msgs::JointState last_joint_state_msg_;
89};
90
91#endif // STATE_ESTIMATOR_H
Definition state_estimator.h:18
geometry_msgs::PoseStamped::ConstPtr last_mocap_msg_
Last mocap data.
Definition state_estimator.h:82
virtual void init(ros::NodeHandle &nh)=0
Virtual function for initialize filters, should be defined in derived class.
sensor_msgs::JointState last_joint_state_msg_
Most recent joint data.
Definition state_estimator.h:88
void readJointEncoder(const sensor_msgs::JointState::ConstPtr &last_joint_state_msg, Eigen::VectorXd &jk)
Read joint encoder data.
Definition state_estimator.cpp:27
virtual bool updateOnce(quad_msgs::RobotState &last_robot_state_msg)=0
Virtual update function for update robot state, should be defined in derived class.
sensor_msgs::Imu last_imu_msg_
Most recent IMU data.
Definition state_estimator.h:85
void loadSensorMsg(sensor_msgs::Imu last_imu_msg, sensor_msgs::JointState last_joint_state_msg)
Load imu and joint encoder data to protected variables.
Definition state_estimator.cpp:42
void readIMU(const sensor_msgs::Imu::ConstPtr &last_imu_msg, Eigen::Vector3d &fk, Eigen::Vector3d &wk, Eigen::Quaterniond &qk)
Read IMU data.
Definition state_estimator.cpp:7
void loadMocapMsg(geometry_msgs::PoseStamped::ConstPtr last_mocap_msg)
Load Mocap data to protected variable.
Definition state_estimator.cpp:37
StateEstimator()
Constructor for StateEstimator.
Definition state_estimator.cpp:3
quad_msgs::RobotState state_est_
Last state estimate.
Definition state_estimator.h:76
std::shared_ptr< quad_utils::QuadKD > quadKD_
QuadKD class.
Definition state_estimator.h:79