What are smart robots? At today's pace of technological innovation, the word smart is being applied to all sorts of devices: smartphones, smart watches, smart televisions, and the list goes on. The word is even in the title of this book! But what does it mean when we say that a robot is smart? What do smart robots do, and how do they accomplish their task?
When we talk about smart robots, we are not necessarily referring to an advanced artificial intelligence like those in a science fiction movie or a supercomputer that wins the Jeopardy championship, although those are some very smart robots. The definition of a smart robot is actually much broader and includes some devices you may not have originally considered smart.
A smart robot is simply any device that uses sensors to measure some condition in its environment, then decides what to do next based on a set of pre-programmed instructions. They have some kind of computer or controller acting as their brain that processes the sensor information and interprets these instructions. You can think of the software loaded into the robot as the set of instructions that the smart robot follows. The software's programming allows a smart robot to make an observation, then make a decision based on this observation. Of course, a person must first build the robot and write the software, but after that, a smart robot operates on its own without human intervention.
To put it more concisely, a smart robot is a machine that does all of the following things or has all of the following features:
- It is able to follow a series of pre-programmed instructions specified by the user or engineer
- It is able to makes an observation about the outside world
- It has a central computer or other type of controller that interprets both the instructions in the software and the data from the sensor
- It is able to make a decision and react based on the observation, following the instructions defined in the program
- It is able to complete all of the preceding steps automatically, without human intervention
The ability to make a decision on its own without help from a person is what makes a robot smart. The more decisions a robot can make on its own, the smarter it is.
As you can see, this definition still includes the obvious examples of smart robots that we discussed earlier, but it also includes some simpler devices. Using this definition, a robotic vacuum cleaner is considered a smart robot!
That definition may have seemed somewhat abstract, so let's put it into context with two real-world examples. We will first discuss a simple smart robot—the robotic vacuum cleaner—then talk about a much more sophisticated example—the autonomous car.
These are some of the simpler smart robots that you are likely to encounter, but they are nonetheless smart robots because they fulfill all of the points of our definition:
- They follow a series of pre-programmed instructions: These machines come with their vacuum-cleaning program pre-installed on their control unit. The engineers who developed the product have already sorted out what the robot needs to do during its routine to keep the floors clean. The software is installed on each robot before it leaves the factory. After the customer purchases the robot, all they have to do is charge it, then turn it on, and it gets right to work, following the instructions that the engineers defined in the software.
- They make an observation about the outside world: The vacuum robot has some sensors that allow it to make observations about where it is in the room. On the front of the robot, there is a bumper equipped with an impact sensor. When the robot collides with the wall, the impact sensor is pressed, and the robot knows it has reached the end of the room:
The user can also set up an invisible fence using infrared emitters that confine the robot to one area. The robot is equipped with an infrared sensor that can detect this fence and tell the robot that it has reached the end of the area to be cleaned.
Finally, the robot's charging pad has an infrared beacon. When the job is complete, the robot uses its infrared sensor to navigate back to the charging pad to replenish its battery:
- They have a central computer/controller that interprets instructions and sensor data: The robotic vacuum has a central controller that runs the software set at the factory and receives input form the robot's impact and infrared sensors. Though this central controller is not necessarily a powerful supercomputer, it has the ability to interpret the software and sensor measurements to decide what to do next.
- They make a decision and react based on the observation, following the instructions defined in the program: The robot proceeds during its cleaning routine as the software specifies. The sensors tell the robot when it needs to change its course; if the impact sensor detects that the robot has collided with a physical wall, or the infrared sensor detects an invisible wall, the robot knows that it has come to the end of the area it is supposed to clean. It reacts by turning and moving in a different direction. The robot decides to alter its course based on the measurements from its sensors.
- They complete all of these steps automatically: The robot does everything without the help of a person; it cleans the floor while staying within the bounds of its room and returns itself to its base to recharge when it is finished. The only human assistance it needs is when the vacuum bag needs to be replaced.
Autonomous (also known as self-driving) cars are a much more sophisticated type of smart robot, yet they still fulfill the criteria we defined earlier:
- They follow a series of pre-programmed instructions: The engineers develop advanced software that enables the car to drive itself. They program all of the conditions necessary for driving so the car drives safely and follows the law, but the car is also programmed to learn as it drives!
- They make an observation about the outside world: Driving is a very complex task, especially for a robot, so a self-driving car needs to take in a large volume of information about its environment. A GPS receiver tells the vehicle where it is in the world. In addition, it needs to keep an eye or eyes on the road to avoid collision with objects, pedestrians, and other cars. An autonomous car may use an assortment of ultrasonic sensors; LIDAR, which is a light-based radar; machine vision; and more to monitor what is happening around it.
- They have a central computer/controller that interprets instructions and sensor data: An autonomous car has multiple computers that work together to processes the sensor data, run the software, and manage the car's responses to the road. Because there is a large amount of information to manage and reactions need to be made within fractions of a second, these computers need to be very powerful.
- They make a decision and react based on the observation, following the instructions defined in the program: The GPS receiver tells the car what road it is currently traveling on and where its destination is in relation to its current position. The self-driving car reacts by making the proper turns to get to the destination. The proximity and vision sensors help keep the car safe. If an object is detected in the road, the vehicle either stops or maneuvers to avoid it. If the car's vision system sees a stop sign or a red light, the vehicle makes the appropriate stop. If the lane sensors detect that the car is nearing the edge of the lane, the car responds by steering itself back into the center of the lane. If the proximity sensors detect that the vehicle is too close to the car in front of it, the self-driving car slows down to maintain a safe distance in-between itself and the other vehicle. The sensors provide the car with the information it needs to regulate its driving. The computers then decide what the best course of action is based on the information. The result is an autonomous car that reaches its destination safely.
- They complete all of these steps automatically: A self-driving car follows all of the rules of the road and reaches its destination without the need for any driver input. After all, the purpose of such a vehicle is to be able to navigate on its own! Because of the large volume of information it processes and the amount of decisions it needs to make to complete its task, an autonomous car is a very smart robot!
In this book, we will be using the LEGO MINDSTORMS EV3 to make our own smart robots. The EV3 is ideal for building smart robots at this level for several reasons:
- It allows robotics enthusiasts of all skill levels to quickly prototype their own robots.
- It includes a suite of cool sensors that our robot can use to gather information about its environment.
- It has its own unique, intuitive programming language and development environment that allow us to write programs to control our smart robot.
- It includes motors and other hardware that enable it to interact with its environment.
- The EV3 intelligent brick acts as the brain of the robot. It runs the program, processes information from the sensors, makes decisions, and controls the motors.
The EV3 robotics platform is convenient, accessible, and includes everything that we need to build our own smart robots.
This book will walk you through six different projects:
- Security Tank, which uses an infrared sensor to follow a beacon and aim its turret. This robot demonstrates the use of infrared technology for tracking a beacon, as well using proportional logic for a smooth feedback system.
- Omnilander, which can climb up steep slopes using its heavy-duty tank tracks. Special hardware gives it the ability to scale vertical obstacles. This project demonstrates the effectiveness of tracks for all-terrain navigation and shows specialized mechanisms, such as worm gears, rack-and-pinion, and clutches in action.
- Timmyton, an interactive robotic shark that features a custom GUI that allows the user to select multiple programs from within one main program. This project demonstrates features that can be incorporated into a robot to create a fun interactive experience. It also shows how computers use a GUI to allow the user to navigate between different programs through a more user-friendly interface.
- Grunt, a quirky bipedal robot with a mind of his own! This robot uses an array of sensors to detect and react to nearby people. This project demonstrates how nested programming switches can enable a robot to have smooth, lifelike decision making and create a rich interactive experience. Special programming and careful visual design give this whimsical creation a unique personality.
- Falcon, a fast race car that is controlled using the infrared remote and receiver. It showcases some of the mechanical concepts that are at work in real-world cars and features an intelligent return-to-center steering program.
- GPS car, which incorporates a GPS receiver and a digital magnetic compass. The user can input coordinates, and this robot will navigate to the destination. This project demonstrates the principles of GPS navigation and shows how GPS helps an autonomous car in the real world get to where it needs to go.
Each of these EV3 robots is a small-scale smart machine that demonstrates concepts that are applicable to a real-world smart robot. As you complete the projects, you will not only learn about the robots themselves but also about how smart robots are built and programmed in the real world. You will learn about the engineering concepts that work behind the scenes to allow these robots to complete their tasks.
Let's quickly recap what we have learned in this chapter.
We learned that a smart robot is any robot that incorporates some level of intelligence in the form of autonomous decision making. A smart robot uses sensors to make an observation about the outside world, then makes a decision based on an observation according to its programming.
We applied our definition of a smart robot to two real-world examples: a robotic vacuum cleaner and an autonomous car. We discussed the ways in which both fulfill each of the criteria for consideration as a smart robot.
We discussed why we will use the EV3 robotics platform for prototyping the smart robotic projects in this book.
Finally, we listed the six projects that are included in this book. We talked about the cool things each of these robots can do and how they help us understand smart robots in the real world.
In the next chapter, we will dive into our first project, the Security Tank!