Top Banner
Cybot/OSCAR Elementary School Tutorial Project ID: Dec02-03 Final Report (Revised) 18 December 2002 Client: Department of Electrical and Computer Engineering, Iowa State University Dr. John Lamont, Prof. Ralph Patterson, Dr. Lawrence Genalo Faculty Advisors: Dr. John Lamont Prof. Ralph Patterson Dr. Lawrence Genalo CprE 491 Team Members: Allison Bauerle Jenny Golder Jill Millhollin Waqas Nazir Joshua Sloan
63

OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Jun 12, 2018

Download

Documents

doancong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Cybot/OSCAR Elementary School Tutorial

Project ID: Dec02-03

Final Report(Revised)

18 December 2002

Client:Department of Electrical and Computer Engineering, Iowa State University

Dr. John Lamont, Prof. Ralph Patterson, Dr. Lawrence Genalo

Faculty Advisors:Dr. John Lamont

Prof. Ralph PattersonDr. Lawrence Genalo

CprE 491 Team Members:Allison BauerleJenny GolderJill MillhollinWaqas NazirJoshua Sloan

Jasmine Staggers

Page 2: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Table of Contents1.0 Executive Summary.....................................................................................................12.0 Definition of Terms......................................................................................................13.0 Introduction..................................................................................................................1

3.1 General Background..................................................................................................13.2 Technical Problem.....................................................................................................23.3 Operating Environment.............................................................................................23.4 Intended Users and Uses...........................................................................................33.5 Assumptions and Limitations.....................................................................................3

3.5.1 Assumptions.......................................................................................................33.5.2 Limitations..........................................................................................................3

4.0 Design Requirements...................................................................................................44.1 Design Objectives......................................................................................................44.3 Design Constraints....................................................................................................54.4 Measurable Milestones..............................................................................................54.5 End-Product Description...........................................................................................7

5.0 Approach and Design..................................................................................................75.1 Technical Approaches...............................................................................................75.2 Technical Design.......................................................................................................95.3 Testing Description..................................................................................................105.4 Risk and Risk Management......................................................................................115.5 Recommendations....................................................................................................11

6.0 Financial Budget........................................................................................................127.0 Personnel Effort Budget............................................................................................128.0 Project Schedule.........................................................................................................139.0 Closure Material........................................................................................................13

9.1 Evaluation of Project Success..............................................................................139.2 Commercialization...............................................................................................149.3 Recommendations for Additional Work..............................................................149.4 Lessons Learned..................................................................................................14

10.0 Project Team Information......................................................................................1510.1 Client..................................................................................................................1510.2 CprE 491 Team Members..................................................................................16

11.0 Summary..................................................................................................................1812.0 References..................................................................................................................18Appendix A “The Server Code”…………………………………………………………19Appendix B “The Client Code”………………………………………………………….23Appendix C “Tutorials”………………………………………………………………….29Appendix D “Teacher Materials”………………………………………………………..36Appendix E “Standards”…………………………………………………………………43Appendix F “Introduction to Engineering”………………………………………………45

i

Page 3: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

List of FiguresFigure 1: Room-to-Room Experimentation………………………………………………2 Figure 2: Interactive Software……………...…………………………………………….4Figure 3: Measurable Milestone Percentages…………………………………………….7Figure 4: Gantt Chart……………………………………………………………………13

ii

Page 4: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

List of TablesTable 1: List of Acronyms and Definitions………………………………………………1Table 2: Estimated Financial Budget……………………………………………………12Table 3: Actual Financial Budget………….……………………………………………12Table 4: Estimated Effort Budget ………………..……………………………………..12

iii

Page 5: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

1.0 Executive SummaryEngineers are in high demand; there are not enough people going into engineering-related fields. [1] Moreover, the number of undergraduate degrees in engineering has dropped nationally since the mid-1980s. [2] This makes it necessary to educate more people in the field of engineering. By introducing science and engineering to young students, particularly grades three through six, they will gain a better appreciation for necessary scientific skills. Studies show that introducing young students to hands-on engineering increases their knowledge of science, math, engineering, and technology. [3] [4] Not only that, but teachers are more likely to encourage students to pursue engineering careers and to use an engineering-related curriculum in their own classrooms. [3] [4] Therefore by creating software and the necessary tutorials to accompany Cybot and/or OSCAR, students will gain more knowledge and interest in pursuing an engineering related field.

The Cybot/OSCAR Elementary School Tutorial allows a user to program a robot from remote location. The system enables the user to program the robot(s) movements and interactions with its environment. The user may watch the robot as it moves through a video link. Prior to programming the robot(s) the user may learn about the robot(s) using tutorials and instructional material. In addition teachers may implement this project into their classrooms using teacher materials that are accompanied by national standards.

2.0 Definition of TermsTable 1: List of Acronyms and Definitions

Acronym DefinitionCybot Autonomous robotCybot/ OSCAR-EST Cybot/OSCAR Elementary School TutorialFIRST For Inspiration and Recognition of Science and TechnologyGUI Graphic user interfaceISU Iowa State UniversityK-12 Students Students in elementary, middle, or high school OSCAR Octagonal Speech Controlled Autonomous Robot

3.0 Introduction

3.1 General BackgroundBy creating software and the necessary tutorials to accompany the robot(s), students will gain more knowledge and interest toward engineering related fields.

The software allows students to develop programs for the robot(s). This enables the students to learn computer engineering related skills. Prior to programming the robot(s), the students should be introduced to basic robotic concepts that are necessary for mechanical, computer, and electrical engineers. ISU students in Curriculum and Instruction have aided in the process of designing the software, tutorials, and introduction

1 of 49

Page 6: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

information. This ensures that the software is created at a level that 3rd to 6th grade students can understand. The Curriculum and Instruction students have developed guides that allow teachers to use the robot(s) to aid in the instruction of different technological concepts. The tutorials allow students to develop mathematical skills using fractions, positive numbers, negative numbers, angles in degrees, and problem solving. While the introduction material allows the students and teacher to gain an incite into the world of robotics and engineering.

The young students and their teacher will be able to sit within their regular classroom and program the robot(s) on the ISU campus. The students will be able to view and program a robot over the Internet.

3.2 Technical ProblemThe project includes an interface created in the Java programming language to manipulate the movements of a robot. This software interacts with the robot over the ISU network to allow the users to be in a remote location. Since, the user will be at a remote location, a video feed will be sent back to the user using a live video camera. The user may use the software to control motor movements, sound, and sensor interactions. The project also includes a tutorial written by the team personnel, which include developmental material that teaches students mathematical skills using fractions, positive numbers, negative numbers, angles in degrees, and problem solving.

3.3 Operating EnvironmentThe end project is a room-to-room experiment as shown in Figure 1. A robot will be in one room, while the students who will be controlling the robot are in another. The students will use computers installed with the software developed by the team to program a robot. There will be a camera located on the robot(s), this will allow for a video link to the second room; therefore, allowing the students to see the robots as they interact with their environment.

Figure 1: Room-to-Room Experimentation

2 of 49

Page 7: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

3.4 Intended Users and UsesThe intended users are students in grade levels 3rd through 6th. The purpose of targeting these students is to help them to become motivated while at the same time to appreciate the technologies of engineering. These students will be introduced to the robot(s) through tutorials and introductory material. The tutorials will help students develop mathematical skills using fractions, positive numbers, negative numbers, angles in degrees, and problem solving. The tutorials and introductory material will help students learn how to program a robot using the software developed by the team.

3.5 Assumptions and LimitationsDue to the nature of this project the following assumptions and limitations were assessed throughout the project.

3.5.1 AssumptionsBelow is a list of assumptions necessary for the OSCAR/Cybot-EST project development.

The Curriculum and Instruction students will assist in the creation of the lesson plans, tutorials, and introductory software.

The Curriculum and Instruction students know what the 3rd to 6th grade students are capable of doing.

The 3rd to 6th grade students will have acquired the necessary knowledge to program the robot(s) prior to coming to the ISU Senior Design lab via the tutorials and introductory software.

Funding will be available to complete the project in a satisfactory manner. Suitable hardware will be available to interact with the robot(s). The robot(s) will be functioning at the necessary milestones. The number of necessary hours to complete the project will be devoted by the

team. Teachers are willing to add the results of this project to their current curriculum.

3.5.2 LimitationsBelow is a list of limitations for the OSCAR/Cybot-EST project development.

The attention span or lack of interest the 3rd to 6th grade students might have is a limitation. Some students may not be interested in this project and if the software does not capture their interest it could be a problem.

Availability of the robots due to scheduling conflicts within the Electrical and Computer Engineering Department.

Power consumption during operation of robot(s). Availability of 3rd to 6th grade students. Availability of working robots.

3 of 49

Page 8: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

4.0 Design RequirementsThe following describes the design objectives, functional requirements, design constraints, and measurable milestones that were taken into consideration throughout the project.

4.1 Design ObjectivesThe following are a list of objectives for Cybot/OSCAR-EST:

Develop project design based on knowledge of 3rd to 6th grade students. Feedback from teachers and students. Research various methods of teaching programming and robotics. Develop web-based software that will allow 3rd to 6th grade students to program a

robot to move. Develop a tutorial that will teach 3rd to 6th grade students how to program a robot. Design a framework that will allow currently unforeseen expansion.

4.2 Functional RequirementsThe following are a list of requirements for Cybot/OSCAR-EST:

Interactive Software Menu: Display a menu of items within the software that allows the user to

quickly access programmable functions. Video: Display a real-time video of the robot functioning. Program: Display a textbox that allows the user to program the robot. Compile: Create a button that allows the user to compile his/her program. Download: Create a button that allows the user to download and run the program. Introduction: Create a link from the software to the introduction for quick

access.

Figure 2: Interactive Software

4 of 49

Page 9: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Introduction to Engineering Science: Specify the difference between an engineer and a scientist. Engineering: Include information about what engineers do and are. Capabilities: Discuss the capabilities of the robots that the student will be using. Robots: Cover the basic concepts of robotics and their application. Also include

information on what types of engineers might develop a robot and the process.

Tutorials Tutorial 1: Help users develop skills to move the robot forward and back. Tutorial 2: Help users develop skills to turn the robot. Tutorial 3: Help users develop skills to use loops and condition statements. Tutorial 4: Help users develop skills to use sound, such as beeping.

4.3 Design ConstraintsThe following list is the design constraints:

Platforms: The program should be web-based to allow for multiple platform use (i.e. IBM and Macintosh).

Operation: The software must be easy for 3rd to 6th grade students to understand and operate.

Implementation: The programming language must be easy enough for 3 rd to 6th

grade students to implement. Video: The video must be clear and large enough for users to see the robot;

however, its size must be considered due to the amount of time it can take to process the video.

Control: The robot(s) will be limited to one or a pair of users at a time.

4.4 Measurable MilestonesThe success of the milestones will be evaluated based upon timeliness, thoroughness, overall cost, and functionality. Those students and teachers that participate in the project will assess the project by the filling out questionnaires. The following list is the measurable milestones for OSCAR-ETS:

Project Plan – 5%Write a project plan to better define the problem and provide a means to solve the problem.

Poster – 5%Design a project poster to describe the problem and solution of the project.

Flow Chart – 5%Develop a flow chart showing the program functions, input, and output.

Initial Software – 20%Write an initial web-based program to be presented to ISU students testing and evaluation.

Initial Introduction Material – 5%Write introduction software that will allow users to learn basic information.

Initial Tutorials – 5%Write tutorials to allow users learn about the robot(s) prior to use.

5 of 49

Page 10: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Test Phase I – 5%Have ISU students test the functionality of the software, ease of tutorials and use introduction information.

Revision I – 10%Revise the web-based program, tutorials, and introduction information based upon feedback from ISU students. Which will then be an initial web-based program to be presented to 3rd to 6th grade students for testing and evaluation.

Teacher Materials– 5%Create materials that allow teachers to use the robot. These materials will be consistent with the national standards for teaching.

Test Phase II – 10%Have 3rd to 6th grade students test the functionality of the software, ease of tutorials and use introduction information.

Revision II – 10%Revise the web-based program, tutorials, and introduction information based upon feedback from 3rd to 6th grade students.

6 of 49

Page 11: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Test Phase III – 10%Have 3rd to 6th grade students test the functionality of the software, ease of tutorials and use introduction information.

Final Implementation – 5%Revise the web-based program, tutorials, and introduction information based upon feedback from 3rd to 6th grade students.

Figure 3: Measurable Milestone Percentages

4.5 End-Product DescriptionThe Cybot/OSCAR Elementary School Tutorial will allow a user to program a robot from remote location. The system will enable the user to program the robot(s) movements and interactions with its environment. The user will be able to watch the robot as it moves through a video link. Prior to programming the robot(s) the user will be able to learn about the robot(s) using tutorials and instructional software. In addition teachers will be able to implement this project into their classrooms using lesson plans that shall be created using national standards. It is recommended by the OSCAR-EST team that this project continue to be expanded for a length of one extra semester for a total of three semesters due to the fact that OSCAR and Cybot were unavailable for testing.

5.0 Approach and DesignThe following describes the technical approaches, technical design, testing, risks, and recommendations that should be taken into consideration.

5.1 Technical ApproachesThe technical approach considered for the project involves the following factors:

7 of 49

Page 12: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Identifying the problems of design and application before choosing a language in which software is developed such that it can be used to program Robot(s), and also it provides a simple yet complete user interface.

o The implementation of the interactive software will be done using the programming language Not Quite C. The software will be edited to allow for the following functions:

Forward with in centiseconds. Reverse with in centiseconds. Turning with positive integers taking into consideration the use of

fractions. Meeting with the students from Curriculum and Instruction Department will be a

source of information that will ensure that the project is developed at a level appropriate for the 3rd to 6th grade students. The team members from the Curriculum and Instruction Department can help identify the problems and issues encountered while creating a process of learning for young students.

o Each function was recommended by the Curriculum and Instruction group members to allow for a better overall experience for the users.

o The tutorials will be developed by the Curriculum and Instruction group members to ensure that the information provided is at the appropriate level for the 3rd through 6th grade students.

Use the meetings with the Curriculum and Instruction Department to try and develop a better understanding of how to create a system of learning for young students.

o Educational approaches: Typical third grade classrooms incorporate a variety of subjects

within the curriculum throughout the year, such as: mathematics, spelling, reading, science, social studies, language arts, health/nutrition and various specials. The curriculum is guided by national and district standards. Through a combination of observations and experiences with standards, grade level curriculum and student involvement, the following content areas appear to be the most applicable for the intended objectives: mathematics, science and social studies. In relation to the goals and objectives, mathematics appears to be the strongest link to a successful outcome.

The National Council of Teachers of Mathematics expresses a number of standards and expectations for students within the five common areas: numbers and operations, algebra, geometry, measurement and data analysis and probability. Using Oscar and Cybot each standard can be met.

For example, the area of measurement expresses the standard “understand measurable attributes of objects and the units, systems, and processes of measurement” with one of the expectations being “carry out simple unit conversions such as from centimeters to meters within a system of measurement.” Both the standard and expectation could be met by using Cybot and/or

8 of 49

Page 13: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Oscar to visually express the relationship between units of measurement. Students could program Cybot and/or Oscar to move a 100 centimeters, mark the robots beginning and ending points, then program the robot to move 1 meter, again marking the distance traveled. The student will then be able to compare the two distances.

o Testing description: Cybot and/or Oscar can be used to meet the objectives and goals

within the classroom through lessons. One-way to successfully demonstrate this is through a lesson plan with the following components:

Anticipatory set : attracts the attention of your students through your introduction to activity and explanation of goals, this helps the student’s link to prior knowledge.

Objective : this is what the teacher wants the students to understand and know at the end of the lesson/activity.

Procedure : this is what is going to be presented and used to teach the lesson and incorporates the following areas:

Input modeling: this is what they learn often combined with modeling

Modeling: this is when the teacher demonstrates to the students what/how they are going to do something

Guided practice: this is a time for the students to practice what they have just learned with the help of their peers and teacher.

Independent practice: this is a time for students to practice what they have learned on their own, homework.

Evaluation : checking for understanding, this can be done many ways, through testing, presentations, worksheets, questions and etc.

Closure : this is a time for the teacher to wrap up and inform the students why this is important and what the students are to remember and have learned from this lesson/activity

Using the testing results, and then making the much needed changes for the final project end product.

5.2 Technical DesignThe project is split up into five basic components:

Component I: It is important to first complete a project definition. This will ensure that the project is developed according to plan and that all relevant information is included.

Component II: Writing software in Java, which will be used for the programming of Robot(s). As the code provided by the OSCAR/Cybot team (“OSCARTester” see

9 of 49

Page 14: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Appendix B for actual code) is in Java, therefore it will be easier to add and make appropriate changes in it, as compared to writing a new code in a different language. Moreover, no conversion of the code will be needed since OSCAR/Cybot are also programmed using the same language (Java). Through this software Robot(s) can be programmed, basic movements (for example move forward or turn 180 degrees). The creation of the software can be further divided into a menu, video display, and compiling option.

Component III: An introduction to Robot(s) will be created to allow for a better understanding of how the robots work, such as: motors, sensors, power, and basic robotic knowledge. This introduction will also allow the students to gain a better understanding of what engineering is.

Component IV: A tutorial will be developed for the software created in Component I. This tutorial will consist of many small tutorials each explaining part of the software. For example, a small tutorial can be developed just explaining the code for moving the robot(s) forward. Also, this will help them know what each piece of code does, so that they can make changes, and use it as they want. These small tutorials, all together, will provide a better understanding of how to use the software to program Robot(s). The reason for developing tutorials is to help students acquire the knowledge to use the software.

Component V: It is important to conduct testing for each of the smaller tutorials and teacher materials so that there is no problem when they are viewed as a whole. This will result in valuable feedback and changes can be made to improve the tutorials.

5.3 Testing DescriptionThe testing of all items in the project will be done such that the user is in one room and Robot(s) is in another room. The user will first go through the provided tutorials and introductory software. The user will then program Robot(s) using the developed programming software and then view the results of their programming in the same room through a video link. The initial testing can be done using college students and then young students to verify the software’s simplicity. Teachers in the classroom will then test the lesson plans. Since, the availability of OSCAR/Cybot is a big concern, and still at this point in time they can not be used for the testing. The team has decided to conduct the initial test using Lego’s. The testing of the project will involve:

Testing the Introductory Software: To see if the introductory software is effective and serving its purpose, the students will be allowed to view the program, and give the much needed feedback regarding the software.

Testing the Tutorials: Review and proofread the material for possible mistakes. Help students walk through the tutorials and ask them if the material is easy to understand or not. The Curriculum and Instruction group members will explain the tutorials and help them go through it. Identifying if any parts of difficulty or confusion for the students in the tutorial material. This can be recorded by either Curriculum and Instruction group members or the senior design group members.

10 of 49

Page 15: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Testing the Implementation Software: This will be done both by the senior design members and with the students. All parts of the software will be thoroughly checked for errors, and will be recorded and fixed by the senior design team members. If any part of the software is confusing or complex can be identified by the students. Also, if students think some part of using the software is confusing while actually using it, then the necessary explanation can be added to the tutorials.

5.4 Risk and Risk ManagementThere are several risks that need to be considered. The follow is a list of risks and how they might be managed.

Risk: Issues concerning the battery of Cybot and/or OSCAR, what kind of movements it can support and for how long?

Manage: Determine this information prior to using the robots through the knowledge of other design teams.

Risk: What if the robot is programmed by a user to run into a wall? For this do we need someone to be present at the site to take control of such a condition?

Manage: This risk can be managed by using certain checks that will limit the functions of Cybot and/or OSCAR.

Risk: Curriculum and Instruction students will not be available for next semester. Manage: The team will have to research information in order to determine the

capabilities of 3rd to 6th grade students. Risk: The wireless technologies will not be complete for the robots. Manage: The robots will have to be programmed through other available

technologies. Risk: The students needed for the 3rd to 6th grade testing will not be available. Manage: Multiple tests will need to be conducted using ISU students. Risk: The information in the tutorials or informational software might be too

advanced for the 3rd through 6th grade students. Manage: Curriculum and Instruction students will aid in the development. Risk: The tutorials or informational software might not contain enough

information for the 3rd through 6th grade students to actually control the robots. Manage: Curriculum and Instruction students will aid in the development. Risk: The necessity of two rooms, one for the students and their computers and

one room for the robots. Manage: Access robots over the Internet. Robots will be located in an ISU

classroom. Risk: Only one and/or two robots for a class of approximately twenty students,

which creates problems with holding all students attention. Manage: Rotational approach to interacting with the robot(s).

5.5 RecommendationsIt is recommended that OSCAR-EST be extended into a three-semester project. This decision was made due to the fact that the estimated work effort exceeds the timeframe

11 of 49

Page 16: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

that will be available to team members. Future team members will need to be knowledgeable in the Java programming language environment, as well as, servers.

One educational recommendation for completing the project as designed is to create specific lesson plans for mathematics in order to inform potential instructors of its capabilities and possible uses. Another would be to create a variety of lesson plans incorporating other educational content areas.

Future Work

Enable web based interaction between a classroom environment and the robot(s)

Allow the users to control Cybot and/or OSCAR’s arm(s) Ensure that only one user has control of the robot(s) Allow the users to use robot(s) sensors (sonar, infrared, etc.) Create a variety of lesson plans incorporating other educational content areas

6.0 Financial BudgetFunding will be needed to print materials for testing and distributing tutorials.

Table 2: Estimated Financial Budget

Item Original Estimated CostPrinting (Poster & Tutorials) $200 Total estimated cost $200

Table 3: Actual Financial Budget

Item Actual CostPrinting (Poster & Tutorials) $50 Total cost $50

7.0 Personnel Effort Budget

Table 4: Estimated Effort Budget

Member Original Estimated Effort

Revised Estimated Effort

Actual Final Effort

Jenny Golder 180 170 164Wagas Nazir 175 165 XJoshua Sloan 175 165 XAllison Bauerle - 120 110Jill Millhollin - 120 110Jasmine Staggers 185 170 X

12 of 49

Page 17: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Totals 705 840 X

8.0 Project ScheduleThis is the proposed schedule for the project in a Gantt form. The projected schedule is for the first semester. Using the sample in the class notes as a guideline and merging it with the class deadlines, a simple Gantt chart was developed documenting deadlines and the activities that need to be performed to meet those deadlines.

Figure 4: Gantt Chart, Revised

9.0 Closure Material9.1 Evaluation of Project SuccessThe success of this project can be based on the milestones. The following list is the measurable milestones for OSCAR-ETS:

Project Plan – 5%This milestone was met and fully accomplished.

Poster – 5%A poster was designed and created.

Initial Software – 25%The initial software was written to the full extent, tested, and demonstrated (See Appendix A and B).

Initial Introduction Material – 5%

13 of 49

Page 18: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

The introduction is a hard copy for the students to read. Initial Tutorials – 5%

Writing tutorials milestone was met (See Appendix C). Test Phase I – 5%

We have not had ISU students test our software; however, all other tests were accomplished.

Revision I – 10%This will be partially met, since the software will be revised after initial testing.

Teacher Material– 5%Material for the teachers was created and consistent with national standards for teaching.

Test Phase II – 10%This test phase will be completed by the end of the semester.

Revision II – 10%After the test phase the revisions will be made.

Test Phase III – 10%This test phase may not be fully met depending on time.

Final Implementation – 5%Final implementation will happen when all the tests have been completed.

9.2 CommercializationThe Cybot/OSCAR Elementary School Tutorial will allow a user to program a robot from remote location. The system will enable the user to program the robot(s) movements and interactions with its environment. The user will be able to watch the robot as it moves through a video link. This product may be commercialized to various schools that may be interested in the Electrical and Computer Engineering Department at Iowa State. The software is already created and the department would have to decide on prices and availability since the department is the owner of the robots.

9.3 Recommendations for Additional WorkIt is recommended by the OSCAR-EST team that this project continue to be expanded for a length of one extra semester for a total of three semesters. This way the additional semester can be used to run the software over the Internet instead of just room-to-room over the network as in this semester.

9.4 Lessons Learned What Went Well

The project was completed on time, including: software, tutorials, teacher material, and standards.

What Did Not Go Well Continuing documentation

14 of 49

Page 19: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Documents were revised; however, upon receiving them back items that were included did not appear read.

Cybot and OSCAR time constraints Teamwork

Scheduling Conflicts Communication with Advisors

Miscommunication of final project results.

Technical Knowledge Gained1. Cybot and OSCAR software2. Java applications

Non-Technical Knowledge Gained1. Capabilities of elementary students2. Teamwork 3. Communication among team members4. Time management

10.0 Project Team Information10.1 ClientDepartment of Electrical and Computer Engineering, Iowa State UniversityDr. John Lamont, Prof. Ralph Patterson, Dr. Lawrence Genalo

15 of 49

Page 20: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

10.2 CprE 491 Team Members

Allison Bauerle2118 Sunset DR.Ames, IA 50014 Phone: (515) [email protected] Education

Eric Bruxvoort1530 Little Bluestem #21 Ames, IA 50014Phone: (515) [email protected] Engineering

Jenny Golder148 University Vlg. Apt. CAmes, IA 50010Phone: (515) [email protected] Engineering

Jill Millhollin2910 Oakland Street Ames, IA 50014 Phone: (515) [email protected] Education

Waqas Nazir135 Dotson Dr. #A32Ames, IA 50014Phone: (515) [email protected] Engineering

Joshua Sloan2611 Luther Dr. #113Ames, IA 500Phone: (515) [email protected] Engineering

Jasmine Staggers4127 Hawthorn CourtAmes, IA 50010Phone: (515) [email protected] Engineering

16 of 49

Page 21: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

10.3 Faculty Advisors:

Dr. John Lamont324 Town EngineeringAmes, IA 50011-3230(515) 294-3600 – Phone(515) 294-6760 – [email protected]

Prof. Ralph Peterson, III326 Town EngineeringAmes, IA 50011-3230(515) 294-2428 – Phone(515) 294-6760 –[email protected]

Dr. Lawrence Genalo3107 Gilman HallAmes, IA 50011-3114Phone: (515) 294-4722Fax: (515) [email protected]

17 of 49

Page 22: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

11.0 SummaryThe development of this project will allow younger students the opportunity to experience the fun and excitement of science and engineering. From this learning experience the younger students will be become familiar with the joys of engineering, which could lead to the students pursuing a field in science and engineering.

12.0 References1. American Society of Mechanical Engineers. The ASME Guide on FIRST and

Universities. American Society of Mechanical Engineers. 2001.2. Smith, T.Y., “The Retention and Graduation Rates of 1992-98 Entering Science,

Mathematics, Engineering, and Technology Majors in 119 Colleges and Universities,” Center for Institutional Data Exchange and Analysis, University of Oklahoma, 1999.

3. Carlson, Denise, Lawrence Carlson, Janet DeGrazia, and Jacquelyn Sullivan. “A K-12/University Partnership: Creating Tomorrow’s Engineers.” Journal of Engineering Education. October 2001.

4. “FIRST - Summary of Performance, Proof of Impact, and Evaluation Efforts.” FIRST. 18 June 2001. For Inspiration and Recignition of Science and Technology. 14 January 2002 <http://www.usfirst.org/about/impact.pdf>

18 of 49

Page 23: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Appendix A

The Server Code

/******************************************************************************\* Cybot & OSCAR Elementary School Tutorial* Iowa State University* Server Program** Author: Jenny Golder* Date: Fall 2002\******************************************************************************/

import java.net.*;import java.io.*;import java.net.*;import java.io.*;import java.awt.*;import java.awt.event.*;import java.awt.image.*;import java.applet.*;import java.net.*;

/**************************************************************\* /listen for incoming traffic* /get data from client* send data to NQC compiler* if downloadable then download program to robot and run* if for Cybot & OSCAR change code* /send messege to client* /continue process forever\**************************************************************/

public class ESTserver{

/****************main::loop****************/public static void main(String [] args){

int success = 0;String program = new String();program="";while(true){

19 of 49

Page 24: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

System.out.println("Starting");program=ESTlisten();System.out.println(program);success=NQCcompile(program); //or Cybot & OSCAR ??//ESTsend(success);System.out.println("Done");

} }

/****************ESTlisten::listen for incoming traffic****************/public static String ESTlisten(){

String code = new String();code="";ServerSocket listener;boolean b=true;int buffer=0;try{

listener=new ServerSocket(4435);Socket talk=listener.accept();System.out.println("Accepting Incoming Data...");InputStream getCode=talk.getInputStream();System.out.println("Receiving Data...");while(b){

buffer=getCode.read();if ((char)buffer=='}'){ b=false;

System.out.println("}");}else{

System.out.print((char)buffer);code+=""+(char)buffer;

}}code+="}";listener.close();talk.close();

}catch(IOException e){System.out.println(e);}return code;

}

/****************NQCcompile::status and information from NQC****************/public static int NQCcompile(String code){

//put code into fileint i=0;System.out.println("set:"+code);try{

File dstFile = new File("temp.nqc");

20 of 49

Page 25: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

PrintWriter myFile = new PrintWriter(new BufferedWriter(new FileWriter(dstFile)));

myFile.print(""+code); myFile.close();

}catch(IOException E){System.err.println(E);}

//call nqc compiler on codeFile F = new File("nqc.exe");try{if(F.exists()){

Runtime rt = Runtime.getRuntime();Process proc = rt.exec("nqc -d -Eerrors.txt temp.nqc");proc.waitFor();proc.destroy();Process proc2 = rt.exec("nqc -run");proc2.waitFor();proc2.destroy();

}}catch(Exception IOEx){System.out.println(IOEx);

}

char [] ch = new char[10000];

try{FileReader error = new FileReader("errors.txt");error.read(ch, 0, 1);

}catch(Exception IOEx){System.out.println(IOEx);

}//check statusif(ch[0]=='#'){ //error

return 1;}else{

return 0;}

//nqc -d temp.nqc//nqc -run

//return 0; //return error status and information from NQC}

/****************ESTsend::respond to traffic****************/public static void ESTsend(String status){

21 of 49

Page 26: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

System.out.println("Button pressed");System.out.println("Starting");Socket talk;String text = new String();text=status;

//connect socket with PCtry{

talk=new Socket("conglomeration02", 4430);//create an object that can print to socketPrintWriter estPrinter = new PrintWriter(talk.getOutputStream(),

true);//send string to server programestPrinter.println(text);

}catch(IOException f) {System.out.println(f);} System.out.println("Done Sending Status");

}

/****************ECPErobot::compile for Cybot/OSCAR****************/public static void ECPErobot(String code){}

}

22 of 49

Page 27: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Appendix B

The Client Code

//GUI for Senior Design//Author: Joshua Sloan

import java.awt.*;import java.lang.*;import java.io.*;import java.net.*;import java.awt.event.*;import javax.swing.*;import java.awt.image.*;import java.applet.*;

public class RobotGUI {

public static JTextArea code = new JTextArea("Code Displays here",17,40);

public static void main(String [] args) {

JFrame F = new JFrame("Cybot/OSCAR"); F.setSize(600,600); F.getContentPane().setLayout(new GridLayout(1,2));

//declare a ButtonAction ButtonAction act = new ButtonAction();

//set font Font myFont = new Font("TimesRoman",Font.BOLD, 30); Font myFont2 = new Font("TimesRoman",Font.BOLD, 20);

//panel for Menu JPanel Menu = new JPanel(); Menu.setBorder(BorderFactory.createEtchedBorder()); Menu.setLayout(new GridLayout(14,1));

//added a empty label to make it look nicer JLabel space = new JLabel(); Menu.add(space);

23 of 49

Page 28: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

//title JLabel title = new JLabel("MENU"); title.setFont(myFont); Menu.add(title);

//Program menu JLabel Program = new JLabel("Program"); Program.setFont(myFont2); Menu.add(Program);

JButton One = new JButton("1"); One.addActionListener(act); Menu.add(One); JButton Two = new JButton("2"); Two.addActionListener(act); Menu.add(Two); JButton Three = new JButton("3"); Three.addActionListener(act); Menu.add(Three); JButton Four = new JButton("4"); Four.addActionListener(act); Menu.add(Four); JButton Five = new JButton("5"); Five.addActionListener(act); Menu.add(Five);

//Robots menu JLabel Robots = new JLabel("Robots"); Robots.setFont(myFont2); Menu.add(Robots);

JButton Compile = new JButton("Compile"); Compile.addActionListener(act); Menu.add(Compile); JButton Down = new JButton("Download"); Down.addActionListener(act); Menu.add(Down);

//Information menu JLabel Info = new JLabel("Information"); Info.setFont(myFont2);

24 of 49

Page 29: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Menu.add(Info);

JButton Tut = new JButton("Tutorials"); Tut.addActionListener(act); Menu.add(Tut);

//another space for looks JLabel space2 = new JLabel(); Menu.add(space2);

F.getContentPane().add(Menu);

//panel for video and code JPanel center = new JPanel(); center.setBorder(BorderFactory.createEtchedBorder()); center.setLayout(new GridLayout(2,1)); Icon robot = new ImageIcon("r2d2.jpg"); JLabel video = new JLabel(robot);

center.add(video); center.add(code);

F.getContentPane().add(center); F.show();

}

}

class ButtonAction implements ActionListener {

JEditorPane P = new JEditorPane();

public void actionPerformed(ActionEvent e) {

if(e.getActionCommand() == "1"){ RobotGUI.code.setText("task main(){\n\r OnFwd(OUT_A);\n\r OnFwd(OUT_C);\n\r Wait(100);\n\r Off(OUT_A + OUT_C);\n\r} "); }

if(e.getActionCommand() == "2"){ RobotGUI.code.setText("task main(){\n\r OnRev(OUT_A);\n\r OnRev(OUT_C);\n\r Wait(100);\n\r Off(OUT_A + OUT_C);\n\r} "); }

25 of 49

Page 30: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

if(e.getActionCommand() == "3"){ RobotGUI.code.setText("task main(){\n\r OnFwd(OUT_A);\n\r OnRev(OUT_C);\n\r Wait(100);\n\r Off(OUT_A + OUT_C);\n\r} "); }

if(e.getActionCommand() == "4"){ RobotGUI.code.setText("task main(){\n\r repeat(4){\n\r OnFwd(OUT_A);\n\r OnFwd(OUT_C);\n\r Wait(100);\n\r }\n\r Off(OUT_A + OUT_C);\n\r} "); }

if(e.getActionCommand() == "5"){ RobotGUI.code.setText("task main(){\n\r \n\r} "); }

if(e.getActionCommand() == "Compile"){

//put code into file String code = RobotGUI.code.getText();

int i=0;System.out.println("set:"+code);try{

File dstFile = new File("temp.nqc"); PrintWriter myFile = new PrintWriter(new BufferedWriter(new

FileWriter(dstFile))); myFile.print(""+code); myFile.close();

}catch(IOException E){System.err.println(E);}

//call nqc compiler on codeFile F = new File("nqc.exe");try{if(F.exists()){

Runtime rt = Runtime.getRuntime();Process proc = rt.exec("nqc -d -Eerrors.txt temp.nqc");proc.waitFor();proc.destroy();

}}catch(Exception IOEx){System.out.println(IOEx);

}

char [] ch = new char[1000];

26 of 49

Page 31: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

try{FileReader error = new FileReader("errors.txt");error.read(ch, 0, 1);

}catch(Exception IOEx){System.out.println(IOEx);

}//check statusif(ch[0]=='#'){ //error

//send client 1 JOptionPane.showMessageDialog(null,"Error Found","Error",JOptionPane.ERROR_MESSAGE );

}else{ System.out.println(ch[0]);

JOptionPane.showMessageDialog(null,"No Errors Found","Compiled",JOptionPane.INFORMATION_MESSAGE );

} }

if(e.getActionCommand() == "Download"){System.out.println("Starting");

Socket talk; try{ //start the socket talk=new Socket("twtc01",4435);

//read from socket BufferedReader in = new BufferedReader(new InputStreamReader(talk.getInputStream()));

//write to socket PrintWriter sendCode = new PrintWriter(talk.getOutputStream(), true);

//send code to server sendCode.println(RobotGUI.code.getText());

//read from socket //if(in.readLine() == "1"){ // JOptionPane.showMessageDialog(null,"Error Found","Error",JOptionPane.ERROR_MESSAGE ); //} //if(in.readLine() == "0"){ // JOptionPane.showMessageDialog(null,"No Errors Found","Compiled",JOptionPane.INFORMATION_MESSAGE ); //} }

27 of 49

Page 32: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

catch(IOException error){ System.out.println(error); } System.out.println("Done"); }

if(e.getActionCommand() == "Tutorials"){

JFrame JF; JF = new JFrame("Web Browser"); JF.setSize(800,800); JF.setVisible(true);

//setting JEditorPane try{ P = new JEditorPane("http://seniord.ee.iastate.edu/dec0203/");} catch(IOException i){} JF.getContentPane( ).add(P); } }}

28 of 49

Page 33: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Appendix C

Tutorials

ONWARD WE GO!

TASK MAIN ( ){ONFWD(OUT_A);ONFWD(OUT_C); WAIT(100);OFF(OUT_A + OUT_C);}

*USE THE PROGRAM IN THE BOX ABOVE TO ANSWER QUESTIONS 1-5

1) IN YOUR OWN WORDS, WHAT DO YOU THINK THIS PROGRAM WILL TELL THE ROBOT TO DO? __________________________________________________________________________________________________________________

2) WHAT SYMBOL IS AT THE BEGINNING AND END OF THIS PROGRAM? _________________________________________________________

3) WHAT SYMBOL IS AT THE END OF EACH COMMAND? _________________________________________________________

4) WHAT DO YOU THINK OUT_A AND OUT_C MEANS? _________________________________________________________

5) USING THE ‘ + ’ SIGN AND LOOKING AT THE LAST COMMAND IN THIS PROGRAM HOW ELSE MIGHT YOU WRITE ONFWD(OUT_A); AND ONFWD(OUT_C);? _________________________________________________________

EXERCISES:1) PROGRAM THE ROBOT TO TRAVEL THE DISTANCE OF 6 SQUARES. HOW MANY

CENTISECONDS (ONE CENTISECOND = 1/100 OF A SECOND) DOES THIS TAKE? ______

2) PROGRAM THE ROBOT TO TRAVEL HALF THE DISTANCE OF 6 SQUARES. HOW MANY CENTISECONDS DOES THIS TAKE? ___________________________________

3) PROGRAM THE ROBOT TO TRAVEL THE LENGTH OF 1/3 OF THE 6 SQUARES, THEN STOP FOR 100 CENTISECONDS, AND THEN PROCEED TO TRAVEL THE REMAINING DISTANCE OF THE 6 SQUARES. HOW MANY SQUARES IS 1/3 OF

29 of 49

Page 34: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

THE DISTANCE? ___ WRITE YOUR NEW PROGRAM BELOW OR ON THE BACK OF THIS SHEET:

30 of 49

Page 35: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

BACK FROM THE PARK!

OSCAR the robot wants to go the park with you but needs a path to follow. Your mission is to create a lego path for OSCAR from your elementary school to the park down the street, and then directly backwards to school, without turning around. For the first part of your mission, you know that your school is 3600 inches from the park and that you must create a path using legos only measuring 2 studs across and 16 studs long (2x16) that measure about four inches each in length.

1) How many inches is it from your school to the park and back? ______

2) How many 2x16 lego pieces will you need to travel to the park? _____

3) How many 2x16 lego pieces will you need to travel to the park and then directly backwards to your school? (Remember to show your work!) _______

4) Is the time needed to travel forward the same or different when traveling backwards along the same path? ____________________

For the second part of your mission, you need to create the second part of your program. Below is the part of your program that allows the robot to move forward. Now you need to complete this program to move Oscar backwards. (Hint: the command for moving backwards is OnRev)

task main ( ) {OnFwd(OUT_A);OnFwd(OUT_C); Wait(100);Off(OUT_A plus OUT_C);}

31 of 49

Page 36: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

ROUND WE GO!

Scenario 1: Imagine being seated in a wheelchair, unable to stand-up. You have already learned how to move forward and backward. You are facing the street and you need to turn to enter your school. Using forward and backward commands determine a method that would help accomplish this task.

1. Did you use the forward command? _____2. Did you use the backward command? _____3. Did you use these commands together? _____ If so, how? ___________

_________________________________________________________Scenario 2: Quietly stand-up and space yourself arms length apart from your classmates. Stand with both feet flat, facing the same direction, and shoulder width apart. Keep your left foot on the ground, pick up your right foot and pivot (turn) to your left. After completing a quarter pivot (1/4 of a circle), your feet should be shoulder width apart facing the same direction, and you too should be facing a new direction.

1. Did you turn your body the same as or differently than when completing the wheelchair scenario? ______________________ Explain. ________________________________________________________

______________________________________________________________2. OSCAR the robot turns much like a person in a wheelchair or a person-

pivoting (turning) on one foot. Knowing this information, use the scenarios from above to complete the following three different programs below (Each program is missing three pieces!)

a) task main ( ) b) task main ( ) c) ________( ) ___ { { OnFwd(OUT_A); OnFwd(OUT_A)__ OnRev(OUT_A); ___(OUT_C); On___(OUT_C); ___(OUT_C); Wait(100); Wait(100); ____ (100); ___(OUT_A plus OUT_C); Off(OUT_A __ OUT_C); Off(OUT_A plus OUT_C); } } }

These three programs each represent a different method of turning OSCAR the robot. As shown above, there are many ways one can program a robot to turn. When you have identified the missing pieces type, compile, and download each program in order to identify the differences between them. You should begin to notice that there is not just one right way to program OSCAR the robot.

32 of 49

Page 37: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

OVER AND OVER AGAIN!

1) Underline what is different about this program.

task main ( ) {

repeat (4){OnFwd(OUT_A);OnFwd(OUT_C);Wait(100);}Off(OUT_A plus OUT_C);

}

2) What happens when you repeat something? _______________________________________________________________________________3) Draw a picture of what you think the path of the robot will look like if it were using this program?

4) Download this program and test the program above. 5) What shape did the path of the robot create? ____________________6) Rewrite the program above to make the robot move in a rectangle. Write your program below. (Hint: use the repeat command)

7) Now type, compile, download and test the program you wrote in question number 6.8) Would you have changed anything to help this program to be more successful? _________________________________________________________________________________________________________

33 of 49

Page 38: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Appendix D

Teacher Materials

Article: What is Engineering?Grade Level: Fourth through Six gradeSuggested Time: 30 to 45 minutes

Objective(s):1) Students will become familiar with engineering concepts. 2) Students will utilize their reading skills.3) Students will participate in a class discussion and expound on

a variety of topics.

Abstract:Through this article students will be able to read about engineers

and the various aspects of their lives. Students will also understand in depth the differences between scientists and engineers. Mainly pointing out that scientists create theories that engineers apply to the real world. Gradually the article will begin to relate engineering to robots to help with students understand that engineering is everywhere. It will become obvious to the students that the design and creation of a robot includes a variety of engineering fields as opposed to just a specific one. One of the fields of engineering included in the design of a robot is that of a computer engineer. A computer engineer is one who designs and creates the software and hardware of a computer, which utilizes programming. The components associated with computer programs are explained in some detail to help students become familiar with the main ideas of programming. Students will then use this knowledge to better understand and complete the tutorials that follow. These ideas will be covered throughout the entire article but will leave ample room for class discussion, curious minds, and active involvement.

* To obtain more information about frequently asked questions related to what engineering has to offer, what kind of work engineers are evolved in, and what a career in engineering is like, visit IEEE’s website: http://www.ieee.org/organizations/eab/precollege/FAQ/index.htm

Discussion Topics:

34 of 49

Page 39: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Concept of Engineering Fields of Engineering Real-World Engineering Applications Roles of Engineers in Student Lives Compare and Contrast Scientists and Engineers Engineers in the Workforce Roles of Computers in Student Lives Concept of Robots Roles of Robots in Student Lives Student use of Engineering in Everyday Lives

35 of 49

Page 40: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Tutorial: ONWARD WE GO!Grade Level: Fourth through Sixth gradeSuggested Time: 30-45 minutes

Objective(s):4) Students will begin to learn how to read and write programs. 5) Students will be able to use mathematical concepts to program

a robot.6) Students will be to analyze and adjust prewritten programs.

Brief Overview:Prior to this activity students will have read the article WHAT

IS ENGINEERING?. Now with that information students will be become familiar with a program, and will accomplish this by answering questions about a prewritten program. This specific program will concentrate on moving OSCAR the robot forward and will help students become aware of the specific syntax included in all basic programs. After being introduced to the program students will then incorporate mathematical concepts and skills to alter the program to successfully perform specific tasks. The mathematical skills being used within this lesson include simple division and basic fractions. This information will be used and built upon in lessons that follow.

Material(s): OSCAR the robot Computers ONWARD WE GO! worksheets Pencils Robot – EST Software

36 of 49

Page 41: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Tutorial: BACK FROM THE PARK!Grade Level: Fourth through Sixth gradeSuggested Time: 30-45 minutes

Objective(s):7) Students will be able to analyze and adjust prewritten

programs. 8) Students will be able to use mathematical concepts to analyze

programs.9) Students will be able to apply problem-solving skills.

Brief Overview:Prior to this activity students will have completed the tutorial,

ONWARD WE GO. Through this tutorial, students should have become familiar with manipulating programs to move the robot forward. Now this tutorial will concentrate on moving OSCAR the robot backward and will help students connect mathematics problem-solving skills to programming. Students will first be presented with a problem that requires incorporating mathematical problem-solving skills to create a program and arrive at a solution. The mathematical skills being used within this lesson include simple division, measurement in inches, and word problems. This information will be used and built upon in lessons to follow.

Material(s): OSCAR the robot Computers BACK FROM THE PARK! worksheets Pencils Robot – EST Software

37 of 49

Page 42: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Tutorial: ROUND WE GO!Grade Level: Fourth through Sixth gradeSuggested Time: 30-45 minutes

Objective(s):10) Students will be able to analyze and adjust prewritten

programs. 11) Students will be able to use critical thinking skills.12) Students will be able to compare and contrast programs.13) Students will develop the connection of prior knowledge

to new knowledge.

Brief Overview:Prior to this activity students will have completed the

tutorials, ONWARD WE GO and BACK FROM THE PARK! . With the completion of these tutorials, students will have incorporated mathematical concepts and problem-solving skills. The programming concepts previously learned include forward and backward motions. Now through the completion of this tutorial, the students will utilize their prior knowledge to help program the robot to perform a turning motion. Students will use critical thinking to apply their prior knowledge to real-world situations in order to gain an understanding of the new concept, turning motion. After analyzing the motion of turning, students will compare and contrast the variety of programs used to turn OSCAR.

Material(s): OSCAR the robot Computers ROUND WE GO! Worksheets ONWARD WE GO and BACK FROM THE PARK worksheets as

references Pencils Robot – EST Software

SideNote: The introductory scenarios within this tutorial could be done

individually or as a class with manipulatives.

38 of 49

Page 43: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Tutorial: OVER AND OVER AGAIN!Grade Level: Fourth through Sixth gradeSuggested Time: 30-45 minutes

Objective(s):14) Students will write programs. 15) Students will apply geometrical concepts.16) Students will employ the connection of prior knowledge

to new knowledge.

Brief Overview:Prior to this activity students will have completed the

tutorials, ONWARD WE GO, BACK FROM THE PARK!, and ROUND WE GO!. In these tutorials, students will have utilized mathematical concepts, problem-solving, critical thinking, and the connection of previous knowledge to new knowledge. Students will have also learned the basic concepts of programming. Through the completion of this tutorial, the students will learn a new command that will help to simplify future programming. Students will choose a geometrical shape to incorporate in the program used for OSCAR the robot.

Material(s): OSCAR the robot Computers ROUND WE GO! Worksheets ONWARD WE GO, BACK FROM THE PARK, and ROUND WE GO!

worksheets as references Pencils Robot – EST Software

39 of 49

Page 44: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Tutorial: AROUND TOWN! * This tutorial involves only a map.

Grade Level: Fourth through Sixth gradeSuggested Time: 30-45 minutes

Objective(s):17) Students will apply programming knowledge to write

various programs. 18) Students will utilize creativity.19) Students will interrelate programming and writing skills.

Brief Overview:Prior to this activity students will have completed all tutorials.

Through the completion of these tutorials, students will have developed a variety of engineering skills and learned basic programming concepts in addition. In this tutorial students will apply their creativity and prior knowledge to create new programs. Using the map provided, students will write short stories that send OSCAR the robot on a mission around town. After composing their stories, students will bring their stories to life by creating programs that help OSCAR to follow the content of each story.

Material(s): OSCAR the robot Computers AROUND TOWN maps ONWARD WE GO, BACK FROM THE PARK!, ROUND WE GO!, and

OVER AND OVER AGAIN! worksheets as references Pencils Robot – EST Software

40 of 49

Page 45: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Appendix E

Standards

Mathematical StandardsCITED FROM PRINCIPALS AND

MATHEMATICAL STANDARDS FOR SCHOOL MATHEMATICS

PROBLEM SOLVING STANDARD FOR GRADES 4-6O BUILD NEW MATHEMATICAL KNOWLEDGE THROUGH PROBLEM SOLVINGO SOLVE PROBLEMS THAT ARISE IN MATHEMATICS AND IN OTHER

CONTEXTSO APPLY AND ADAPT A VARIETY OF APPROPRIATE STRATEGIES TO SOLVE

PROBLEMSO MONITOR AND REFLECT ON THE PROCESS OF MATHEMATICAL PROBLEM

SOLVING.

GEOMETRY STANDARD FOR GRADES 4-6O USE VISUALIZATION, SPATIAL REASONING, AND GEOMETRIC MODELING

TO SOLVE PROBLEMS

MEASUREMENT FOR GRADES 4-6O UNDERSTAND MEASURABLE ATTRIBUTES AND THE UNITS, SYSTEMS,

AND PROCESSES OF MEASUREMENT

REASONING AND PROOF FOR GRADES 4-6O RECOGNIZE REASONING AND PROOF AS FUNDAMENTAL ASPECTS OF

MATHEMATICS O MAKE AND INVESTIGATE MATHEMATICAL CONJECTURESO DEVELOP AND EVALUATE MATHEMATICAL ARGUMENTS AND PROOFSO SELECT AND USE VARIOUS TYPES OF REASONING AND METHODS OF

PROOF.

41 of 49

Page 46: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Technology StandardsCITED FROM ISTE NETS –

TECHNOLOGY FOUNDATION STANDARDS FOR ALL STUDENTS

1. BASIC OPERATIONS AND CONCEPTS STUDENTS DEMONSTRATE A SOUND UNDERSTANDING OF THE NATURE AND

OPERATION OF TECHNOLOGY SYSTEMS.

2. SOCIAL, ETHICAL, AND HUMAN ISSUES STUDENTS PRACTICE RESPONSIBLE USE OF TECHNOLOGY SYSTEMS,

INFORMATION, AND SOFTWARE. STUDENTS DEVELOP POSITIVE ATTITUDES TOWARD TECHNOLOGY USES

THAT SUPPORT LIFELONG LEARNING, COLLABORATION, PERSONAL PURSUITS, AND PRODUCTIVITY.

3. TECHNOLOGY PRODUCTIVITY TOOLS STUDENTS USE TECHNOLOGY TOOLS TO ENHANCE LEARNING, INCREASE

PRODUCTIVITY, AND PROMOTE CREATIVITY. STUDENTS USE PRODUCTIVITY TOOLS TO COLLABORATE IN CONSTRUCTING

TECHNOLOGY-ENHANCED MODELS, PREPARE PUBLICATIONS, AND PRODUCE OTHER CREATIVE WORKS.

4. TECHNOLOGY COMMUNICATION TOOLS

5. TECHNOLOGY RESEARCH TOOLS

6. TECHNOLOGY PROBLEM-SOLVING AND DECISION-MAKING TOOLS STUDENTS USE TECHNOLOGY RESOURCES FOR SOLVING PROBLEMS AND

MAKING INFORMED DECISIONS. STUDENTS EMPLOY TECHNOLOGY IN THE DEVELOPMENT OF STRATEGIES

FOR SOLVING PROBLEMS IN THE REAL WORLD.

42 of 49

Page 47: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Appendix F

Introduction to Engineering

WHAT IS ENGINEERING?Created By:

Jenny Golder, Computer EngineerJill Millhollin, Elementary Education

(Endorsement in Math & Social Studies)Allison Bauerle, Elementary Education (Endorsement in Spanish, Reading & Coaching)

Jasmine Staggers, Computer EngineeringJoshua Sloan, Computer EngineeringWaqas Nazir, Computer Engineering

Who is an Engineer?Engineers turn ideas into reality. They are problem solvers, who have the

ability to make things work better, quicker and be more resourceful while also being cost efficient. They serve communities with skill and dedication while working to create a better world. Science, mathematics and technology experiences are very important in the lives of engineers.

43 of 49

Page 48: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

There are many different types of engineers just as there are many different types of athletes. Civil, aerospace, computer, mechanical, chemical, agricultural, construction and industrial are just a few types of engineers. Questions such as “How does a remote control change the television channel?” or “How does a car move?” can be answered by one of the many types of engineers. When an engineer creates something he/she can explain how it works inside and out, why it works, how it was built and why it was built.

What is the difference between an engineer and a scientist?People often confuse what scientists and engineers do. A scientist is

a person who finds facts or organizes knowledge. Like engineers there are many types of scientists. For example, a chemist may be a scientist who works with the structures and properties of substances like acids, while botanist may be a scientist who works with living organisms like plants. Part of a scientist’s job is to investigate questions. The work of an engineer results in a product while the work of a scientist results in a theory. Scientists and engineers work hand in hand. Scientists discover new concepts while engineers apply these concepts to solve real world problems and create new devices.

Scientists = Theory and Engineers = Application

Where can you find an engineer working?Most engineers work at places where things are being developed and

produced. Engineers are involved in, but not limited to, the creation, development and marketing process of these new applications. Everyday appliances, such as televisions, computers, telephones, washing machines, automobiles, were designed and built by engineers.

44 of 49

Page 49: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

What is a robot?A robot is a mechanical device that helps humans perform a task.

Humans have manual control over robots. Sometimes programs are written on a computer and then downloaded into the robot. Programs allow robots to perform the same task over and over again. Often robots are needed for dangerous tasks such as space exploration, nuclear power plant and much more. Today many robots have replaced factory workers because robots can work longer and faster which makes them more efficient than humans.

How does a robot work?Robots have a variety of movable parts while some also contain motorized

wheels that spin and move in different directions. They are typically made of plastic or metal. Like the bones in your body, the robots moveable parts are connected together by joints. The robot's computer controls everything attached to the robot, just like your brain controls your body’s movements. A user must create a program. The program tells the robot what to do by controlling its movements.

Many different types of engineers contribute to designing a robot. For example, an electrical engineer helps with the building of the robot’s motor to move it from one place to another. A computer engineer helps with the building of the hardware and software that give commands to the motor. A mechanical engineer helps with the building of the body and the mechanics of the robot.

What is Programming?

45 of 49

Page 50: OSCAR Elementary School Tutorial - ECpE Senior …seniord.ece.iastate.edu/projects/archive/dec0203/final... · Web view6.0 Financial Budget Funding will be needed to print materials

Design Report Revision 1.0

Programming is a special language that both you and the computer can understand. In order for you and the computer to communicate you must first acknowledge the many parts to a program. A program is composed of many commands and symbols as shown in the box below.

The box above contains a program. The curly brackets, { }, at the beginning and end of the program help the computer to recognize where the program starts and ends. Each line contains a separate command that ends with a semi-colon, ; ,for example, OnFwd(OUT_A); is a command, which helps the computer know when that specific command is complete. OUT_A and OUT_C each represent a different motor. Each motor is identified in the program by the OUT_A and OUT_C commands, which then moves the motors, which in turn moves the gears in order to move the wheels. One special command is the Wait command. This command tells the computer how long to wait before proceeding to the following command, which in this case is the stop command. In other words the Wait(100); command takes 100 centiseconds to complete the two previous commands.

46 of 49

task main ( ){OnFwd(OUT_A);OnFwd(OUT_C);Wait(100);Off(OUT_A + OUT_C);}