Wiki source code of BRAT Biped Autonomous Tutorial
                  Version 22.1 by Eric Nantel on 2023/01/23 10:17
              
      Show last authors
| 1 | {{html wiki="false" clean="true"}} | 
| 2 | <body><table border="0" cellpadding="0" cellspacing="0" > | 
| 3 | <tbody><tr> | 
| 4 | <td valign="top" align="left"><b><font face="Verdana" size="2">Biped BRAT Autonomous Tutorial.</font></b> | 
| 5 | <p><b><font face="Verdana" size="2">Updated <!--webbot bot="Timestamp" startspan s-type="EDITED" s-format="%m/%d/%Y" --> | 
| 6 | <!-- #BeginDate format:Am3 -->12/20/2011<!-- #EndDate --> | 
| 7 | </font></b></p> | 
| 8 | <p><font face="Verdana" size="2"><b>Safety first!</b> Wear eye protection and never touch a powered robot!</font></p> | 
| 9 | <p><font face="Verdana" size="2"><b>Note:</b> This tutorial uses the Bot Board II, BASIC Atom Pro 28, a Sharp GP2D12 sensor, and a Buffered | 
| 10 | 2-Axis Accelerometer (DE-11).</font></p> | 
| 11 | <p><font face="Verdana" size="2"><b>Software:</b><br> | 
| 12 |   - BASIC Micro Studio<br> | 
| 13 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/bratosf3.zip">BRAT Servo Offset Finder | 
| 14 | Program v3</a> (09/16/09)<br> | 
| 15 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/abrat1.zip">Autonomous Walk Code</a> | 
| 16 | (09/16/09)<br> | 
| 17 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/abrat2.zip">Autonomous GP2D12 Code</a> | 
| 18 | (09/16/09)<br> | 
| 19 |   -- Video: <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/avoid01.mpg">Avoiding an obstacle (mpg)</a><br> | 
| 20 |   -- Video: <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/break01.mpg">Taking a break (mpg)</a><br> | 
| 21 |   -- Video: <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/walkaway.mpg">Demonstrating proximity beeps (mpg)</a><br> | 
| 22 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/abrat3.zip">Autonomous 1-Axis Accelerometer Code</a> | 
| 23 | (09/16/09)<br> | 
| 24 |   -- Video: <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/getup01.mpg">Getting up front and back (mpg)</a><br> | 
| 25 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/abrat4.zip">Autonomous 2-Axis Accelerometer Code</a> | 
| 26 | (09/16/09)<br> | 
| 27 |   -- Video: <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/getup02.mpg">Getting up front and side (mpg)</a></font></p></td> | 
| 28 | <td align="center" valign="top" width="320"><font face="Verdana" size="2"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/brat00.jpg" border="2" hspace="10" ><br> | 
| 29 | <strong>Image of Biped BRAT.</strong></font></td> | 
| 30 | </tr> | 
| 31 | <tr> | 
| 32 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> | 
| 33 | </tr> | 
| 34 | <tr> | 
| 35 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 1.</b><br> | 
| 36 | Make sure your servos are plugged into the appropriate channels, as shown in Table 1.</font> | 
| 37 | <p><font face="Verdana" size="2">*Note, P9 is used by the speaker, so we can't plug a servo in there.</font></p></td> | 
| 38 | <td align="left" valign="top" > | 
| 39 | <div align="center"> | 
| 40 | <center> | 
| 41 | <table border="1" bordercolor="#FFFFFF" > | 
| 42 | <tbody><tr> | 
| 43 | <td > | 
| 44 | <div align="center"> | 
| 45 | <table border="1" bordercolor="#000000" > | 
| 46 | <tbody><tr> | 
| 47 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Bot Board I/O</b></font></td> | 
| 48 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Connection</b></font></td> | 
| 49 | </tr> | 
| 50 | <tr> | 
| 51 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P4</font></td> | 
| 52 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Ankle</font></td> | 
| 53 | </tr> | 
| 54 | <tr> | 
| 55 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P5</font></td> | 
| 56 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Knee</font></td> | 
| 57 | </tr> | 
| 58 | <tr> | 
| 59 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P6</font></td> | 
| 60 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Hip</font></td> | 
| 61 | </tr> | 
| 62 | <tr> | 
| 63 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P7</font></td> | 
| 64 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Ankle</font></td> | 
| 65 | </tr> | 
| 66 | <tr> | 
| 67 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P8</font></td> | 
| 68 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Knee</font></td> | 
| 69 | </tr> | 
| 70 | <tr> | 
| 71 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P10</font></td> | 
| 72 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Hip</font></td> | 
| 73 | </tr> | 
| 74 | </tbody></table> | 
| 75 | </div></td> | 
| 76 | </tr> | 
| 77 | <tr> | 
| 78 | <td bordercolor="#FFFFFF"> | 
| 79 | <p align="center"><font face="Verdana" size="2">Table 1.</font></p></td> | 
| 80 | </tr> | 
| 81 | </tbody></table> | 
| 82 | </center></div> | 
| 83 | </td> | 
| 84 | </tr> | 
| 85 | <tr> | 
| 86 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> | 
| 87 | </tr> | 
| 88 | <tr> | 
| 89 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 2.</b><br> | 
| 90 | Make sure the Bot Board's jumpers are set according to Table 2.</font> | 
| 91 | <p><font face="Verdana" size="2">Refer to Figure 2 for help with jumper settings.</font></p> | 
| 92 | <p><font face="Verdana" size="2">*Note, the VS to AX0 jumper enables the program to monitor the servo battery voltage. When the battery is low, | 
| 93 | the robot can beep in warning.</font></p></td> | 
| 94 | <td align="left" valign="top" > | 
| 95 | <div align="center"> | 
| 96 | <center> | 
| 97 | <table border="1" bordercolor="#FFFFFF" > | 
| 98 | <tbody><tr> | 
| 99 | <td > | 
| 100 | <div align="center"> | 
| 101 | <table border="1" bordercolor="#000000" > | 
| 102 | <tbody><tr> | 
| 103 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" colspan="2"><font face="Verdana" size="2"><b>Bot Board II | 
| 104 | Jumper Settings</b></font></td> | 
| 105 | </tr> | 
| 106 | <tr> | 
| 107 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td> | 
| 108 | |
| 109 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">A, B, and C buttons</font></td> | 
| 110 | </tr> | 
| 111 | <tr> | 
| 112 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">5v</font></td> | 
| 113 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">I/O Group 0-3</font></td> | 
| 114 | </tr> | 
| 115 | <tr> | 
| 116 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">VS</font></td> | 
| 117 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">I/O Groups 4-7 and 8-11</font></td> | 
| 118 | </tr> | 
| 119 | <tr> | 
| 120 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td> | 
| 121 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">SPKEN (Speaker Enable)</font></td> | 
| 122 | </tr> | 
| 123 | <tr> | 
| 124 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td> | 
| 125 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">VS (Servo Voltage) to AX0 (P16)</font></td> | 
| 126 | </tr> | 
| 127 | </tbody></table> | 
| 128 | </div></td> | 
| 129 | </tr> | 
| 130 | <tr> | 
| 131 | <td bordercolor="#FFFFFF"> | 
| 132 | <p align="center"><font face="Verdana" size="2">Table 2.</font></p></td> | 
| 133 | </tr> | 
| 134 | </tbody></table> | 
| 135 | </center></div> | 
| 136 | </td> | 
| 137 | </tr> | 
| 138 | <tr> | 
| 139 | <td valign="top" align="left" colspan="2"><br class="pb"> | 
| 140 | </td> | 
| 141 | </tr> | 
| 142 | <tr> | 
| 143 | <td valign="top" align="left" colspan="2"> | 
| 144 | <p align="center"><font face="Verdana" size="2"> <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/autobrat.gif" border="0" hspace="10"><br> | 
| 145 | Figure 2.</font></p> | 
| 146 | </td> | 
| 147 | </tr> | 
| 148 | <tr> | 
| 149 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> | 
| 150 | </tr> | 
| 151 | <tr> | 
| 152 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 3.</b><br> | 
| 153 | Download and install the BASIC Micro Studio. Download the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/bratosf3.zip">BRAT Servo Offset Finder program</a>, and load it into the IDE.</font> | 
| 154 | <p><font face="Verdana" size="2">Program the Atom Pro, and follow these instructions to find your robot's offsets.</font></p> | 
| 155 | <ul> | 
| 156 | <li><font face="Verdana" size="2">Press A to decrease the servo offset by 5us.</font></li> | 
| 157 | <li><font face="Verdana" size="2">Press C to increase the servo offset by 5us.</font></li> | 
| 158 | <li><font face="Verdana" size="2">Press B to change which servo is being manipulated, and to | 
| 159 | save your offsets. The order of the | 
| 160 | program is shown in Figure 3.</font></li> | 
| 161 | </ul> | 
| 162 | <p><font face="Verdana" size="2">Note, if you have the Speaker enabled, when you press the B button you will hear a short tone. The tone will | 
| 163 | raise in pitch when you change from servo to servo, and will lower in pitch and be longer when you get back to Start.</font></p></td> | 
| 164 | <td align="left" valign="top" > | 
| 165 | <p align="center"><font face="Verdana" size="2"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/bratosf3.jpg" border="2" hspace="10" ><br> | 
| 166 | Figure 3.</font></p></td> | 
| 167 | </tr> | 
| 168 | <tr> | 
| 169 | <td valign="top" align="left" colspan="2"><br class="pb"> | 
| 170 | </td> | 
| 171 | </tr> | 
| 172 | <tr> | 
| 173 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step | 
| 174 | 4.</b><br> | 
| 175 | Place the robot in a position as close to neutral as possible, and turn it on. Your robot should go to and hold the neutral position, and should | 
| 176 | resemble figures 4-1 through 4-3. If the joints are off by more than 15° you may have made an error in assembly. To correct this, remove the | 
| 177 | center screw from the round servo horn, pull the servo horn off the servo, rotate until it's aligned, then reattach the servo horn.</font> | 
| 178 | <p><font face="Verdana" size="2">Use the A, B, and C buttons to straighten the BRAT as shown in Figures | 
| 179 | 4-1, 4-2, and 4-3.</font></p> | 
| 180 | <p><font face="Verdana" size="2">Note, if you are building the robot with HS-422 servos, you will notice the hip servos oscillate if the robot | 
| 181 | is lifted off the ground. This is normal, and is due to the lower power servo. When the robot is walking, the effects are minimal. Using a | 
| 182 | voltage that is higher than 6vdc will make the oscillations worse. When building a robot with more powerful servos such as HS-475, | 
| 183 | HS-485, or HS-645, you | 
| 184 | will not see this effect.</font></p> | 
| 185 | <p><font face="Verdana" size="2"><b>After you've cycled through the servos and adjusted them to match Figures | 
| 186 | 4-1 through 4-3, pressing the B button again will save your servo offset | 
| 187 | values to the Atom Pro's EEPROM.</b></font></p> | 
| 188 | </td> | 
| 189 | <td align="left" valign="top" > | 
| 190 | <p align="center"><font face="Verdana" size="2"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/brat10.jpg" border="2" hspace="10" ><br> | 
| 191 | Figure 4-1.</font></p></td> | 
| 192 | </tr> | 
| 193 | <tr> | 
| 194 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> | 
| 195 | </tr> | 
| 196 | <tr> | 
| 197 | <td valign="top" align="left"> | 
| 198 | <p align="center"><font face="Verdana" size="2"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/brat07.jpg" border="2" hspace="10" ><br> | 
| 199 | Figure 4-2.</font></p> | 
| 200 | </td> | 
| 201 | <td align="left" valign="top" > | 
| 202 | <p align="center"><font face="Verdana" size="2"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/brat04.jpg" border="2" hspace="10" ><br> | 
| 203 | Figure 4-3.</font></p></td> | 
| 204 | </tr> | 
| 205 | <tr> | 
| 206 | <td valign="top" align="left" colspan="2"><br class="pb"> | 
| 207 | </td> | 
| 208 | </tr> | 
| 209 | <tr> | 
| 210 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"><b>Step | 
| 211 | 5.</b><br> | 
| 212 | Now download the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/abrat1.zip">BRAT Autonomous Walk Code</a>, load it into the | 
| 213 | IDE, and program your BRAT.</font> | 
| 214 | <p><font face="Verdana" size="2">Congratulations, your BRAT will now be able to walk around! The autonomous walk program will make the BRAT | 
| 215 | follow this sequence: walk, walk, walk, turn, long-stride, long-stride, kick, turn, stop.</font></p> | 
| 216 | <p><font face="Verdana" size="2">To change the behavior of your robot, you can modify the code below the label "main" and above the | 
| 217 | label "move". You can also create sequences following the format shown in the code below the label "move". We will provide | 
| 218 | several more code examples including common sensors.</font></p></td> | 
| 219 | </tr> | 
| 220 | <tr> | 
| 221 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> | 
| 222 | </tr> | 
| 223 | <tr> | 
| 224 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step | 
| 225 | 6.</b><br> | 
| 226 | Use double-sided tape to attach the GP2D12 sensor to the BRAT's head area. The exact position doesn't matter too much, as long as the sensor is | 
| 227 | facing toward the front of the robot.</font> | 
| 228 | <p><font face="Verdana" size="2">Plug the sensor in to the channel shown in the following table.</font></p> | 
| 229 | <div align="center"> | 
| 230 | <center> | 
| 231 | <table border="1" bordercolor="#FFFFFF" > | 
| 232 | <tbody><tr> | 
| 233 | <td > | 
| 234 | <div align="center"> | 
| 235 | <table border="1" bordercolor="#000000" > | 
| 236 | <tbody><tr> | 
| 237 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Bot Board I/O</b></font></td> | 
| 238 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Connection</b></font></td> | 
| 239 | </tr> | 
| 240 | <tr> | 
| 241 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P19 (AX3)</font></td> | 
| 242 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">GP2D12 Sensor</font></td> | 
| 243 | </tr> | 
| 244 | </tbody></table> | 
| 245 | </div></td> | 
| 246 | </tr> | 
| 247 | <tr> | 
| 248 | <td bordercolor="#FFFFFF"> | 
| 249 | <p align="center"><font face="Verdana" size="2">Table 6.</font></p></td> | 
| 250 | </tr> | 
| 251 | </tbody></table> | 
| 252 | </center></div> | 
| 253 | </td> | 
| 254 | <td align="left" valign="top" > | 
| 255 | <p align="center"><font face="Verdana" size="2"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/bratsens.jpg" border="2" hspace="10" ><br> | 
| 256 | Figure 6.</font></p></td> | 
| 257 | </tr> | 
| 258 | <tr> | 
| 259 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> | 
| 260 | </tr> | 
| 261 | <tr> | 
| 262 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"><b>Step | 
| 263 | 7.</b><br> | 
| 264 | Now download the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/abrat2.zip">BRAT Autonomous GP2D12 Code</a>, load it into the | 
| 265 | IDE, and program your BRAT.</font> | 
| 266 | <p><font face="Verdana" size="2">Congratulations, your BRAT will now be able to roam without bumping into anything! We also added a | 
| 267 | "behavior" looping counter so the robot will periodically go into a resting position. You can edit the pauses to change how long it | 
| 268 | rests and you can change the value of the looping counter to change how often it rests. The GP2D12 sensor is read before each step when the | 
| 269 | robot is walking forward. You will hear a short low beep if nothing is detected. If an object is detected, the beep raises in pitch depending on | 
| 270 | how close the object is. When the object is about 8" away, the robot will back up one step, turn left two steps, then continue forward. The | 
| 271 | code also illuminates LEDs depending on which command is being processed.</font></p> | 
| 272 | <p><font face="Verdana" size="2">Check out these videos:<br> | 
| 273 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/avoid01.mpg">Avoiding an obstacle (mpg)</a><br> | 
| 274 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/break01.mpg">Taking a break (mpg)</a><br> | 
| 275 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/walkaway.mpg">Demonstrating proximity beeps (mpg)</a></font></p></td> | 
| 276 | </tr> | 
| 277 | <tr> | 
| 278 | <td valign="top" align="left" colspan="2"><br class="pb"> | 
| 279 | </td> | 
| 280 | </tr> | 
| 281 | <tr> | 
| 282 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step | 
| 283 | 8.</b><br> | 
| 284 | Use double-sided tape to attach the accelerometer sensor to the BRAT's head area. With the accelerometer, the sensor's <i>physical position</i> | 
| 285 | isn't as important as the <i>axis orientation</i>. Make sure you follow the orientation shown in Figure | 
| 286 | 8.</font> | 
| 287 | <p><font face="Verdana" size="2">Plug the sensor in to the channel shown in the following table.</font></p> | 
| 288 | <div align="center"> | 
| 289 | <center> | 
| 290 | <table border="1" bordercolor="#FFFFFF" > | 
| 291 | <tbody><tr> | 
| 292 | <td > | 
| 293 | <div align="center"> | 
| 294 | <table border="1" bordercolor="#000000" > | 
| 295 | <tbody><tr> | 
| 296 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Bot Board I/O</b></font></td> | 
| 297 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Connection</b></font></td> | 
| 298 | </tr> | 
| 299 | <tr> | 
| 300 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P17 (AX1)</font></td> | 
| 301 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Accelerometer Sensor - Y Axis<br> | 
| 302 | (Used for Front-to-back tilt)</font></td> | 
| 303 | </tr> | 
| 304 | <tr> | 
| 305 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P18 (AX2)</font></td> | 
| 306 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Accelerometer Sensor - X Axis<br> | 
| 307 | (Used for Side-to-side tilt)</font></td> | 
| 308 | </tr> | 
| 309 | </tbody></table> | 
| 310 | </div></td> | 
| 311 | </tr> | 
| 312 | <tr> | 
| 313 | <td bordercolor="#FFFFFF"> | 
| 314 | <p align="center"><font face="Verdana" size="2">Table 8.</font></p></td> | 
| 315 | </tr> | 
| 316 | </tbody></table> | 
| 317 | </center></div> | 
| 318 | </td> | 
| 319 | <td align="left" valign="top" > | 
| 320 | <p align="center"><font face="Verdana" size="2"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/bratacc.jpg" border="2" hspace="10" ><br> | 
| 321 | Figure 8.</font></p></td> | 
| 322 | </tr> | 
| 323 | <tr> | 
| 324 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> | 
| 325 | </tr> | 
| 326 | <tr> | 
| 327 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"><b>Step | 
| 328 | 9.</b><br> | 
| 329 | Now download the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/abrat3.zip">BRAT Autonomous 1-Axis Accelerometer Code</a>, load it into the | 
| 330 | IDE, and program your BRAT.</font> | 
| 331 | <p><font face="Verdana" size="2"><i>For this program, we are only using the values from the Y Axis.</i> The Y Axis measures the | 
| 332 | front-to-back tilt, so the BRAT can tell when it has fallen onto its back or front. We will incorporate the X Axis in a later program.</font></p> | 
| 333 | <p><font face="Verdana" size="2">Congratulations, your BRAT will now be able to roam without bumping into anything, and get back up if it falls!</font></p> | 
| 334 | <p><font face="Verdana" size="2">Check out this video:<br> | 
| 335 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/getup01.mpg">Getting up front and back (mpg)</a></font></p></td> | 
| 336 | </tr> | 
| 337 | <tr> | 
| 338 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> | 
| 339 | </tr> | 
| 340 | <tr> | 
| 341 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"><b>Step | 
| 342 | 10.</b><br> | 
| 343 | Now download the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/abrat4.zip">BRAT Autonomous 2-Axis Accelerometer Code</a>, load it into the | 
| 344 | IDE, and program your BRAT.</font> | 
| 345 | <p><font face="Verdana" size="2">For this program, we have added the accelerometer's X Axis to measure side-to-side tilt. Now if the BRAT falls | 
| 346 | onto its side, it will know to roll over in order to get back up. We have also incorporated a more advanced "get up from back" | 
| 347 | routine, which will enable robots with lots of cabling or weight in the back to stand one foot at a time. Additionally, we've added a | 
| 348 | "startled" behavior. If the BRAT is in resting mode and something is suddenly detected by the GP2D12 sensor, the BRAT will be | 
| 349 | startled, lean back, and beep.</font></p> | 
| 350 | <p><font face="Verdana" size="2">Congratulations, your BRAT will now be able to roam without bumping into anything, and get back up if it falls!</font></p> | 
| 351 | <p><font face="Verdana" size="2">Check out this video:<br> | 
| 352 |   - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous/WebHome/getup02.mpg">Getting up front and side (mpg)</a></font></p></td> | 
| 353 | </tr> | 
| 354 | </tbody></table> | 
| 355 | </body> | 
| 356 | {{/html}} | 

