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
RobotControl/MotionState.h
- Committer:
- chrigelburri
- Date:
- 2013-04-07
- Revision:
- 12:235e318a414f
- Parent:
- 11:775ebb69d5e1
- Child:
- 38:d76e488e725f
File content as of revision 12:235e318a414f:
#ifndef _MOTION_STATE_H_ #define _MOTION_STATE_H_ #include "defines.h" /** * @author Christian Burri * * @copyright Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe * All rights reserved. * * @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 * */ class MotionState { public: /** @brief The xposition value of this motion state. */ float xposition; /** @brief The yposition value of this motion state. */ float yposition; /** @brief The θ of this motion state. */ float theta; /** @brief The speed value of this motion state. */ float speed; /** @brief The speed rotational value of this motion state. */ float omega; /** * @brief Creates a <code>MotionState</code> object. * The values for position and speed are set to 0. */ MotionState(); /** * @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] * @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); /** * @brief Destructor of the Object to destroy the Object. */ virtual ~MotionState(); /** * @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] * @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); /** * @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); /** * @brief Sets the X-position value. * @param xposition the desired xposition value of this motion state, given in [m] */ void setxPosition(float xposition); /** * @brief Gets the X-position value. * @return the xposition value of this motion state, given in [m] */ float getxPosition(); /** * @brief Sets the Y-position value. * @param yposition the desired yposition value of this motion state, given in [m] */ void setyPosition(float yposition); /** * @brief Gets the Y-position value. * @return the xposition value of this motion state, given in [m] */ float getyPosition(); /** * @brief Sets the θ value. * @param theta the desired θ value of this motion state, given in [rad] */ void setTheta(float theta); /** * @brief Gets the θ value. * @return the θ value of this motion state, given in [rad] */ float getTheta(); /** * @brief Sets the speed value. * @param speed the desired speed value of this motion state, given in [m/s] */ void setSpeed(float speed); /** * @brief Gets the speed value. * @return the speed value of this motion state, given in [m/s] */ float getSpeed(); /** * @brief Sets the ω value. * @param omega the desired ω value of this motion state, given in [rad/s] */ void setOmega(float omega); /** * @brief Gets the ω value. * @return the ω value of this motion state, given in [rad/s] */ float getOmega(); }; #endif