Book Image

Building Smart LEGO MINDSTORMS EV3 Robots

By : Kyle Markland
Book Image

Building Smart LEGO MINDSTORMS EV3 Robots

By: Kyle Markland

Overview of this book

Smart robots are an ever-increasing part of our daily lives. With LEGO MINDSTORMS EV3, you can now prototype your very own small-scale smart robot that uses specialized programming and hardware to complete a mission. EV3 is a robotics platform for enthusiasts of all ages and experience levels that makes prototyping robots accessible to all. This book will walk you through six different projects that range from intermediate to advanced level. The projects will show you building and programming techniques that are used by engineers in the real world, which will help you build your own smart robot. You'll see how to make the most of the EV3 robotics platform and build some awesome smart robots. The book starts by introducing some real-world examples of smart robots. Then, we'll walk you through six different projects and explain the features that allow these robots to make intelligent decisions. The book will guide you as you build your own object-tracking tank, a box-climbing robot, an interactive robotic shark, a quirky bipedal robot, a speedy remote control race car, and a GPS-navigating robot. By the end of this book, you'll have the skills necessary to build and program your own smart robots with EV3.
Table of Contents (9 chapters)

To get the most out of this book

  • Install EV3 Home Edition (version 1.2.2 or newer) on your computer. The software can be downloaded from https://www.lego.com/en-us/mindstorms/downloads/download-software.
  • Spend some time familiarizing yourself with EV3. It is graphical programming software in which programs are written by connecting code blocks together. You should know the names of the blocks and where to find each one of them in the programming palette. You should also be comfortable with dragging and dropping blocks to place them in your program, know how to change their modes, and have a basic understanding of what individual blocks do.
  • Familiarize yourself with the EV3 brick and understand the basics of using it. Know how to power it on and off, download programs from a computer via the USB cable, navigate its menus to select a program to run, and replace the batteries when necessary.
  • You should have experience of building with LEGO Technic. All of the robots in this book are made using Technic elements.
  • You may choose to install LEGO Digital Designer (LDD) version 4.3 on your computer. You can download the LDD software from https://www.lego.com/en-us/ldd/download. LDD is a LEGO CAD program that allows you to build and view digital models of LEGO creations. It also allows you to generate building instructions for a digital model. The LDD software will guide you when you build the projects in this book. You can download the LDD files (.lxf) for each project from http://builderdude35.com/downloads-2/ and open them using the LDD software.
  • In addition to an EV3 retail set (31313), you will need additional LEGO Technic elements for the projects included in this book. (The only exception is the Timmyton, which can be made with the parts included in one EV3 retail set). You can use LDD to generate a bill of materials, which will help you identify the additional Technic elements you will need. Chapter 7, GPS Car – Autonomous EV3 Navigation, also requires some third-party hardware from Dexter Industries and HiTechnic.
  • Before you start programming, update the firmware on your EV3 brick to version 1.09H or newer. Perform the following steps to update your EV3 brick's firmware:
    1. Start EV3 Home Edition on your computer.
    2. Turn on your EV3 brick and plug it into your computer using a USB cable.
    3. Open a new project in EV3.
    4. Navigate to Tools | Firmware Update.
    5. If version 1.09H is not already available, follow the steps to download it from https://www.lego.com/en-us/mindstorms/.
    6. Select the firmware version 1.09H (or newer, if available), click on Update Firmware, and wait for the update to complete. The EV3 brick will restart when the update is complete.

Download the example code files

You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packtpub.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Building-Smart-LEGO-MINDSTORMS-EV3-Robots. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://www.packtpub.com/sites/default/files/downloads/BuildingSmartLEGOMINDSTORMSEV3Robots_ColorImages.pdf.

Robots in action

Visit the following link to check out the robots in action:

https://goo.gl/GB4sFr

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Set the target number of degrees to 600; this is how far the motor needs to rotate to fire two projectiles."

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "The mode on the switch block should be set to Motor Rotation | Compare | Degrees."

Warnings or important notes appear like this.
Tips and tricks appear like this.