The following segments of code were written for the various exercises associated with the preliminary research and development.
Exercise 1:
/* Scenario 1 */
//Accelerate motor 1 from start to 15% power in 2.5 seconds
celerate(1,0,15,2.5);
//Run motor 1 at constant speed (15% power) for 1 second
goFor(1);
//Brake motor one
brake(1);
//Accelerate motor two from start to 27% power in 4 seconds
celerate(2,0,27,4);
//Run motor two at a constant speed (27% power) for 2.7 seconds
goFor(2.7);
//Decelerate motor two to 15% power in 1 second
celerate(2,27,15,1);
//Brake motor two
brake(2);
//Reverse the direction of only motor 2
reverse(2);
//Accelerate all motors from start to 31% power in 2 seconds
celerate(4,0,31,2);
//Run all motors at a constant speed of 35% power for 1 second
motorSpeed(4,35);
goFor(1);
//Brake motor two but keep motor one running at a constant speed (35% power) for 3 seconds
brake(2);
goFor(3);
//Brake all motors for 1 second
brake(4);
goFor(1);
//Reverse the direction of motor one
reverse(1);
//Accelerate motor one from start to 19% power over 2 seconds
celerate(1,0,19,2);
//Run motor two at 35% power while simultaneously running motor one at 19% power for 2 seconds.
motorSpeed(2,35);
goFor(2);
//Run both motors at a constant speed (19% power) for 2 seconds
motorSpeed(2,19);
goFor(2);
//Decelerate both motors to 0% power in 3 seconds
celerate(4,19,0,3);
//Brake all motors
brake(4);
Exercise 2:
/* Scenario 2 */
//Run all motors at a constant speed of 25% power for 2 seconds
motorSpeed(4,25);
goFor(2);
//Run all motors at a constant speed of 20% power and,
//using the goToAbsolutePosition function
//travel a total distance of 12 feet from start
motorSpeed(4,20);
goToAbsolutePosition(295);
//Reverse all motors
reverse(4);
//Run all motors at a constant speed of 30% power for 1.5 seconds
motorSpeed(4,30);
goFor(1.5);
//Brake all motors
brake(4);
Exercise 4:
//StaticTestOne
//Accelerate all motors from start to 25% in 3 seconds
celerate(4,0,25,3);
//Run all motors at a constant speed (25%) for 1 second
goFor(1);
//Run all motors at 20% power for 2 seconds
motorSpeed(4,20);
goFor(2);
//Reverse all motors
reverse(4);
//Run all motors at a constant speed (25%) for 2 seconds
motorSpeed(4,25);
goFor(2);
//Brake all motors
brake(4);
//StaticTestTwo
//Accelerate all motors from start to 35% in 3 seconds
celerate(4,0,35,3);
//Run all motors at a constant speed (35%) for 1 second
goFor(1);
//Run all motors at 20% power for 2 seconds
motorSpeed(4,20);
goFor(2);
//Reverse all motors
reverse(4);
//Run all motors at a constant speed (35%) for 2 second
motorSpeed(4,35);
goFor(2);
//Brake all motors
brake(4);
//StaticTestThree
//Accelerate all motors from start to 45% in 2 seconds
celerate(4,0,45,2);
//Run all motors at a constant speed (45%) for 2 second
goFor(2);
//Decelerate all motors from 45% to 0% in 2 seconds
celerate(4,45,0,2);
//Reverse all motors and wait for 2 seconds
reverse(4);
goFor(2);
//Accelerate all motors from start to 45% in 2 seconds
celerate(4,0,45,2);
//Run all motors at a constant speed (45%) for 3 second
goFor(3);
//Brake all motors
brake(4);
//StaticTestFour
//Accelerate all motors from start to 45% in 2 seconds
celerate(4,0,45,2);
//Run all motors at a constant speed (45%) for 2 second
goFor(2);
//Brake all motors
brake(4);
//Reverse all motors and wait for 2 seconds
reverse(4);
goFor(2);
//Accelerate all motors from start to 45% in 2 seconds
celerate(4,0,45,2);
//Run all motors at a constant speed (45%) for 3 second
goFor(3);
//Brake all motors
brake(4);