18#ifndef GAZEBO_PLUGINS_VEHICLEPLUGIN_HH_
19#define GAZEBO_PLUGINS_VEHICLEPLUGIN_HH_
24#include <ignition/transport/Node.hh>
25#include <ignition/math/Vector3.hh>
28#include "gazebo/physics/physics.hh"
29#include "gazebo/transport/transport.hh"
40 public:
virtual void Init();
42 private:
void OnUpdate();
44 private:
void OnVelMsg(ConstPosePtr &_msg);
46 private: std::vector<event::ConnectionPtr> connections;
50 private: std::vector<physics::JointPtr> joints;
54 private: ignition::math::Vector3d velocity;
59 private:
double frontPower, rearPower;
60 private:
double maxSpeed;
61 private:
double wheelRadius;
63 private:
double steeringRatio;
64 private:
double tireAngleRange;
65 private:
double maxGas, maxBrake;
67 private:
double aeroLoad;
68 private:
double swayForce;
74 private: ignition::transport::Node nodeIgn;
A plugin with access to physics::Model.
Definition Plugin.hh:304
Definition VehiclePlugin.hh:35
virtual void Init()
Override this method for custom plugin initialization behavior.
virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf)
Load function.
VehiclePlugin()
Constructor.
boost::shared_ptr< Link > LinkPtr
Definition PhysicsTypes.hh:109
boost::shared_ptr< Model > ModelPtr
Definition PhysicsTypes.hh:93
boost::shared_ptr< Joint > JointPtr
Definition PhysicsTypes.hh:117
boost::shared_ptr< Subscriber > SubscriberPtr
Definition TransportTypes.hh:53
boost::shared_ptr< Node > NodePtr
Definition TransportTypes.hh:57
Forward declarations for the common classes.
Definition Animation.hh:27