Book Image

BeagleBone Robotic Projects

By : Richard Grimmett
Book Image

BeagleBone Robotic Projects

By: Richard Grimmett

Overview of this book

Thanks to new, inexpensive microcontrollers, robotics has become far more accessible than it was in the past. These microcontrollers provide a whole new set of capabilities to allow even the most inexperienced users to make amazingly complicated projects. Beaglebone 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 to allow 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 will include guidance on what to purchase and how to connect it all successfully–and a primer on programming the BeagleBone Black. Chapter by chapter, we will add additional software functionality available from the open source community, including how to make the system see using a webcam, how to hear using a microphone, and how to speak using a speaker. We then add hardware to make your robots move–including wheeled and legged examples–as well as covering how to add sonar sensors to avoid or find objects, plus wireless control to make your robot truly autonomous. Adding GPS allows the robot to find itself. Finally the book covers how to integrate all of this functionality so that it can all work together, before developing the most impressive robotics projects: those that can sail, fly, and explore underwater.
Table of Contents (18 chapters)
BeagleBone Robotic Projects
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Accessing the GPS programmatically and determining how to move to a location


Now that you can access your GPS device, let's work on accessing the data programmatically.

Prepare for lift off

Your project should now have the GPS connected and have access to querying the data via the serial port. In this section, you will create a program to use this data to discover where you are, and then you can determine what to do with that information.

Engage thrusters

If you completed the last section, you should be able to receive the raw data from the GPS unit. Now you want to be able to take this data and do something with it, for example, find your current location and altitude and then decide if your target location is to the west, east, north, or south.

First, get the information out of the raw data. As noted earlier, our position and speed is in the $GPMRC output of our GPS. First, write a program to simply parse out a couple of pieces of info from that data. So open a new file (you can name it location...