Quad-SDK
Loading...
Searching...
No Matches
estimator_plugin.h
1#ifndef GAZEBO_SPIRIT_ESTIMATOR_PLUGIN
2#define GAZEBO_SPIRIT_ESTIMATOR_PLUGIN
3
4#include <quad_msgs/RobotState.h>
5#include <quad_utils/math_utils.h>
6#include <quad_utils/ros_utils.h>
7#include <ros/ros.h>
8
9#include <functional>
10#include <gazebo/common/Plugin.hh>
11#include <gazebo/common/UpdateInfo.hh>
12#include <gazebo/common/common.hh>
13#include <gazebo/gazebo.hh>
14#include <gazebo/physics/physics.hh>
15#include <ignition/math/Vector3.hh>
16
17namespace gazebo {
18class QuadEstimatorGroundTruth : public ModelPlugin {
20 public:
24 void Load(physics::ModelPtr _parent, sdf::ElementPtr _sdf);
25 void OnUpdate();
26
27 private:
28 double update_rate_;
29 common::Time last_time_;
30
31 ros::Publisher ground_truth_state_pub_;
32 ros::Publisher ground_truth_state_body_frame_pub_;
33 physics::ModelPtr model_;
34 event::ConnectionPtr updateConnection_;
35
36 std::shared_ptr<quad_utils::QuadKD> quadKD_;
37};
38GZ_REGISTER_MODEL_PLUGIN(QuadEstimatorGroundTruth)
39} // namespace gazebo
40#endif
Definition estimator_plugin.h:18
QuadEstimatorGroundTruth()
Constructor.
Definition estimator_plugin.cpp:6
~QuadEstimatorGroundTruth()
Destructor.
Definition estimator_plugin.cpp:7