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: StateDefines/State.cpp
- Revision:
- 8:696c2f9dfc62
- Parent:
- 6:48eeb41188dd
- Child:
- 11:775ebb69d5e1
diff -r 34be8b3a979c -r 696c2f9dfc62 StateDefines/State.cpp --- a/StateDefines/State.cpp Tue Mar 26 08:29:43 2013 +0000 +++ b/StateDefines/State.cpp Sat Mar 30 06:55:08 2013 +0000 @@ -46,8 +46,8 @@ "SetpointX-Axis[m]\t" //15 "SetpointY-Axis[m]\t" "SetpointAngel[grad]\t" //17 - "RightDistanceSensor[m]\t" - "CompassAngle[grad]\t" + "SetpointVelocitiy[m/s]\t" + "SetpointVelocitiyRotations[rad/s]\t" "CompassX-Axis\t" //20 "CompassY-Axis\t" "State\t" @@ -81,8 +81,8 @@ s.setxAxis, s.setyAxis, s.setAngle, - s.rightDist, - s.compassAngle, + s.setVelocity, + s.setOmega, s.compassxAxis, s.compassyAxis, s.state, @@ -151,9 +151,9 @@ s->leftPulses = - motorControllerLeft->getPulses(); s->rightPulses = motorControllerRight->getPulses(); s->leftVelocity = motorControllerLeft->getActualSpeed() * - 2.0f * WHEEL_RADIUS_LEFT * PI; + 2.0f * WHEEL_RADIUS_LEFT * PI * GEAR; s->rightVelocity = - motorControllerRight->getActualSpeed()* - 2.0f * WHEEL_RADIUS_RIGHT * PI; + 2.0f * WHEEL_RADIUS_RIGHT * PI * GEAR; s->velocity = robotControl->getActualSpeed(); s->omega = robotControl->getActualOmega(); s->xAxis = robotControl->getxActualPosition(); @@ -166,6 +166,8 @@ s->setyAxis = robotControl->getDesiredyPosition(); s->setAngle = robotControl->getDesiredTheta() * 180 / PI; // s->compassAngle = compass->getFilteredAngle() * 180 / PI; + s->setVelocity = robotControl->getDesiredSpeed(); + s->setOmega = robotControl->getDesiredOmega(); s->rho = robotControl->getDistanceError(); s->lamda = robotControl->getThetaErrorToGoal() * 180 / PI;