In this post I’m going to talk about what I consider a robot (and not a robot), cover some of the basics to start with robotics, and give some examples from a successful class I have been leading at a local makerspace.
What is a robot?
Robots are manufactured simulations of living things. They have to be cared for and in return they will do work for you.
The word “robot” comes from the Czech word “robota”, which means literally “corvée”, “serf labor”, and figuratively “drudgery” or “hard work”. They are servants that do the physically hard work for you and I.
At their most basic, robots have three essential things:
- Input sensors, some of which perceive the exterior world (like GPS) and some of which perceive their interior world (like power levels, internal angle, temperature)
- Decision making abilities that come from the lessons they have been taught or that have evolved through some algorithm.
- Output motors, lights, and/or other ways of interacting with the outside world. Wheels to drive, lasers, speakers, and more.
What is not a robot?
I believe there is a grey area where a machines become robots. The difference is in the level of sophistication – the number of sensors, the amount of decision making, the number of ways it can affect the exterior world. Let’s consider some examples.
- An electric drill might have an input and an output, but it has no decision making. Not a robot.
- A 3D printer can be given a list of instructions and it will run in a fire-and-forget mode until the print is done. It can print many shapes but it can only print – it has very limited output. I would argue this is in the grey area.
- A mechanical arm can sense it’s internal position, carry different tools, and perform many kinds of jobs. Good arms can even respond in sophisticated ways to unexpected behavior (like avoiding humans that get in the way). Definitely a robot.
Starting with the robot basics
So to build a robot we’ll have to know how to use at least one input sensor, how to move an output motor, and how to write some code to create decision making. I cover all of these topics in my Robots & more club meeting called Electronics and Arduino programming 101. In a three hour course we use the Marginally Clever Arduino Starter Kit and…
- …use an Arduino UNO to blink lights to show that code can change voltage in a circuit.
- …use decision making code to adjust the speed of the voltage change, which blinks the light at different rates and leads naturally into Pulse Width Modulation (PWM)
- …use PWM to move a servo motor, and finally
- …use a potentiometer to read input, adjust the input information, and control the servo accordingly.
- …use the Serial system to print messages to and from the Arduino for testing and debugging.
Every session is a little different and flavored to the taste of the students, but those are the fundamentals.
All the rest is commentary
Once these ideas are in place it can be shown that most robots are some combination of the above ideas, and the differences are mostly a question of implementation – choosing which method will get the best results. Congratulations! You’re ready to start with robotics.