19 #ifndef __UNDERWATER_CURRENT_PLUGIN_HH__ 20 #define __UNDERWATER_CURRENT_PLUGIN_HH__ 26 #include <gazebo/gazebo.hh> 27 #include <gazebo/transport/TransportTypes.hh> 45 public:
virtual void Load(physics::WorldPtr _world,
46 sdf::ElementPtr _sdf);
49 public:
virtual void Init();
53 public:
void Update(
const common::UpdateInfo &_info);
62 protected: physics::WorldPtr
world;
65 protected: sdf::ElementPtr
sdf;
71 protected: transport::NodePtr
node;
74 protected: std::map<std::string, transport::PublisherPtr>
81 protected: std::string
ns;
100 #endif // __UNDERWATER_CURRENT_PLUGIN_HH__ GaussMarkovProcess currentVelModel
Gauss-Markov process instance for the current velocity.
Implementation of a Gauss-Markov process model.
std::string currentVelocityTopic
Current velocity topic.
Implementation of a Gauss-Markov process to model the current velocity and direction according to [1]...
void PublishCurrentVelocity()
Publish current velocity and the pose of its frame.
sdf::ElementPtr sdf
Pointer to sdf.
virtual void Load(physics::WorldPtr _world, sdf::ElementPtr _sdf)
common::Time lastUpdate
Last update time stamp.
UnderwaterCurrentPlugin()
Class constructor.
std::map< std::string, transport::PublisherPtr > publishers
Map of publishers.
GaussMarkovProcess currentHorzAngleModel
Gauss-Markov process instance for horizontal angle model.
virtual ~UnderwaterCurrentPlugin()
Class destructor.
transport::NodePtr node
Pointer to a node for communication.
event::ConnectionPtr updateConnection
Update event.
GaussMarkovProcess currentVertAngleModel
Gauss-Markov process instance for vertical angle model.
ignition::math::Vector3d currentVelocity
Current linear velocity vector.
bool hasSurface
True if the sea surface is present.
physics::WorldPtr world
Pointer to world.
Class for the underwater current plugin TODO: Add option to make the underwater current also a functi...
void Update(const common::UpdateInfo &_info)
Update the simulation state.
std::string ns
Namespace for topics and services.