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
   21   22   23   24   25   26   27   28   29   30   31