Robots seem to move unassisted and it may look like that robot knows what it is supposed to perform. For example, how does the vacuum cleaner robot know that it is supposed to clean the room? As there is a robot that can clean, could we design a cooking robot also?
In this task it is recommended that students are coders and teacher acts as a robot. This means that students design, develop, debug, and execute the code, and teacher will act according the instructions delivered by students' command lines. *Task and materials adapted from: Phil Bagge/code-it.co.uk.
You will explore basics of coding and learn that commands given by humans determine what the robot does. You will design a robot that can make a sandwich. You will learn what command line is and how the code makes a robot move. Students and teacher may watch the videos on the right panel to see how robots move when they cook. *This task is recommended to be done after "How to make robot move, part 1". Task is designed to be conducted without any technologial devices or prior knowledge about coding.
1. Make groups of 2-4 students.
2. Do robots know, how to make a sandwich? What does it take to desing a cooking robot?
3. Take a look with your group to cooking robot algorithms on right panel. What commands do you want to use?
4. Make a decision with your group, what kind of bread you want to produce. What fillings you want to your bread? Start designing your command line with algorithms, remember, every command has to precise so that your cooking robot knows what to do and in which order! (algorithms may be found on the righ panel, section "Documents")
4. Real coders perform test runs with their code before they execute it with real objects such as robots. Test with your team, does your first command line work properly? You may for example test with your team, does your command line get a butter jar opened. Once again, remember that robots can execute purely and simply the commands they have been given. One student can be a coder that gives commands to other student who plays a robot.
5. Did your test run succeed? If not, can you define in which part the robot did something wrong? You can now fix your command line. Finding errors from your command line is called “debugin”. Your team can run now a second test run. Does the command line work now any better?
6. If your command line works as it was designed to, your team can now inform your teacher that your group is ready to execute the real preparation of sandwich with cooking robot. Your teacher shall be the cooking robot.
7. Did your cooking robot work as it was designed in your team? Did you get all the fillings you wished for? If not, were there still some problems with your command line? You may try to debug your command line with your classmates. Did you finally get your sandwich done by a robot?
After you have tested groups command lines in practice, have a discussion:
-How did the sandwich robot know what to do?
-How do for example a vacuum cleaner robot know where it should move?
-Can a robot work without humans who design the command lines?
-What is debugin and how does it effect to robots performance?
-Discuss with our group, what does the command line mean and how does it effect to robots performance?
-Could a robot cook your food at home? (you can use the materials on the right panel)
-What was hardest part in command line designing?
Expected Learning Outcomes
- To understand that robots move because of command lines /coding
- Usually humans design the command lines, and the interaction between robots and humans derive from command lines designed by humans
- Robots may have missfunctions and humans try to fix them with debugin operations
- Robots and coding is all about computational thinking, which is in its simplest logical thinking. Every command has to be on right order before execution, otherwise the robot won’t work.