Code Glossary:
motorSpeed(); – power that motor(s) will run at
goFor(); – amount of time previous command should be executed
celerate(); – accelerates motor(s)
brake(); – brakes motor(s)
reverse(); – reverses motor(s)
goToRelativePosition(); – continues previous command until AEV reaches a position specified marks away from its current position
goToAbsolutePosition(); – continues previous command until AEV reaches a position specified marks away from original position
Code Used Throughout Testing:
Data Analysis Tool Code
//Code used for Exercise 4-Data Analysis Tool
//1 – AEV will run all four motors with 25% power of 3 seconds
celerate(4,0,25,3);
//2 – all the motors run at a constant speed of 25% power for 1 second
motorSpeed(4,25); goFor(1);
//3 – all motors run at 20% power for 2 seconds
motorSpeed(4,20); goFor(2);
//4 – all 4 motors reverse
reverse(4);
//5 – all motors again run at constant speed at 25% power for 2 seconds
motorSpeed(4,25); goFor(2);
//6 – all motors break
brake(4);
Motor Test Code
//1 – accelerate motor 1 from 0 to 15% in 2.5 seconds
celerate(1,0,15,2.5);
//2 – motor 1 runs at 15% for 1 second
motorSpeed(1,15); goFor(1);
//3 – brake motor 1
brake(1);
//4 – accelerate motor 2 from 0 to 27% in 4 seconds
celerate(2,0,27,4);
//5 – motor 2 runs at 27% for 2.7 seconds
motorSpeed(2,27); goFor(2.7);
//6 – decelerate motor 2 from 27 to 15% in 1 second
celerate(2,27,15,1);
//7 – brake motor 2
brake(2);
//8 – reverse motor 2
reverse(2);
//9 – accelerate all motors from 0 to 31% in 2 seconds
celerate(4,0,31,2);
//10 – run all motors at 35% for 1 second
motorSpeed(4,35); goFor(1);
//11 – brake motor 2, run motor 1 at 35% for 3 seconds
brake(2); motorSpeed(1,35); goFor(3);
//12 – brake all motors for 1 second
brake(4); goFor(1);
//13 – reverse motor 1
reverse(1);
//14 – accelerate motor 1 from 0 to 19% in 2 seconds
celerate(1,0,19,2);
//15 – run motor 2 at 35%, motor 1 at 19% for 2 seconds
motorSpeed(2,35); motorSpeed(1,19); goFor(2);
//16 – run all motors at 19% for 2 seconds
motorSpeed(4,19); goFor(2);
//17 – decelerate all motors from 19 to 0% in 3 seconds
celerate(4,19,0,3);
//18 – brake all motors
brake(4);
Reflector Sensor Test
//1 – All motors run at 25% for 2 seconds
motorSpeed(4,25); goFor(2);
//2 – All motors run at 20% until at 295.4 marks
motorSpeed(4,20); goToAbsolutePosition(295.4);
//3 – All motors reverse
reverse(4);
//4 – All motors run at 30% for 1.5 seconds
motorSpeed(4,30); goFor(1.5);
//5 – All motors brake
brake(4);
Propeller Configuration Test
//1 – Run all motors for 25% power for 4 seconds
motorSpeed(4,25); goFor(4);
//2 – Brake all motors
brake(4);
//3 – Reverse all motors
reverse(4);
//4 – Run all motors at 25% power for 4 seconds
motorSpeed(4,25); goFor(4);
Battery Test Code
//reverse motor to move forward
reverse(4);
//motors run at 25% power, not too much
motorSpeed(4, 25);
//motors continue to run for 4 seconds, the aev moves forward along the track
goFor(4);
//motors deccelerate, to 0 power, in four seconds
celerate(4, 25, 0, 4);
//motors brake for good measure
brake(4);
//motors reverse directions
reverse(4);
//motors run at 25% power, moving the aev in the reversed direction
motorSpeed(4,25);
//motors run for 6 seconds
goFor(6);
//all motors brake, and the aev slides into a stop
brake(4);
Performance Test 1 – Initial Code 224
//going to top of hill
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(182);
brake(4);
//coasting to gate and stopping
goToAbsolutePosition(315);
brake(4);
goFor(7);
//leaving gate
motorSpeed(4,30);
goFor(2);
brake(4);
Performance Test 1 – Initial Code 308
//in 308, still not quite far enough
//to top of hill
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(197);
//coast to and stop at gate
brake(4);
goToAbsolutePosition(300);
brake(4);
goFor(8);
//leave gate
motorSpeed(4,30);
goFor(2);
brake(4);
Performance Test 2 – Custom Base 224
//getting to gate
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(215);
brake(4);
goToAbsolutePosition(315);
brake(4);
goFor(7);
//leaving gate
motorSpeed(4,30);
goToRelativePosition(30);
//coasting to caboose
brake(4);
goFor(10);
reverse(4);
motorSpeed(4,35);
goFor(3);
Performance Test 2 – Custom Base 224 (improved)
//getting to gate
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(230);
brake(4);
goToAbsolutePosition(300);
brake(4);
goFor(7);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(390);
//coasting to caboose
brake(4);
goFor(10);
reverse(4);
motorSpeed(4,35);
goFor(2);
Performance Test 2 – Original Base, 308
//getting up hill
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(182);
brake(4);
//coasting to gate
goToAbsolutePosition(315);
brake(4);
goFor(7);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(390);
//coasting to caboose
brake(4);
goFor(10);
reverse(4);
motorSpeed(4,35);
goFor(2);
Performance Test 2 – Original Base PT2 308 (worked)
//going up hill
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(-235);
brake(4);
//coasting to gate
goToAbsolutePosition(-300);
brake(4);
goFor(8);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(-414);
//coasting to caboose
brake(4);
goToAbsolutePosition(-620);
brake(4);
goFor(7);
//heading back
reverse(4);
motorSpeed(4,35);
goFor(3);
Performance Test 2 – Original Base 308 V2
//going up hill
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(-235);
brake(4);
//coasting to gate
goToAbsolutePosition(-300);
brake(4);
goFor(8);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(-414);
//coasting to caboose
brake(4)
goToAbsolutePosition(-600);
reverse(4);
goFor(2);
goToAbsolutePosition(-620);
brake(4);
goFor(7);
motorSpeed(4,35);
goFor(3);
Performance Test 2 – Original Base 224 (V2)
//going up hill
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(-245);
brake(4);
goToAbsolutePosition(-297);
reverse(4);
motorSpeed(4,30);
goFor(.7);
brake(4);
//at gate
reverse(4);
goFor(8);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(-428);
//coasting to caboose
brake(4);
goToAbsolutePosition(-615);
reverse(4);
motorSpeed(4,30);
goFor(.7);
brake(4);
goFor(7);
motorSpeed(4,35);
goFor(3);
Final Test – Original Base 308 (Initial)
//up hill
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(-245);
brake(4);
goToAbsolutePosition(-297);
reverse(4);
motorSpeed(4,30);
goFor(.7);
brake(4);
//at gate
reverse(4);
goFor(8);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(-429);
//coasting to caboose
brake(4);
goToAbsolutePosition(-615);
reverse(4);
motorSpeed(4,30);
goFor(.7);
brake(4);
goFor(7);
//way back to gate
motorSpeed(4,35);
goToAbsolutePosition(-430);
brake(4);
goToAbsolutePosition(-370);
reverse(4);
motorSpeed(4,35);
goFor(1.7);
//at gate
brake(4);
goFor(7);
//leaving gate
reverse(4);
motorSpeed(4,35);
goToAbsolutePosition(-246);
brake(4);
//coast to end
goToAbsolutePosition(-49);
reverse(4);
motorSpeed(4,35);
goFor(1.7);
Final Test – Original Base, 308, 4/4/18
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(-245);
brake(4);
goToAbsolutePosition(-297);
reverse(4);
motorSpeed(4,30);
goFor(.7);
brake(4);
//at gate
goFor(7.5);
reverse(4);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(-429);
//coasting to caboose
brake(4);
goToAbsolutePosition(-615);
reverse(4);
motorSpeed(4,30);
goFor(.75);
brake(4);
goFor(6);
//way back to gate
motorSpeed(4,35);
goToAbsolutePosition(-415);
brake(4);
goToAbsolutePosition(-370);
reverse(4);
motorSpeed(4,35);
goFor(1.7);
//at gate
brake(4);
goFor(7);
//leaving gate
reverse(4);
motorSpeed(4,35);
goToAbsolutePosition(-246);
brake(4);
//coast to end
goToAbsolutePosition(-65);
reverse(4);
motorSpeed(4,40);
goFor(2.5);
Final Test – Original Base, 308, 4/9/18
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(-200);
brake(4);
goToAbsolutePosition(-275);
reverse(4);
motorSpeed(4,30);
goFor(1);
brake(4);
//at gate
goFor(7.5);
reverse(4);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(-429);
//coasting to caboose
brake(4);
goToAbsolutePosition(-610);
reverse(4);
motorSpeed(4,30);
goFor(1);
brake(4);
goFor(6);
//way back to gate
celerate(4, 31, 45, 3);
goToAbsolutePosition(-415);
brake(4);
goToAbsolutePosition(-390);
reverse(4);
motorSpeed(4,40);
goFor(2);
//at gate
brake(4);
goFor(7);
//leaving gate
reverse(4);
motorSpeed(4,35);
goToAbsolutePosition(-246);
brake(4);
//coast to end
goToAbsolutePosition(-63);
reverse(4);
motorSpeed(4,40);
goFor(1.3);
Final Test – Original Base, 308, 4/11/18
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(-200);
brake(4);
goToAbsolutePosition(-275);
reverse(4);
motorSpeed(4,34);
goFor(1);
brake(4);
//at gate
goFor(7.5);
reverse(4);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(-429);
//coasting to caboose
brake(4);
goToAbsolutePosition(-610);
reverse(4);
motorSpeed(4,35);
goFor(1);
brake(4);
goFor(6);
//way back to gate
celerate(4, 31, 45, 3);
goToAbsolutePosition(-416);
reverse(4);
motorSpeed(4,45);
goFor(2);
//at gate
brake(4);
goFor(7);
//leaving gate
reverse(4);
motorSpeed(4,35);
goToAbsolutePosition(-243);
brake(4);
//coast to end
goToAbsolutePosition(-63);
reverse(4);
motorSpeed(4,40);
goFor(1.15);
Final Performance Test – 224
reverse(4);
motorSpeed(4,30);
goToAbsolutePosition(-200);
brake(4);
goToAbsolutePosition(-291);
reverse(4);
motorSpeed(4,30);
goFor(1.7);
brake(4);
//at gate
goFor(7);
reverse(4);
//leaving gate
motorSpeed(4,30);
goToAbsolutePosition(-429);
//coasting to caboose
brake(4);
goToAbsolutePosition(-605);
reverse(4);
motorSpeed(4,35);
goFor(1);
brake(4);
goFor(5);
//way back to gate
celerate(4, 31, 45, 3);
goToAbsolutePosition(-415);
brake(4);
goToAbsolutePosition(-388);
reverse(4);
motorSpeed(4,45);
goFor(1.5);
//at gate
brake(4);
goFor(6.9);
//leaving gate
reverse(4);
motorSpeed(4,45);
goToAbsolutePosition(-243);
brake(4);
//coast to end
goToAbsolutePosition(-63);
reverse(4);
motorSpeed(4,41);
goFor(2.2);