O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

BeagleBone Robotic Projects - Second Edition

Book Description

Exciting new capabilities to enable even easier DIY robotics with BeagleBone Blue

About This Book

  • Build powerful robots with the all new BeagleBone Blue
  • Communicate with your robot and teach it to detect and respond to its environment
  • Control walking, rolling, swimming, and flying robots with your iOS and Android mobile devices

Who This Book Is For

This book is for anyone who is curious about using new, low-cost hardware to create robotic projects and have previously been the domain of research labs, major universities, or defence departments. Some programming experience would be useful, but if you know how to use a personal computer, you can use this book to construct far more complex systems than you would have thought possible.

What You Will Learn

  • Power on and configure the BeagleBone Blue
  • Get to know Simple programming techniques to enable the unique hardware capabilities of the BeagleBone Blue.
  • Connect standard hardware to enable your projects to see, speak, hear, and move
  • Build advanced capabilities into your projects, such as GPS and sonar sensors
  • Build complex projects that can fly, or go under or on the water

In Detail

BeagleBone Blue is effectively a small, light, cheap computer in a similar vein to Raspberry Pi and Arduino. It has all of the extensibility of today’s desktop machines, but without the bulk, expense, or noise. This project guide provides step-by-step instructions that enable anyone to use this new, low-cost platform in some fascinating robotics projects. By the time you are finished, your projects will be able to see, speak, listen, detect their surroundings, and move in a variety of amazing ways.

The book begins with unpacking and powering up the components. This includes guidance on what to purchase and how to connect it all successfully, and a primer on programming the BeagleBone Blue. You will add additional software functionality available from the open source community, including making the system see using a webcam, hear using a microphone, and speak using a speaker.

You will then learn to use the new hardware capability of the BeagleBone Blue to make your robots move, as well as discover how to add sonar sensors to avoid or find objects. Later, you will learn to remotely control your robot through iOS and Android devices. At the end of this book, you will see how to integrate all of these functionalities to work together, before developing the most impressive robotics projects: Drone and Submarine.

Style and approach

Develop practical example projects with detailed explanations, combine the projects in a vast number of ways to create different robot designs, or work through them in sequence to discover the full capability of the BeagleBone Blue.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the example code
      2. Downloading the color images of this book
      3. Errata
      4. Piracy
      5. Questions
  2. Getting Started with the BeagleBone Blue
    1. Powering up and connecting to the BeagleBone Blue
    2. Accessing the operating system
    3. Accessing the BeagleBone Blue remotely via WLAN
    4. Summary
  3. Programming the BeagleBone Blue
    1. Basic Linux commands showing how to navigate around the filesystem on the BeagleBone Blue
    2. Creating, editing, and saving files on the BeagleBone Blue
    3. Creating and running Python programs on the BeagleBone Blue
    4. Some basic programming constructs on the BeagleBone Blue
    5. A brief introduction to the C programming language
    6. Summary
  4. Making the Unit Mobile - Controlling Wheeled Movement
    1. Getting started
    2. Controlling your mobile platform programmatically using the BeagleBone Blue
      1. Connecting the DC motors to the BeagleBone Blue
      2. Controlling the DC motors programmatically
    3. Accessing the compass on the BeagleBone Blue
    4. Summary
  5. Avoiding Obstacles Using Sensors
    1. Different types of sensors used
      1. The sonar sensor
      2. The infrared sensor
      3. The LiDAR sensor
    2. Connecting a sonar sensor to an Arduino
      1. Accessing the sonar sensor from the Arduino IDE
    3. Creating an array of sensors
    4. Dynamic path planning with your mobile platform
      1. Basic path planning
      2. Avoiding obstacles
    5. Summary
  6. Allowing Our BeagleBone Blue to See
    1. Connecting your USB camera to your BeagleBone Blue and viewing the images
    2. Downloading and installing OpenCV, a fully featured vision library
    3. Using the vision library to detect colored objects
    4. Summary
  7. Providing Speech Input and Output
    1. Hardware prerequisites
    2. Connecting the hardware and making an input sound
    3. Using eSpeak to allow our projects to respond in a robot voice
    4. Using Pocketsphinx to interpret your voice commands
    5. Providing the capability to interpret your commands and have your robot initiate action
    6. Summary
  8. Making the Unit Very Mobile - Controlling Legged Movement
    1. Connecting the BeagleBone Blue to your mobile platform
    2. Creating a Linux program to control your mobile platform
    3. Making your mobile platform truly mobile by issuing voice commands
  9. Using a GPS Receiver to Locate Your Robot
    1. Connecting the BeagleBone Blue to a GPS device
    2. Accessing the GPS programmatically and determining how to move to a location
    3. Summary
  10. By Land, By Sea, By Air
    1. The BeagleBone Blue and robots that can sail
      1. Connecting an analog airspeed sensor
      2. Getting sensor data from the airspeed sensor
      3. Long range control of the BeagleBone Blue
    2. BeagleBone Blue and robots that can fly
    3. The BeagleBone Blue in robots that can go under the water
    4. Summary
  11. System Dynamics
    1. Controlling your robot via a game pad controller
    2. Controlling your robot via a web interface
    3. Summary