
FIRST® at Home Programming with Romi Robot Project Essentials SUMMARY Students will explore declarative programing using the WPI Library software. They will build a mobile robot chassis using the Romi Robot and make their machines interact with its environment and perform tasks autonomously. This activity series builds programming skills and knowledge related to performing in a role as a programmer role on a FIRST® Robotics Competition team. Students completing these activities should have some knowledge and experience with programming or coding. If you are just starting out programming look at the other coding and programming skill building activities on FIRST at Home. Age Range & Grade Level: Ages 13 +, Grade 8+ Program Connection: FIRST Robotics Competition ® Authored By: Lori Birch, Curriculum Developer, FIRST Education OUTCOMES 1. Identify the problem and brainstorm solutions using a mobile robot and programming. 2. Decompose the technical documents of the Romi robot system. 3. Create a simple program using the WPILibrary and command-based programming design. 4. Using data from your robot, create a subsystem that improves the functionality of the machine. 5. Iterate your code to create the optimal solution for your robot game, finalize game criteria and present your game. RELEVANCE MATRIX – Subject Area Crosswalks and Core Values Addressed Science Math Literacy Social Studies Computer Science Motion, Forces, Measurement, Research, Content Career Declarative Physics, Mechanics 2D/3D modeling, Reading, Technical Connections, Programming, Geometry, Spatial Documentation Engineering for Pseudo Code, Reasoning Reading and social solutions Computational Comprehension Thinking Discovery Innovation Impact Inclusion Teamwork FUN! Our last Core Value should always be used when doing any FIRST activity. KEY VOCABULARY Programming Teleoperated Autonomous Pseudo Code Algorithms Sensors Prototyping Design MATERIALS & SUPPLIES NEEDED FOR THIS ACTIVITY Per Robot Kit: Romi Robot Kit for FIRST, Raspberry Pi, Six AA batteries, Computer/Laptop, Internet Connection, Optional (For Go Further Activities) Proximity sensors and range finders Per Class or Team: Tape, Soda Cans or Water Bottles, assorted materials cardboard, etc. ACTIVITY TEACHING TIPS The FIRST activity series blends the learning of core concepts and practical application through project- based learning. The activity series involves students exploring concepts using the steps pictured below. This process creates authentic learning opportunities for students as they complete the activities. As the facilitator put the responsibility for learning on the students using the documents to support students and ask questions for them to deepen their learning. SCOPE AND SEQUENCE Activity Name Length Activity Summary (hours) Problem Explore Computational Thinking and Robotics using FIRST Core Identification and 5 - 10 Values to learn about the command-based programming design Design pattern. Decompose the Romi robot, comparing with real-world robots. Decomposition 5 - 10 Build the chassis of the Romi robot using the technical documentation. Practice pseudo coding learn the programming environment and Programming 5 - 10 syntax used in the WPILibrary. Create new command-based actions for the robot and test Functionality and 5 - 10 commands using increased functions for being able to interact Subsystems with the game environment. Test your final solutions and optimized programming. Present a Iteration and 5 - 10 demonstration that shows the logic, game rules and strategy for Demonstration your robot using your game field criteria. Total hours are based on estimated time to complete for the base activity as written, extended hours reflect addon activities shown 25 - 50 in the Go Further Section of each lesson. These may need additional materials to complete. EVIDENCE OF ACHIEVEMENT Evaluation Rubric Category 3 points 2 points 1 point Some of the requirements All requirements on the Only a few requirements on Requirements on the design brief were design brief were met. the design brief were met. met. Clearly showed how the solution Showed how the solution Not clear how the solution Design would help others. would help others. would help others. Demonstrated collaboration by sharing information Shared some information or Respect and inclusion being Collaboration or working with team with team members. developed. members. All the questions are All the questions are The questions are not Knowledge Gained answered but could have answered completely. answered. more detail. FIRST is a global robotics community that prepares young people for the future. www.firstinspires.org FIRST® at Home Programming with Romi Robot Problem Identification and Design ACTIVITY 1 – Problem Identification and Design PROBLEM STATEMENT Programming in the FIRST Robotics Challenge environment uses the WPILib software package. This is a portion of the robot control system and includes a variety of libraries and tools. This programming library can support a variety of programming languages: Java, C++ and LabVIEW. In this activity you will begin to use basic algorithms and robot logic. In this scenario, as future innovators and problem solvers, that want to make an impact in the community, you are tasked designing a robot game that can be played using the Romi robot and WPILib contraints. CRITERIA & CONSTRAINTS • The game can be played with a single player or two players. • Your plan should include how to demonstrate FIRST® Core Values. • The robot used will be the Romi robot. • There should be an autonomous and/or teleoperated driver-controlled period. • Develop a decision matrix that will determine the tradeoffs you will need to make in determining the robot design based on the Romi robot. • Make a plan using pseudo code that uses a command based format. ENGINEERING DESIGN PROCESS & FIRST CORE VALUES FIRST Engineering Design Process | Explore FIRST Core Values INTRODUCING ROMI ROBOT Watch the FIRST Hour of Code episode clip & explore the documentation for the Romi robot. Command-based programming is method to organize a robot code or algorithm. This is known as declarative programming and the algorithm is made up of commands for the robot to execute. To execute a command you must first define the desired robot behavior. Now that you have reviewed the Romi documentation think about your game design create some basic commands using pseudo code to define basic robot behaviors. Determine tradeoffs of your robot design to meet the game design. GAME DESIGN • What makes a good game? • What materials do you have available to create a game? • Will you be creating the game as an individual or can multiple people participate in your game? • How will the game tasks take into account the restrictions of the Romi robot? GAME FIELD EXAMPLE Below is an example diagram of basic layout of a game field. Use the space below to design your own field set up. Determine what materials you need for the field and what is avalible for you to use. BRAINSTORM IDEAS FOR YOUR GAME DESIGN AND PROTOTYPE Brainstorm 2 or 3 examples of optimal robot play in the space below. Use a sketch or diagram as needed. REFLECTION QUESTIONS 1. How can data gathered by sensors lead to algorithms for robots to make decisions? 2. How does the design of a game affect the design of a robot? 3. What specific features of command-based program make it useful for programming robots? 4. What programming language will you use to program your Romi robot? GOING FURTHER (OPTIONAL- SEE MATERIALS NEEDED) Incorporate sensors on to your robot. Explore the sensors in the optional accessories for the Romi to see the options that are integrated into the WPIlib. • How is data gathered in an environment with sensors? • What sensors are available? • What data does the sensors measure to be used to make decisions? CORE VALUES SELF-REFLECTION Amazing Skill Great Job Making Progress Could Be Better I approached the tasks I approached the tasks looking for all possible and asked questions I approached tasks I depended on others to answers independently from one other person but needed assistance Discover make the discovery for and used perseverance but persevered to multiple times to reach a me. to discover the answer discover the answer on point of discovery. on my own. my own. I struggled with being I used creativity and I used creativity and creative and only used perseverance to solve perseverance to solve I used creativity the information given problems on my own, problems on my own but struggled with Innovation and needed a lot of coming up with unique coming up with different perseverance to solve encouragement from solutions for the tasks I solutions for the tasks I problems on my own. others to complete the was given. was given. task. I approached the tasks applying understanding I approached the tasks I understand the tasks I understand the tasks of the information with knowing and applying but struggle to apply but did not approach it Impact the impact it can have the information with how it will help me in with understanding the on me and my future as impact it can have on my future or to influence impact it can have on well as how I could help me and my future. others. my future or others. others. I approached all I approached most I did not approach tasks with inclusion of I approached some with inclusion of tasks with inclusion of others’ ideas, I showed tasks with inclusion of others’ ideas, I tried others’ ideas, I tried tremendous kindness others’ ideas, I tried to understand
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages27 Page
-
File Size-