00001 /** 00002 * @file OdometryData.h 00003 * Contains the OdometryData class. 00004 * 00005 * @author Max Risler 00006 */ 00007 00008 #ifndef __OdometryData_h_ 00009 #define __OdometryData_h_ 00010 00011 #include "Tools/Math/Pose2D.h" 00012 #include "Tools/Streams/InOut.h" 00013 00014 #include <vector> 00015 00016 /** 00017 * OdometryData 00018 * OdometryData contains an approximation of overall movement the robot has done. 00019 * @attention Only use differences of OdometryData at different times. 00020 * Position in mm 00021 */ 00022 class OdometryData : public Pose2D 00023 { 00024 public: 00025 OdometryData(); 00026 ~OdometryData(); 00027 00028 bool operator==(const OdometryData& other) const 00029 { 00030 return (const Pose2D&) *this == other; 00031 } 00032 00033 bool operator!=(const OdometryData& other) const 00034 {return !(*this == other);} 00035 00036 int walkCycleDissection; 00037 std::vector<int> leaveWalkCycleSections; 00038 }; 00039 00040 /** 00041 * Streaming operator that reads a OdometryData from a stream. 00042 * @param stream The stream from which is read. 00043 * @param odometryData The OdometryData object. 00044 * @return The stream. 00045 */ 00046 In& operator>>(In& stream,OdometryData& odometryData); 00047 00048 /** 00049 * Streaming operator that writes a OdometryData to a stream. 00050 * @param stream The stream to write on. 00051 * @param odometryData The OdometryData object. 00052 * @return The stream. 00053 */ 00054 Out& operator<<(Out& stream, const OdometryData& odometryData); 00055 00056 00057 #endif //__OdometryData_h_ 00058 00059 /* 00060 * Change log : 00061 * 00062 * $Log: OdometryData.h,v $ 00063 * Revision 1.2 2004/05/27 18:20:49 spranger 00064 * motionControl cleaned up 00065 * 00066 * Revision 1.1.1.1 2004/05/22 17:25:30 cvsadm 00067 * created new repository GT2004_WM 00068 * 00069 * Revision 1.1 2003/10/07 10:07:01 cvsadm 00070 * Created GT2004 (M.J.) 00071 * 00072 * Revision 1.1.1.1 2003/07/02 09:40:22 cvsadm 00073 * created new repository for the competitions in Padova from the 00074 * tamara CVS (Tuesday 2:00 pm) 00075 * 00076 * removed unused solutions 00077 * 00078 * Revision 1.4 2002/11/19 15:43:03 dueffert 00079 * doxygen comments corrected 00080 * 00081 * Revision 1.3 2002/09/22 18:40:54 risler 00082 * added new math functions, removed GTMath library 00083 * 00084 * Revision 1.2 2002/09/17 23:55:20 loetzsch 00085 * - unraveled several datatypes 00086 * - changed the WATCH macro 00087 * - completed the process restructuring 00088 * 00089 * Revision 1.1 2002/09/10 15:26:40 cvsadm 00090 * Created new project GT2003 (M.L.) 00091 * - Cleaned up the /Src/DataTypes directory 00092 * - Removed Challenge Code 00093 * - Removed processing of incoming audio data 00094 * - Renamed AcousticMessage to SoundRequest 00095 * 00096 * Revision 1.2 2002/07/23 13:32:57 loetzsch 00097 * new streaming classes 00098 * 00099 * removed many #include statements 00100 * 00101 * Revision 1.1.1.1 2002/05/10 12:40:13 cvsadm 00102 * Moved GT2002 Project from ute to tamara. 00103 * 00104 * Revision 1.10 2002/05/04 12:43:37 loetzsch 00105 * The currently executed MotionRequest is now sent from the MotionControl 00106 * to the BehaviorControl via the OdometryData structure 00107 * 00108 * Revision 1.9 2002/05/03 16:34:50 loetzsch 00109 * added currentMotionRequest 00110 * 00111 * Revision 1.8 2002/04/23 10:38:30 risler 00112 * renamed headOdometry to headState 00113 * 00114 * Revision 1.7 2002/04/18 10:25:31 roefer 00115 * Bremen GO 00116 * 00117 * Revision 1.2 2001/12/01 21:21:59 roefer 00118 * HeadOdometry used in simulation 00119 * 00120 * Revision 1.6 2002/04/02 13:10:18 dueffert 00121 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete 00122 * 00123 * Revision 1.5 2002/03/19 18:37:18 risler 00124 * added neckHeight, stableMotion 00125 * 00126 * Revision 1.4 2001/12/13 14:14:39 risler 00127 * OdometryData derived from Pose2D 00128 * 00129 * Revision 1.3 2001/12/10 17:47:06 risler 00130 * change log added 00131 * 00132 */