Shrimp.hh
Go to the documentation of this file.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
00027 #ifndef SHRIMP_HH
00028 #define SHRIMP_HH
00029
00030 #include "Model.hh"
00031
00032
00033 class Body;
00034 class HingeJoint;
00035 class ShrimpSideFork;
00036
00037 class Shrimp : public Model
00038 {
00039
00040 public: Shrimp( World *world );
00041 public: virtual ~Shrimp();
00042
00043
00044 public: virtual int Load( WorldFile *file, WorldFileNode *node );
00045
00046
00047 public: virtual int Init( WorldFile *file, WorldFileNode *node );
00048
00049
00050 public: virtual int Fini();
00051
00052
00053 public: virtual void Update( double step );
00054
00055
00056 private: void UpdateOdometry( double step );
00057
00058
00059 private: int OdeLoad( WorldFile *file, WorldFileNode *node );
00060
00061
00062 private: void PositionGetCmd();
00063
00064
00065 private: void PositionPutData();
00066
00067
00068 private: double wheelSep, wheelDiam;
00069
00070
00071 private: double updatePeriod, updateTime;
00072
00073
00074 private: Body *chassis;
00075 private: Body *wheels[4];
00076 private: HingeJoint *wheelJoints[4];
00077
00078
00079 private: gz_position_t *iface;
00080
00081
00082 private: double wheelSpeed[2];
00083
00084
00085 private: double odomPose[3];
00086
00087 private: Body *bovenBalk;
00088 private: Body *backWheel;
00089 private: ShrimpSideFork *leftFork, *rightFork;
00090
00091 private: Body *forkPart1;
00092 private: Body *forkPart1b;
00093 private: Body *forkPart2;
00094 private: Body *frontwheel;
00095 private: HingeJoint *forkJoint;
00096 private: HingeJoint *forkJointb;
00097 private: HingeJoint *forkforkJoint;
00098 private: HingeJoint *forkforkbJoint;
00099 private: HingeJoint *frontwheelJoint;
00100 };
00101
00102 #endif
Last updated 12 September 2005 21:38:45
|