Lab 1:
// Accelerate motor one from start to 15% power in 2.5 seconds.
celerate(1,0,15,2.5);
// Run motor one at a constant speed (15% power) for 1 second.
motorSpeed(1,15);
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.
motorSpeed(2,27);
goFor(2.7);
// Decelerate motor two to 15% power in 1 second.
celerate(2,27,15,1);
// Brake motor 2.
brake(2);
// Reverse direction of 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);
motorSpeed(1,35);
goFor(3);
// Brake all motors for 1 second.
brake(4);
goFor(1);
// Brake all motors for 1 second.
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);
motorSpeed(1,19);
goFor(2);
// Run both motors at a constant speed (19% power) for 2 seconds.
motorSpeed(4,19);
goFor(2);
// Decelerate both motors to 0% power in 3 seconds.
celerate(4,19,0,3);
// Brake all motors.
brake(4);
Lab 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% and travel a total distance of 12 feet from the starting point.
motorSpeed(4,20);
goToAbsolutePosition(296);
// Reverse all motors.
reverse(4);
// Run all motors at a constant speed of 30% power for 1.5 second
motorSpeed(4,30);
goFor(1.5);
// Brake all motors.
brake(4);
Lab 3:
// accelerate vehicle
celerate(4,0,25,3);
motorSpeed(4, 25);
goFor(1);
// decelerate vehicle for 2 seconds
motorSpeed(4, 20);
goFor(2);
reverse(4);
// accelerate vehicle for 2 seconds by 5%
motorSpeed(4, 25);
goFor(2);
// cut power for all motors
brake(4);
Coasting Test
reverse(4);
motorSpeed(4,25);
goToAbsolutePosition(200);
brake(4);
Power Braking Test
reverse(4);
motorSpeed(4,25);
goToAbsolutePosition(200);
reverse(4);
motorSpeed(4,30);
goFor(2);
Energy Analysis
reverse(4);
motorSpeed(4,30);
goFor(4);
motorSpeed(4,0);
goFor(10);
Performance Test 1
int phase;
phase == 1;
reverse(4);
// initial acceleration example values
motorSpeed(4, 25);
goToAbsolutePosition(214);
brake(4);
//208 8.44
//214 8.33
while (phase == 1) {
// not far enough
// if <= 280 and stopped
if (getForwardsTotal() <= 280 && getVehicleDirection == 2) {
motorSpeed(1, 25);
goFor(.5);
phase ++;
}
// too far
// if at 315 and moving
else if (getForwardsTotal() >= 315 && getVehicleDirection == 1) {
reverse(1);
motorSpeed(1, 30);
goFor(1);
brake(1);
reverse(1);
phase ++;
}
// if stopped in range
else if (getVehicleDirection == 2) {
phase ++;
}
} // end phase 1
// stop at gate for 7 seconds
motorSpeed(4, 0);
goFor(10);
// leave gate
motorSpeed(4, 25);
goFor(3);
Performance Test 2
int phase;
phase = 1;
reverse(4);
// initial acceleration example values
motorSpeed(4, 25);
goToAbsolutePosition(201);
brake(4);
///////////////////////////////////
//208 8.44 Lecture
//214 8.33 Lecture
//208 8.38 Lecture after power brake (hot)
//206 8.32 Lab
//226 weird day
//////////////////////////////////////
while (phase == 1) {
// if stopped in range
if (getForwardsTotal() >= 307 && getForwardsTotal() <= 314 && getVehicleDirection == 2 ) {
phase ++;
}
// too far
//315
else if ( getForwardsTotal() >= 290 ) {
reverse(4);
motorSpeed(4, 30);
goFor(1.5);
brake(4);
reverse(4);
phase ++;
}
} // end phase 1
// stop at gate for 7 seconds
motorSpeed(4, 0);
goFor(7.25);
// leave gate
motorSpeed(4, 25);
goFor(2.45);
// phase 2– docking and leaving
// wait
motorSpeed(4, 0);
goFor(12.25);
// leave loading zone
reverse(4);
motorSpeed(4,45);
goFor(3.5);
Performance Test 3
///////////////////////////////////
//208 8.44 Lecture
//214 8.33 Lecture
//208 8.38 Lecture after power brake (hot)
//206 8.32 Lab
//226 weird day
//213 8.42 213 power break
//223 8.45 Lecture
//////////////////////////////////////
int phase;
phase = 1;
reverse(4);
// initial acceleration
motorSpeed(4, 25);
goToAbsolutePosition(227);
brake(4);
while (phase == 1) {
// if stopped in range
if (getForwardsTotal() >= 307 && getForwardsTotal() <= 314 && getVehicleDirection == 2 ) { // fix range
phase ++;
}
// too far
//315 //290
else if ( getForwardsTotal() >= 297 ) {
reverse(4);
motorSpeed(4, 30);
goFor(1);
brake(4);
reverse(4);
phase ++;
}
} // end phase 1
// stop at gate for 7 seconds
motorSpeed(4, 0);
goFor(7);
// leave gate
//25
motorSpeed(4, 25);
goFor(3.12);
// 2.45 //
// marks 308
//goToAbsolutePosition(308);
// weird power wait thing
motorSpeed(4, 0);
goFor(3.5);
// phase 2————————– docking and leaving——————————
while (phase == 2) {
while (getTotalMarks() >= 630 && phase == 2) {
if (getVehicleDirection() == 2) {
phase++;
}
// 646
else if (getTotalMarks() >= 637 && getVehicleDirection() == 1) {
reverse(1);
motorSpeed(1, 25);
goFor(1);
brake(1);
reverse(1);
phase ++;
}
}
} //////////////////////////////////////////// end phase 2
// wait
motorSpeed(4, 0);
goFor(6);
// leave loading zone with load 40
reverse(4);
motorSpeed(4, 42);
//375 378
goToAbsolutePosition(382);
// brake at gate
brake(4);
reverse(4);
motorSpeed(4, 32);
goFor(1.5);
brake(4);
reverse(4);
// stop at gate for 7 seconds
motorSpeed(4, 0);
goFor(7);
// leave gate for starting zone
motorSpeed(4, 40);
goToAbsolutePosition(222);
brake(4);
// phase 3 brake at the start w load———————————————————
while (phase == 3) {
// brake at 78 absolute //1250
if (getTotalMarks() >= 1230) {
//brake
reverse(4);
motorSpeed(4, 40);
goFor(1.75);
brake(4);
reverse(4);
phase++;
}
}
//////——————————————————————————————
//590k