Modeling Problem 1 – Design, Build Fly
Problem:
In this competition,students must design, document, fabricate, an aircraft. They must demonstrate their aircraft is capable of achieving the highest score on three specified missions. Mission scores are based on the demonstrated mission performance obtained during the contest and calculated based on given formulas. You can find out more information about the actual competition at: https://www.aiaadbf.org/.
In this problem you will develop a computational model that will output to the user (a team comparing their test data) their chances of winning the upcoming competition as well as recommendations on how to increase their odds of winning. Recommendations are based on how the team’s aircraft is preforming (data from the user) and how the winning teams preformed at previous competitions (given data). Please note there are some modifications to how the competition actually works for this problem. There are some assumptions that are not valid to the real competition rules.
Submissions:
Please note that the submission for this assignment will be different than any of your homework assignments. A written model will be due for this problem in about one week and then your code for your solution will be due about one week later (refer to Canvas for exact dates).
- Yourmodel – you must complete the steps below on paper. Keep in mind assumptions will be very important for your user to understand the constraints and limitations for using your solution. For your solution step (Step 5), you must write out clear directions of how you will code your solution. This can be in the form of a flow chart, bullet point steps, or paragraph format. Be sure that any method you choose is super clear. In addition to your steps, you must justify each step – meaning you must explain your reasoning for designing the step the way that you did.
- For example, here are some steps for a Sudoku algorithm and justifying themis in Italics:
- Start with counting how many of each number there is in the puzzle to identify the number with the greatest frequency.
- For example, here are some steps for a Sudoku algorithm and justifying themis in Italics:
It is easier to fill in missing numbers for the number that is missing the least.
- Evaluate each larger bolded box that does not have to this number to determine if it will fit in the box. Do this by checking each empty square in the larger box. For each empty square, check the corresponding row and column for the number being evaluated and make note if there is one or not. If there is only one square that does not have this number in the box, then put the number in that square. Do this for each box. This will be the first step to start filling in numbers. I think it will be easier to write a code that evaluates the numbers divided first by the larger boxes than the rows or columns. I think it will be easier to work with one matrix at a time rather than evaluating up to three different matrices in looking at one row or column.
- Your code (or computational model) will be based on the model that you submit. It is natural to modify your model throughout the process of coding it. Be sure to document changes and comment in justifications for new steps implemented in your revised model.
The Engineering Process
Below is the engineering process discussed in the course. Remember these steps are used to guide you through solving a problem. Keep in mind sometimes these steps are iterative.
- Decipher Problem Statement
The first step is to decipher the problem and identify the information (or variables) given and what information you need to find (or display to the user at the end of your program).
Givens
Think about what information you are given. What information are you given that you will use to eventually calculate the find value/s? I recommend using the performance as best as possible rather than the scores (e.g., flight time values (seconds) instead of scores for mission 2).
Finds
- The probability of winning based on input data. (Percentage)
- Recommendations to improve odds of winning. (Statement/s)
- Draw a Diagram
Sometimes the problem will include a diagram; be sure to still draw your own diagram(s). This step will help you better decipher the problem by visualizing it.
No diagram required with this submission, but draw one if it helps you visualize your solution.
- Identify Relevant Theory
After determining the information that you know and need to find and drawing a diagram, you should start to have an idea what theory and/or background information you need to solve the problem. In this step you will identify the information (e.g., formulas, data, conversions) that you will need to create a solution to the given problem.
Units of Measure: The units of measure for scoring will be based on the US English system (time – seconds, length – inches, weight – ounces). All times or physical measurements will be rounded to two decimal places. Conventional rounding will be implemented (<0.5 à round down, >= 0.5 à round up).
Final Score: Final score is calculated based on all of the mission scores and the rated aircraft cost (RAC) based on weight and wing span; it is calculated using the following equation.
Maximum aircraft empty weight recorded after each successful mission in ounces (oz.); aircraft empty weight does not include the payload but does include any payload supports or restraints and batteries. Wing span is the longest distance between wingtips measured perpendicular to the axis of the fuselage in inches (in).
Mission requirements for all missions:Must complete a successful landing to get a score. A lap is complete when the aircraft passes over the start/finish line in the air (the landing is not part of any time requirements). Any incomplete missions are a 0. The score for each mission is calculated as described in the equations below. Some actual scores that teams received in past competitions are shown in Table 1.
Mission 1 (M1) – no payload – 3 lap timed flight (timed in seconds)
- Teams must complete 3 laps within the flight window (5 minutes)
Mission 2 (M2)– set payload – 3 lap timed flight (timed in seconds)
Mission 3 (M3) – long haul of passengers and additional payload
- The score will be a function of the number of passengers and total payload weight carried times the number of laps completed (within 10 minutes)
Table 1. Top 4 teams’ scores over the past 4 years along and Best Data for Missions 2 and 3 for each year
Team: | Mission 1 | Mission 2 | Mission 3 | RAC | Final Score |
2018: | — | Fastest Time:
110.12 s. |
Max. Total:
(1 pass*1 oz*9 laps) |
— | — |
2018_Fly | 1.0 | 1.62 | 0.0 | 4.84 | 0.54 |
2018_Air | 1.0 | 2.94 | 2.53 | 28.71 | 0.23 |
2018_Plane | 1.0 | 3.35 | 3.20 | 53.28 | 0.14 |
2018_Cargo | 1.0 | 3.01 | 5.70 | 80.72 | 0.12 |
2017: | — | Fastest Time:
106.80 s. |
Max. Total:
(2 pass*1 oz*4 laps) |
— | — |
2017_Captain | 1.0 | 2.71 | 2.53 | 20.95 | 0.30 |
2017_Crew | 1.0 | 2.93 | 4.32 | 81.41 | 0.10 |
2017_Flight | 1.0 | 2.49 | 6.00 | 124.09 | 0.08 |
2017_AE | 1.0 | 3.96 | 5.39 | 172.55 | 0.06 |
2016: | — | Fastest Time:
121.23 s. |
Max. Total:
(1 pass*2 oz*5 laps) |
— | — |
2016_Aerospace | 1.0 | 2.93 | 1.89 | 18.48 | 0.31 |
2016_Engineer | 1.0 | 2.79 | 2.01 | 70.88 | 0.08 |
2016_Build | 1.0 | 3.63 | 2.43 | 189.15 | 0.04 |
2016_Design | 1.0 | 2.52 | 6.00 | 359.24 | 0.03 |
2015: | — | Fastest Time:
115.36 s. |
Max. Total:
(1 pass*1 oz*8 laps) |
— | — |
2015_Airplane | 1.0 | 2.74 | 3.27 | 19.85 | 0.35 |
2015_Flying | 1.0 | 3.33 | 4.65 | 28.71 | 0.31 |
2015_Jet | 1.0 | 4.00 | 5.20 | 42.66 | 0.24 |
2015_Aero | 1.0 | 2.81 | 6.00 | 70.99 | 0.14 |
- Assumptions
In this step you will communicate some ideas that you have assumed to simplify the problem. These are things that you may try to address later on to make your solution address a more realistic scenario. It is okay if you cannot envision how you would solve the problem without the assumption, but try to think about this for each assumption that you write.
Write at least 3 assumptions; most likely you will have more.
- Solution Steps
This step requires solving for the finds using the givens and theory. For this step you will create equations to solve the problem, but you will not plug in any numbers yet. Be sure to base your equations on variables and NOT numeric values (unless they are a constant, such as 4 in the second mission equation). Be sure to also refer to your diagram and assumptions to help you through this step. At some points in this step you may find it useful to go back and draw another diagram or necessary to use another formula.
Be sure to make your solution adaptable as possible. How can you modify it if the missions get changed? How can you modify it, if the data set gets larger or changes in any other way?
- Identify Results and Verify Accuracy
Now that you have solved the problem analytically, you can plug in values for this step to verify if your problem is accurate or not.
Test your model for various potential inputs. Do the results make sense? If not, how should you modify your code?
- Algorithm and Code
Your solution steps will lay out the process that you will need to code. In complex problems that require conditionals and/or repetition, it may be beneficial to draw out a flowchart, concept map, etc. or write out bullet point or numbered steps. Doing this step can ensure you understand the flow of your code before you start writing code in MATLAB.
Keep in mind this step will be required for the second submission, but not the first submission. When you are coding this solution, you can use any coding techniques that you see fit. If you want to stick to if statements and loops you can. If you want to use arrays or programmer-defined functions, you can also do that. Use the code necessary to develop your computational model.Keep in mind you must validate (or error check) all user inputs for appropriate values; comment the values that you consider valid and why.
NB
Use MatLab for the code
1. Do the engineering process
2. The first 6 steps is by hand