Home

Page

Background

When starting to build the robot, the only goal was to have it successfully execute a PID line tracing system around an S curve. Once the P, or Proportional, of the PID was coded, it was able to smoothly move around an S curve. The “I”, or Integral, part of PID is what really enabled the robot to perform this amazing task. Integral is used for performing 90˚ or sharper turns without too much wobble. The ability to predict the error and the live calibration helped the robot traverse the path. The coding was not written specifically for this task, but any path that the robot may be tested on. I did not think nor expect it to successfully bend through the turns, since there were much better robots than mine that were not able to complete it. Once I realized that the robot did cross the turns, I was very excited.

Design Process

I had previously worked with Java and C++, something that proved useful when using RobotC for the first time. Therefore, learning RobotC was an easy transition. The difficult part was understanding how all components of the PID works. In my opinion, the self-calibration seemed the hardest. But before the coding began, the robot had to be built. I was given a model to base my robot off of. However, I had to add a claw as a part of mine while keeping the robot streamline and lightweight.

Building the robot took some time, too long in my opinion, but in the end it has proved to be quite versatile. Next, the programming started. Programming the “P” seemed quite simple, as it only calculated the error once and factored that in to the power of both the left and right motors. The “I” proved a little more difficult, as now it was required to predict the error, meaning run the Integral in a while loop.

In the tests, the robot performed well, however, it could not perform a left 90˚ turn since it was tracing the right side. This is why the self-calibration is needed. It has to set the error to zero after every turn and recalibrate itself to ensure there is no wobbling and it is able to perform any type of turn. The testing for the calibration was a long process. Sometimes, it made the robot worse than before. However, with more testing, the right calibration process was found so that the robot can run smoothly.