Page 26 - The Definitive Guide to Building Java Robots
P. 26
Preston_5564C01.fm Page 7 Friday, September 16, 2005 6:36 AM
CHAPTER 1 ■ A PRIMER 7
In Table 1-1, shown next, I’ve listed some examples of each.
Table 1-1. Sample Events, Tasks, Subtasks, and Data Packets
Events Tasks Subtasks Data Packets
Verbal command Diagnostic Change heading RGB image stream
Vision (motion) Move Calculate start position Byte[] serial output
Vision (landmark detection) Follow object Calculate shortest path Byte[] serial input
Remote control command Determine object Create motion vector Speech synthesis to
location speakers
Battery low Calculate a hough
transform
Scheduled event
Sleep
There could be even more tasks or subtasks. The amount you add will depend on the noise
in your environment. Once you’re able to come up with the task and subtask that defines what
you want your robot to do, you’re ready to start handling some of the technical problems asso-
ciated with robotics, like motion and perception.
Motion
How you make your robot move will depend on the answers to the following questions:
•How much money do you have to spend?
• How fast do you want your robot to move?
• What surface will your robot move on?
• How much will your robot weigh?
• How long will the power source last?
Let’s say you have a budget of $200, you don’t want your robot to move particularly fast, it
will move on concrete or some other smooth surface, it will weigh about 150 pounds and need
to stay alive about two hours before recharging. If this is the case, your options are limited. If
the terrain changes to desert or the budget increases to $2,000, your list of possible technical
solutions will change drastically. However, just having a drive system is not going to allow you
to solve the main objective of getting a robot to navigate to the fridge. To do that, the robot will
have to perceive.
Perception
To illustrate what the world of robot perception is, I’m going to ask you to do a few experi-
ments. You’ll really have to do these experiments to fully understand the problem.
To start with, go to your living room and shut your eyes. Hold your hands in front of you
and try to make it to the kitchen so that you are in front of your refrigerator. If /when you hit
something, that’s fine, it was your bump sensor. So, back up, follow the wall, or do whatever