Steering_Position2d.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 STEERING_POSITION2D_HH
00027 #define STEERING_POSITION2D_HH
00028
00029
00030 #include "Controller.hh"
00031 #include "Entity.hh"
00032
00033 namespace gazebo
00034 {
00035 class PositionIface;
00036 class Wheel;
00037
00040
00085
00086 class Steering_Position2d : public Controller
00087 {
00089 public: Steering_Position2d(Entity *parent );
00090
00092 public: virtual ~Steering_Position2d();
00093
00096 protected: virtual void LoadChild(XMLConfigNode *node);
00097
00099 protected: virtual void InitChild();
00100
00102 protected: virtual void ResetChild();
00103
00105 protected: virtual void UpdateChild(UpdateParams ¶ms);
00106
00108 protected: virtual void FiniChild();
00109
00111 private: void PutPositionData();
00112
00114 private: void GetPositionCmd();
00115
00117 protected: std::vector<Wheel*> wheels;
00118
00120 private: PositionIface *myIface;
00121
00123 private: Model *myParent;
00124
00125
00127 private: float cmdSteer;
00128 private: float cmdSpeed;
00129
00131 private: bool enableMotors;
00132
00133 private: float odomPose[3];
00134 private: float odomVel[3];
00135
00136 };
00137
00139
00140
00141 }
00142
00143 #endif
00144