18 #ifndef GAZEBO_PLUGINS_HYDRAPLUGIN_HH_
19 #define GAZEBO_PLUGINS_HYDRAPLUGIN_HH_
24 #include <ignition/math/Filter.hh>
25 #include <ignition/math/Quaternion.hh>
26 #include <ignition/math/Vector3.hh>
45 private:
bool Poll(
float _lowPassCornerHz = 5.0);
51 private:
void Update();
54 private: int16_t rawPos[6];
57 private: int16_t rawQuat[8];
60 private: uint8_t rawButtons[2];
63 private:
double rawAnalog[6];
66 private:
int hidrawFd;
69 private: ignition::math::Vector3d pos[2];
72 private: ignition::math::Quaterniond quat[2];
75 private: ignition::math::OnePoleVector3 filterPos[2];
78 private: ignition::math::OnePoleQuaternion filterQuat[2];
81 private:
float analog[6];
84 private: uint8_t buttons[14];
87 private: ignition::math::OnePole<float> periodEstimate;
96 private: std::mutex mutex;
99 private: std::thread *pollThread;
boost::shared_ptr< World > WorldPtr
Definition: PhysicsTypes.hh:89
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:49
A plugin with access to physics::World.
Definition: Plugin.hh:235
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:134
Definition: HydraPlugin.hh:31
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:59
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:44