Step Forward Control AlgorithmShortly after prototyping and running various experiments to determine which attributes would best assist our robot in completingthe many tasks introduced in the game Breakaway. The ÜberBots we concluded that speed would be a deterministic asset to have.Having a fast and maneuverable system would allow our robot to quickly move from one place to another. Whether the drivers areavoiding obstacles or lining up a soccer ball, speed can play a critical role in the ability to successfully complete this year’s challenge.In past years, we have had difficulty achieving and maintaining a high speed for our robot. As a repercussion, other robots couldovertake us in many aspects of the game. Step Forward Input Drive Permuation Motor + Command Physical Encoder Feedback, in direct relation to the velocity the drive shaft is rotatingIn order to overcome this problem, a dynamic software based control system was implemented to control the speed and direction ofthe wheels and anticipate any unpredictable situations to result in an extremely versatile robot. One attribute of this system is that itnot only uses the driver input to move the robot, but also adds the appropriate error from the PID loop to help reach the desiredspeed quickly and maintain it.
Without the step forward function implemented, a rate-based control loopwill experience much difficulty and instability attempting to reach the desiredset point. As shown by the graph at to the right, when a rate based controlloop is strictly controlling the motors by the error of the system will causedetrimental control. By attempting to reach the set point by only outputtingthe error of a control loop, the system will reach the desired rate, then halt,because the error has been corrected for. The next iteration, the system willincrease speed in order to once again reach the set point. The cRIO canprocess hundreds of iterations per second, thus causing the motors toincrease, and decrease in voltage hundreds of time a second. Although thismay be unnoticeable, a control system like this will yield little to no benefitsfrom the control loop, and sacrifice a marginal amount of control, comparedto a rate based control loop with a step forward function
With the addition of the step forward control loop, therobot will experience improved control and performance.As demonstrated by the graph to the right, the systemreaches the set point fast and effectively. There is little tono fluctuation in the output voltage to the motor. This iscrucial, because the motor will now stay in tune with thefeedback and output every iteration. There will be nooscillation of voltage. Consequently, the robot willexperience a smooth acceleration, with no slipping or splitsecond halting of the motor. This provides unparalleledacceleration, control and versatility in all drive situations.