![](/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.cpp
- Revision:
- 11:775ebb69d5e1
- Parent:
- 6:48eeb41188dd
diff -r 09ddb819fdcb -r 775ebb69d5e1 RobotControl/MotionState.cpp --- a/RobotControl/MotionState.cpp Thu Apr 04 06:43:43 2013 +0000 +++ b/RobotControl/MotionState.cpp Fri Apr 05 10:58:42 2013 +0000 @@ -7,12 +7,8 @@ xposition = 0.0f; yposition = 0.0f; theta = 0.0f; - thetaCompass = 0.0f; speed = 0.0f; omega = 0.0f; - - acceleration = ACCELERATION; - thetaAcceleration = THETA_ACCELERATION; } @@ -27,8 +23,6 @@ this->theta = theta; this->speed = speed; this->omega = omega; - acceleration = ACCELERATION; - thetaAcceleration = THETA_ACCELERATION; } MotionState::~MotionState() @@ -108,38 +102,3 @@ return omega; } -void MotionState::setAcceleration(float acceleration) -{ - this->acceleration = acceleration; -} - -float MotionState::getAcceleration() -{ - return acceleration; -} - -void MotionState::setThetaAcceleration(float thetaAcceleration) -{ - this->thetaAcceleration = thetaAcceleration; -} - -float MotionState::getThetaAcceleration() -{ - return thetaAcceleration; -} - -void MotionState::increment(float desiredSpeed, - float desiredOmega, - float period) -{ - float acceleration = (desiredSpeed-speed)/period; - if (acceleration < -this->acceleration) acceleration = -this->acceleration; - else if (acceleration > this->acceleration) acceleration = this->acceleration; - - float thetaAcceleration = (desiredOmega-omega)/period; - if (thetaAcceleration < -this->thetaAcceleration) thetaAcceleration = -this->thetaAcceleration; - else if (thetaAcceleration > this->thetaAcceleration) thetaAcceleration = this->thetaAcceleration; - - speed += acceleration * period; - omega += thetaAcceleration * period; -}