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;
boost::shared_ptr< Link > LinkPtr
Definition: PhysicsTypes.hh:109
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
boost::shared_ptr< Joint > JointPtr
Definition: PhysicsTypes.hh:117
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
Definition: VehiclePlugin.hh:34
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:93
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
A plugin with access to physics::Model.
Definition: Plugin.hh:260
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:59