Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Robotic devices are becoming increasingly used in a variety of contexts to perform tasks and solve problems. In this project, students will be introduced to physical computing by designing and programming a two-wheeled robot prototype to perform useful tasks for people.
This project is tailored for a two-wheeled robotics kit called the SparkFun Inventor's Kit for RedBot. It is highly recommended to add an ultrasonic sensor to the RedBot for more design possibilities.
However, you may use another wheeled robot of your choice for this project. If the robot is programmed using Arduino, you may be able to use (or modify) the tutorials and references in the accompanying Robotics Code Guidebook (depending on the particular components and capabilities of your robot).
Most people picture a human-like robot when they think of a "robot" – however, robotic devices vary widely in their purpose, size, capabilities, etc. Some robots have arms for grabbing or gripping objects. Some robots have wheels or legs for moving on surfaces. Some robots have propellors for moving through the air or water. It can be challenging to define what a robot is.
However, most people that study and create robotic devices generally agree that robots are physical computing devices that follow a "sense-think-act" cycle to autonomously interact with the physical world.
SENSE: Robotic devices typically have one or more physical inputs (such as sensors, etc.) that gather data from the physical environment.
THINK: Robotic devices are programmed to analyze data from their inputs to make decisions and respond to certain conditions by acting through their outputs.
ACT: Robotic devices typically have one or more physical outputs (such as motors, etc.) that can perform movements and actions in the physical environment.
The "Think" component requires a robot to be autonomous – it is programmed with an "artificial intelligence" to make its own decisions based on data. In some cases, this AI may be a relatively simple algorithm or program that only performs a specific task. In other cases, this AI may be capable of much more complex and adaptable behaviors.
ROBOT VS. NOT ROBOT: If a device's actions are being decided and controlled directly by a human, then the device would not be considered a robot. For example, a remote-controlled drone is not a true robot because it is not flying by "thinking" on its own. However, a self-flying drone would be considered a robot.
In this project, students will collaborate in small teams to design, develop, and evaluate their own technology solutions to an authentic challenge. Teams will follow a user-centered design approach which focuses on understanding the goals, needs, expectations, and experiences of the people that will use their technology solution. Evaluation and testing of ideas and prototypes is integrated throughout the design and development process.
This project is designed to follow the research-based “Gold Standard” model of Project Based Learning (PBL) developed by the Buck Institute of Education.
This project is intended to be completed throughout a semester-long high school CS course. Here are the estimated times required to complete each project phase:
Some of the project assignments include links to Google Drive templates (document, spreadsheet, slide presentation, drawing, etc.). All the templates are shared as "View Only." Students must create a copy of the template in order to modify it. (Students should not request edit access, as the file is a master template for all students.)
MAKE A COPY: To use a template, be sure you're logged in to your Google Account. From the template's File menu, select Make a copy. Save the copy to your shared team folder in Google Drive. You can now modify it.
This project reflects authentic principles and practices currently used in the technology industry. This project emphasizes design thinking, computational thinking, and 21st century success skills (such as creative thinking, critical thinking, communication, and collaboration).
It is recommended that each student also complete one or more research reports in parallel to this project. These research reports should be shared with the class (and beyond).
Copyright © 2017-2021 Michael Frontz and Jim Lyst, Indiana University School of Informatics and Computing at IUPUI
This material is part of the Computing by Design high school computer science curriculum developed for the Informatics Diversity-Enhanced Workforce (iDEW) program, an award-winning community partnership in central Indiana that is broadening student participation in computing and helping students develop the skills essential for success in the 21st century workplace. The iDEW program is managed by the Indiana University School of Informatics and Computing at IUPUI.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. You are free to use, share, or adapt this material for noncommercial purposes as long as you provide proper attribution and distribute any copies or adaptations under this same license.
Your team will generate possible ideas for a two-wheeled robot that performs useful tasks for people. After evaluating the ideas, your team will select one concept for your team’s project.
RECOMMENDATION: Focus on quantity of ideas before evaluating them for quality. If helpful, you can use this list of words to help spark your initial idea generation:
Warehouse, factory, construction, landscaping, homes, shopping, restaurants, hospitals, retirement homes, schools, offices, streets, parks, sports fields, police, fire/rescue, planetary exploration ...
If necessary, review the , including the criteria and constraints.
Each team member should independently generate and record at least 10 possible ideas for a two-wheeled robot that could perform useful tasks within a specific context (home, school, business, etc.). If helpful, create quick sketches to help illustrate ideas.
As a team, discuss and refine your ideas to form a combined numbered list of ideas for your robot prototype. For each idea, discuss these questions and make any refinements:
What are different tasks or behaviors that your robot prototype could demonstrate?
Are there certain robot parts or actions that would need to be simulated? If so, can you still create a robot prototype that performs the main tasks?
What is the value or benefit of having a robot (instead of a person) perform the tasks?
Construct a to help evaluate your team’s list of ideas by ranking the relative weight (from Low to High) of each robot idea on these two criteria (and then plotting a numbered point on the matrix to represent each concept):
User Value (how useful and valuable would this robot likely be to people)
Team Interest (how much interest do you have in pursuing this as your project)
Use the decision matrix to select one idea to pursue for your team’s project. Ideally, your selected idea will have high user value and high team interest.
Submit the following:
Each team member’s initial list of ideas
Your team’s combined numbered list of ideas and its decision matrix. Be sure to identify which idea was selected for your team's project.
Your team will research existing products (robotic and non-robotic) that perform similar tasks as your team’s robot concept. Summarize the features of 3-4 competing products, and analyze the competing products to identify opportunities to make your team’s robot concept innovative compared to the competition.
IMPORTANT: If your research and analysis reveals that your team’s robot concept will NOT be unique or an improvement over existing solutions, your team will need to revise your concept or select a different concept from your list of ideas.
Gather information to summarize the following for each competing product:
What is the product's name and its specific context of use? (include product image)
What are the key functions and features of the product?
What are the key parts (sensors, motors, etc.) that the product uses to perform its tasks?
What are the strengths and weaknesses of the product?
What information sources were used in your research? (include links to sources)
Submit a document or presentation that summarizes each competing product and identifies opportunities for your team’s robot concept to be innovative compared to the competition.
TK
Each team will complete the to develop a firm understanding of the technical opportunities and constraints your team will have when designing your own robot prototype with the provided robotics kit.
Demonstrate that you have completed the tutorials and can discuss how the robotics kit and code work together.
Your team will diagram and describe 3 task scenarios that your robot prototype could demonstrate. These tasks could represent:
different tasks that the robot will complete
variations of the same task to show the robot's flexibility (such as: traveling to different destinations, avoiding obstacles even if their location changes, etc.).
For example, imagine that your team is designing a hotel robot that transports luggage for the hotel guests. The first task might be for the robot to deliver luggage to a guest's room by navigating from the lobby through the hotel hallways to a specific guest room. The second task might be for the robot to navigate safely back to the lobby. The third task might be to deliver another set of luggage to a different guest room.
In the second phase of the project, your team will program its robot to perform its tasks within a demonstration environment (6 feet by 6 feet) that you'll construct. You'll create and place objects and other features in the demo environment to create a model that represents a real-world environment. (If necessary for your robot demonstration, your team could rearrange certain objects during or between tasks to represent changes in the environment.)
Discuss and decide on 3 task scenarios that your team's robot prototype could demonstrate. It might be helpful to create simple sketches of the robot demo environment (top-down view of square environment) to show possible objects and features, as well as the robot's possible path and actions as it completes the task. Later in this assignment, you'll create digital diagrams of each task scenario.
Write a brief description of each task scenario. Be sure to include:
the robot's overall goal for the task scenario
a description of the robot demo environment (e.g., its objects and other features)
a list of the key steps or behaviors that the robot will need to perform in order to complete the task — keep in mind that you can simulate certain steps or behaviors as long your robot can meaningfully demonstrate the main task (be sure to identify if a specific step or behavior will be simulated)
at least one possible method to measure or evaluate the robot's performance during the task — such as:
accuracy (e.g., robot will stop within 6 inches of its intended destination, etc.)
efficiency (e.g., robot will complete the task within 20 seconds, etc.)
avoiding errors (e.g., robot will have no more than 1 collision, etc.)
Create a diagram for each task scenario. The diagram should be a top-down view of the robot demo environment (which will be 6 feet by 6 feet square). The objects and other features in the environment should be drawn to approximate scale size relative to each other. Be sure the diagram is easy to understand.
You can use this Google Drawing template for each (the robot is a separate object layer that can be moved and rotated as needed). REMINDER: To use the template, select "Make a copy" from the File menu, and save it to your shared team folder in Google Drive.
Use shapes (rectangles, circles, lines, etc.) to draw simple representations of objects and other features that will be included in the environment (such as: walls, obstacles, people, surface lines, etc.). Add text labels to identify key objects or features.
Show the robot at its starting position for the task, and use dashed arrows to draw the robot's path as it performs the task. Add text labels to identify key steps or behaviors along the robot's path.
CLEAR THE WAY: The robot needs a path that is about 18" (1.5 feet) wide in order to drive forward and make turns. If you place walls and other obstacles too close together in the environment, your robot might not be able to navigate through them.
Submit your team's descriptions and diagrams of its 3 robot task scenarios
You'll conduct background research to:
better understand what a robot is
become familiar with examples of different types of robots.
Instructions for both research tasks are listed below.
Think about how you might define a "robot" in your own words: What is a robot? How would you decide whether something was a robot or not? Briefly discuss and compare your ideas with other students.
Use these resources to learn more about robots:
WATCH: (4 minutes to watch)
READ: (7 minutes to read)
WATCH: (6 minutes to watch)
Answer the following questions based on what you watched and read:
What is the “Sense-Think-Act” cycle, and how is it useful for understanding robots?
Why would a remote-controlled drone not be considered a robot?
How are robots and artificial intelligence (AI) related, and how are they distinct?
What are some possible benefits and risks associated with increased use of robots to automate tasks?
Conduct internet research to find a specific example for three different types of robots. Gather information to summarize the following for each robot example:
What is the robot's name, and what type of robot is it (e.g., consumer, industrial, etc.)? Be sure to include an image of the robot.
What is the robot's purpose (e.g., what tasks does it perform), and what is its context of use (e.g., when and where is it used)?
What benefit or value does the robot provide? (e.g., is it more convenient, is it more efficient or accurate, is it safer, does it perform tasks not possible otherwise, etc.)
SENSE: What physical inputs (sensors, etc.) does the robot have? What data does it gather from its physical environment using these inputs?
THINK: What kind of decisions can the robot make based on the data it gathers from its physical environment?
ACT: What physical outputs (motors, etc.) does the robot have? What actions can it perform in its physical environment using these outputs?
What information sources were used in your research? (include links to sources)
Create a slide presentation to summarize your research findings for each robot example, and briefly present one or more of your examples to the class.
Submit the following:
A document with your answers to the questions based on the robot videos and article
A slide presentation with the research summary of your robot examples
TK
You'll create a slide presentation that summarizes your team’s proposal for its robot prototype. Practice your presentation before delivering it to your class. This will be an opportunity for other project teams to ask questions and provide constructive feedback to help your team clarify and improve its project concept.
Your team's presentation should include the following (in this order):
Project Team: product name, team name, team members & their roles
Value Proposition: Be sure the value proposition for your project concept is clear and compelling.
Competitive Analysis: Briefly describe the examples of competing products & highlight their key strengths and weaknesses. Explain the opportunities your team identified to design a product that is unique or better compared to the competitors.
User Research (Persona): Identify how many people were interviewed and how they were selected. Highlight key aspects of the persona that was created from the interview data.
Robot Task Scenarios: Show the diagrams for the robot task scenarios, and briefly explain each task scenario: what is the goal of the task, what will the demo environment include, what behaviors will the robot demonstrate, what parts or actions might be simulated, how will the robot's performance be measured or evaluated, etc.
The presentation should have 6-12 slides and take 5-10 minutes to deliver.
Submit your team’s slide presentation
Your team will discuss and create a for your team’s robot concept using this format:
For [describe target users] who [describe problem or need], [name of product] is a [describe type of product] that [describe benefit or value].
Your team's value proposition is an “elevator pitch” that quickly communicates your robot concept to outside people and helps provide focus to your team as you design, build, and evaluate your robot prototype.
Submit a document with your team's value proposition for your robot concept.
VALUE PROPOSITION:
For busy people who want an easier way to keep their home clean, FloorBot is a cleaning robot that vacuums carpets and cleans floors, saving time and effort.
Read this article that categorizes .
Project Phase
Estimated Time
1 Discover & Define Problem
6-7 weeks
2 Design & Build Solution
5-7 weeks
3 Evaluate & Refine Solution
2-3 weeks
4 Share Project with Public
1-2 weeks
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Ideation is limited: ideas presented are insufficient in quantity, lacking in diversity or creativity, and/or infeasible to address given the project constraints. | Robust set of diverse, feasible ideas are presented and considered. Idea selected for project has high user value and high team interest. | Ideas demonstrate especially keen or creative insight, recognizing unique problems that the team could address with a robotics solution. |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Competitive analysis is incomplete, lacking clarity, or fails to identify opportunities for team to develop innovative solution. | Competitive analysis provides clear, concise, and complete information for 3-4 relevant competing products, and identifies opportunities for team to develop innovative solution. | Competitive analysis demonstrates especially keen or creative insight in recognizing gaps in existing products that the team could address with their solution or other opportunities for team to develop innovative solution. |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
description | description | description |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Description | Description | Description |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Content: Information presented in a way that is not always clear, concise, and logical. The presentation style and selection of material is not fully appropriate for the context. | Information presented in a clear, concise, and logical manner. The selection of material and style is appropriate and effective. | Exceptionally curated information that is presented in an interesting, coherent and memorable way. |
Delivery: Eye contact, poise, and appropriate voice-level often lacking. | Vocal clarity, eye-contact, and physical composure maintained throughout | An exceptionally engaging delivery lacking unnecessary distractions from the content. |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
The code tutorials were only partly completed and/or the evidence of student understanding is limited. | All the code tutorials were completed, and the core functions of the technology and code are understood. | Evidence of additional learning beyond the assigned tutorials was demonstrated. |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Value proposition is not clear or does not offer a compelling need for the proposed solution. | Value proposition is clear and supported by the team's research. | Value proposition is especially convincing and generates anticipation to see the rest of the project. The value to users and other stakeholders is compelling. |
You'll create your robot's demonstration environment, so it has the necessary features and objects to demonstrate your robot task scenarios.
Your teacher will confirm which type of surface that the teams will use to create their 6 ft × 6 ft robot demonstration environments. The demo environments might need to be created on a portable surface, so they can be stored and transported (e.g., between class meetings – or for the public presentation event). For example:
If there is sufficient floor space in the classroom or hallway, each team might receive a designated 6 ft × 6 ft floor space for the remainder of the project. Each space could be outlined using tape (masking, painter's, gaffer, electrical, etc.).
Butcher paper could be used to create a surface for the environments. Each team could tape together 2 pieces of 3 ft × 6 ft white butcher paper, in order to form a 6 ft × 6 ft sheet, which could be carefully rolled for storage.
Poster board could be used to create a surface for the environments. Each team could use 6 pieces of 2 ft × 3 ft white poster board, in order to form a 6 ft × 6 ft surface, which could be stacked or carefully folded for storage.
Use your team's robot specifications to determine the specific objects and features needed for your robot demo environment.
Determine which objects and features will be stationary and which need to be movable.
Stationary features will remain fixed in place throughout your robot demonstration (same location across all task scenarios).
Movable features will change location during your robot demonstration (either during a task scenario or between scenarios).
Determine which objects and features will be 2D representations and which should be 3D representations.
2D representations: Certain features could be created as flat representations (even if the real-life feature isn't flat). Stationary features could be drawn directly on the environment surface (if using butcher paper or poster board). Movable objects could be constructed with paper, cut out, and placed onto the environment surface.
3D representations: Cardboard and other materials can be used to create 3D representations of certain objects and features, such as walls, obstacles, etc.
Construct the objects and features needed for your team’s robot demo environment. Necessary materials and tools might include: paper, cardboard, adhesive tape, scissors, ruler, markers, etc. Your teacher will identify which materials and tools will be provided, as well as where each team can store its completed objects and features.
Use your team's task scenario diagrams to help determine the correct size for each object or feature.
If necessary, add specific details to make certain objects or features visually distinct or identifiable to your audience. The purpose is to make your demonstration easy to understand and compelling to viewers.
Set up your team’s robot demo environment with its objects and features. Use your team's task scenario diagrams to help determine the correct position for each object or feature. Be sure your robot will have sufficient space within the environment for driving, turning, etc.
Take a photo of your completed robot demo environment. If your task scenarios will have different layouts, then take a photo of each layout. Use an image editor (Google Drawing, etc.) to annotate the photo with text labels to identify key objects and features.
Use your demo environment to test and verify the programming of your robot's tasks and behaviors. Your team will most likely find it necessary to modify your demo environment (moving objects, etc.) and/or your robot's program, in order for the robot to successfully complete its tasks.
If you make a permanent change to the layout of your demo environment, be sure to update your task scenario diagram(s) to match and also take a new photo – so you have visual references to correctly set up the environment for the next test or demo.
CLEAR THE WAY: The robot needs a path that is about 18" (1.5 feet) wide in order to drive forward and make turns. If you place walls and other obstacles too close together in the environment, your robot might not be able to navigate through them.
Submit the annotated photo(s) of your team's robot demo environment
Example
Your team will create design specifications for your robot prototype (including its demonstration environment), as well as for a fully-functional version of your robot concept.
These specifications will build upon your team’s robot task scenarios. Review your existing robot task scenarios, and determine if any changes should be made. You can use this template to document your team's final robot specifications.
MAKE A COPY: To use a template, be sure you're logged in to your Google Account. From the template's File menu, select Make a copy. Save the copy to your shared team folder in Google Drive. You can now modify it.
Briefly describe each task that your robot prototype will demonstrate. Include a diagram for each task (update the diagrams if necessary).
Identify which specific navigation mode(s) that your robot prototype will use to complete its tasks.
Identify which specific types of robot behaviors that your robot prototype will need to perform to complete its tasks.
Identify any robot behavior(s) that will need to be simulated during the demonstration, and describe how these will be simulated.
Identify specific metrics that could be used to measure or evaluate the robot's task performance (such as: accuracy, efficiency, avoiding errors, etc.).
Identify any parts that will need to be added to the robot prototype for demonstration purposes. Identify whether these parts provide aesthetic value, functional value, or both. Briefly describe how these parts might be constructed and added to the robot prototype.
Identify any objects or other features (surface lines, etc.) that will need to be added to the robot demonstration environment. Identify whether these objects and features provide aesthetic value, functional value, or both. Briefly describe how these objects and features might be constructed and added to the robot demo environment.
Briefly describe any additional functions or features that a full-scale, fully-functional version of your robot concept would have.
Identify any additional components (specific sensors, motors, etc.) that a fully-functional version of your robot would require. You may need to conduct research to verify which specific components would be feasible to use for specific tasks or behaviors.
For example, a GPS receiver has a margin of error of about 15 feet compared to its actual location – while that might be close enough for navigating a vehicle on roadways, it might not be accurate enough for your robot’s intended use.
Create a multi-view drawing (also called an orthographic drawing) of a fully-functional version of your robot concept, which may have different parts and features that your robot prototype won’t have. Include an image of this drawing in your specifications document.
The multi-view drawing should show the front, side, and top views of the robot. Include enough detail to show and label key parts (such as: sensors, etc.).
Be sure the height, width, and depth of the robot and its parts are drawn to scale. Use the same scale for each view.
Each view should be dimensioned by listing the real-life sizes (height, width, depth) of the robot and its key parts.
OPTIONAL: You could use your multi-view drawing to also create a 3D digital model of the robot design using CAD software (such as: Tinkercad, etc.).
Submit your team's robot specifications document
Example
Your team will have external stakeholders evaluate your robot design. Your team's multi-view drawing and task scenario diagrams will act as a paper prototype of your robot design. Receiving constructive feedback will allow you to improve the design before creating a functional prototype.
Identify which types of participants would be most relevant and useful for evaluating your robot design. Be sure your participants will reflect the diversity of the real-life stakeholders that might use the robot or be affected by its use. Your team will need to conduct individual evaluations with 3-5 people, so determine how you might recruit these people, as well as when and where you would conduct each evaluation session.
Prepare a script to guide the evaluation session. The goal is to: (a) clearly and concisely present your robot design, and (b) gather constructive feedback on how to improve the robot design. Here are important elements to include in the script:
Introduce yourself and the evaluation purpose. Let the participant know the purpose is to improve your team's conceptual design of a robot before creating a functioning physical prototype. Let the participant know that questions and feedback are welcomed throughout the evaluation session.
Use your value proposition and multi-view drawing to introduce your team's robot concept. Be sure to explain the robot's overall purpose and the value it would provide. Briefly explain the sensors and other components that the robot would use to accomplish its tasks. Be sure to give the participant sufficient opportunity to ask questions and provide feedback. As necessary, ask the participant specific questions to prompt feedback on specific aspects of the robot concept.
Use your task scenario diagrams to show the specific tasks that your robot prototype will demonstrate. Let the participant know that the robot task demonstrations are limited to a 6 foot by 6 foot space, so each diagram represents a top-view model of the demonstration environment. For each scenario, describe the overall goal of the task, and explain each step the robot will take to complete the task. Be sure to give the participant sufficient opportunity to ask questions and provide feedback. As necessary, ask the participant specific questions to prompt feedback on specific aspects of the robot tasks and the demo environment.
Thank the participant for their time and feedback. If applicable, invite the participant to evaluate your functional robot prototype after it has been created — or to attend the public presentation event at the end of the semester.
Conduct individual evaluations with a total of 3-5 people, and record notes during (or immediately following) each session. The sooner you get feedback and ideas written down, the less likely things will be forgotten. Ideally, at least two team members would be present for each session, so one person facilitates the session, while the other person records notes. Your full team does not necessarily need to be present for each evaluation, but be sure each team member helps conduct at least one evaluation.
As a team, use the evaluation notes to analyze the feedback from all the participants, and summarize your team's evaluation findings. Thoughtfully review and analyze the feedback as a team, in order to determine what improvements could be made to your robot design and the tasks that will be demonstrated. Include the following information in the evaluation findings:
Participants: Describe each participant in terms of their gender, age, stakeholder role, or other relevant characteristics. Do not include the names of participants.
Summary of Feedback: List the feedback that you collected. This can be a bulleted list. The feedback doesn't have to prioritized or ranked, but it may be helpful to organize it in some meaningful way (e.g., lists of feedback by participant, lists of feedback by topic or feature, etc.).
Key Findings: Describe what your team decided were the key findings that should be acted on, and explain why.
Design Revisions: Describe what changes will be made to your team's robot specifications.
Make any necessary revisions to your team's robot specifications. If necessary, update your team's multi-view drawing and/or task scenario diagrams.
Submit your team's evaluation findings and revised robot specifications
Example
Create a schedule to design and develop your solution, based on the available time and resources. Define design specifications for your robot prototype, as well as for your fully-functional robot concept. Use a paper prototype of your task scenarios to evaluate them with external users, and make any necessary refinements. Construct your robot's demonstration environment, and program your robot prototype to perform its tasks. Internally test your robot solution to verify its effectiveness, measure its performance, and identify any issues. Create a product website and demo video to help explain and show your robot solution to others. Use your project schedule to continually track your team's progress, in order to finish on time. Demonstrate your solution to the class.
This phase of the project will require about 5-7 weeks to complete. Your teacher will identify the specific deadline(s) for the task assignments.
Your team needs to create a project schedule to help ensure that you'll complete all the necessary tasks involved to design and develop your team's robot solution. This phase of the project will require about 4-6 weeks to complete. Your teacher will identify the specific deadline(s) for this project phase.
This flowchart shows the major tasks that your team must complete during this project phase:
In the first task, your team will work together to define your robot specifications. This will give your team a shared vision of what your robot solution will have and be able to do.
Then your team members will start to work in parallel on different tasks, depending on their team role. Some of the tasks must be completed in a certain order. When necessary, you might have multiple team members working together on certain tasks.
Your team will finish this project phase by presenting your working robot solution to the class. (In the next project phase, your team will evaluate your solution with people outside your team, in order to refine the solution before the final public presentation.)
There are different methods and formats for project schedules (Critical Path, Gantt Chart, etc.), but developing and using a project schedule typically involves these steps:
Identify the sequence of tasks to be completed (which might require dividing major tasks into subtasks)
Assign one or more team members to lead or perform each task
Estimate the amount of time to complete each task
Develop a draft schedule with specific dates for working on the tasks
Finalize the schedule by making any necessary adjustments (task sequence, assigned resources, durations, dates, etc.) to ensure the project deadline(s) will be met
Use the schedule to monitor the team's progress on a regular basis, and make any necessary adjustments to keep the project on track
Your teacher might assign a specific format or template for your team's project schedule.
If not, you could use this project schedule template, which has a simple format that assigns tasks by week (similar to a weekly sprint in Scrum or Agile planning).
Submit your team's project schedule
Provide weekly updates on your team's progress
Here's an example of a project schedule that breaks down the major task into weeks.
NOTE: Your project schedule might use a different format that has more detailed information (such as: subtasks, estimated durations for tasks, start & end dates for tasks, etc.).
Each team must design and develop a prototype of a two-wheeled robot that demonstrates the completion of useful tasks for people within a specific context (home, school, business, etc.).
Your robot demonstration environment will be limited to 6 feet by 6 feet in size. Your team will customize this area to model a real-world environment by adding obstacles, objects, etc.
Your team will create a functional prototype of your robot using the provided robotics kit, which has various physical inputs (sensors, etc.) and physical outputs (motors, etc.) that can be programmed to perform various actions and behaviors.
Creative thinking will be required to identify possible tasks that the robot could demonstrate by sequencing different robot behaviors and actions. Every team will have an identical robotics kit, but each team will need to generate their own innovative concept for a robot that performs useful tasks.
Your robot prototype and demonstration environment may have to be a smaller-scale model or limited version of the real thing. For example, your demo environment will most likely represent a scaled-down, limited model of the real environment in which the robot would function. Furthermore, your robot prototype might not be capable of performing all the actions of your intended robot design.
If necessary, you can simulate certain robot parts or actions as long as the main tasks of your robot can still be demonstrated. For example, the robotics kit does not include an arm to grip objects. However, your team could simulate a robotic arm grabbing or placing an object, as long as the robot could still demonstrate another main task (such as navigating the environment to transport the object to a new location).
If necessary, you can construct parts (using cardboard, 3D-printing, etc.). These parts could provide functional value by helping the robot perform its tasks and/or aesthetic value by adding to the appearance of the robot (or environment) for demonstration purposes.
Your robot prototype will need to demonstrate 3 tasks, which could be:
different tasks that the robot would complete
variations of a task which show the robot's flexibility (e.g., ability to respond in different patterns such as traveling to different destinations, etc.) or adaptability (e.g., ability to respond to changes in the environment such as avoiding obstacles even if their location changes, etc.).
For example, if your robot concept was a food delivery robot, the prototype should demonstrate 3 tasks related to delivering food. One task could to deliver a food order to a specific customer location. A second task could be a variation where the robot delivers another order to a different location. A third task might demonstrate additional behavior such as: avoiding obstacles, avoiding driving off curbs, etc.
Each team will also create a product website to explain and market their robot concept. The website will include a robot demo video showing the robot prototype completing its tasks.
At the end of the semester, all teams will demonstrate and explain their robot prototypes at a public poster presentation.
Each phase of the project has a set of interim deliverables, but they lead to these final deliverables from each team:
Robot Prototype and Demo Environment that demonstrate your robot completing its tasks
Product Website and Robot Demo Video that explain and show your robot solution
Project Poster that highlights key features of your robot and key steps in creating it
Public Presentation that demonstrates your robot solution and explains how it was created
Each team's robot prototype solution must meet these design criteria:
Innovative: your solution should be unique (or an improvement over existing solutions)
Feasible: your solution should be possible to prototype with the given materials/resources
Useful: your solution should fulfill a need, solve a problem, or improve an existing situation
Usable: your solution should be easy to understand and efficient to use
Valuable: your solution should be desirable and valuable to users/stakeholders
Each team's robot prototype and demonstration environment is subject to these constraints:
Robot prototype must demonstrate tasks that require wheeled movement. Otherwise, if the tasks don't require movement, they could be completed by a non-robotic device.
Robot prototype must use at least two different physical inputs (sensors, button, etc.) and at least two different physical outputs (motors, LED light, etc.) included in the robotics kit.
Robot prototype and demo environment may have to be a smaller-scale model or limited version of the real thing (as long as the main tasks of the robot can still be demonstrated).
Robot prototype can simulate certain parts or actions (as long as the main tasks of the robot can still be demonstrated).
Robot prototype and demo environment can include constructed parts (e.g., cardboard, 3D-printed, etc.) that provide functional value and/or aesthetic value.
Each team will have 2-4 members that serve in one or more of these roles:
Design Lead: leads research and evaluation of robot design and tasks
Development Lead: leads programming of robot behaviors and tasks
Business Lead: leads product analysis and marketing of robot concept
Project Manager: leads team to ensure project completed successfully
Teams of 2 need to designate one person as the Design Lead and the other person as the Development Lead. The Design Lead will also serve as the Business Lead, while the Development Lead will also serve as the Project Manager.
Teams of 3 need to designate different people as the Design Lead, the Development Lead, and the Business Lead. One person will also need to serve as the Project Manager.
Teams of 4 need to designate different people for each role.
It is highly recommended that each team agree to a set of team rules at the beginning of the project. Here is a possible project team agreement that could be used.
Conduct research to better understand robotics technology and its potential uses. Practice using your team's robotics kit, in order to better understand its possibilities and constraints for design purposes. Generate ideas for possible problems to solve with a robot, and then evaluate and refine the ideas, in order to select a specific concept to target. Research and analyze existing solutions for similar problems, in order to identify opportunities to design an innovative solution. Interview potential users and stakeholders to better understand their needs and expectations for a possible robotics solution. Define the value of your potential solution, and develop task scenarios to illustrate what your robot solution could do. Present your team's robot proposal to the class for constructive critique.
This phase of the project will require about 6-7 weeks to complete. Your teacher will identify the specific deadline(s) for the task assignments.
You'll create a slide presentation that explains and demonstrates the robot prototype that your team designed and developed as your project solution. Practice your presentation before delivering it to your class. This will be an opportunity for other project teams to ask questions and provide constructive feedback to help your team improve its solution.
Your team's presentation should include the following (in this order):
Project Team: product name, team name, team members & their roles
Value Proposition: Be sure the value proposition is clear and compelling.
Persona: Be sure the persona is useful for understanding the target users/stakeholders that the solution was designed for.
Robot Specifications: Show and explain the multi-view drawing of your fully-functional robot design, as well as the task scenario diagrams for the robot prototype.
Paper Prototype Evaluation: Briefly describe the participants (number, gender, age, stakeholder role, etc.) involved in the evaluation of your robot design, and briefly summarize the evaluation findings.
Product Website: Show your team's product website, and briefly explain how the website's content and design help effectively explain and market your team's robot concept.
Robot Demonstration: Show your team's robot demo video. Briefly summarize the robot's task performance results.
The presentation should have 8-12 slides and take 5-10 minutes to deliver.
Submit your team’s slide presentation
TK
Your team will conduct user research by interviewing potential users (or other stakeholders) for your robot concept. The interviews will be an opportunity to better understand the users' needs and expectations by verifying: what tasks your robot could perform for the users, and how users might expect the tasks to be performed.
Analyze your interview data to create a persona of a typical user/stakeholder for the robot, which will help inform and guide your design process. Here are that explain personas and describe a process for interviewing users to create a persona.
MAKE A COPY: To use a template, be sure you're logged in to your Google Account. From the template's File menu, select Make a copy. Save the copy to your shared team folder in Google Drive. You can now modify it.
Submit your team's interview questions, interview data, and persona.
TK
You'll program an app to make your robot demonstrate its task scenarios. You'll test your robot app (and the robot's task performance) using your team's robot demo environment.
ONE APP TO RULE THEM ALL: You'll program one app that contains all the code to demonstrate each of your task scenarios. You'll be able to use the robot's D12 button to start each task and perform them in sequence.
Use your robot specifications and task scenario diagrams to create pseudocode for each task. The pseudocode should logically describe the specific steps (in order) that the robot will have to perform for each task. Pseudocode is usually written in "plain language" – but it can also include "code-like" language (such as if
statements, etc.).
Certain steps can be simulated as long your robot can perform the main actions of the task. For example, a team member could act as a "robotic arm" to pick up objects, as long as your robot performs the other necessary actions of the task (e.g., transporting the object to a new location, etc.).
Use your robot specifications and pseudocode to determine what custom functions will be needed in your app to allow your robot to navigate its environment and perform other behaviors.
For example, if your robot will navigate by following a line while counting other line markers it crosses, your app will need the followCountLine()
function, as well as the followLine()
, driveDistance()
, and pivotAngle()
functions.
You can also create your own custom functions. This is especially helpful if the same set of actions will be repeated multiple times within your app.
Code your app in stages, and use your team's demo environment to periodically test and verify that your robot does what you expect.
Start with this , and add the necessary code to customize it to demonstrate your team's task scenarios.
You'll most likely find it necessary to modify your robot's app code and/or your demo environment, in order for the robot to successfully perform its behaviors and complete its tasks.
Use the metric(s) described in your robot specifications to measure or evaluate your robot's task performance (accuracy, efficiency, avoiding errors, etc.).
Each task scenario should be evaluated with at least one task performance metric. If applicable, you can use the same metric for multiple tasks.
If necessary, you might be able to modify your app code and/or demo environment to improve your robot's task performance.
Once you are satisfied with the robot's performance (or can't improve it further), perform 3-5 final trials as a benchmark test of the robot's performance, and create a table to report the results for each trial, as well as the average result(s) across the trials.
OPTIONAL: If applicable, you can construct and attach parts to your robot that will help it better demonstrate your robot concept and task scenarios. For example, if your robot is designed to transport objects, you could add a platform or basket to hold objects.
The parts should provide functional value by helping the robot perform its tasks and/or aesthetic value by adding to the robot's appearance.
Be sure the added parts don't interfere with your robot’s functionality (e.g., don’t block sensors the robot needs to use, don’t add too much weight and reduce the robot's mobility, etc.).
Take a photo showing the constructed parts attached to your robot. Use an image editor (Google Drawing, etc.) to annotate the photo with text labels that explain the purpose of the constructed parts.
Submit the following:
Pseudocode for each task scenario
Arduino code (.ino
file) for the completed robot app
Table with robot task performance results
If applicable: Annotated photo showing constructed parts added to robot
This shows how the example pseudocode above could be converted into actual Arduino code to perform the task scenario. The code uses the driveDistance()
and pivotAngle()
custom functions for many of the task steps. Notice that the explanations in the pseudocode were converted into code comments to make it easier to understand (and modify) the code.
Your team will test your robot prototype and product website with people outside your team to evaluate whether the robot and website are useful, easy to use, and effective. Receiving constructive feedback will allow you to improve them before the public presentation.
You’ll need to recruit a total of 6-10 participants for this user testing:
3-5 participants should individually evaluate the robot
A different set of 3-5 participants should individually evaluate the website
As a reminder, here are . For the robot prototype, the user testing will be slightly different because the participant will observe the robot completing tasks (rather than the participant completing tasks themselves).
You’ll also ask each participant to respond to a brief online survey after the user testing session. The surveys for the robot and product website will be slightly different. These two surveys have already been created as Google Forms:
Create a new folder called “Solution Evaluations” in your team’s Google Drive folder.
Save one copy of each survey in that new folder. (Links to both surveys are below.)
When you’re ready to administer a survey to a participant, open the specific survey, and click the preview icon in the upper right, which will allow the participant to respond.
The user testing of your robot prototype will require each participant to observe 1-3 task scenarios demonstrated by the robot. You'll ask the participant to "think aloud" as they observe the robot, in order to provide feedback.
Start each testing session by using your value proposition to summarize the robot's purpose. Briefly introduce the first task scenario, and then have the robot demonstrate the task. Be sure to record notes on the participant's feedback. Repeat for the remaining task scenarios.
Evaluation Findings: Use to summarize your findings from the user testing.
Post-Testing Survey: Have the participant respond to after the user testing.
MAKE A COPY: To use a template, be sure you're logged in to your Google Account. From the template's File menu, select Make a copy. Save the copy to your shared team folder in Google Drive. You can now modify it.
The user testing of your product website will require each participant to find answers to specific content questions. Use these questions as the tasks for the website:
What does the product do?
Who is the product designed for?
What benefits does the product provide?
After all the participant evaluations are completed, you’ll analyze the data from each survey.
Open one of the surveys in your team’s Google Drive folder. At the top of the survey form, click on the "Responses" tab, which should default to showing the summary data for all responses.
For each survey question, the summary data will display a histogram (similar to bar chart) of the response distribution:
Responses categorized as 4 or 5 are positive because they indicate the participant either agreed or strongly agreed with the statement.
Responses categorized as 3 are neutral because they indicate the participant neither agreed or disagreed with the statement.
Responses categorized as 1 or 2 are negative because they indicate the participant either disagreed or strongly disagreed with the statement.
After each chart, you’ll see the written responses submitted by the participants to explain their ratings. You can compare these explanations against your team’s findings from the user testing to see if the survey responses revealed any new issues that might need to be addressed. If so, add these new issues to your evaluation findings document.
Create a summary document for each survey that shows the histogram charts (in order) of your team’s survey data. If you hover over the upper right corner of a chart, you can click a copy icon, and then paste that chart into the document.
In the next assignment, you’ll use the evaluation results to make refinements to your robot prototype and product website before the public presentation event.
Submit all of the following:
Evaluation findings for robot prototype
Evaluation findings for product website
Summary of survey data for robot prototype
Summary of survey data for product website
You'll create a slide presentation that summarizes the evaluation and refinement of your team’s robot prototype and product website. Practice your presentation before delivering it to your class. This will be an opportunity for other project teams to ask questions and provide constructive feedback to help your team prepare for the public presentation.
Your team's presentation should include the following (in this order):
Project Team: product name, team name, team members & their roles
Value Proposition: Be sure the value proposition is clear and compelling.
Persona: Be sure the persona is useful for understanding the target users that the solution was designed for.
Solution Evaluation: Briefly describe the participants (number, gender, age, etc.) involved in the user testing of the robot prototype and product website. Briefly summarize the evaluation findings, including the survey results.
Solution Refinements: Briefly describe the refinements that were made to the robot prototype, product website, and/or product demo video. If helpful, you can include “before” and “after” images to better show certain types of changes.
Project Poster: Show a preview of the team’s project poster, and briefly explain what information is included on the poster.
The presentation should have 6-10 slides and take 5-10 minutes to deliver.
Submit your team’s slide presentation
You'll create a poster that helps explain and show how your team researched, designed, prototyped, and evaluated your robot solution for your targeted problem.
The poster will be a visual reference to supplement the explanation and demonstration that your team gives during the public presentation event. Even though a poster won't explain or show everything about your team's project, a person should be able to understand the key aspects of your team's project just by reviewing your poster.
The goal is for the poster to be clear, concise, engaging, and professional in terms of its content and visual design.
The standard size for a large poster is 36 inches wide by 24 inches tall (your teacher will clarify if a different poster size will be used). Print-quality materials typically use a resolution of 300 pixels per inch. Your teacher will have the posters printed prior to the public presentation.
Determine the content to be included on the poster. Gather text and images from your team's previous project deliverables. You may need to modify certain content to make it more suitable for a poster (e.g., text might need to be summarized or simplified, images might require labels or captions, etc.).
Determine the layout of the content by sketching a small-scale poster mockup on a regular sheet of paper. Be sure the layout will be easy to understand and follow.
Create a full-scale digital version of the poster using a drawing/illustration tool, such as Google Drawing, Pixlr Editor, Adobe Illustrator, etc. Be sure the visual design of the poster reinforces the concept behind your team's robot solution.
Save or download the final poster as a PDF file that your teacher will have printed.
You can use this which is set to 36 inches wide by 24 inches tall. Zoom in or out as needed to add text, images, etc. – but do not change the canvas size. (To use the template, select "Make a copy" from the File menu, and save it to your shared team folder in Google Drive.)
If you're using a different drawing/illustration tool, create your own blank canvas sized to 36 inches wide by 24 inches tall at 300 pixels per inch (10800 pixels wide by 7200 pixels tall).
If your teacher has specified a different size for the poster, use that instead.
Submit a PDF of your team's poster for printing
This shows a generic layout for the typical content that would be included in a project poster. However, you can modify the layout and appearance as necessary.
Conduct a thorough evaluation of your team's solution with external users and stakeholders. Implement high priority refinements to your solution, while preparing your team's poster for the public presentation event. Present your evaluation findings to the class.
This phase of the project will require about 2-3 weeks to complete. Your teacher will identify the specific deadline(s) for the task assignments.
This pseudocode example is based on the example task scenario diagram included in assignment . The pseudocode uses plain language to describe the specific steps in order that the robot needs to perform to correctly complete the task.
These example results use the task performance metrics listed in the example task scenario diagram included in assignment . For each metric, conduct 3-5 trials and calculate the average performance.
Evaluation Findings: Use to summarize your findings from the user testing.
Post-Testing Survey: Have the participant respond to after the user testing.
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Description | Description | Description |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Description | Description | Description |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Description | Description | Description |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Description | Description | Description |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Description | Description | Description |
✓- Below Standard | ✓ Meets Standard | ✓+ Exceeds Standard |
Interview questions and persona are provided but lack clarity and offer limited value in understanding potential users/stakeholders for product. | Interview questions reveal valuable information about users/stakeholders. Persona provides thoughtful description of users/stakeholders that will guide the design of an effective solution. | Numerous and diverse set of people are interviewed, representing users and other key stakeholders. Multiple personas are created, providing insightful descriptions that will bring exceptional focus to the team's design work. |
You'll create a one-page product marketing website for your team's robot solution, which will include a robot demo video that you'll create. This website will be made public to allow more people to learn about your robot project.
Gather and/or create the content (text, images, video, etc.) for your team’s product marketing website. As necessary, tailor the content to your target users, as represented by your team's persona. Be sure the content is clear, concise, engaging, and professional. Your website should include the following (but you can add other content if helpful):
Product Name
Product Description (can use value proposition as starting point)
Robot Conceptual Design (multi-view drawing of fully-functional robot concept)
Features (list tasks and behaviors that robot can perform – list for prototype and for fully-functional version)
Tech Specs (list robot's sensors, outputs, etc. – list for prototype and for fully-functional version)
Robot Demo Video (demonstration of robot prototype performing tasks – in addition to video, may help to include diagrams of tasks)
Create a visual design for your team's website that will be engaging, professional, and reinforce your product concept. As necessary, tailor the design to your target users.
Sketch possible ideas for the overall layout of the content on the webpage.
Determine the final layout and its overall style (such as: colors, fonts, etc.)
Build the website using a tool such as Google Sites (available within Google Drive, see guide to Get Started with Sites) – or code the website directly using HTML and CSS.
Include a temporary placeholder for the robot demo video until it is ready to add to the website
In the next phase of the project, you'll test the website with people outside your team to determine how effective the website is at explaining and marketing your team's solution.
Submit a link to your team's product website for its robot solution.
Here are some real-life examples of product websites for robots (though they are not limited to one webpage):
You'll create a robot demo video that will show and explain your team's functional robot prototype demonstrating its tasks. You'll include the video in your team's product marketing website.
Create a script and narrative storyboard for your team's product demo video, which should be about 1-3 minutes in length. As necessary, tailor the video content to your target users/stakeholders, as represented by your team's persona. Be sure the video will be clear, concise, engaging, and professional.
For the script, be sure to describe what problem the robot is designed to solve, as well as the value it provides to users/stakeholders. The script should also describe each task scenario, including key steps or behaviors demonstrated by the robot prototype.
For the storyboard, decide which types of camera shots will be most effective for the different tasks or steps in the video. The simplest approach would be to use a fixed camera position showing the entire robot demo environment. However, it may help to use certain types of camera shots to highlight certain details or behaviors.
Use your script, storyboard, robot prototype, and demo environment to practice the video.
The person that will narrate should practice what they will say and should be able to sync the narration to the robot's actions.
If you're not using a fixed camera position, the camera person should practice capturing the camera shots using different camera movements (changing position, tilting up or down, panning left or right, zooming in or out, etc.).
If your team can record the final video (and its audio) in one continuous take, you'll avoid or minimize the need to edit the video.
Record and finalize the video.
If necessary, record additional takes.
If necessary, edit the video to finalize it (cut and splice scenes, add titles or captions, add or edit narration, etc.).
Upload the final video to a site (such as: Google Drive, YouTube, etc.) that will allow you to embed (or link to) the video in your team’s product website.
Submit a link to your team's robot demo video.
Here are some real-life examples of robot product videos:
Because your team's robot is an early prototype, your video will be more of a demonstration, rather than a polished commercial for a finished product.
Task
Estimated Time
✓
✓+
1 hour
3 hours
3 hours
5 hours
10-20 hours
5 hours
2 hours
2 hours
.
Task
Estimated Time
✓
✓+
5 hours
10-15 hours
3 hours
2 hours
4 hours
1 hour
2 hours
3 hours
Task | Estimated Time | ✓ | ✓+ |
3 hours |
5 hours |
5 hours |
2 hours |
As an individual, you'll respond to these project reflection questions.
Your teacher might also have you participate in group reflections: your team could reflect on its performance, and the entire class could reflect on the project.
Submit your project reflection responses
An important part of celebrating the completion of a project is expressing gratitude and appreciation towards people for their help and work on the project.
You'll create a list of people that you want to recognize:
Thank people who provided help to you or your team
Recognize exceptional work done by someone on your team or another team
Your list could include any people inside or outside the class that helped during the project. Be specific when describing the help or work done by the other person.
During your class celebration, share some of the recognitions publicly.
Submit your list of recognitions
Your team will use your evaluation findings to implement refinements to your robot prototype and product website. Focus on the highest priority design changes first. Implement as many refinements as possible depending on the available time and resources prior to the public presentation.
If possible, test your robot or website again with new participants to verify whether the refinements resolved the issues.
CROSS-CHECK: If you make changes to your robot prototype, then check whether your product website or product demo video will also need to be updated. For example, if you change one of the robot's tasks, you might need to update the robot features listed on the website or re-record part of the demo video.
Submit a list briefly describing each refinement that your team implemented
Your team will explain and demonstrate your project solution to a public audience, which might include professionals from industry, college, and your school – as well as parents and fellow students. Some audience members might be acting as judges reviewing the team projects. Many audience members may be learning about the project for the first time.
Your team's presentation needs to tell a complete story (with a beginning, middle, and end) in just a few minutes. The presentation should be clear, concise, engaging, and professional.
Plan and practice your team’s presentation and demonstration
When helpful, refer to your poster and product website during the presentation
Be sure to allow the audience to examine and interact with your project solution
Be prepared to answer questions from the audience
Be prepared to adapt if a technical issue occurs during the demonstration
Participate in your team's presentation and demonstration at the public event
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description
✓- Below Standard
✓ Meets Standard
✓+ Exceeds Standard
Description
Description
Description