00001 /** 00002 * @file PackageCognitionMotion.h 00003 * 00004 * Definition of class PackageCognitionMotion. 00005 * 00006 * @author Matthias Jüngel 00007 */ 00008 00009 #ifndef __PackageCognitionMotion_h_ 00010 #define __PackageCognitionMotion_h_ 00011 00012 #include "Representations/Perception/LandmarksPercept.h" 00013 #include "Representations/Cognition/LandmarksState.h" 00014 #include "Representations/Cognition/RobotPose.h" 00015 #include "Representations/Cognition/BallModel.h" 00016 #include "Representations/Cognition/PlayerPoseCollection.h" 00017 #include "Representations/Cognition/ObstaclesModel.h" 00018 #include "Representations/Cognition/RobotState.h" 00019 #include "Representations/Motion/MotionRequest.h" 00020 #include "Representations/Motion/HeadControlMode.h" 00021 #include "Representations/Motion/LEDRequest.h" 00022 #include "Representations/Motion/OdometryData.h" 00023 #include "Representations/Sound/SoundRequest.h" 00024 #include "Tools/Player.h" 00025 00026 #include "Representations/RoboCup/GameControlData.h" 00027 00028 #include "Modules/WalkingEngine/InvKinWalkingParameterSets.h" 00029 #include "Modules/WalkingEngine/GT2004ParameterSet.h" 00030 //****for GT2005WalkingEngine**** 00031 #include "Modules/WalkingEngine/GT2005Parameters.h" 00032 #include "Tools/Debugging/Watchdog.h" 00033 00034 /** 00035 * @class PackageCognitionMotion 00036 * 00037 * Contains all data that are sent from the Cognition process to the Motion process 00038 * in the CMD process layout. 00039 * 00040 * @author Matthias Jüngel 00041 */ 00042 class PackageCognitionMotion 00043 { 00044 public: 00045 /** The LandmarksPercept */ 00046 LandmarksPercept landmarksPercept; 00047 00048 /** The seen landmarks */ 00049 LandmarksState landmarksState; 00050 00051 /** The robots position and orientation */ 00052 RobotPose robotPose; 00053 00054 /** The position and the speed of the ball */ 00055 BallModel ballModel; 00056 00057 /** The positions of the own and opponent players */ 00058 PlayerPoseCollection playerPoseCollection; 00059 00060 /** The positions of the obstacles */ 00061 ObstaclesModel obstaclesModel; 00062 00063 /** Pressed switches and fall downs */ 00064 RobotState robotState; 00065 00066 /** Motions requested by the behavior */ 00067 MotionRequest motionRequest; 00068 00069 /** The head control mode */ 00070 HeadControlMode headControlMode; 00071 00072 /** The ledRequest */ 00073 LEDRequest ledRequest; 00074 00075 /** The SoundRequest */ 00076 SoundRequest soundRequest; 00077 00078 /** An instance of the current player object */ 00079 Player::teamColor teamColor; 00080 00081 /** The data of the game controller */ 00082 GameControlData gameControlData; 00083 00084 /** walking parameter sets to be used by the WalkingEngine, eg calculated by evolution behavior */ 00085 InvKinWalkingParameters invKinWalkingParameters; 00086 GT2004Parameters gt2004WalkingParameters; 00087 unsigned long walkParameterTimeStamp; 00088 00089 /** The status of the WLan connection (one bit for every dog) */ 00090 int wLanStatus; 00091 00092 /** The time when the package was sent */ 00093 unsigned long timeStamp; 00094 00095 //****for GT2005WalkingEngine**** 00096 GTWalkParametersIndividual gt2005Parameters; 00097 00098 Watchdog* watchdog; 00099 00100 /** Constructor */ 00101 PackageCognitionMotion(); 00102 }; 00103 00104 /** 00105 * Streaming operator that reads a PackageCognitionMotion from a stream. 00106 * @param stream The stream from which is read. 00107 * @param packageCognitionMotion The PackageCognitionMotion object. 00108 * @return The stream. 00109 */ 00110 In& operator>>(In& stream, PackageCognitionMotion& packageCognitionMotion); 00111 00112 /** 00113 * Streaming operator that writes a PackageCognitionMotion to a stream. 00114 * @param stream The stream to write on. 00115 * @param packageCognitionMotion The PackageCognitionMotion object. 00116 * @return The stream. 00117 */ 00118 Out& operator<<(Out& stream, const PackageCognitionMotion& packageCognitionMotion); 00119 00120 00121 #endif //__PackageCognitionMotion_h_
1.3.6