As Group B continued to develop a successful program for the AEV they were required to deeply analyze the vehicle’s movement in response to each line of code. To complete the operational objectives quickly and efficiently the team carefully measured movement and adjusted function parameters accordingly. The team did not succeed in completing operational objectives but gained knowledge that may enable them to succeed in future labs. This document discusses specific programming challenges the team faced, including efficiently navigating to the entrance gate, connecting to the caboose, and stopping the vehicle at precise locations regardless of battery power. The discussion that follows describes the success achieved during the lab as well as decisions made to complete remaining objectives.
The design team encountered an unexpected challenge when testing the vehicle on a different monorail track. Prior to the second round of performance tests the vehicle was operated on only one track and the batteries used supplied similar amounts of power. However, when the vehicle was tested on the track in another room the team observed different acceleration and velocity from the AEV. This also contributed to different coasting distances. Group members speculated that the AEV reached a greater velocity during the first testing period when compared to the second.
During the testing period the AEV traversed the first half of the track, and lab scenario. The AEV accelerated quicker than the sample AEV used in previous lab experiments, and appeared to be better balanced. Shown below 1 is the code used during the first testing period.
The code consisted of celerate, motorspeed, gotoabsoluteposition, and brake commands. From station to station, the AEV would accelerate up to a set percent power, over a set period of time. Then maintain the percent power until an absolute position was reached. Then the AEV shut off power to the motors, and coast to a stop by the next station. The AEV would then sit for a period of time until the gate opened. This would allow the AEV to conserve as much power as possible. Group members did not have time to get the second half of the code timed correctly.
The input power, and propulsion efficiency versus time is shown below. The AEV only traversed the first half of the track. When the motors were running, the propulsion efficiency appeared to maintain a propulsion efficiency of 12.25%. Once the AEV reached the maximum set percent power, the input power versus time maintained approximately 4.8 Watts. From about 9 seconds to 22 seconds the AEV cut the power to the motors. This was due to the brake command, and stop command. The AEV actually coasted to a complete stop, then waited for a set period of time before giving power to the motors.
The amount of power used during each phase of the code is shown below. The most amount of energy used during the run resulted from the motorspeed, gotoabsoluteposition commands. While the brake command allowed for 0 Joules of energy for 7.5 marks.
Phase | Arduino Code | Time (s) | Distance (m) | Total Energy (J) |
1 | celerate(4, 0, 30, 2); | 1.981 | 0.062 | 5.7 |
2 | motorSpeed(4, 20); goToAbsolutePosition(myMarks(12.5)); | 9.361 | 3.695 | 31.3 |
3 | brake(4); goToAbsolutePosition(myMarks(20)); | 16.321 | 6.733 | 0 |
4 | goFor(stoptime); | 21.721 | 6.733 | 0 |
5 | celerate(4, 0, 30, 2); | 23.641 | 6.808 | 5.7 |
6 | motorSpeed(4, 20); goToAbsolutePosition(myMarks(34.5)); | 30.061 | 10.416 | 27.4 |
7 | brake(4); goToAbsolutePosition(myMarks(40)); | 33.061 | 12.127 | 0 |
The AEV utilized a coasting method to bring the AEV to a complete stop. The motors would not receive power during the coast. From both of the recorded runs coasting proved to be extremely efficient. The AEV coasted for about 5 seconds. But the coasting method proved to be unreliable because of different battery power levels, and changing track conditions. The code needed to be modified with each new lab period. This resulted in the AEV never completing the entire track because the AEV only made it to station 3.
The AEV did not complete the entire scenario outlined in the mission objective. This was due to the unreliable coasting method used. Group members should construct a more reliable braking method. Students could add a servo to act a caliper to the wheel. The servo should not use as much energy as a reversing operation. The servo would also utilize friction between the wheel and servo, which could prove to be a more powerful stopping mechanism.