Wiki source code of BRAT Biped Autonomous Tutorial
Version 23.1 by Eric Nantel on 2023/01/23 10:17
Hide last authors
![]() |
1.1 | 1 | {{html wiki="false" clean="true"}} |
![]() |
20.1 | 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> | ||
![]() |
21.1 | 12 | - BASIC Micro Studio<br> |
![]() |
20.1 | 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> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 49 | </tr> |
| 50 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 53 | </tr> |
| 54 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 57 | </tr> |
| 58 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 61 | </tr> |
| 62 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 65 | </tr> |
| 66 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 69 | </tr> |
| 70 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 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> | ||
![]() |
21.1 | 103 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" colspan="2"><font face="Verdana" size="2"><b>Bot Board II |
![]() |
20.1 | 104 | Jumper Settings</b></font></td> |
| 105 | </tr> | ||
| 106 | <tr> | ||
![]() |
21.1 | 107 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td> |
![]() |
20.1 | 108 | |
![]() |
21.1 | 109 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">A, B, and C buttons</font></td> |
![]() |
20.1 | 110 | </tr> |
| 111 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 114 | </tr> |
| 115 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 118 | </tr> |
| 119 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 122 | </tr> |
| 123 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 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> | ||
![]() |
21.1 | 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> |
![]() |
20.1 | 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> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 239 | </tr> |
| 240 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 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> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 298 | </tr> |
| 299 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 302 | (Used for Front-to-back tilt)</font></td> |
| 303 | </tr> | ||
| 304 | <tr> | ||
![]() |
21.1 | 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> | ||
![]() |
20.1 | 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> | ||
![]() |
1.1 | 356 | {{/html}} |


