On April, 7, 2018, the Speed D8ers’ prototype competed head-to-head against 62 other prototypes at a final competition in the Recreation and Physical Activity Center (RPAC). The competition consisted of three rounds of round robin play with four robots performing at a time. Then, there was a single-elimination tournament, where the robot that earned the most points moved on, and the other three robots were eliminated. In the event of a tie, the robot that completed the tasks in the least amount of time was declared the winner of that round. All scores were determined by the Course Automated Software (CAS) system, using the same point values as the individual competition, which are shown here.
Testing
The Speed D8ers began working to improve the code from the individual competition for the final competition on April 2. Team programmers added longer sections of time-based code in order to decrease the time spent checking for RPS positions. However, on April 3, the team was seeing a decline in consistency, so team members went back to the individual competition code and focused on improving consistency rather than speed. On April 5, the team added an RPS position check to ensure that the robot picked up the wrench on each run. If the robot did not reach a specific RPS x-position, then it backed up, turned slightly to the right or left, and tried to pick up the wrench again. This check greatly improved consistency. Team members attempted to add a similar check to align with the fuel crank, but this proved too difficult due to the angle of the crank.
On April 6, the left motor showed a weakness, causing the robot to struggle while moving up the ramp. The team added additional power to the left motor to help the robot get up the ramp without veering into the wall surrounding the starting area. On competition day, the team tested the lighting at the Recreational and Physical Activity Center and made adjustments to read the red and blue buttons. During a final practice run, the team noticed that the left motor still hindered the robot from making it up the ramp. Team members again increased the power of the left motor in an attempt to correct the issue. The team also added paper to the sides of the wheels to eliminate friction between the wheels and the wall. This is shown here.
Strategy
In the final competition, the Speed D8ers planned to use the same strategy as in the individual competition, depicted here. The robot began with the button control panel, pressing both the electrical test button and the RPS button while there. Then, the robot aligned with the wrench using RPS heading and coordinate checks, and moved forward to pick it up. Then, it moved back, turned left toward the wall, and turned left again before driving into the car jack. After toggling the jack, the robot backed up and turned toward the grass ramp. It made a slight turn to line up with the center of the ramp, and drove to the upper level. Then, the robot turned 45 degrees to the fuel crank. After spinning the crank, it backed up and turned 90 degrees to deposit the wrench in the garage. Then, the robot took the concrete path back to the lower level and finished the course by pressing the final charging button.
Round Robin 1
In the first round robin, the robot successfully started at the light, read the blue light, and pressed the blue button on the control panel. It also picked up the wrench, but failed to toggle the car jack. Then, the robot’s left motor was too weak to make it up the ramp, causing the robot to get stuck on the starting area’s wall. The team terminated the run after compiling 48 primary points and 0 secondary points in 1 minutes, 18 seconds, and 21 milliseconds.
Team programmers adjusted the motor power levels to make the robot go up the ramp with full power, but the code failed to download onto the Proteus before the second round robin. Thus, no modifications were made between the first and second rounds.
Round Robin 2
In the second round robin, the robot successfully started at the light, read the blue light, and pressed the blue button on the control panel. It also picked up the wrench, and toggled the car jack. Then, the robot again got caught on the starting area’s wall before making it completely up the ramp, due to a weak left motor. The team terminated the run after compiling 58 primary points and 0 secondary points in 56 seconds and 8 milliseconds.
Following the second round, the team successfully downloaded the code to make the robot go up the ramp at full power, rather than half power with the right motor and 65-percent power with the left motor. No additional changes were made between rounds.
Round Robin 3
In the final round robin, the robot successfully started at the light, read the blue light, and pressed the blue button on the control panel. It also picked up the wrench, and toggled the car jack. Then, the robot got caught on the starting area’s wall after making it completely up the ramp. This resulted in the robot being oriented parallel to the top wall of the starting area. The team terminated the run after compiling 58 primary points and 0 secondary points in 1 minute and 57 milliseconds.
Following the round robins, the team determined that the robot would be unable to make it satisfactorily to the top level without getting caught on the wall of the starting area. Thus, they had two options: not attempting to go up the ramp in order to accumulate additional points for pressing the final button immediately after toggling the car jack, or modifying the code for the upper level of the course with the assumption that the robot will get caught parallel to the starting area’s wall after making it up the ramp. Ultimately, the team decided to modify the code for the upper level. Team programmers added a section of code for the robot to move straight into the side wall adjacent to the grass ramp on the upper level. The robot would then align with the wall, move forward, and then proceed with its regular program of aligning with the fuel crank using an RPS heading check. The updated strategy is shown below.
Single-Elimination: Big Dance
In the first round of the single-elimination tournament, the Speed D8ers’ robot successfully started at the light, read the red light, and pressed the red button on the control panel. It held the white RPS button for 5 seconds, picked up the wrench, and toggled the car jack. Then, the robot made it completely up the ramp for the first time all day. Since the team altered the code with the assumption that the robot would get caught against the wall of the starting area, the robot then turned to orient itself toward the garage instead of the fuel crank. Slowly, the robot turned to face the fuel crank using RPS heading check. The robot approached the fuel crank, aligning to the right of the center of the crank. This caused the crank to turn in the wrong direction. The, the robot moved to deposit the wrench in the garage, but the movement was too fast and the wrench was not deposited. The robot then quickly went back to the lower level to press the final button with three seconds remaining. The robot compiled all 75 primary points and 0 secondary points in 1 minute, 57 seconds, and 31 milliseconds. Fortunately, the other three robots compiled fewer points, so the Speed D8ers moved on to the Sweet Sixteen.
Single-Elimination: Sweet Sixteen
In the Sweet Sixteen, the Speed D8ers’ robot started with the light, recognized the blue light, pressed the blue button, and held the white RPS button for the full 5 seconds. It picked up the wrench, toggled the car jack, and traveled up the grass ramp. While it got caught on the starting area wall again, the robot successfully backed up against the pipe on the top portion of the course. The robot then turned off of the wall and used RPS to orient itself with the fuel crank. The robot was able to turn the fuel crank only a little less than 180 degrees in the correct direction. The robot then successfully deposited the wrench but got caught on the starting area wall before pressing the final button. In total, the robot earned 66 of the 75 primary points and 18 of the secondary points in 1 minutes, 38 seconds, and 77 milliseconds. Unfortunately, a competing team scored more than the Speed D8ers’ 84 points, eliminating the Speed D8ers from the tournament.
Performance Analysis
Overall, the Speed D8ers’ robot met and exceeded expectations by advancing to the Sweet Sixteen and placing 2nd in its second round match. But initially, the Round Robin matches were not satisfactory, as the robot was unable to successfully climb the ramp. In all three Round Robin runs, the robot completed the components on the lower level correctly. The only exception was the robot missing the car jack on the first round. However, imbalance in motor strengths – which had been witnessed in the two days prior to the tournament – caused the robot to get caught on the starting area wall, prompting the team to terminate the runs. No adjustments were made between the first two runs. For the third Round Robin match, the both wheels were programmed to drive up the ramp at 100 percent speed. While the robot did make it fully to the top level, it still got caught on the starting area.
The team attempted to solve this problem by first setting the motor speeds back to the way they were in rounds 1 and 2. Assuming the robot would get stuck, it was programmed to back into the pipes along the border of the top region of the field. After squaring, the robot would move forward, turn, and use RPS checks to align with the fuel crank. While this was never tested, it proved to be successful, as the robot turned the crank, reached the garage, and pressed the final button in the first elimination match. Because of the issues faced in the first three rounds, advancing to the next round and completing all primary tasks exceeded all expectations. Furthermore, the robot performed even better on the next round, turning the crank the correct direction, albeit about 10 degrees too little, and successfully depositing the wrench, although it missed the final button as well. A score of 84 and placing 2nd in the Sweet Sixteen match was very acceptable, especially provided the difficulties face in the Round Robin.