Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Modules/MotionControl/MotionStabilizer.h

Go to the documentation of this file.
00001 /**
00002 * @file MotionStabilizer.h
00003 * 
00004 * Definition of class MotionStabilizer
00005 *
00006 * @author Jan Hoffmann
00007 */
00008 
00009 #ifndef __MotionStabilizer_h_
00010 #define __MotionStabilizer_h_
00011 
00012 #include "Modules/WalkingEngine/WalkingEngine.h"
00013 #include "Tools/Math/PIDsmoothedValue.h"
00014 #include "Representations/Perception/SensorDataBuffer.h"
00015 
00016 
00017 
00018 /**
00019 * @class MotionStabilizer
00020 *
00021 * class/function that tries to stabilize the robot in such a way that
00022 * no forces other then gravity act on the center of mass (or wherever
00023 * the acceleration sensor is placed). idea is to stabilize walking 
00024 * movement of the robot. 
00025 *
00026 * @author Jan Hoffmann
00027 */
00028 
00029 class MotionStabilizer
00030 {
00031 public:
00032 
00033   MotionStabilizer();
00034 
00035   /**
00036   * takes all parameters used to generate a motion and alters the joint
00037   * datas in order to stabilize the motion
00038   * 
00039   * @todo this is no parameter documentation!
00040   * @param lastMotionType
00041   * @param motionRequest
00042   * @param jointData
00043   * @param odometryData
00044   * @param sensorDataBuffer
00045   * 
00046   * @return true if successfull
00047   */ 
00048   bool stabilize(
00049     MotionRequest::MotionID lastMotionType,
00050     const MotionRequest& motionRequest, 
00051     JointData& jointData, 
00052     OdometryData& odometryData,
00053     const SensorDataBuffer& sensorDataBuffer);
00054   
00055   PIDsmoothedValue accelX, accelY, accelZ,
00056     xFore, xHind, yLeft, yRight;
00057 
00058   double stabilizerScale;
00059 
00060 private: 
00061 };
00062 
00063 #endif// __MotionStabilizer_h_

Generated on Mon Mar 20 21:59:54 2006 for GT2005 by doxygen 1.3.6