![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
This program is for an autonomous robot for the competition at the Hochschule Luzern. http://cruisingcrepe.wordpress.com/ We are one of the 32 teams. http://cruisingcrepe.wordpress.com/ 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: http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf
Fork of autonomous Robot Android by
Diff: RobotControl/MotionState.h
- Revision:
- 11:775ebb69d5e1
- Parent:
- 6:48eeb41188dd
- Child:
- 12:235e318a414f
--- a/RobotControl/MotionState.h Thu Apr 04 06:43:43 2013 +0000 +++ b/RobotControl/MotionState.h Fri Apr 05 10:58:42 2013 +0000 @@ -6,51 +6,39 @@ /** * @author Christian Burri * - * @section LICENSE - * - * Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe + * @copyright Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe * All rights reserved. * - * @section DESCRIPTION + * @brief * * This help class is for calculate and save the actual or desired value. * There have the setter and the getter methode to change the value - * Is also possible to limit the translational and rotational speed - * by the value acceleration and thetaAcceleration. Therefore - * can adjust the ramp. * */ class MotionState { -private: - - float acceleration; - float thetaAcceleration; - public: - /** The xposition value of this motion state. */ + /** @brief The xposition value of this motion state. */ float xposition; - /** The yposition value of this motion state. */ + /** @brief The yposition value of this motion state. */ float yposition; - /** The θ of this motion state. */ + /** @brief The θ of this motion state. */ float theta; - /** The θ of this motion state from the compass. */ - float thetaCompass; - /** The speed value of this motion state. */ + /** @brief The speed value of this motion state. */ float speed; - /** The speed rotational value of this motion state. */ + /** @brief The speed rotational value of this motion state. */ float omega; /** - * Creates a <code>MotionState</code> object. + * @brief Creates a <code>MotionState</code> object. * The values for position and speed are set to 0. */ MotionState(); /** - * Creates a <code>MotionState</code> object with given values for position and speed. + * @brief 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] @@ -64,12 +52,12 @@ float omega); /** - * Destructor of the Object to destroy the Object. + * @brief Destructor of the Object to destroy the Object. **/ virtual ~MotionState(); /** - * Sets the values for xPosition, yPostion and θ. + * @brief 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] @@ -83,108 +71,71 @@ float omega); /** - * Sets the values for X-Position, Y-Postion and θ. + * @brief 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. + * @brief 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. + * @brief Gets the X-position value. * @return the xposition value of this motion state, given in [m] */ float getxPosition(); /** - * Sets the Y-position value. + * @brief 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. + * @brief Gets the Y-position value. * @return the xposition value of this motion state, given in [m] */ float getyPosition(); /** - * Sets the θ value. + * @brief Sets the θ value. * @param theta the desired θ value of this motion state, given in [rad] */ void setTheta(float theta); /** - * Gets the θ value. + * @brief Gets the θ value. * @return the θ value of this motion state, given in [rad] */ float getTheta(); /** - * Sets the speed value. + * @brief 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. + * @brief Gets the speed value. * @return the speed value of this motion state, given in [m/s] */ float getSpeed(); /** - * Sets the ω value. + * @brief Sets the ω value. * @param omega the desired ω value of this motion state, given in [rad/s] */ void setOmega(float omega); /** - * Gets the ω value. + * @brief 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>] - */ - 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>] - */ - 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>] - */ - 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>] - */ - 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); }; #endif