Wheel.hh
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef WHEEL_HH
00027 #define WHEEL_HH
00028
00029
00030 #include "Controller.hh"
00031 #include "Entity.hh"
00032
00033 namespace gazebo
00034 {
00035
00038
00047
00048
00049 class Wheel
00050 {
00052 public: Wheel ();
00053
00055
00056 public: virtual ~Wheel();
00057
00059 public: virtual void Connect(Joint *joint, int type);
00060
00062 public: virtual void Update(float speed, float steer);
00063
00065 public: virtual void SetTorque(float newTorque);
00066
00068 public: virtual void Stop();
00069
00071 public: virtual void SetSuspension(float spring, float damping, float step);
00072
00074 public: int GetType() { return type;}
00075
00076
00077 protected: float torque;
00078 protected: float cmdSpeed;
00079 protected: float steerKp;
00080 protected: float steerKd;
00081 protected: int type;
00082 protected: enum {DRIVE, STEER, FULL};
00083 };
00084
00086
00087
00088 }
00089
00090 #endif