Are you ready to discover the captivating world of robotics? As you’re reading this book, I assume that you’ve selected the LEGO MINDSTORMS EV3 robotics set as your learning tool, and I think that’s a great choice.
I first became involved with MINDSTORMS in 2005 when I was 13 years old, using the Robotics Invention System, the version available at the time. It started out as a hobby, but I found robots so fascinating that I decided to pursue an engineering degree. LEGO MINDSTORMS proved to be an excellent resource to get familiar with many robotics and engineering concepts, such as programming and working with motors and sensors.
The purpose of this book is to help you explore the many possibilities of MINDSTORMS in hopes that you’ll have just as much fun with this robotics set as I have and that you’ll learn a lot along the way!
The LEGO MINDSTORMS EV3 robotics set includes numerous parts and instructions for five robots. I think you’ll find that it’s a lot of fun to build and program these robots, but exploring beyond these models can be a bit overwhelming when you’re just getting started. The set provides you with the tools you need to make the robots work, but the user guide covers only a fraction of what you need to know in order to build and program your own robots.
This book is designed as a guidebook to help you discover the power of LEGO MINDSTORMS EV3 as you learn to invent, build, and program your very own robots.
This book assumes no previous experience with either building or programming LEGO MINDSTORMS. As you read, you’ll move from basic to advanced programming and learn to build increasingly sophisticated robots. New users should begin with Chapter 1 and then follow the step-by-step instructions in Chapter 2 to build and program a basic robot. More experienced MINDSTORMS users might simply start with a chapter they find challenging and move on from there. The advanced programming chapters in Part V and the robot designs in Part VI will be especially interesting for more advanced readers.
Although you could use it as such, this book isn’t intended as a reference manual; it’s more like a workbook. I’ve mixed together building, programming, and robotic challenges to avoid long, theoretical chapters that can be hard to wade through.
For example, you’ll learn basic programming techniques at the same time that you learn to make your first robot move, and you’ll learn about more advanced programming as you build new robots. This book takes a “learning by doing” approach, which I think is the best way to learn how to build and program MINDSTORMS robots.
To help you really understand the concepts presented in each chapter, I’ve included many so-called Discoveries, or challenges, throughout the book. The Discoveries will challenge you to expand the example programs or even come up with completely new programs. For example, once you’ve learned how to make the robot play sounds and display text on the screen, you’ll be challenged to make a program that has the robot show subtitles on the screen while it speaks.
You’ll also find Design Discoveries at the end of many chapters. These will give you ideas to modify or improve the robot you built in that chapter. For example, you’ll be challenged to make a racing robot drive faster by adding gears between the motors and the wheels, and you’ll even be challenged to design a new robot that turns your EV3 into an intruder alarm!
To help you choose which Discoveries you might want to tackle, I’ve provided an estimated difficulty level for each one. Easy Discoveries () can typically be solved by creating or expanding a program using techniques similar to the examples. Medium (
) indicates that you’ll have to look a bit further and perhaps combine the new theory with some techniques you learned earlier. Hard Discoveries (
) will put your creativity to the test by going beyond the presented examples.
In rating the difficulty, I’m assuming that you read the chapters in chronological order. That is, a challenge marked “hard” in Chapter 4 may actually be quite easy compared to a challenge marked “hard” in Chapter 19.
In addition, each Discovery provides an estimate for how much time is required to solve it, ranked as short (), medium (
), or long (
) challenges. Typically, short Discoveries can be solved by making just a few changes to the example program, while long Discoveries involve creating a completely new program.
The Design Discoveries generally take more time to solve because they involve both building and programming. They’re rated by the estimated amount of required building () and programming (
).
Some of the Discoveries give you one or two hints to get started, but there are many ways to solve each challenge. It doesn’t matter whether you follow the guidelines exactly; you might just find an innovative solution I didn’t think of.
Similarly, the difficulty and time given for each Discovery are only estimates. Don’t worry if you need a little longer to solve a particular problem. Just remember to have fun when giving the challenges a try!
You can find solutions to some of the Discoveries at http://ev3.robotsquare.com/. These solutions will get you started, but you’ll need to be creative in order to solve the challenges that don’t have a solution available for download.
Here’s a brief overview of each of the six parts of the book. Some of the terms used here may be new to you, but you’ll learn all about them as you read the book.
Part I begins by taking you through the contents of the EV3 robotics set in Chapter 1. In Chapter 2, you’ll build your first robot and learn about the EV3 brick. In Chapter 3, you’ll meet the EV3 software, which you’ll use to program robots. In Chapter 4, you’ll learn to use this software to make your robot move as you create your first programs with basic programming blocks. Finally, in Chapter 5, you’ll learn essential programming techniques, such as making your robot repeat actions and do more than one thing at the same time.
This part teaches you all about sensors, which are essential components of MINDSTORMS robots. In Chapter 6, you’ll begin by adding the Touch Sensor to the robot you built earlier to learn the programming techniques required to use sensors. Then, you’ll explore the Color Sensor in Chapter 7, the Infrared Sensor and the infrared beacon in Chapter 8, and two types of built-in sensors in Chapter 9.
This part covers the LEGO Technic building elements that come with your EV3 set. You’ll learn to use beams, axles, and connector blocks in Chapter 10, and you’ll learn how to use gears in your robots in Chapter 11.
Once you’ve got a handle on using motors and sensors, you’ll build two robots to put those skills to the test. You’ll build the Formula EV3 Race Car in Chapter 12 and ANTY, a robotic ant, in Chapter 13.
Part V is devoted to more advanced programming concepts. You’ll learn about data wires (Chapter 14), how to process sensor values and do math on the EV3 (Chapter 15), and how to make the robot remember things with variables (Chapter 16). Finally, Chapter 17 will teach you how to combine all of these programming techniques to create a robot that lets you play an Etch-A-Sketch-like game on the EV3 screen.
Having learned about motors, sensors, and many advanced programming techniques, you’ll create two complex robots in this part. In Chapter 18, you’ll build and program the SNATCH3R, an autonomous robotic arm that can find, grab, lift, and move the infrared beacon autonomously.
Finally, in Chapter 19, you’ll build LAVA R3X, the humanoid shown on the front cover that walks and talks. Its design was inspired by the famous Alpha Rex humanoid robot from the previous generation of LEGO MINDSTORMS.
On the companion website (http://ev3.robotsquare.com/), you’ll find links to other helpful websites, downloadable versions of all of the example programs in this book, and solutions to some of the Discoveries presented in this book.
MINDSTORMS can inspire creativity and ingenuity in builders of all ages. So grab your EV3 robotics set, start reading Chapter 1, and enter the creative world of LEGO MINDSTORMS. I hope this book will help spark your imagination!