This program is for an autonomous robot for the competition at the Hochschule Luzern. We are one of the 32 teams. <a href="http://cruisingcrepe.wordpress.com/">http://cruisingcrepe.wordpress.com/</a> The postition control is based on this Documentation: Control of Wheeled Mobile Robots: An Experimental Overview from Alessandro De Luca, Giuseppe Oriolo, Marilena Vendittelli. For more information see here: <a href="http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf">http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf</a>
Fork of autonomousRobotAndroid by
Diff: RobotControl/MotionState.h
- Revision:
- 6:48eeb41188dd
- Parent:
- 3:92ba0254af87
- Child:
- 11:775ebb69d5e1
--- a/RobotControl/MotionState.h Thu Mar 21 08:56:53 2013 +0000 +++ b/RobotControl/MotionState.h Sat Mar 23 13:52:48 2013 +0000 @@ -36,7 +36,7 @@ float yposition; /** The θ of this motion state. */ float theta; - /** The θ of this motion state from the compass. */ + /** The θ of this motion state from the compass. */ float thetaCompass; /** The speed value of this motion state. */ float speed; @@ -50,127 +50,141 @@ MotionState(); /** - * Creates a <code>MotionState</code> object with given values for position and speed. - * @param xposition the initial position value of this motion state, given in [m] - * @param yposition the initial position value of this motion state, given in [m] - * @param theta the initial θ value of this motion state, given in [rad] - * @param speed the initial speed value of this motion state, given in [m/s] - * @param omega the initial ω speed value of this motion state, given in [rad/s] - */ - MotionState(float xposition, float yposition, float theta, float speed, float omega); + * Creates a <code>MotionState</code> object with given values for position and speed. + * @param xposition the initial position value of this motion state, given in [m] + * @param yposition the initial position value of this motion state, given in [m] + * @param theta the initial θ value of this motion state, given in [rad] + * @param speed the initial speed value of this motion state, given in [m/s] + * @param omega the initial ω speed value of this motion state, given in [rad/s] + */ + MotionState(float xposition, + float yposition, + float theta, + float speed, + float omega); /** - * Destructor of the Object to destroy the Object. - **/ + * Destructor of the Object to destroy the Object. + **/ virtual ~MotionState(); /** - * Sets the values for xPosition, yPostion and θ. - * @param xposition the initial position value of this motion state, given in [m] - * @param yposition the initial position value of this motion state, given in [m] - * @param theta the initial θ value of this motion state, given in [rad] - * @param speed the initial speed value of this motion state, given in [m/s] - * @param omega the initial ω speed value of this motion state, given in [rad/s] - */ - void setState(float xposition, float yposition, float theta, float speed, float omega); + * Sets the values for xPosition, yPostion and θ. + * @param xposition the initial position value of this motion state, given in [m] + * @param yposition the initial position value of this motion state, given in [m] + * @param theta the initial θ value of this motion state, given in [rad] + * @param speed the initial speed value of this motion state, given in [m/s] + * @param omega the initial ω speed value of this motion state, given in [rad/s] + */ + void setState(float xposition, + float yposition, + float theta, + float speed, + float omega); /** - * Sets the values for X-Position, Y-Postion and θ. - * @param motionState another <code>MotionState</code> object to copy the state values from - */ + * Sets the values for X-Position, Y-Postion and θ. + * @param motionState another <code>MotionState</code> object to copy the state values from + */ void setState(MotionState* motionState); /** - * Sets the X-position value. - * @param xposition the desired xposition value of this motion state, given in [m] - */ + * Sets the X-position value. + * @param xposition the desired xposition value of this motion state, given in [m] + */ void setxPosition(float xposition); /** - * Gets the X-position value. - * @return the xposition value of this motion state, given in [m] - */ + * Gets the X-position value. + * @return the xposition value of this motion state, given in [m] + */ float getxPosition(); /** - * Sets the Y-position value. - * @param yposition the desired yposition value of this motion state, given in [m] - */ + * Sets the Y-position value. + * @param yposition the desired yposition value of this motion state, given in [m] + */ void setyPosition(float yposition); /** - * Gets the Y-position value. - * @return the xposition value of this motion state, given in [m] - */ + * Gets the Y-position value. + * @return the xposition value of this motion state, given in [m] + */ float getyPosition(); /** - * Sets the θ value. - * @param theta the desired θ value of this motion state, given in [rad] - */ + * Sets the θ value. + * @param theta the desired θ value of this motion state, given in [rad] + */ void setTheta(float theta); /** - * Gets the θ value. - * @return the θ value of this motion state, given in [rad] - */ + * Gets the θ value. + * @return the θ value of this motion state, given in [rad] + */ float getTheta(); /** - * Sets the speed value. - * @param speed the desired speed value of this motion state, given in [m/s] - */ + * Sets the speed value. + * @param speed the desired speed value of this motion state, given in [m/s] + */ void setSpeed(float speed); /** - * Gets the speed value. - * @return the speed value of this motion state, given in [m/s] - */ + * Gets the speed value. + * @return the speed value of this motion state, given in [m/s] + */ float getSpeed(); /** - * Sets the ω value. - * @param omega the desired ω value of this motion state, given in [rad/s] - */ + * Sets the ω value. + * @param omega the desired ω value of this motion state, given in [rad/s] + */ void setOmega(float omega); /** - * Gets the ω value. - * @return the ω value of this motion state, given in [rad/s] - */ + * Gets the ω value. + * @return the ω value of this motion state, given in [rad/s] + */ float getOmega(); /** - * Sets the maximum acceleration value. - * @param acceleration the maximum acceleration value to use for the calculation of the motion trajectory, given in [m/s<SUP>2</SUP>] - */ + * Sets the maximum acceleration value. + * @param acceleration the maximum acceleration value to use for + * the calculation of the motion trajectory, given in [m/s<SUP>2</SUP>] + */ void setAcceleration(float acceleration); /** - * Gets the maximum acceleration value. - * @return the maximum acceleration value used for the calculation of the motion trajectory, given in [m/s<SUP>2</SUP>] - */ + * Gets the maximum acceleration value. + * @return the maximum acceleration value used for the calculation + * of the motion trajectory, given in [m/s<SUP>2</SUP>] + */ float getAcceleration(); /** - * Sets the maximum acceleration value of rotation. - * @param thetaAcceleration the maximum acceleration value to use for the calculation of the motion trajectory, given in [rad/<SUP>2</SUP>] - */ + * Sets the maximum acceleration value of rotation. + * @param thetaAcceleration the maximum acceleration value to use for + * the calculation of the motion trajectory, given in [rad/<SUP>2</SUP>] + */ void setThetaAcceleration(float thetaAcceleration); /** - * Gets the maximum acceleration value of rotation. - * @return the maximum acceleration value used for the calculation of the motion trajectory, given in [rad/<SUP>2</SUP>] - */ + * Gets the maximum acceleration value of rotation. + * @return the maximum acceleration value used for the calculation of + * the motion trajectory, given in [rad/<SUP>2</SUP>] + */ float getThetaAcceleration(); /** - * Increments the current motion state towards a given desired speed. - * @param desiredSpeed the desired speed given in [m/s]. - * @param desiredOmega the desired ω given in [rad/s]. - * @param period the time period to increment the motion state for, given in [s] - */ - void increment(float desiredSpeed, float desiredOmega, float period); + * Increments the current motion state towards a given desired speed. + * @param desiredSpeed the desired speed given in [m/s]. + * @param desiredOmega the desired ω given in [rad/s]. + * @param period the time period to increment the motion state for, given in [s] + */ + void increment(float desiredSpeed, + float desiredOmega, + float period); }; #endif