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;
Definition HydraPlugin.hh:32
void Load(physics::WorldPtr _world, sdf::ElementPtr _sdf)
Load function.
virtual ~RazerHydra()
Destructor.
A plugin with access to physics::World.
Definition Plugin.hh:279
A Time class, can be used to hold wall- or sim-time.
Definition Time.hh:48
boost::shared_ptr< Connection > ConnectionPtr
Definition CommonTypes.hh:134
boost::shared_ptr< World > WorldPtr
Definition PhysicsTypes.hh:89
boost::shared_ptr< Publisher > PublisherPtr
Definition TransportTypes.hh:49
boost::shared_ptr< Node > NodePtr
Definition TransportTypes.hh:57
Forward declarations for the common classes.
Definition Animation.hh:27