Last modified by Eric Nantel on 2026/04/06 13:19

From version < 12.1 >
edited by Eric Nantel
on 2023/01/23 10:30
To version < 13.1
edited by Eric Nantel
on 2026/04/06 13:19
<
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -servo-erector-set-robots-kits.ses-v1-robots.ses-v1-bipeds.WebHome
1 +ses-v1.ses-v1-robots.ses-v1-bipeds.WebHome
Content
... ... @@ -1,360 +1,240 @@
1 -{{html wiki="false" clean="true"}}
2 -<body><table border="0" cellpadding="0" cellspacing="0" >
3 -<tbody><tr>
4 - <td valign="top" align="left"><table border="0" cellpadding="0" cellspacing="0" >
5 - <tbody><tr>
6 - <td valign="top" align="left"><b><font face="Verdana" size="2">PS2
7 - Biped BRAT Tutorial.</font></b>
8 - <p><b><font face="Verdana" size="2">Updated
9 - <!-- #BeginDate format:Am3 -->04/09/2012<!-- #EndDate -->
10 - </font></b></p>
11 - <p><font face="Verdana" size="2"><b>Safety first!</b> Wear eye protection and never touch a powered robot!</font></p>
12 - <p><font face="Verdana" size="2"><b>Note:</b> This tutorial uses the BotBoarduino
13 - and a wireless PS2 controller/receiver.</font></p>
14 - <p><font face="Verdana" size="2"><b>Software:</b><br>
15 - &nbsp;&nbsp;- <a href="http://arduino.cc/en/Main/Software" target="_blank">Arduino Software</a></font></p></td>
16 - <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-ps2-b/WebHome/brat00.jpg" border="2" hspace="10" ><br>
17 - <strong>Image of Biped BRAT.</strong></font></td>
18 - </tr>
19 - <tr>
20 - <td valign="top" align="left" colspan="2"><font face="Verdana" size="2">&nbsp;</font></td>
21 - </tr>
22 - <tr>
23 - <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 1.</b><br>
24 - Make sure your servos are plugged into the appropriate channels, as shown in Table 1.</font>
25 - <p><font face="Verdana" size="2">*Note, P1 is used for communications and P5 is used by the speaker, so we can't plug a servo in there.</font></p></td>
26 - <td align="left" valign="top" ><div align="center">
27 - <center>
28 - <table border="1" bordercolor="#FFFFFF" >
29 - <tbody><tr>
30 - <td ><div align="center">
31 - <table border="1" bordercolor="#000000" >
32 - <tbody><tr>
33 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>BotBoarduino</b></font></td>
34 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Connection</b></font></td>
35 - </tr>
36 - <tr>
37 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P2</font></td>
38 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Ankle</font></td>
39 - </tr>
40 - <tr>
41 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P3</font></td>
42 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Knee</font></td>
43 - </tr>
44 - <tr>
45 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P4</font></td>
46 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Left Hip</font></td>
47 - </tr>
48 - <tr>
49 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P10</font></td>
50 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Ankle</font></td>
51 - </tr>
52 - <tr>
53 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P11</font></td>
54 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Knee</font></td>
55 - </tr>
56 - <tr>
57 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P12</font></td>
58 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Right Hip</font></td>
59 - </tr>
60 - <tr>
61 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">P13</font></td>
62 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Panning Servo (Optional)</font></td>
63 - </tr>
64 - </tbody></table>
65 - </div></td>
66 - </tr>
67 - <tr>
68 - <td bordercolor="#FFFFFF"><p align="center"><font face="Verdana" size="2">Table 1.</font></p></td>
69 - </tr>
70 - </tbody></table>
71 - </center>
72 - </div></td>
73 - </tr>
74 - <tr>
75 - <td valign="top" align="left" colspan="2"><font face="Verdana" size="2">&nbsp;</font></td>
76 - </tr>
77 - <tr>
78 - <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 2.</b><br>
79 - Make sure the BotBoarduino's jumpers are set according to Table 2.</font>
80 - <p><font face="Verdana" size="2">Refer to Figure 2 for help with jumper settings.</font> </p>
81 - <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,
82 - the robot can beep in warning.</font></p></td>
83 - <td align="left" valign="top" ><div align="center">
84 - <center>
85 - <table border="1" bordercolor="#FFFFFF" >
86 - <tbody><tr>
87 - <td ><div align="center">
88 - <table border="1" bordercolor="#000000" >
89 - <tbody><tr>
90 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" colspan="2"><font face="Verdana" size="2"><b>BotBoarduino
91 - Jumper Settings</b></font></td>
92 - </tr>
93 - <tr>
94 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td>
95 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">A, B, and C buttons (JA, JB, JC)</font></td>
96 - </tr>
97 - <tr>
98 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">5v</font></td>
99 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Analog Group</font></td>
100 - </tr>
101 - <tr>
102 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">VS</font></td>
103 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">I/O Groups 1-5 and 6-9</font></td>
104 - </tr>
105 - <tr>
106 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td>
107 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">SPK (Speaker)</font></td>
108 - </tr>
109 - <tr>
110 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Enable</font></td>
111 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">VS (Servo Voltage) to P0 (Analog 0)</font></td>
112 - </tr>
113 - </tbody></table>
114 - </div></td>
115 - </tr>
116 - <tr>
117 - <td bordercolor="#FFFFFF"><p align="center"><font face="Verdana" size="2">Table 2.</font></p></td>
118 - </tr>
119 - </tbody></table>
120 - </center>
121 - </div></td>
122 - </tr>
123 - <tr>
124 - <td valign="top" align="left" colspan="2"><br class="pb"></td>
125 - </tr>
126 - <tr>
127 - <td valign="top" align="left" colspan="2"><p align="center"><font face="Verdana" size="2">&nbsp;<img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/bbubrat02.png" border="0" hspace="10"><br>
128 - Figure 2.</font></p></td>
129 - </tr>
130 - <tr>
131 - <td valign="top" align="left" colspan="2"><font face="Verdana" size="2">&nbsp;</font></td>
132 - </tr>
133 - <tr>
134 - <td valign="top" align="left"><font face="Verdana" size="2"><b>Step 3.</b><br>
135 - </font>
136 - <font face="Verdana"><font size="2">Download and install the <a href="http://arduino.cc/en/Main/Software">Arduino Software</a></font></font><font size="2" face="Verdana">. You will need to install the <a href="https://github.com/Lynxmotion/Arduino-PS2X/raw/master/PS2X_lib.zip">PS2X library</a>. You can find instructions on installing the library <a href="http://arduino.cc/en/Reference/Libraries">here</a>. Download the code for the BRAT <a href="https://github.com/Lynxmotion/Brat/tree/master/BRAT_Arduino">here</a>.</font>
137 -<p><font size="2" face="Verdana">Open the .ino file in the IDE, program the BotBoarduino, and power the robot down afterwards. </font></p></td>
138 - <td align="left" valign="top" ><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-ps2-b/WebHome/bratosf4.png" border="2" hspace="10" ><br>
139 - Figure 3.</font></p></td>
140 - </tr>
141 - <tr>
142 - <td valign="top" align="left" colspan="2"><br class="pb"></td>
143 - </tr>
144 - <tr>
145 - <td valign="top" align="left"><font face="Verdana" size="2"><b>Step
146 - 4.</b><br>
147 - Place the robot in a position as close to neutral as possible, hold the "A" button, and turn it on. Your robot should go to and hold the neutral position, and should
148 - 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
149 - 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><font face="Verdana" size="2">.</font>
150 - <ul>
151 - <li><font face="Verdana" size="2">Press B to decrease the servo offset by 1°.</font></li>
152 - <li><font face="Verdana" size="2">Press C to increase the servo offset by 1°.</font></li>
153 - <li><font face="Verdana" size="2">Press A to change which servo is being manipulated, and to
154 - save your offsets. The order of the
155 - program is shown in Figure 3. When the program reaches "Save Data", the robot will Save the offsets and commence the rest of the program. If you made a mistake in an offset, you will need to restart the robot while holding the A button.</font></li>
156 - </ul>
157 - <p><font face="Verdana" size="2">Note, if you have the Speaker enabled, when you press the A button you will hear a short tone. The tone will
158 - raise in pitch when you change from servo to servo.</font></p>
159 -<p><font face="Verdana" size="2">Use the A, B, and C buttons to straighten the BRAT as shown in Figures
160 - 4-1, 4-2, and 4-3.</font></p>
161 - <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
162 - 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
163 - voltage that is higher than 6vdc will make the oscillations worse. When building a robot with more powerful servos such as HS-475,
164 - HS-485, or HS-645, you
165 - will not see this effect.</font></p></td>
166 - <td align="left" valign="top" ><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-ps2-b/WebHome/brat10.jpg" border="2" hspace="10" ><br>
167 - Figure 4-1.</font></p></td>
168 - </tr>
169 - <tr>
170 - <td valign="top" align="left" colspan="2"><font face="Verdana" size="2">&nbsp;</font></td>
171 - </tr>
172 - <tr>
173 - <td valign="top" align="left"><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-ps2-b/WebHome/brat07.jpg" border="2" hspace="10" ><br>
174 - Figure 4-2.</font></p></td>
175 - <td align="left" valign="top" ><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-ps2-b/WebHome/brat04.jpg" border="2" hspace="10" ><br>
176 - Figure 4-3.</font></p></td>
177 - </tr>
178 - <tr>
179 - <td valign="top" align="left" colspan="2"><font face="Verdana" size="2">&nbsp;</font></td>
180 - </tr>
181 - <tr>
182 - <td valign="top" align="left"><font face="Verdana" size="2"><b>Step
183 - 6.</b><br>
184 - Now you need to create the PS2 cable to connect the PS2 receiver. <b>Repeat
185 - this step</b> on one side of two 6" servo extender cables.</font>
186 - <p><font face="Verdana" size="2">1. Use an exacto knife to <b>carefully</b> pry the black tabs up and slip the wires out of the black housing.</font></p>
187 - <p><font face="Verdana" size="2">2. Remove the black housing completely
188 - and set aside.</font></p>
189 - <p><font face="Verdana" size="2">3. Cover the header pin receptacles with
190 - 1/2" of heat shrink.</font></p></td>
191 - <td align="left" valign="top" ><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-ps2-b/WebHome/ps2c01.jpg" border="2" hspace="10" ><br>
192 - Figure 6.</font></p></td>
193 - </tr>
194 - <tr>
195 - <td valign="top" align="left" colspan="2"><font face="Verdana" size="2">&nbsp;</font></td>
196 - </tr>
197 - <tr>
198 - <td valign="top" align="left"><font face="Verdana" size="2"><b>Step
199 - 7.</b><br>
200 - Plug the cables into the PS2 Receiver and BotBoarduino as shown.&nbsp;</font><br>
201 - <div align="center">
202 - <center>
203 - <font face="Verdana" size="2">
204 - </font><table border="1" bordercolor="#FFFFFF" >
205 - <tbody><tr>
206 - <td ><div align="center">
207 - <font face="Verdana" size="2">
208 - </font><font face="Verdana" size="2">
209 - </font><font face="Verdana" size="2">
210 - </font><table border="1" bordercolor="#000000" >
211 - <tbody><tr>
212 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" colspan="3"><b><font face="Verdana" size="2">BotBoarduino
213 - Connections</font></b></td>
214 - </tr>
215 - <tr>
216 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" rowspan="3"><font face="Verdana" size="2">Cable
217 - 1</font><font face="Verdana" size="2"></font></td>
218 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Black</font></td>
219 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">P6</font></td>
220 - </tr>
221 - <tr>
222 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Red</font></td>
223 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">P7</font></td>
224 - </tr>
225 - <tr>
226 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Yellow</font></td>
227 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">P8</font></td>
228 - </tr>
229 - <tr>
230 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" rowspan="3"><font face="Verdana" size="2">Cable
231 - 2</font></td>
232 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Black</font></td>
233 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">GND</font></td>
234 - </tr>
235 - <tr>
236 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Red</font></td>
237 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">5vdc</font></td>
238 - </tr>
239 - <tr>
240 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Yellow</font></td>
241 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">P9</font></td>
242 - </tr>
243 - <tr> <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" colspan="3"><font face="Verdana" size="2"><b>BotBoarduino
244 - Jumper Settings</b></font></td>
245 - </tr>
246 - <tr>
247 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Disable</font></td>
248 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF" colspan="2"><font face="Verdana" size="2">JPU (Remove JA, JB, JC)</font></td>
249 - </tr>
250 - <tr> <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">5v</font></td>
251 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF" colspan="2"><font face="Verdana" size="2">I/O Group
252 - 12-15</font></td>
253 - </tr>
254 - </tbody></table>
255 - </div></td>
256 - </tr>
257 - <tr>
258 - <td bordercolor="#FFFFFF"><p align="center"><font face="Verdana" size="2">Table 7.</font></p></td>
259 - </tr>
260 -
261 - </tbody></table>
262 - </center>
263 - </div></td>
264 - <td align="left" valign="top" ><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-ps2-b/WebHome/ps2c02.jpg" border="2" hspace="10" ><br>
265 - Figure 7.</font></p></td>
266 - </tr>
267 - <tr>
268 - <td valign="top" align="left" colspan="2"><br class="pb"></td>
269 - </tr>
270 - <tr>
271 - <td valign="top" align="left" colspan="2"><p><font size="2" face="Verdana, Helvetica, sans-serif"><b>Schematic</b></font><font face="Verdana, Helvetica, sans-serif"><b><font size="2">.</font></b><br>
272 - <font size="2">Double check your connections against the schematic below.</font></font></p>
273 - <p><font face="Verdana" size="2">Note: You can check your PS2 cable's colors and the functions they represent <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#aglance">here</a>.</font></p> <p align="center"><font face="Verdana" size="2">&nbsp;<img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/bbups2brat.png" border="0" hspace="10" ><br>
274 - Figure 7.</font></p></td>
275 - </tr>
276 - <tr>
277 - <td valign="top" align="left" colspan="2"><font face="Verdana" size="2">&nbsp;</font></td>
278 - </tr>
279 - <tr>
280 - <td valign="top" align="left"><font face="Verdana" size="2"><b>Step
281 - 8.</b><br>
282 - The PS2 control commands are shown in Table 8. If you need to adjust your robot's offsets later, you will need to unplug the PS2 receiver and replace the JA, JB, and JC jumpers.</font></td>
283 - <td align="left" valign="top" ><div align="center">
284 - <center>
285 - <table border="1" bordercolor="#FFFFFF" >
286 - <tbody><tr>
287 - <td ><div align="center">
288 - <table border="1" bordercolor="#000000" >
289 - <tbody><tr>
290 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>PS2
291 - Button</b></font></td>
292 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><b>Command</b></font></td>
293 - </tr>
294 - <tr>
295 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Left
296 - Joystick Forward/Back</font></td>
297 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Walk
298 - forward/backward</font></td>
299 - </tr>
300 - <tr>
301 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Left
302 - Joystick Left/Right</font></td>
303 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Turn
304 - in place left/right</font></td>
305 - </tr>
306 - <tr>
307 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">X</font></td>
308 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Return
309 - robot to home position</font></td>
310 - </tr>
311 - <tr>
312 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2"><u>/\</u></font></td>
313 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Headbutt</font></td>
314 - </tr>
315 - <tr>
316 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">L1</font></td>
317 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Kick
318 - with left leg</font></td>
319 - </tr>
320 - <tr>
321 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">R1</font></td>
322 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Kick
323 - with right leg</font></td>
324 - </tr>
325 - <tr>
326 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">D-pad
327 - Up</font></td>
328 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Get
329 - up from face-down position</font></td>
330 - </tr>
331 - <tr>
332 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">D-pad
333 - Down</font></td>
334 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Get
335 - up from back-down position</font></td>
336 - </tr>
337 - <tr>
338 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Start</font></td>
339 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Enable/Disable
340 - robot's standby "rest" mode (enabled by default)</font></td>
341 - </tr>
342 - <tr>
343 - <td align="center" bordercolor="#808080" bgcolor="#C0C0C0"><font face="Verdana" size="2">Select</font></td>
344 - <td align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF"><font face="Verdana" size="2">Changes
345 - stride length</font></td>
346 - </tr>
347 - </tbody></table>
348 - </div></td>
349 - </tr>
350 - <tr>
351 - <td bordercolor="#FFFFFF"><p align="center"><font face="Verdana" size="2">Table 8.</font></p></td>
352 - </tr>
353 - </tbody></table>
354 - </center>
355 - </div></td>
356 - </tr>
357 - </tbody></table></td>
358 -</tr>
359 -</tbody></table></body>
1 +{{html wiki="false" clean="false"}}
2 +<style>
3 + .asm { font-family: Verdana, Helvetica, sans-serif; font-size: 14px; max-width: 960px; }
4 + .asm-step { background: #fff; border: 1px solid #ddd; border-radius: 8px; margin-bottom: 1.5rem; overflow: hidden; }
5 + .asm-step-header { background: #F5A800; display: flex; align-items: stretch; justify-content: space-between; }
6 + .asm-step-name { padding: 0.6rem 1rem; font-weight: bold; font-size: 15px; color: #2C1A00; }
7 + .asm-step-num { background: #1a1a1a; color: white; padding: 0.6rem 1.1rem; font-weight: bold; font-size: 15px; display: flex; align-items: center; white-space: nowrap; }
8 + .asm-step-body { display: flex; flex-wrap: wrap; gap: 1.25rem; padding: 1rem; align-items: flex-start; }
9 + .asm-step-text { flex: 1 1 250px; font-size: 13px; line-height: 1.6; }
10 + .asm-step-figure { flex: 0 1 280px; text-align: center; }
11 + .asm-step-figure img { max-width: 100%; height: auto; border: 1px solid #ccc; border-radius: 4px; }
12 + .asm-step-figure span { display: block; font-size: 12px; color: #666; margin-top: 0.3rem; }
13 + .asm-figures { display: flex; flex-wrap: wrap; gap: 0.75rem; }
14 + .asm-fullwidth { padding: 1rem; border-top: 1px solid #eee; font-size: 13px; overflow-x: auto; }
15 + .ref-table { border-collapse: collapse; font-size: 12px; }
16 + .ref-table th { background: #ccc; border: 1px solid #aaa; padding: 0.3rem 0.6rem; text-align: center; }
17 + .ref-table td { border: 1px solid #ddd; padding: 0.3rem 0.6rem; text-align: center; }
18 + .ref-table tr:nth-child(odd) td { background: #f9f9f9; }
19 + .ref-table tr:nth-child(even) td { background: #fff; }
20 + .asm-warning { color: #c00; font-weight: bold; }
21 + .asm h1 { font-size: 18px; margin-bottom: 0.25rem; }
22 +</style>
23 +
24 +<div class="asm">
25 +
26 + <!-- Header -->
27 + <div style="padding: 0.5rem 0 1rem 0; display:flex; flex-wrap:wrap; gap:1.5rem; align-items:flex-start;">
28 + <div style="flex:1 1 300px;">
29 + <h1 class="asm">PS2 Biped BRAT Tutorial (BotBoarduino)</h1>
30 + <p><b>Updated April 9, 2012</b></p>
31 + <p><span class="asm-warning">Safety first!</span> Wear eye protection and never touch a powered robot!</p>
32 + <p><b>Hardware required:</b> BotBoarduino, wireless PS2 controller/receiver.</p>
33 + <p><b>Software:</b> <a href="http://arduino.cc/en/Main/Software" target="_blank">Arduino Software</a></p>
34 + </div>
35 + <div style="text-align:center; flex:0 1 280px;">
36 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/brat00.jpg" style="max-width:100%; border:1px solid #ccc; border-radius:4px;">
37 + <p style="font-size:12px; color:#666; margin-top:0.3rem;"><b>Biped BRAT.</b></p>
38 + </div>
39 + </div>
40 +
41 + <!-- Step 1 -->
42 + <div class="asm-step">
43 + <div class="asm-step-header">
44 + <div class="asm-step-name">PS2 BRAT (BBuino) — Verify Servo Channel Connections</div>
45 + <div class="asm-step-num">Step 1 / 8</div>
46 + </div>
47 + <div class="asm-step-body">
48 + <div class="asm-step-text">
49 + <p>Make sure your servos are plugged into the appropriate channels per Table 1. Note: P1 is used for communications and P5 is used by the speaker — neither can be used for servos.</p>
50 + </div>
51 + <div class="asm-step-figure" style="flex: 0 1 auto;">
52 + <table class="ref-table" style="width:auto;">
53 + <tr><th>BotBoarduino</th><th>Connection</th></tr>
54 + <tr><td>P2</td><td>Left Ankle</td></tr>
55 + <tr><td>P3</td><td>Left Knee</td></tr>
56 + <tr><td>P4</td><td>Left Hip</td></tr>
57 + <tr><td>P10</td><td>Right Ankle</td></tr>
58 + <tr><td>P11</td><td>Right Knee</td></tr>
59 + <tr><td>P12</td><td>Right Hip</td></tr>
60 + <tr><td>P13</td><td>Panning Servo (Optional)</td></tr>
61 + </table>
62 + <span style="margin-top:0.4rem;">Table 1.</span>
63 + </div>
64 + </div>
65 + </div>
66 +
67 + <!-- Step 2 -->
68 + <div class="asm-step">
69 + <div class="asm-step-header">
70 + <div class="asm-step-name">PS2 BRAT (BBuino) — Configure BotBoarduino Jumpers</div>
71 + <div class="asm-step-num">Step 2 / 8</div>
72 + </div>
73 + <div class="asm-step-body">
74 + <div class="asm-step-text">
75 + <p>Set the BotBoarduino jumpers per Table 2. The VS to P0 (Analog 0) jumper enables battery voltage monitoring — the robot beeps when the battery is low. Refer to Figure 2 for the jumper layout.</p>
76 + </div>
77 + <div class="asm-step-figure" style="flex: 0 1 auto;">
78 + <table class="ref-table" style="width:auto; margin-bottom:0.5rem;">
79 + <tr><th colspan="2">BotBoarduino Jumper Settings (Table 2)</th></tr>
80 + <tr><td>Enable</td><td>A, B, and C buttons (JA, JB, JC)</td></tr>
81 + <tr><td>5V</td><td>Analog Group</td></tr>
82 + <tr><td>VS</td><td>I/O Groups 1–5 and 6–9</td></tr>
83 + <tr><td>Enable</td><td>SPK (Speaker)</td></tr>
84 + <tr><td>Enable</td><td>VS (Servo Voltage) to P0 (Analog 0)</td></tr>
85 + </table>
86 + <span>Table 2.</span>
87 + </div>
88 + </div>
89 + <div class="asm-fullwidth">
90 + <p style="font-weight:bold; margin-bottom:0.4rem;">Figure 2 — Jumper diagram</p>
91 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/bbubrat02.png" style="max-width:100%; border:1px solid #ccc; border-radius:4px;">
92 + </div>
93 + </div>
94 +
95 + <!-- Step 3 -->
96 + <div class="asm-step">
97 + <div class="asm-step-header">
98 + <div class="asm-step-name">PS2 BRAT (BBuino) — Install Arduino &amp; Load Code</div>
99 + <div class="asm-step-num">Step 3 / 8</div>
100 + </div>
101 + <div class="asm-step-body">
102 + <div class="asm-step-text">
103 + <p>Download and install the <a href="http://arduino.cc/en/Main/Software" target="_blank">Arduino Software</a>. Install the <a href="https://github.com/Lynxmotion/Arduino-PS2X/raw/master/PS2X_lib.zip">PS2X library</a> — instructions for installing libraries are available <a href="http://arduino.cc/en/Reference/Libraries" target="_blank">here</a>. Download the BRAT code from <a href="https://github.com/Lynxmotion/Brat/tree/master/BRAT_Arduino" target="_blank">GitHub</a>.</p>
104 + <p>Open the .ino file in the IDE, program the BotBoarduino, then power the robot down.</p>
105 + </div>
106 + <div class="asm-step-figure">
107 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/bratosf4.png">
108 + <span>Figure 3 — Offset finder sequence.</span>
109 + </div>
110 + </div>
111 + </div>
112 +
113 + <!-- Step 4 -->
114 + <div class="asm-step">
115 + <div class="asm-step-header">
116 + <div class="asm-step-name">PS2 BRAT (BBuino) — Calibrate to Neutral Position</div>
117 + <div class="asm-step-num">Step 4 / 8</div>
118 + </div>
119 + <div class="asm-step-body">
120 + <div class="asm-step-text">
121 + <p>Place the robot as close to neutral as possible, <b>hold the "A" button</b>, and turn it on. It should hold the neutral position resembling Figures 4-1 through 4-3. If any joint is off by more than 15°, remove the servo horn, rotate to align, and reattach.</p>
122 + <ul style="margin-top:0.5rem; padding-left:1.2rem;">
123 + <li><b>B</b> — decrease servo offset by 1°</li>
124 + <li><b>C</b> — increase servo offset by 1°</li>
125 + <li><b>A</b> — change which servo is being adjusted, and save offsets. When the program reaches "Save Data" it saves offsets and runs the program. If you make a mistake, restart while holding A.</li>
126 + </ul>
127 + <p>If the Speaker is enabled, pressing A plays a tone that rises in pitch as you cycle through servos.</p>
128 + <p>Note: HS-422 hip servos may oscillate when lifted — normal and minimal when walking. Higher voltage worsens this. HS-475, HS-485, HS-645 servos do not exhibit this.</p>
129 + </div>
130 + <div class="asm-figures">
131 + <div class="asm-step-figure">
132 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/brat10.jpg">
133 + <span>Figure 4-1 (front view).</span>
134 + </div>
135 + <div class="asm-step-figure">
136 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/brat07.jpg">
137 + <span>Figure 4-2 (side view).</span>
138 + </div>
139 + <div class="asm-step-figure">
140 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/brat04.jpg">
141 + <span>Figure 4-3 (rear view).</span>
142 + </div>
143 + </div>
144 + </div>
145 + </div>
146 +
147 + <!-- Step 6 (labelled 6 in original, Step 5 missing) -->
148 + <div class="asm-step">
149 + <div class="asm-step-header">
150 + <div class="asm-step-name">PS2 BRAT (BBuino) — Prepare PS2 Cables</div>
151 + <div class="asm-step-num">Step 5 / 8</div>
152 + </div>
153 + <div class="asm-step-body">
154 + <div class="asm-step-text">
155 + <p>Repeat this process on one end of two 6" servo extender cables:</p>
156 + <ol style="padding-left:1.2rem; margin-top:0.5rem;">
157 + <li>Use an exacto knife to carefully pry up the black tabs and slip the wires out of the housing.</li>
158 + <li>Remove the black housing completely and set aside.</li>
159 + <li>Cover the header pin receptacles with 1/2" of heat shrink.</li>
160 + </ol>
161 + </div>
162 + <div class="asm-step-figure">
163 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/ps2c01.jpg">
164 + <span>Figure 5.</span>
165 + </div>
166 + </div>
167 + </div>
168 +
169 + <!-- Step 7 -->
170 + <div class="asm-step">
171 + <div class="asm-step-header">
172 + <div class="asm-step-name">PS2 BRAT (BBuino) — Connect PS2 Cables to BotBoarduino</div>
173 + <div class="asm-step-num">Step 6 / 8</div>
174 + </div>
175 + <div class="asm-step-body">
176 + <div class="asm-step-text">
177 + <p>Plug the cables into the PS2 receiver and BotBoarduino per Table 7, and update the jumper settings as shown. To adjust offsets later, unplug the PS2 receiver and replace the JA, JB, and JC jumpers.</p>
178 + </div>
179 + <div class="asm-step-figure" style="flex: 0 1 auto;">
180 + <table class="ref-table" style="width:auto; margin-bottom:0.5rem;">
181 + <tr><th colspan="3">BotBoarduino Connections (Table 7)</th></tr>
182 + <tr><td rowspan="3">Cable 1</td><td>Black</td><td>P6</td></tr>
183 + <tr><td>Red</td><td>P7</td></tr>
184 + <tr><td>Yellow</td><td>P8</td></tr>
185 + <tr><td rowspan="3">Cable 2</td><td>Black</td><td>GND</td></tr>
186 + <tr><td>Red</td><td>5VDC</td></tr>
187 + <tr><td>Yellow</td><td>P9</td></tr>
188 + <tr><th colspan="3">Jumper Settings</th></tr>
189 + <tr><td>Disable</td><td colspan="2">JPU (Remove JA, JB, JC)</td></tr>
190 + <tr><td>5V</td><td colspan="2">I/O Group 12–15</td></tr>
191 + </table>
192 + <span>Table 7.</span>
193 + </div>
194 + </div>
195 + <div class="asm-fullwidth">
196 + <p style="font-weight:bold; margin-bottom:0.25rem;">Schematic — double-check connections below. <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#aglance" target="_blank">PS2 cable colour reference</a></p>
197 + <div style="display:flex; flex-wrap:wrap; gap:1rem; align-items:flex-start; margin-top:0.5rem;">
198 + <div style="flex: 0 1 280px; text-align:center;">
199 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/ps2c02.jpg" style="max-width:100%; border:1px solid #ccc; border-radius:4px;">
200 + <p style="font-size:12px; color:#666; margin-top:0.3rem;">Figure 6 (cable connections).</p>
201 + </div>
202 + <div style="flex: 1 1 300px; text-align:center;">
203 + <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-bipeds/brat-biped-ps2-b/WebHome/bbups2brat.png" style="max-width:100%; border:1px solid #ccc; border-radius:4px;">
204 + <p style="font-size:12px; color:#666; margin-top:0.3rem;">Figure 7 — Full wiring schematic.</p>
205 + </div>
206 + </div>
207 + </div>
208 + </div>
209 +
210 + <!-- Step 8 -->
211 + <div class="asm-step">
212 + <div class="asm-step-header">
213 + <div class="asm-step-name">PS2 BRAT (BBuino) — PS2 Control Reference</div>
214 + <div class="asm-step-num">Step 8 / 8</div>
215 + </div>
216 + <div class="asm-step-body">
217 + <div class="asm-step-text">
218 + <p>The PS2 control commands are shown in Table 8. To adjust servo offsets later, unplug the PS2 receiver and replace the JA, JB, and JC jumpers.</p>
219 + </div>
220 + <div class="asm-step-figure" style="flex: 0 1 auto;">
221 + <table class="ref-table" style="width:auto;">
222 + <tr><th>PS2 Button</th><th>Command</th></tr>
223 + <tr><td>Left Joystick Forward/Back</td><td>Walk forward/backward</td></tr>
224 + <tr><td>Left Joystick Left/Right</td><td>Turn in place left/right</td></tr>
225 + <tr><td>X</td><td>Return robot to home position</td></tr>
226 + <tr><td>△</td><td>Headbutt</td></tr>
227 + <tr><td>L1</td><td>Kick with left leg</td></tr>
228 + <tr><td>R1</td><td>Kick with right leg</td></tr>
229 + <tr><td>D-pad Up</td><td>Get up from face-down position</td></tr>
230 + <tr><td>D-pad Down</td><td>Get up from back-down position</td></tr>
231 + <tr><td>Start</td><td>Enable/Disable standby rest mode (enabled by default)</td></tr>
232 + <tr><td>Select</td><td>Change stride length</td></tr>
233 + </table>
234 + <span style="margin-top:0.4rem;">Table 8.</span>
235 + </div>
236 + </div>
237 + </div>
238 +
239 +</div>
360 360  {{/html}}
Copyright RobotShop 2018