Wiki source code of BRAT Biped Autonomous Water Bottle Attacking Tutorial
Last modified by Eric Nantel on 2024/07/03 09:21
Show last authors
1 | {{html wiki="false" clean="true"}} |
2 | |
3 | <!-- saved from url=(0051)https://www.lynxmotion.com/images/html/build133.htm --> |
4 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> |
5 | <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
6 | <meta name="ProgId" content="FrontPage.Editor.Document"> |
7 | <link rel="stylesheet" href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous-water-bottle/WebHome/default.css" type="text/css"> |
8 | <title></title> |
9 | </head> |
10 | |
11 | |
12 | |
13 | <body><table border="0" cellpadding="0" cellspacing="0" > |
14 | <tbody><tr> |
15 | <td valign="top" align="left"><b><font face="Verdana" size="2">Biped BRAT Autonomous Water Bottle Attacking Tutorial.</font></b> |
16 | <p><font face="Verdana" size="2"><b>Updated <!--webbot bot="Timestamp" startspan s-type="EDITED" s-format="%m/%d/%Y" --></b> |
17 | <!-- #BeginDate format:Am3 -->03/27/2012<!-- #EndDate --></font> |
18 | </p> |
19 | <p><font face="Verdana" size="2"><b>Safety first!</b> Wear eye protection and never touch a powered robot!</font></p> |
20 | <p><font face="Verdana" size="2"><b>Note:</b> This tutorial uses the Bot Board II, BASIC Atom Pro 28, and a Sharp GP2D12 sensor.</font></p> |
21 | <p><font face="Verdana" size="2"><b>Software:</b><br> |
22 | - BASIC Micro Studio<br> |
23 | - <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous-water-bottle/WebHome/mechosf.zip">BRAT Mech Servo Offset Finder Program</a> |
24 | (09/17/09)<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-water-bottle/WebHome/abrat5.zip">Autonomous Water Bottle Attack Code</a> |
26 | (09/17/09)</font></p></td> |
27 | <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-water-bottle/WebHome/bratwb00.jpg" border="2" hspace="10" ><br> |
28 | <strong>Image of Biped BRAT.</strong></font></td> |
29 | </tr> |
30 | <tr> |
31 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
32 | </tr> |
33 | <tr> |
34 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 1.</b><br> |
35 | Depending on how you've built your BRAT, you may have to change the orientation of the "U" channel to match Figure 1.</font></td> |
36 | <td align="left" valign="top" > |
37 | <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-water-bottle/WebHome/bratwb01.jpg" border="2" hspace="10" ><br> |
38 | Figure 1.</font></p></td> |
39 | </tr> |
40 | <tr> |
41 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
42 | </tr> |
43 | <tr> |
44 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 2.</b><br> |
45 | Attach an ASB-18 to a multi-purpose bracket as shown in Figure 2 using the included hardware.</font></td> |
46 | <td align="left" valign="top" > |
47 | <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-water-bottle/WebHome/bratwb02.jpg" border="2" hspace="10" ><br> |
48 | Figure 2.</font></p></td> |
49 | </tr> |
50 | <tr> |
51 | <td valign="top" align="left" colspan="2"><br class="pb"> |
52 | </td> |
53 | </tr> |
54 | <tr> |
55 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 3.</b><br> |
56 | Attach a long "C" bracket to the multi-purpose bracket as shown. Refer to Figure 3-1 for detailed information.</font> |
57 | <p align="center"><font face="Verdana" size="2"><img hspace="10" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous-water-bottle/WebHome/ballb01.GIF" border="2"><br> |
58 | Figure 3-1.</font></p></td> |
59 | <td align="left" valign="top" > |
60 | <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-water-bottle/WebHome/bratwb03.jpg" border="2" hspace="10" ><br> |
61 | Figure 3-2.</font></p></td> |
62 | </tr> |
63 | <tr> |
64 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
65 | </tr> |
66 | <tr> |
67 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 4.</b><br> |
68 | Attach the pan assembly and electronics carrier to the "U" channel as shown. Refer to Figure 4-1 for detailed information.</font> |
69 | <p align="center"><font face="Verdana" size="2"><img hspace="10" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-autonomous-water-bottle/WebHome/brat01.gif" border="2"><br> |
70 | Figure 4-1.</font></p></td> |
71 | <td align="left" valign="top" > |
72 | <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-water-bottle/WebHome/bratwb04.jpg" border="2" hspace="10" ><br> |
73 | Figure 4-2.</font></p></td> |
74 | </tr> |
75 | <tr> |
76 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
77 | </tr> |
78 | <tr> |
79 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 5.</b><br> |
80 | Insert the pan servo into the assembly and secure with servo attachment hardware and two #2 tapping screws.</font></td> |
81 | <td align="left" valign="top" > |
82 | <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-water-bottle/WebHome/bratwb05.jpg" border="2" hspace="10" ><br> |
83 | Figure 5.</font></p></td> |
84 | </tr> |
85 | <tr> |
86 | <td valign="top" align="left" colspan="2"><br class="pb"> |
87 | </td> |
88 | </tr> |
89 | <tr> |
90 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 6.</b><br> |
91 | Attach the Bot Board II to the electronics carrier as shown, using four 1/4" hex socket cap screws.</font></td> |
92 | <td align="left" valign="top" > |
93 | <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-water-bottle/WebHome/bratwb06.jpg" border="2" hspace="10" ><br> |
94 | Figure 6.</font></p></td> |
95 | </tr> |
96 | <tr> |
97 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
98 | </tr> |
99 | <tr> |
100 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 7.</b><br> |
101 | Using double-sided tape, attach the GP2D12 sensor to the front of the pan Long "C" bracket as shown. Make sure to orient the sensor as |
102 | shown in Figure 7.</font></td> |
103 | <td align="left" valign="top" > |
104 | <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-water-bottle/WebHome/bratwb07.jpg" border="2" hspace="10" ><br> |
105 | Figure 7.</font></p></td> |
106 | </tr> |
107 | <tr> |
108 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
109 | </tr> |
110 | <tr> |
111 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 8.</b><br> |
112 | Make sure your servos and sensor are plugged into the appropriate channels, as shown in Table 8.</font> |
113 | <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> |
114 | <td align="left" valign="top" > |
115 | <div align="center"> |
116 | <center> |
117 | <table border="1" bordercolor="#FFFFFF" > |
118 | <tbody><tr> |
119 | <td > |
120 | <div align="center"> |
121 | <center> |
122 | </center><table border="1" bordercolor="#000000" > |
123 | <tbody><tr> |
124 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Bot Board I/O</b></font></td> |
125 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Connection</b></font></td> |
126 | </tr> |
127 | <tr> |
128 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P4</font></td> |
129 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Ankle</font></td> |
130 | |
131 | </tr> |
132 | <tr> |
133 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P5</font></td> |
134 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Knee</font></td> |
135 | </tr> |
136 | <tr> |
137 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P6</font></td> |
138 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Hip</font></td> |
139 | </tr> |
140 | <tr> |
141 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P7</font></td> |
142 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Ankle</font></td> |
143 | </tr> |
144 | <tr> |
145 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P8</font></td> |
146 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Knee</font></td> |
147 | </tr> |
148 | |
149 | |
150 | <tr> |
151 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P10</font></td> |
152 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Hip</font></td> |
153 | </tr> |
154 | <tr> |
155 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P11</font></td> |
156 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Sensor |
157 | Pan Servo</font></td> |
158 | </tr> |
159 | <tr> |
160 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P19 (AX3)</font></td> |
161 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">GP2D12</font></td> |
162 | </tr> |
163 | </tbody></table> |
164 | </div></td> |
165 | </tr> |
166 | <tr> |
167 | <td bordercolor="#FFFFFF"> |
168 | <p align="center"><font face="Verdana" size="2">Table 8.</font></p></td> |
169 | </tr> |
170 | </tbody></table> |
171 | </center></div> |
172 | </td> |
173 | </tr> |
174 | <tr> |
175 | <td valign="top" align="left" colspan="2"><br class="pb"> |
176 | </td> |
177 | </tr> |
178 | <tr> |
179 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 9.</b><br> |
180 | Make sure the Bot Board's jumpers are set according to Table 9.</font> |
181 | <p><font face="Verdana" size="2">Refer to Figure 9 for help with jumper settings.</font></p> |
182 | <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, |
183 | the robot can beep in warning.</font></p></td> |
184 | <td align="left" valign="top" > |
185 | <div align="center"> |
186 | <center> |
187 | <table border="1" bordercolor="#FFFFFF" > |
188 | <tbody><tr> |
189 | <td > |
190 | <div align="center"> |
191 | <table border="1" bordercolor="#000000" > |
192 | <tbody><tr> |
193 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" colspan="2"><font face="Verdana" size="2"><b>Bot Board II |
194 | Jumper Settings</b></font></td> |
195 | </tr> |
196 | <tr> |
197 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td> |
198 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">A, B, and C buttons</font></td> |
199 | </tr> |
200 | <tr> |
201 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">5v</font></td> |
202 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">I/O Group 0-3</font></td> |
203 | </tr> |
204 | <tr> |
205 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">VS</font></td> |
206 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">I/O Groups 4-7 and 8-11</font></td> |
207 | </tr> |
208 | <tr> |
209 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td> |
210 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">SPKEN (Speaker Enable)</font></td> |
211 | </tr> |
212 | <tr> |
213 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td> |
214 | <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">VS (Servo Voltage) to AX0 (P16)</font></td> |
215 | </tr> |
216 | </tbody></table> |
217 | </div></td> |
218 | </tr> |
219 | <tr> |
220 | <td bordercolor="#FFFFFF"> |
221 | <p align="center"><font face="Verdana" size="2">Table 9.</font></p></td> |
222 | </tr> |
223 | </tbody></table> |
224 | </center></div> |
225 | </td> |
226 | </tr> |
227 | <tr> |
228 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
229 | </tr> |
230 | <tr> |
231 | <td valign="top" align="left" colspan="2"> |
232 | <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-water-bottle/WebHome/abrat2.gif" border="0" hspace="10" ><br> |
233 | Figure 9.</font></p> |
234 | </td> |
235 | </tr> |
236 | <tr> |
237 | <td valign="top" align="left" colspan="2"><br class="pb"> |
238 | </td> |
239 | </tr> |
240 | <tr> |
241 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 10.</b><br> |
242 | 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-water-bottle/WebHome/mechosf.zip">BRAT Mech Servo Offset Finder program</a>, and load it into the IDE.</font> |
243 | <p><font face="Verdana" size="2">Program the Atom Pro, and follow these instructions to find your robot's offsets.</font></p> |
244 | <ul> |
245 | <li><font face="Verdana" size="2">Press A to decrease the servo offset by 5us.</font></li> |
246 | <li><font face="Verdana" size="2">Press C to increase the servo offset by 5us.</font></li> |
247 | <li><font face="Verdana" size="2">Press B to change which servo is being manipulated, and to |
248 | save your offsets. The order of the |
249 | program is shown in Figure 10.</font></li> |
250 | </ul> |
251 | <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 |
252 | 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> |
253 | <td align="left" valign="top" > |
254 | <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-water-bottle/WebHome/mechosf1.jpg" border="2" hspace="10" ><br> |
255 | Figure 10.</font></p></td> |
256 | </tr> |
257 | <tr> |
258 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
259 | </tr> |
260 | <tr> |
261 | <td valign="top" align="left"><font face="Verdana" size="2"><b>Step |
262 | 11.</b><br> |
263 | 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 |
264 | resemble figures 11-1 through 11-3. If the joints are off by more than 15&deg; you may have made an error in assembly. To correct this, remove the |
265 | 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> |
266 | <p><font face="Verdana" size="2">Use the A, B, and C buttons to straighten the BRAT as shown in Figures |
267 | 11-1, 11-2, and 11-3.</font></p> |
268 | <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 |
269 | 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 |
270 | voltage that is higher than 6vdc will make the oscillations worse. When building a robot with more powerful servos such as HS-475, |
271 | HS-485, or HS-645, you |
272 | will not see this effect.</font></p> |
273 | <p><font face="Verdana" size="2"><b> |
274 | After you've cycled through the servos and adjusted them to match Figures |
275 | 11-1 through 11-3, pressing the B button again will |
276 | save your servo offset values to the Atom Pro's EEPROM.</b></font></p> |
277 | </td> |
278 | <td align="left" valign="top" > |
279 | <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-water-bottle/WebHome/brat10.jpg" border="2" hspace="10" ><br> |
280 | Figure 11-1.</font></p></td> |
281 | </tr> |
282 | <tr> |
283 | <td valign="top" align="left" colspan="2"><br class="pb"> |
284 | </td> |
285 | </tr> |
286 | <tr> |
287 | <td valign="top" align="left"> |
288 | <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-water-bottle/WebHome/brat07.jpg" border="2" hspace="10" ><br> |
289 | Figure 11-2.</font></p> |
290 | </td> |
291 | <td align="left" valign="top" > |
292 | <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-water-bottle/WebHome/brat04.jpg" border="2" hspace="10" ><br> |
293 | Figure 11-3.</font></p></td> |
294 | </tr> |
295 | <tr> |
296 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"> </font></td> |
297 | </tr> |
298 | <tr> |
299 | <td valign="top" align="left" colspan="2"><font face="Verdana" size="2"><b>Step |
300 | 12.</b><br> |
301 | 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-water-bottle/WebHome/abrat5.zip">BRAT Autonomous Water Bottle Attack Code</a>, load it into the |
302 | IDE, and program your BRAT.</font> |
303 | <p><font face="Verdana" size="2">Your BRAT will now seek out an object in range, and once it gets close enough, it will kick the object. When |
304 | you turn the robot on, it will beep three times, letting you know that the program was successfully downloaded. The BRAT will then scan the area |
305 | in front of it, looking for a water bottle (or similar object). If the BRAT does not detect an object, it will turn in place, then scan again. |
306 | This will repeat until the BRAT detects an object.</font></p> |
307 | <p><font face="Verdana" size="2">When the BRAT detects an object, it will walk toward the object, turning to adjust the direction if needed. |
308 | Once the BRAT is in "kicking range", it will beep. The BRAT will align itself into kicking position, then kick the object. After |
309 | kicking, the BRAT will scan to make sure the object is down. After the object has been kicked down, the BRAT will once again start scanning for |
310 | objects, starting the program loop over.</font></p> |
311 | <p><font face="Verdana" size="2"></font></p></td> |
312 | </tr> |
313 | </tbody></table> |
314 | </body></html> |
315 | {{/html}} |