Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
BeagleBone Robotic Projects

You're reading from  BeagleBone Robotic Projects

Product type Book
Published in Dec 2013
Publisher Packt
ISBN-13 9781783559329
Pages 244 pages
Edition 1st Edition
Languages
Author (1):
Richard Grimmett Richard Grimmett
Profile icon Richard Grimmett

Table of Contents (18) Chapters

BeagleBone Robotic Projects
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Getting Started with the BeagleBone Black Programming the BeagleBone Black Providing Speech Input and Output Allowing the BeagleBone Black to See Making the Unit Mobile – Controlling Wheeled Movement Making the Unit Very Mobile – Controlling Legged Movement Avoiding Obstacles Using Sensors Going Truly Mobile – Remote Control of Your Robot Using a GPS Receiver to Locate Your Robot System Dynamics By Land, Sea, and Air Index

Chapter 10. System Dynamics

Through the previous chapters we've spent time talking a lot about individual functionality that we can add to our robotic projects. In this chapter, we'll talk about how to integrate these different parts into a single system.

Mission briefing


We've spent lot of time on individual functionality, and your robotic projects now have lots of functionality that we can add to our projects. This chapter will bring all of these parts together into a framework that allows the different parts to work together.

Why is it awesome?

You don't want the robot to just walk, talk, or see. You want it to do all of these in a coordinated package. In this chapter, you'll learn how to programmatically connect all of these individual capabilities and make your projects seem intelligent.

Your objectives

In this chapter, we will:

  • Create a general control structure so that different capabilities can work together through system calls

Mission checklist

Finally we're done purchasing the HW. In this chapter, we'll be adding functionality via SW. You'll need ample storage space for an array of new SW. First, let's check how much space you have on your memory card. You should install discus: a program that will let you see how much disk space you...

Creating a general control structure so capabilities can communicate


Now that you have a mobile robot, you want to coordinate all of its different abilities. Let's start with the simplest approach: using a single control program that can call other programs and enable all the capabilities.

Prepare for lift off

You've already done this once. In Chapter 3, Providing Speech Input and Output, you edited the continuous.c code to allow it to call other programs to execute functionality. Here is the code that we used, found in the /home/ubuntu/pocketsphinx-0.8/programs/src/ directory.

The functionality that is important to us is the system("espeak \"good bye"\"");"\""); line of code. When you use the system function call, the program actually calls a different program, in this case the espeak program, and passes it to the good bye parameter so that the words good and bye come out of the speaker.

Here is another example, this time from Chapter 5, Making the Unit Mobile – Controlling Wheeled Movement...

Mission accomplished


Now you can coordinate complex functionality for your robot. Your robot can walk, talk, see, hear, and even sense its environment, all at the same time.

A challenge


As you can see, communicating between different aspects of our project can be challenging. You are probably used to using an operating system that provides you with much of the basic functionality that you need for your computer use. In this section I'm going to introduce you to a special operating system that is designed specifically for use with robotics projects, the Robot Operating System (ROS). This operating system sits on top of Linux and provides some interesting functionality.

ROS is fortunately free and open source. It is a very complex set of functionalities, but if you spend some time learning it, you can start using some of the most comprehensive functionality being developed in robotics research today.

To install ROS for the BeagleBone Black, go to http://wiki.ros.org/groovy/Installation/UbuntuARM. This gives you a step-by-step set of instructions to download and install the ROS onto your BeagleBone Black. Then also select Ubuntu on ARM, which is the architecture...

lock icon The rest of the chapter is locked
You have been reading a chapter from
BeagleBone Robotic Projects
Published in: Dec 2013 Publisher: Packt ISBN-13: 9781783559329
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}