For this final test, a marks based code was determined, however, there was an issue dealing with the reflectance sensors. The sensors were deems accurate, however, the AEV was going too far past its desired distance. After consultation, an addition to the design was made. A Post-It note was attached over the reflectance sensors to prevent light from interfering with the reading of the reflectance sensors.
In the Final Performance Test, the AEV had to successfully complete the two previous performance tests. From the loading dock, the AEV was to, with the caboose attached, maneuver up an incline into the targeted area before the gate. The AEV waited for seven seconds before proceeding pass the gate. After passing the gate, the AEV had to maneuver down an incline and back into the original position at the starting dock. The group’s AEV was ran and successfully the final performance test perfectly two times. From the extracted data, it was seen the the code used for the AEV had produced consistent runs with similar outcomes.
For the first and second trial, the AEV had taken 53.16 s and 53.40 s, respectively, and had a total energy output of 198.554 J and 200.796 J. The energy costs of the two runs came out to be $224, 277 and $225,398, respectively, and the time costs were $169, 740 and $170,100.
Due to these two accurate trials, an alternate MCR was proposed to Division J due to the AEV’s performance in the performance tests. This alternate MCR was to successfully complete the original MCR, but with the addition of a second caboose.
For this run, there was one accuracy point deducted and it had a time of 55.02 s, and used 240.830 J. After calculations, the energy cost for this run was $245,415 and the time cost was $172,530.
The completion of this run allowed for the erasure of the second best trial from the final performance tests. This led to the reduction of the total costs down to $503,169 in the end.
Final Performance Test (Single Caboose) – Code
reverse(4); //Reverse Polarity of the motors
motorSpeed(4,35); //Initialize both motors at 35% power
goToAbsolutePosition(230); //Run code from previous line until 230 marks
motorSpeed(4,0); // Initialize both motors at 0% power
goToAbsolutePosition(295); //Run code from previous line until 295 marks
reverse(4); //Reverse polarity of motors
motorSpeed(4,35); //Initialize both motors at 35% power
goFor(0.6); //Run code from previous line for 0.6 seconds
reverse(4); // reverse polarity of motors
goFor(8); //Run code from previous line for 8 seconds
motorSpeed(4,35); //Initialize both motors at 35% power
goToAbsolutePosition(405); //Run code from previous line until 405 marks
motorSpeed(4,0); //Initialize both motors at 0% power
goFor(10); // Run code from previous line for 10 seconds
reverse(4); //Reverse polarity
motorSpeed(4,45); //Initialize both motors at 45% power
goToAbsolutePosition(467); // run code from previous line until 467 marks
motorSpeed(4,0); //Initialize both motors at 0% power
goToAbsolutePosition(415); //Run code from previous line until 415 marks
reverse(4); // reverse polarity of the motors
motorSpeed(4,50); //Initialize both motors at 50% power
goFor(1.3); //Run code from previous line for 1.3 seconds
reverse(4); //Reverse polarity of the motors
motorSpeed(4,0); //Initialize both motors at 0% power
goFor(9); //run line from previous code for 9 seconds
motorSpeed(4,45); //Initialize both motors at 45% power
goToAbsolutePosition(265); //Run code from previous line until 265 marks
motorSpeed(4,0); //Initialize both motors at 0% power
goToAbsolutePosition(100); //Run code from previous line until 100 marks
reverse(4); //reverse polarity of the motors
motorSpeed(4,50); //Initialize both motors at 50% power
goFor(1.6); //Run code from previous line for 1.6 seconds
Final Performance Test (Double Caboose) – Code
reverse(4); //Reverse Polarity of the motors
motorSpeed(4,35); //Initialize both motors at 35% power
goToAbsolutePosition(230); //Run code from previous line until 230 marks
motorSpeed(4,0); // Initialize both motors at 0% power
goToAbsolutePosition(295); //Run code from previous line until 295 marks
reverse(4); //Reverse polarity of motors
motorSpeed(4,35); //Initialize both motors at 35% power
goFor(0.6); //Run code from previous line for 0.6 seconds
reverse(4); // reverse polarity of motors
goFor(8); //Run code from previous line for 8 seconds
motorSpeed(4,35); //Initialize both motors at 35% power
goToAbsolutePosition(405); //Run code from previous line until 405 marks
motorSpeed(4,0); //Initialize both motors at 0% power
goFor(10); // Run code from previous line for 10 seconds
reverse(4); //Reverse polarity
motorSpeed(4,55); //Initialize both motors at 45% power
goToAbsolutePosition(467); // run code from previous line until 467 marks
motorSpeed(4,0); //Initialize both motors at 0% power
goToAbsolutePosition(415); //Run code from previous line until 415 marks
reverse(4); // reverse polarity of the motors
motorSpeed(4,60); //Initialize both motors at 50% power
goFor(1.3); //Run code from previous line for 1.3 seconds
reverse(4); //Reverse polarity of the motors
motorSpeed(4,0); //Initialize both motors at 0% power
goFor(9); //run line from previous code for 9 seconds
motorSpeed(4,55); //Initialize both motors at 45% power
goToAbsolutePosition(265); //Run code from previous line until 265 marks
motorSpeed(4,0); //Initialize both motors at 0% power
goToAbsolutePosition(100); //Run code from previous line until 100 marks
reverse(4); //reverse polarity of the motors
motorSpeed(4,60); //Initialize both motors at 50% power
goFor(1.6); //Run code from previous line for 1.6 seconds