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:110
Forward declarations for the common classes.
Definition: Animation.hh:26
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
boost::shared_ptr< Joint > JointPtr
Definition: PhysicsTypes.hh:118
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
Definition: VehiclePlugin.hh:34
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:94
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:303