Page 9 - Hacking Roomba
P. 9

viii      Contents




                                 Using the Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
                                 Making RoombaComm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
                                 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

                             Chapter 5: Driving Roomba. . . . . . . . . . . . . . . . . . . . . . . . 89
                                 The Roomba Motors and Drive Train. . . . . . . . . . . . . . . . . . . . . . . . . 89
                                 The ROI DRIVE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
                                 Simple Tank-Like Motion.  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
                                 Moving in Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
                                 Real-Time Driving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
                                 Writing Logo-Like Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
                                 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
                             Chapter 6: Reading the Roomba Sensors . . . . . . . . . . . . . . . . 109

                                 Roomba Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
                                 ROI SENSORS Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
                                 Parsing Sensor Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
                                 Using Sensor Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
                                 BumpTurn: Making an Autonomous Roomba. . . . . . . . . . . . . . . . . . . . 122
                                 Measuring Distance and Angle . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
                                 Spying on Roomba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
                                 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127


                          Part II: Fun Things to Do

                             Chapter 7: Making RoombaView . . . . . . . . . . . . . . . . . . . . 131
                                 About Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
                                 Using RoombaComm in Processing . . . . . . . . . . . . . . . . . . . . . . . . . 136
                                 Designing RoombaView .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
                                 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
                             Chapter 8: Making Roomba Sing . . . . . . . . . . . . . . . . . . . . 151
                                 Sonic Capabilities of Roomba . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
                                 ROI SONG and PLAY Commands . . . . . . . . . . . . . . . . . . . . . . . . . 154
                                 Playing Roomba as a Live Instrument . . . . . . . . . . . . . . . . . . . . . . . . 157
                                 Roomba Ringtones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
                                 RoombaMidi: Roomba as MIDI Instrument . . . . . . . . . . . . . . . . . . . . 161
                                 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
                             Chapter 9: Creating Art with Roomba . . . . . . . . . . . . . . . . . . 167

                                 Can Robots Create Art? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
                                 Parts and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
                                 Adding a Paintbrush to Roomba . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
                                 What Are Spiral Equations? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
   4   5   6   7   8   9   10   11   12   13   14