Progress Report 1
Lab 01: Backwards Looking Summary
Situation
Lab 01 let us become familiar with the automatic control system hardware components; setup the AEV software; become familiar with the basic function calls in controlling the AEV; use the Arduino run and test the code, and become familiar with troubleshooting techniques. At first, we set up our equipment. Then we wrote the code according to the scenario 1 and compiled the code to make sure everything is alright. After that, we connected the equipment to computer and uploaded Arduino program to the AEV controller to the motors. We failed to upload the Arduino program at first but then we found that the problem was that we didn’t set anything right in Arduino. After we reset the Arduino the program ran smoothly and we had good test results
Results and Analysis
The results showed us more about what all the functions do and how they work. We got an idea of how the motors accelerate and the type of power they produce. Along with this it was also noticeable that the motors didn’t exactly start right away or stop right away. For example when the program first started it was observed that the motors has to pass a friction point to actually start to spin which took some of the time that they were programmed to run for.
The more the programs were ran it became more apparent what problems this system would provide. Along with the motors not starting and stopping right away another major factor was breaking. When the brake command is used it simply just shuts down the motor and the AEV just coasts down the track. We saw this as a major limitation as the code is going to have to be adjusted to allow for the AEV to stop at the ends of the track and at the gate which could provide inaccurate stopping points. As our group noticed this we discussed possible ways to overcome this limitation with ideas like reversing the motors to slow it down quicker.
After seeing these limitations the results provided us with valuable information on the type of code we might want to create for our design and what we want our AEV to look like. Ideas of using a different propulsion system were also brought up to try and bypass the brake command. Overall these results showed us that we are going to have to tweak the code based on our design until we get the right commands to make our AEV complete its tasks while also ranking high on the criteria we are focusing on in our design.
Takeaways
The take away from this lab was the learning of basic arduino functions and programming, general understanding of how the motors run and react to the program, and lastly what limitations will be presented throughout the project.
Lab 1: Forward Looking Plan
Situation
Looking ahead to lab 02, the next focus will be the external sensors. The objective of this lab is to become familiar with the external sensor hardware and setup, become familiar with troubleshooting techniques, and learn program functions for the arduino code which can be found here. Before lab, the constructed AEV with the sensors will need to be completed to be able to test the sensors. The last part of this lab will be loading and uploading the arduino code to test the motors in the scenario given.
Goals
Our goals for the upcoming week will be to finish all the deliverables and progress report for lab 1. Break up into roles on who will start to build the AEV, and who will focus more on the coding and the materials and cost of the AEV. Make sure there is a general understanding of all the code in Lab on and look over Pre-lab material for lab 02 so we all have a understanding of what to accomplish.
Weekly Schedule
For this upcoming week we are scheduled to meet at Thompson library at 12pm on Sunday to finish reports for lab01 and go over lab02. Also Jack and Eli were assigned the task to build the prototype AEV design which will be completed. Additionally Nan was given the task to finish the coding from lab one and update the code to the website. Lastly Snigdha was given the task to update the websites deliverables and keep track of the budget for our preliminary designs.
Our team meeting notes can be found in the Appendix on page 8.The arduino code for this lab can be found on page 9 and. Additionally the glossary for the arduino code we have so far can be found in the Appendix
Lab 02: Backwards Looking Summary
Situation
The objectives of lab 2 are to become familiar with the external sensor hardware components and troubleshooting techniques, and program function calls for the external sensor. In this lab, we construct the sample AEV design and set up reflectance sensors on AEV. Before testing on tract, we test the reflectance sensor by “reflectanceSensorTest” function and the result showed that the sensor is alright. After that, the code was written according to the given scene and we upload the code to the AEV controller and start the AEV. The program ran smoothly and the motors do what the commands ask. All motors were run for 2 seconds at a constant speed of 25% and then they were ordered to run 12 feet at a constant speed of 20% by “goToAbsolutePosition” function. Then all motors were reversed and keep run for 1.5 seconds at a constant speed of 30% and then brake.
Results and Analysis
The motors do what the commands ask in most of situation. However, according to the actual test, we find that the commands used in this lab may limit the success of completion of the scenario. We need take inertia into consideration. For example, the AEV would not stop as soon as the brake command apply. So we need to change our code according to the actual situations. At first, we changed the two motors’ countermove speed from 30% to 50% and we found that the AEV not only stopped but also fallbacked. Then we adjusted the commands and changed the motors’ speed to 40% and changed the runtime from 1.5 seconds to 1.0 second. This time the performance of AEV was much better. The code for the external sensors program can be found in the Appendix.
Takeaways
The function of reflectance sensors is to record how far the AEV has traveled. They do this by using the reflective tape on the wheels and then the Arduino records the number of marks which is what the code is written in to tell the AEV when to stop or start. The reflectance sensors are a large part of the AEV and allow the user to precisely tell the AEV when to go forwards, backwards, and brake based on the number of marks it has traveled which is what the sensors are recording from the wheels.
Lab 2: Forwards Looking Summary
Situation
The objective of lab 3 is to learn two techniques which are used for creative design thinking and become familiar with obstacles to creativity and the components in AEV kit. And we also going to learn the basic of orthographic drawings and brainstorm on individual AEV concept sketches.
Goals
Our goals this week are to prepare and draw a sketch about our AEV design and update our website. And we also need to learn about creative design thinking so we can choose the best AEV design in a reasonable way with ample reasons.
Lab 03: Backwards Looking Summary
Situation
The objectives of lab 03 were two learn two ways of creative design thinking, become familiar with components from the AEV kit, learn the basics of orthographic drawing, and brainstorm on individual AEV concepts. Creative design thinking is a skill that all engineers need to have in their careers. It is used to develop unique and effective solutions to important problems that engineers are tasked with solving.
Results
Snigdha chose this design (Figure 5) because the curved shape provided the AEV to have less air resistance. This results in it being more energy efficient because it uses less power to run. But, this design would make it heavy, thus having more maintenance costs. Nan chose this design (Figure 6) because the fastigiate design can reduce the air resistance on AEV, which can make the AEV faster with less power. It’s helpful for energy saving. And the shape of this design is pyramid, not cone. It’s much easier to make and maintain. What’s more, the shape of the design is symmetrical so it has a good balance, which will enable passengers have a comfortable trip. At last but not the least, the two motors and propellers are placed on the front and back of the device. There is also room for air flow between them, which further reduces the air resistance on AEV.
Eli’s design was developed after the design (Figure 7) of a train. The motors of the AEV are stacked in order to maintain a thin body with a streamline front. Jack’s design was (Figure 8) developed using basic ideas from that of aircraft and propeller driven vehicles. The propellers were positioned evenly on the far ends to provide even propulsion when the vehicle travels but also provided some unbalanced transportation. The cost of this vehicle is less than 150 and makes it relatively easy to build but has its flaws. The design also uses a triangle base structure to provide more aerodynamics and help balance the weight. The arduino and battery are positioned in the middle to help balance the weight and allow the vehicle to travel the most efficient on the tract. This designs main focus points are efficiency, speed, and cost. The final design that we decided to use was Eli’s because from the concept screening and concept scoring tables, his was the best. It was energy/cost efficient and was good overall.
The materials consist of: 2 motors (20), Arduino Nano (100), 3D Printed front (24-44), 2 propellers (1.0),2 count sensors + connectors (8), wheels (15), t-shape (2.00). Total cost: 170-190. These were the main materials of this project and most of these are store bought and printed out.
Takeaways
The takeaways from this lab was learning to draw and sketch our aev designs as well as evaluate and plan for which aev to design. Additionally, of the four sketches two will be used to construct our aev and then those two will be tested in the advanced labs to decide which sketch is taken to the next tier and level. Lastly, these sketches gave us new variables to consider on our aev like balance and weight and how those will factor into the overall product and results.
Lab 03: Forwards Looking Summary
Situation
The objective of lab 4 is to create a program that will run the AEV on the track and evaluate its performance. The code will be created in class and then put into the arduino. The data will then be recorded using EEPROM data that collected the time (milliseconds), current (ADC counts), voltage(ADC counts), wheel counts based on reflectance sensor, and position based on the wheel counts.
Goals
Our goals this week is to finish the progress report for lab 3 and 4 so we are on track. Another goal is to finish assembling the AEV completely so it is ready for next week’s testing. For the upcoming week, we also need to focus on the materials and the cost of materials. Another goal is to make sure that everyone has a good understanding of what is required for lab 4.
Lab 04: Backwards Looking Summary
Situation
During Lab 4, the team created a program that would run the AEV on the track and collected data that would evaluate the AEV’s performance. The data was recorded by the Arduino motor controller using EEPROM data that collected the time (milliseconds), current (ADC counts), voltage(ADC counts), wheel counts based on reflectance sensor, and position based on the wheel counts. The data then was downloaded into the computer using the aevDataRecorder in Matlab. With this, the data was converted into physical parameters and performance characteristics. Through this data, a Power(watts) v. Time(seconds) which showed the team the amount of power that was being used every second. With this data, a Power v Distance graph was also shown.
Results
Once the data was processed, the team used this to create a graph, figure 1. Figure 1 shows the graph of Power(watts) v. Time(seconds). Looking at the plot, it appears the the yellow test line motor accelerated very quickly (in less than 1 second) and decelerated to a constant power of 5.30 watts for 4 seconds. At this point, it would be better to increase the amount of time that it takes to get to that power. At 4 seconds, the power reduces down to about 3.9 watts and stays constant till about 6 seconds. It then increases abruptly to a power of 18.4 watts and the decreases until a it stays constant at 12.0 watts for about 2 seconds. Then the power goes down to 0 watts. The figure shows that the power stays on even when the propellor is running which is not energy efficient and would lead to higher costs. Also, an increase in time to accelerate the Arduino means that there would be more power consumed. To test this, the team would have to create a program with the celerate() function and one without it to test which is better. The orange line in Figure 1, uses less power, and then in Figure 2, goes farther than the yellow line. For figure 2, the yellow line shows that the the AEV used power but stayed at the same distance, 0. From this, we can tell that the AEV with the orange line is a better pick.
Takeaways
The takeaways from this lab was to see if the celerate() function would be a good addition to the code or not. Another takeaway was that in the figure, it shows that the Arduino uses up a lot of power and increases it very quickly before actually moving down to a constant speed. With this in mind, the team needs to retest this by seeing if letting it get to that power in a longer time helps. Another takeaway is that the speed of the AEV should be controlled so that it does not endanger the safety of the patrons using it.
Lab 04: Forwards Looking Summary
Situation
Going forward, the next lab is lab 5. Here the goal is to decide the best AEV design from all the designs made in lab 3 and develop an approach. The AEV will be judged using the scoring process and the concept scoring. The two designs that are considered the best will be further tested to decide the final design.
Goals
The goal of this week is to finish the lab 4 progress report and make sure the deliverables are finished for this lab and previous labs. Another goal is to assemble the final design on SolidWorks.
Lab 05: Backwards Looking Summary
Situation
The goal for lab 05 was to develop an objective approach to decide the best AEV design the individuals from the group had produced. The initial process that was used was concept screening to develop a scoring process to compare the AEV designs. The next process used was concept scoring to compare the AEV designs based on what the group saw most important. The two designs that were determined to be best by the concept scoring would effectively trump the two designs determined to be best by the concept screening because the process is more specific. This process was important to determine the AEV designs that will be tested moving forward, and what will be altered in the designs based on the most important features of the AEV, as determined by the group.
Results and Analysis
The two designs determined to be best by both concept screening and concept scoring were design 2 and design 4. Design 4 has the highest initial score of the initial drafts from Group H. This can be seen in table 2 of the table and figures section. The most important characteristics of the AEV design to Group H was cost at 15%, efficiency 15%, safety 15%, balance 15%, and energy 15%. Design 4 will be looked at with the most depth to build future designs.
Figure 4
Takeaways
Important ideas that were achieved from lab 05 were having an objective approach to come up with a definitive solution to the design of the AEV. This evaluation can be used further into the EDP by coming back to what was seen as the most important for the design and then taking that to grow the project. Another key takeaway from lab 05 was the creative and critical thinking skills used to develop an AEV design. More has to be taken into account than just the design look or the speed of the AEV. A well rounded design must be created that does not have tunnel vision and ignores other important aspects to the project.
Forward Looking Plan
Situation
The task that will be completed next will be the testing of the certain designs of AEV. The two best designs will be tested to help mold the final AEV design. More specific features of the AEV will be focused upon. For example, Group H will look at battery testing, propeller configuration, and materials testing. To accomplish this plan, different batteries, propellers, and materials will be used to evaluate the effect that occurs on the AEV. This will be done in order to determine the best AEV design for the Smart Columbus project.
Upcoming Goals
Goals that have stemmed from lab 05 are creating the best AEV design with a focus on energy and efficiency. These two ideas are being emphasized because the main idea of the AEV design is for the Smart Columbus grant which is focused on innovating a safe, eco-friendly, and efficient transportation system inside the city.
Upcoming Schedule
To help complete the upcoming goals, certain tasks have been given to members of the group. Nan is very adept at coding, so as we determine what our AEV needs to do in order to complete its task, she will write the code to accomplish the challenges. Eli and Jack will take the challenge of the creative design of the AEV on and will adjust the design as the semester progresses. Snigdha is the main website developer and delegates work to the group as needed. All members of Group H share an equal amount of responsibility in all aspects of the EDP, but work has been distributed so that the group remains as efficient and productive as possible. Group meetings will occur at least once a week. Dates and times vary according to the schedule of all four members.
Appendix
Team Meeting Notes #1
Group: G
Location: 18 Avenue Library
Time: 12 PM – 1:30 PM, Jan 15, 2018
Attendees: Nan Zhang, Snigdha Tiwari, Elijah Baker
*Jack had informed us previously that he would not be able to attend the meeting because he is out of town for the weekend.
Topic: Build company website and getting to know each other
Upcoming tasks:
Website Update1 (All group members are responsible for that)
Lab 02 (in class)
Assignments:
Snigdha is creating the website on u.osu.edu.
Nan and Eli are completing the team meeting minutes assignment.
Nan, Snigdha, Eli is creating the contact information page.
Notes:
We are trying to work on teamwork and communication during our meeting because we all agree it will be conducive to our success in the AEV project and in this class.
Team Meeting Notes #2
Group: G
Location: 18 Avenue Library
Time: 11 AM, Jan 28, 2018
Attendees: Snigdha Tiwari, Jack Werren, Nan Zhang
*Eli had informed us previously that he would not be able to attend the meeting because he was currently sick and he was working on it in his dorm.
Topic:
Website Upload 2
Upcoming tasks:
Website Update 2 (All group members are responsible for that)
Lab 03 (in class)
To-Do:
- MCR – all members
- Group Concept Sketch – all members
- Individual Concept Sketch Upload
- Summary of Labs
- Code for all Labs
- AEV findings supported
Notes:
Code for Lab 1
void myCode()
{
//—————————————————————————————-
// myCode();
//
// This is the tab where the programming of your vehicle operation is done.
// Tab _00_AEV_key_words contains a compiled list of functions/subroutines used for vehicle
// operation.
// Program between here——————————————————————
// Run motor one at a constant speed (23% power) for 2.5 second.
//Accelerate motor one from start to 15% power in 2.5 seconds.
motorSpeed(1,15);
goFor(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.
motorSpeed(2,27);
goFor(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 two.
brake(2);
//Reverse the direction of only motor 2.
reverse(2);
//Accelerate all motors from start to 31% power in 2 seconds.
motorSpeed(4,31);
goFor(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);
// Reverse the direction of motor one.
reverse(1);
//Accelerate motor one from start to 19% power over 2 seconds.
motorSpeed(1,19);
goFor(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);
Code for lab 02
void myCode()
{
//—————————————————————————————-
// myCode();
//
// This is the tab where the programming of your vehicle operation is done.
// Tab _00_AEV_key_words contains a compiled list of functions/subroutines used for vehicle
// operation.
//
// Note:
// (1) After running your AEV do not turn the AEV off, connect the AEV to a computer, or
// push the reset button on the Arduino. There is a 13 second processing period. In
// post processing, data is stored and battery recuperation takes place.
// (2) Time, current, voltage, total marks, position traveled are recorded approximately
// every 60 milliseconds. This may vary depending on the vehicles operational tasks.
// It takes approximately 35-40 milliseconds for each recording. Thus when programming,
// code complexity may not be beneficial.
// (3) Always comment your code. Debugging will be quicker and easier to do and will
// especially aid the instructional team in helping you.
//—————————————————————————————-
// Program between here——————————————————————-
// Run all motors at a constant speed (25% power) for 2 second.
motorSpeed(4,25);
goFor(2);
// Run all motors at a constant speed of 20% and using the goToAbsolutePosition function
// travel a total distance of 12 feet (from the starting point).
// You will actually rotate the wheel by hand (since you are on the desktop tracks)
//until the wheel has completed the required distance and the motors stop.
motorSpeed(4,20);
goToAbsolutePosition(295);
// Reverse motors.
reverse(4);
// Run all motors at a constant speed of 30% power for 1.5 second.
motorSpeed(4,40);
goFor(1);
// Brake motor one.
brake(4);
// And here——————————————————————————–
} // DO NOT REMOVE. end of void myCode()
Current Arduino Code for Lab 4(Was Changed After Collecting Data)
// Program between here——————————————————————-
// exercise 04
// Accelerate all motors from start to 25% in 3 seconds.
motorSpeed(4,25);
goFor(3);
// Run all motors at a constant speed (25% power) for 1 second.
motorSpeed(4,25);
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% power) for 2 second.
motorSpeed(4,40);
goFor(2);
// Brake all motors.
brake(4);
// And here——————————————————————————–
} // DO NOT REMOVE. end of void myCode()
Appendix: Figures and Tables
Figure 1
Figure 2
FIgure 4
Figure 5
Figure 6
Figure 7
Figure 8
Table 1
Yellow Line
Time(Seconds) | Power(Watts) |
0 – approx 4 | Approx 5.30 watts |
Approx 4 – 5.84 | Approx 3.9 watts |
Approx 5.84 – 5.87 | Approx 18.4 watts |
Approx 5.87 – 8.2 | Approx 12.0 watts |
Approx 8.2 – onwards | 0 watts |
Orange Line
Time(Seconds) | Power(Watts) |
0 – approx 1.8 | Gradual increase in power to approx 7.5 watts |
1.8 – approx 8.2 | 5.14 watts |
8.2 – approx 8.8 | 0 watts |
8.8 – approx 11.67 | Gradual increase in power to 5.11 watts |
11.67 – onwards | Spike in power and then constant at approx 8.3 |
Table 2
Orange Line
Power(watts) | Distance(meters) |
Approx 5.11 | Approx 2.4 |
5.11 – 0 | Approx 0.9 |
Power increasing gradually to approx 5.11 | Approx 1.3 |
Power spikes up and then stays at approx 7.9 | Approx 0.3 |