Minal Habash and Amy Hu Engineering Development & Design: Per. 3 December 9, 2013
Proprietary Information All information is the property of, and solely owned by the Designers.
Table of Contents
Introduction A. Presentation and Justification of the Problem B. Documentation and Analysis of Prior Solution Attempts C. Presentation and Justification of Solution Design Requirements D. Design Concept Generation, Analysis, and Selection E. Application of STEM Principles and Practices F. Consideration of Design Viability Conclusion 1 2 4 5 6 8 9 10
Proprietary Information All information is the property of, and solely owned by the Designers.
Introduction
FIRST Robotics Competition (FRC) is a STEM based program for high school students to get involved and exposed to engineering. Many students do not realize what engineering is mostly due to schools not having classes focused on those fields. Schools who do offer those classes give a student the option to take it against other classes that would seem more appealing to a teenager (Yoga, Art Studio, and Leadership). FRC tasks students to create a competitive robot in a 6 week building period and causes these students to separate themselves in sub-teams such as programming, build, and media outreach. Many veteran teams use their time starting the end of a robotics season in order to prepare for the next year.
In the year 2012, in Da Vincis 3rd year since its founding in 2009, Da Vinci founded its FRC team, the Vitruvian Bots. The team was primarily made up of the Class of 2013 with few from the Class of 2012, Class of 2014, and Class of 2015. As rookies for the 2012 competition, Rebound Rumble, the Vitruvian Bots were able to gain a lot of support from veteran teams such as Beach Cities. The day after kick-off, the Vitruvian Bots held a kit-bot Figure 2 The original kit-bot robot build through the kit of build day, where various teams gathered at Da Vinci parts given to teams at kick-off. Science to start building an operating kit-bot. From there, the kit-bot drive train had been the basis for the robots of the 2012 and 2013 year and one big goal is to break away from this set-up. Also, in those two years, programming had not been as big as an emphasis as the design and build, however is just as important. In this document, you will find our solution to improving the programming of our team and to make it as manageable as possible for the 2014 FRC season.
Proprietary Information All information is the property of, and solely owned by the Designers.
Project Proposal
Component 1 - Evaluation of Research Validation and Justification of Problem Selection Element A: Presentation and Justification of the Problem
Problem statement
In the year 2011 DaVinci founded a First Robotics Competition team which allows high school students to get involved with electronics such as utilizing closed loop systems for the 15 second autonomous period. However, in order for the robot to operate the robot will need good programming.
Problem background/statistics
Programming is an essential part in anything robotic, and is used in everyday activities. Programmers need to make sure their code functions to the task created in order to please the consumer. For example, a computer is used by many people in first-world countries. Without it functioning for the consumers best interest, it causes companies to lose sales. Also, there are instances where human interaction could not be used in order to work with a machine. This can be seen in satellites, where programming needs to be precise in order for it to do its intended task in space. Without human interaction, programming needs to be correct and accurate at the moment the satellite is deployed in space. In the 2012 competition, Rebound Rumble, the code was mostly scripted by Brian Vallelunga, the head programmer at the time. He had known the program Labview the most and was the primary programmer, however was not a person who liked collaborating with the rest of the team. In the 2013 competition, Ultimate Ascent, the code was scripted by a new team of programmers who had basic knowledge of Labview. These programmers were not able to reach the same level of understanding as Vallelunga, however were able to get a basic code that could run during competition. During this season however, the autonomous period was primarily focused on an open loop system which was not reliable and there were times the code during tele-op was dysfunctional.
Validation of problem
Experts who justify this problem is our mentors, which includes: Aaron Tostado, David Stuart, Caline Smith, Fazlul Zubair, Gerard Besina, Lenny Perez, and Michael McClendon. Each have identified that the movement of the robot during the autonomous code could be optimized through the use of more closed loop systems. Our mentors are engineers and teachers involved with Team 4201: The Vitruvian Bots.
No, it was not because of the fact that the hardware will never be perfectly the same every run. This was especially hard to figure out because the robot we practiced on and the one that we used in competition were not identical. By using accurate sensors the transition between the two robots would have been easier. In what ways could the autonomous code be improved? We could use sensors to help determine where the robot it is so it doesnt rely on time so much. The types of sensors we could use include vision, accelerometer, gyroscope, and others. We also seemed to have bad human to robot interactions, as well, last year that costed us time and points. What is some methods that we can use in order to make this easier for next year? We can use sensors to calibrate the robot to mimic the same stance each time it interacts with one of the team members. We could also incorporate a pneumatic system that would literally suck up the object in question. This would make the margin for error widen dramatically.
Works Cited
"Chief Delphi - Portal." Chief Delphi RSS. Chief Delphi, n.d. Web.
Figure 3 The 2012 Programming Team during the kit-bot build day (left). Figure 4 The 2013 Programming Team learning about different motors during the ice-breaker meeting (right).
Proprietary Information All information is the property of, and solely owned by the Designers.
Figure 5 The 2013 season team; the robot on the right is the JAP, "Just a Prototype", which was used for
programmers after the competition robot on the right was bagged until the competition date.
Proprietary Information All information is the property of, and solely owned by the Designers.
Proprietary Information All information is the property of, and solely owned by the Designers.
Proprietary Information All information is the property of, and solely owned by the Designers.
Figure 6 This is the sub-program for the Tele-op sub program. Due to our difficulties in working with C++, we
decided to return to the use of Labview.
In creating a Pseudo-code flowchart, it will allow us to organize our code and allow for a breakdown of what will need to be down. This will allow tasks to be separated out and organized in a fashion where everyone will be aware of what needs to be done. This will also allow for us to issue due dates to our team and allow us to make sure our code makes sense in earlier stages of writing the code.
Proprietary Information All information is the property of, and solely owned by the Designers.
Total Windriver 8 C++ Labview 3 3 4 1 11 In planning this, the use of Windriver Workbench will be utilized with some reference to Labview. By looking at Labview and how the visual block code works, it can help guide a programmer on what type of loops or case structures to use. The practices needed for a successful code is definitely planning everything out and documenting daily in an engineering notebook. By taking notes, it allows a programmer to check their own progress and allows them to check if they are upholding to their time management restraints. With the use of Labview, we will be focused on improving our code from last year by spending more time to organize what needs to be done in a Gantt chart. We will also be logging our information and what we will be doing in a daily log in our engineering notebooks.
Proprietary Information All information is the property of, and solely owned by the Designers.
Proprietary Information All information is the property of, and solely owned by the Designers.
Conclusion
Importance of Market Analysis Although looking at the percentage of the population who believes the problem is important to solve is beneficial in some aspects, it isn't as important in discovering who would actually buy the product in the market. By looking at the available market, it allows producers to determine if the product they are making will be of interest to the consumer. Also, the people who believe a problem is important to solve, might not be committed to buying the product especially due to conditions such as quality, price, and need. Reassessment Although it's likely that each part of this document will be reviewed, the parts most likely to change would be parts C, E, and F. The reason being is that these parts aren't set in stone as further research in this problem will cause the initial ideas to change. These parts will become reassessed at least once every two weeks, however these checks will increase as time gets closer to the start of a new season.We believed we were going to use C++ for the FRC code this year, but we realized that it is not feasible in the short amount of time we have left. One reason for this is that RobotC was not similar enough to C++ to overcome the steep learning curve that such a program presents. The reason why C++ is so hard to learn is that it is written in a formal language meaning that it is (1) a new system of writing that must be learned as any new language does, (2) needs to be perfectly puncuated in order to be successful, and (3) it is hard to follow without using comments throughout the entire code. With most of our team having little to no background in C++, we have no choice but to revert back to LabView. LabView is a much simpler form of programming known as block code. It is a system of drag-and-drop functions that are very easily followed by looking at the color of the lines connecting different blocks. We have been using LabView for the past two years, so the heads of the programming team, Amy and Minal, have a good understanding of it and can teach incoming programmers the language. The only thing this switch changes about our plan is that the framework of our code would be the Sample Code provided in the LabView update earlier this year. In conclusion, we still have a lot left to learn about in order to program it in our 2014 final code. The issue we ran into with C++ was a huge setback that took a lot of our time. We really wanted to be able to program in C++ because (1) it is similar to RobotC, a programming language taught throughout the school, (2) it is used extensively in the engineering world, and (3) once you know the language it has a wide variety of capabilities.
Proprietary Information All information is the property of, and solely owned by the Designers.
10