Programming Specificity—Putting a design to work
Humans are able to read their environment using a combination of sensory information, decisions, inferences, and memories, all of which allow us to create mental maps which are largely qualitative (based on description, rather than measurement). However, robots can only do exactly what you tell them to do—and can only do it correctly—if they are given specific, quantitative (measurable) instructions. These instructions create robot behaviors: the ways that robots act, that range from basic to complex, depending on how the robot is built or programmed.
As expert direction followers, the more detailed your directions, the better the robot will be able to accomplish your goal. In order to accomplish this, you, as the programmer, must design a plan which includes directions with measurement. These measurement-based directions create a blueprint for your robot to follow.
Imagine a Robot Helper Scenario...
Robots can help humans to do jobs more efficiently and easily. For instance, imagine a school where every afternoon someone has to come around to all of the classrooms to collect the recycling. While a student or a teacher could do this, that would take away from time they could be doing something else. We are going to design a plan and create a project so that a “Recycling Robot” could take on this task for us. The robot will travel to multiple classrooms, then take the recycling to a specific location, and come back to the beginning.
Where to begin? How the design process gets its start…
When architects are asked to build a new building, they don’t pick up a hammer and start banging away. Before a tool is ever picked up by a contractor or construction worker, the architects spend a lot of time and energy on creating the plans for the building. They have to think about spaces and how they connect and relate to one another. This kind of thinking is called spatial reasoning.
First, architects need to know what the purpose of the building is, and how it is going to be used—the functionality. Then they think about the many, many different ways they could achieve that functionality, and what it could look like. Architects create sketches, lists, and design plans that they think might work. They work with others involved in the building, and those plans get revised, and eventually turn into blueprints—the specific, measured directions that will be used to build that particular building.
When you begin to think about a design plan for a robot, you will begin in much the same way. First, you have to know the functionality—what do you want the robot to do? In this case, we want the robot to help us collect recycling. It has to travel around the school, and pick things up, so you need to think about the spaces it is going to travel in and how those hallways and rooms connect to each other. Next, we can think about the many ways to map a path around your school—using sketches or lists to show your ideas helps others that you work with to see and better understand your thinking. Your group might take ideas from several plans and put them together into one. Then, when your group decides on a design plan, you can create the blueprint—the specific instructions that you want the robot to follow.