Energy Optimization

In this portion of the Performance Test lab, team C engineers were tasked with optimizing the energy consumption of their vehicle. Now using their selected model from performance test 1, and their selected code from performance test 2, the engineers are to work to make sure their AEV and their code are running as efficiently as they can. Shown below is the model team C used in Performance Test 3.

The engineers worked to perform multiple test runs in order to pinpoint potential functions which may be consuming more energy than needed. Throughout a process of trial and error, and data analysis, the engineers were able to come up with a more efficient vehicle which was able to complete the task of traversing the test track which was provided to them. Shown below is the data for the final model used by team C engineers.

 

Performance Test 3 – Energy vs Distance

 

When conducting the final performance test run, the engineers concluded that their advanced energy vehicle had consumed a total of 210 joules of energy throughout the process of traversing the entire track. This number is higher than what the engineers had expected, but they are satisfied for now as their AEV had completed the task at hand effectively.

 

 


Code Used:

Refer here for information on command functions.

 

                  Code                                          Explanation

reverse(4); Reverse all motors.
motorSpeed(1,35); Run motor 1 at 35% power.
goToAbsolutePosition(280); Go to mark 280.
brake(4); Brake all motors.
goToAbsolutePosition(313); Go to mark 313.
rotateServo(50.00); Rotate servo to 50 degrees.
goFor(1); Run for 1 second.
rotateServo(0.00); Rotate servo to 0 degrees.
goFor(5); Run for 5 seconds.
motorSpeed(1,30); Run motor 1 at 30% power.
goToAbsolutePosition(440); Go to mark 440.
brake(4); Brake all motors.
goToAbsolutePosition(649); Go to mark 649.
rotateServo(50.00); Rotate servo to 50 degrees.
goFor(1); Run for 1 second.
rotateServo(0.00); Rotate servo to 0 degrees.
goFor(6); Run for 6 seconds.
motorSpeed(2,53); Run motor 2 at 53% power.
goToAbsolutePosition(390); Go to mark 390.
brake(4); Brake all motors.
goToAbsolutePosition(372); Go to mark 372.
rotateServo(55.00); Rotate servo motor to 55 degrees.
goFor(2); Run for 2 seconds.
rotateServo(0.00); Rotate servo motor to 0 degrees.
goFor(5); Run for 5 seconds.
motorSpeed(2,49); Run motor 2 at 49% power.
goToAbsolutePosition(289); Go to mark 289.
brake(4); Brake all motors.
goToAbsolutePosition(120); Go to mark 120.
rotateServo(51.00); Rotate servo motor to 51 degrees.
goToAbsolutePosition(70); Go to mark 70.
rotateServo(0.00); Rotate servo to 0 degrees.
goToAbsolutePosition(22); Go to mark 22.
rotateServo(53.00); Rotate servo to 53 degrees.
goFor(3); Run for 3 seconds.
rotateServo(0.00); Rotate servo to 0 degrees.