Wiki source code of The Complete H3/H3-R Tutorial (BotBoarduino) v2.0
Last modified by Eric Nantel on 2026/04/02 17:19
Hide last authors
![]() |
30.1 | 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; flex: 0 1 580px; } | ||
| 14 | .asm-fullwidth { padding: 1rem; border-top: 1px solid #eee; font-size: 13px; overflow-x: auto; } | ||
| 15 | .asm-info { background: #f9f9f9; border: 1px solid #ddd; border-radius: 8px; padding: 1rem; margin-bottom: 1.5rem; font-size: 13px; line-height: 1.6; } | ||
| 16 | .asm-info h2 { font-size: 15px; margin: 0 0 0.5rem 0; color: #2C1A00; } | ||
| 17 | .ref-table { border-collapse: collapse; width: 100%; font-size: 12px; } | ||
| 18 | .ref-table th { background: #ccc; border: 1px solid #aaa; padding: 0.3rem 0.6rem; text-align: center; } | ||
| 19 | .ref-table td { border: 1px solid #ddd; padding: 0.3rem 0.6rem; text-align: center; } | ||
| 20 | .ref-table tr:nth-child(odd) td { background: #f9f9f9; } | ||
| 21 | .ref-table tr:nth-child(even) td { background: #fff; } | ||
| 22 | .warning { color: #c00; font-weight: bold; } | ||
| 23 | h1 { font-size: 18px; margin-bottom: 0.25rem; } | ||
| 24 | </style> | ||
| 25 | |||
| 26 | <div class="asm"> | ||
| 27 | |||
| 28 | <!-- Header --> | ||
| 29 | <div style="padding: 0.5rem 0 1rem 0;"> | ||
| 30 | <h1>The Complete H3/H3-R Tutorial v2.0</h1> | ||
| 31 | <p><b>Updated June 7, 2012</b></p> | ||
| 32 | <p>This guide applies to the <b>BotBoarduino</b>. The purpose is to use the Hexapod Calibration program to calibrate the servos and program the BotBoarduino for PS2 remote control.</p> | ||
| 33 | <p>Note: PS2 control programs have been verified to work with Lynxmotion wireless controllers. Non-Lynxmotion controllers cannot be guaranteed.</p> | ||
| 34 | <div style="display:flex; flex-wrap:wrap; gap:1rem; margin-top:0.75rem;"> | ||
| 35 | <div style="text-align:center; flex:1 1 140px;"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/hexa.jpg" style="max-width:100%; border:1px solid #ccc; border-radius:4px;"><p style="font-size:11px; color:#666; margin-top:0.3rem;"><b>AH3-R</b></p></div> | ||
| 36 | <div style="text-align:center; flex:1 1 140px;"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/hexb.jpg" style="max-width:100%; border:1px solid #ccc; border-radius:4px;"><p style="font-size:11px; color:#666; margin-top:0.3rem;"><b>BH3-R</b></p></div> | ||
| 37 | <div style="text-align:center; flex:1 1 140px;"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/hexi.jpg" style="max-width:100%; border:1px solid #ccc; border-radius:4px;"><p style="font-size:11px; color:#666; margin-top:0.3rem;"><b>BH3</b></p></div> | ||
| 38 | <div style="text-align:center; flex:1 1 140px;"><img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/hexc.jpg" style="max-width:100%; border:1px solid #ccc; border-radius:4px;"><p style="font-size:11px; color:#666; margin-top:0.3rem;"><b>CH3-R</b></p></div> | ||
| 39 | </div> | ||
| 40 | </div> | ||
| 41 | |||
| 42 | <!-- Requirements --> | ||
| 43 | <div class="asm-info"> | ||
| 44 | <h2>Hardware & Software</h2> | ||
| 45 | <p><b>Hardware:</b> SSC-32 | BotBoarduino | PS2 Cable / PS2 Wireless Controller | Hexapod 3 / 3-R</p> | ||
| 46 | <p><b>Software:</b> <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/ses-software/lynx-hexapod-calibration-software/" target="_blank">Hexapod Calibration</a> | <a href="http://arduino.cc/en/Main/Software" target="_blank">Arduino Software</a></p> | ||
| 47 | </div> | ||
| 48 | |||
| 49 | <!-- Step 1 --> | ||
| 50 | <div class="asm-step"> | ||
| 51 | <div class="asm-step-header"> | ||
| 52 | <div class="asm-step-name">H3 BotBoarduino Guide — Power Up</div> | ||
| 53 | <div class="asm-step-num">Step 1 / 10</div> | ||
| 54 | </div> | ||
| 55 | <div class="asm-step-body"> | ||
| 56 | <div class="asm-step-text"> | ||
| 57 | <p>Set the robot up on a stand such as a CD spindle. Connect the USB cable to your PC and to the BotBoarduino. Power up the robot. Verify that the green LEDs on both the BotBoarduino and SSC-32 light up. The SSC-32's LED is NOT a power indicator — it lights to indicate the SSC-32 is functioning properly. It remains lit until it receives serial data, then blinks when receiving data. The servos may jump but will not hold position yet.</p> | ||
| 58 | </div> | ||
| 59 | <div class="asm-figures"> | ||
| 60 | <div class="asm-step-figure"> | ||
| 61 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/hex02a.jpg"> | ||
| 62 | <span>Figure 1-1.</span> | ||
| 63 | </div> | ||
| 64 | <div class="asm-step-figure"> | ||
| 65 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/hex02b.jpg"> | ||
| 66 | <span>Figure 1-2.</span> | ||
| 67 | </div> | ||
| 68 | </div> | ||
| 69 | </div> | ||
| 70 | </div> | ||
| 71 | |||
| 72 | <!-- Step 2 --> | ||
| 73 | <div class="asm-step"> | ||
| 74 | <div class="asm-step-header"> | ||
| 75 | <div class="asm-step-name">H3 BotBoarduino Guide — Modify Servo Cable</div> | ||
| 76 | <div class="asm-step-num">Step 2 / 10</div> | ||
| 77 | </div> | ||
| 78 | <div class="asm-step-body"> | ||
| 79 | <div class="asm-step-text"> | ||
| 80 | <p>Modify a 6" servo extender cable: remove the header pins so you have two female ends. Use an exacto knife to gently pry the tab up and pull the red wire free on one end. Cover the exposed connector with heat shrink to avoid accidental shorts.</p> | ||
| 81 | <p>Remove the TX and RX jumpers from the lower-right corner of the SSC-32, and plug the unmodified end of the cable in: yellow on TX, red on RX, black on ground.</p> | ||
| 82 | <p>Plug in extra lengths of 18–24AWG wires to VL on the SSC-32 with the 9VDC battery clip — these will power the BotBoarduino.</p> | ||
| 83 | </div> | ||
| 84 | <div class="asm-step-figure"> | ||
| 85 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/scmod01.jpg"> | ||
| 86 | <span>Figure 2.</span> | ||
| 87 | </div> | ||
| 88 | </div> | ||
| 89 | </div> | ||
| 90 | |||
| 91 | <!-- Step 3 --> | ||
| 92 | <div class="asm-step"> | ||
| 93 | <div class="asm-step-header"> | ||
| 94 | <div class="asm-step-name">H3 BotBoarduino Guide — Configure SSC-32</div> | ||
| 95 | <div class="asm-step-num">Step 3 / 10</div> | ||
| 96 | </div> | ||
| 97 | <div class="asm-step-body"> | ||
| 98 | <div class="asm-step-text"> | ||
| 99 | <p>Remove the DB9-enable jumpers and install the unmodified end of your 6" servo extender cable on the TTL serial communication posts. The black wire is closest to the edge of the board, and the yellow wire is on RX.</p> | ||
| 100 | <p>See the schematic below for detailed information.</p> | ||
| 101 | </div> | ||
| 102 | <div class="asm-step-figure"> | ||
| 103 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/ssc01.jpg"> | ||
| 104 | <span>Figure 3.</span> | ||
| 105 | </div> | ||
| 106 | </div> | ||
| 107 | </div> | ||
| 108 | |||
| 109 | <!-- Step 4 with schematic --> | ||
| 110 | <div class="asm-step"> | ||
| 111 | <div class="asm-step-header"> | ||
| 112 | <div class="asm-step-name">H3 BotBoarduino Guide — Install BotBoarduino & PS2 Cable</div> | ||
| 113 | <div class="asm-step-num">Step 4 / 10</div> | ||
| 114 | </div> | ||
| 115 | <div class="asm-step-body"> | ||
| 116 | <div class="asm-step-text"> | ||
| 117 | <p>Remove the 3/8 x 4-40 screws holding the SSC-32 and install the BotBoarduino using the same screws. Attach the red and black wires from the SSC-32 to the VL input, with black on (−) and red on (+). Plug the red wire of your modified cable into pin 12 and the yellow wire to pin 13.</p> | ||
| 118 | <p>Install the Playstation 2 cable as illustrated in Figure 4-1. Refer only to Figure 4-1 for connection information — cable colors may be outdated. A complete listing of possible colors is available <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#aglance" target="_blank">here</a>.</p> | ||
| 119 | </div> | ||
| 120 | <div class="asm-step-figure"> | ||
| 121 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/bbu01.jpg"> | ||
| 122 | <span>Figure 4.</span> | ||
| 123 | </div> | ||
| 124 | </div> | ||
| 125 | <div class="asm-fullwidth"> | ||
| 126 | <div style="display:flex; flex-wrap:wrap; gap:1.5rem; align-items:flex-start;"> | ||
| 127 | <div style="flex:0 1 260px; text-align:center;"> | ||
| 128 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/wire08s.gif" style="max-width:100%; border:1px solid #ccc; border-radius:4px;"> | ||
| 129 | <p style="font-size:12px; color:#666; margin-top:0.3rem;">Figure 4-1.</p> | ||
| 130 | </div> | ||
| 131 | <div style="flex:1 1 280px;"> | ||
| 132 | <p><b>Schematic.</b> Double check your connections against the schematic below.</p> | ||
| 133 | <table class="ref-table" style="margin-bottom:0.75rem; width:auto;"> | ||
| 134 | <tr><th colspan="3">Servo Letter Definitions</th></tr> | ||
![]() |
20.1 | 135 | <tr> |
![]() |
30.1 | 136 | <td style="text-align:left;"><b>L</b>eft<br><b>R</b>ight</td> |
| 137 | <td style="text-align:left;"><b>R</b>ear<br><b>M</b>iddle<br><b>F</b>ront</td> | ||
| 138 | <td style="text-align:left;"><b>K</b>nee<br><b>V</b>ertical<br><b>H</b>orizontal</td> | ||
![]() |
20.1 | 139 | </tr> |
![]() |
30.1 | 140 | </table> |
| 141 | <div style="text-align:center;"> | ||
| 142 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/bbuhex01.png" style="max-width:100%; border-radius:4px;"> | ||
| 143 | <p style="font-size:12px; color:#666; margin-top:0.3rem;">Schematic.</p> | ||
| 144 | </div> | ||
| 145 | </div> | ||
![]() |
20.1 | 146 | </div> |
| 147 | </div> | ||
![]() |
30.1 | 148 | </div> |
| 149 | |||
| 150 | <!-- Step 5 --> | ||
| 151 | <div class="asm-step"> | ||
| 152 | <div class="asm-step-header"> | ||
| 153 | <div class="asm-step-name">H3 BotBoarduino Guide — Download & Upload Program</div> | ||
| 154 | <div class="asm-step-num">Step 5 / 10</div> | ||
| 155 | </div> | ||
| 156 | <div class="asm-step-body"> | ||
| 157 | <div class="asm-step-text"> | ||
| 158 | <p>Download the <a href="http://arduino.cc/en/Main/Software" target="_blank">Arduino software</a> and install it. Download the robot code <a href="https://github.com/Lynxmotion/3DOF-4DOF-Hex/raw/master/BotBoarduino/3%20DoF%20Ready/BotBoarduino_CH3R_PS2_2016-03-08.zip" target="_blank">here</a>.</p> | ||
| 159 | <p>Extract the .zip file to a folder named exactly <b>"BotBoarduino_CH3R_PS2"</b> — the folder name is required. Open BotBoarduino_CH3R_PS2.ino in the Arduino software, turn on the robot, and click Upload (the small right-pointing arrow).</p> | ||
| 160 | <p>Note: in some cases you may need to reverse the Attention/Command/Data connector for the PS2 receiver to function with the BotBoarduino.</p> | ||
| 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-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/arduinos.jpg"> | ||
| 164 | <span>Figure 5.</span> | ||
| 165 | </div> | ||
| 166 | </div> | ||
| 167 | </div> | ||
| 168 | |||
| 169 | <!-- Step 6 --> | ||
| 170 | <div class="asm-step"> | ||
| 171 | <div class="asm-step-header"> | ||
| 172 | <div class="asm-step-name">H3 BotBoarduino Guide — Install Hexapod Calibration</div> | ||
| 173 | <div class="asm-step-num">Step 6 / 10</div> | ||
| 174 | </div> | ||
| 175 | <div class="asm-step-body"> | ||
| 176 | <div class="asm-step-text"> | ||
| 177 | <p>At this point the robot can move, but since the legs are not calibrated it will look sloppy. Download the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/ses-software/lynx-hexapod-calibration-software/" target="_blank">Hexapod Calibration program</a>. Unzip and run the installer — a desktop icon will be created automatically.</p> | ||
| 178 | </div> | ||
| 179 | <div class="asm-step-figure"> | ||
| 180 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/calib00.jpg"> | ||
| 181 | <span>Figure 6.</span> | ||
| 182 | </div> | ||
| 183 | </div> | ||
| 184 | </div> | ||
| 185 | |||
| 186 | <!-- Step 7 --> | ||
| 187 | <div class="asm-step"> | ||
| 188 | <div class="asm-step-header"> | ||
| 189 | <div class="asm-step-name">H3 BotBoarduino Guide — Enable Servos</div> | ||
| 190 | <div class="asm-step-num">Step 7 / 10</div> | ||
| 191 | </div> | ||
| 192 | <div class="asm-step-body"> | ||
| 193 | <div class="asm-step-text"> | ||
| 194 | <p>Hold the "A" button on the BotBoarduino and apply power to force the robot into calibration mode. Open the Hexapod Calibration program — it will automatically detect the SSC-32 on ports 1–30 and display the firmware version.</p> | ||
| 195 | <p>Click "All=1500" to enable the servos. The legs should move into position and hold. If they go limp after moving, the battery is low — the SSC-32's green LED will be steady as a clue. If the legs look radically misaligned, remove the center servo horn screw, pull the horn off, reposition, and replace. Don't worry about offsets under 15° — they'll be corrected in the next step.</p> | ||
| 196 | <p>Note: click "inline" for a more accurate visual if you don't have a circular chassis.</p> | ||
| 197 | </div> | ||
| 198 | <div class="asm-step-figure"> | ||
| 199 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/calib01.jpg"> | ||
| 200 | <span>Figure 7.</span> | ||
| 201 | </div> | ||
| 202 | </div> | ||
| 203 | </div> | ||
| 204 | |||
| 205 | <!-- Step 8 --> | ||
| 206 | <div class="asm-step"> | ||
| 207 | <div class="asm-step-header"> | ||
| 208 | <div class="asm-step-name">H3 BotBoarduino Guide — Calibrate Servo Offsets</div> | ||
| 209 | <div class="asm-step-num">Step 8 / 10</div> | ||
| 210 | </div> | ||
| 211 | <div class="asm-step-body"> | ||
| 212 | <div class="asm-step-text"> | ||
| 213 | <p>Use the servo offset adjustment to fine-tune leg alignment. The goal is to align each leg perpendicular to the chassis with the knee forming a perfect right angle (see Figures 8-2 and 8-3).</p> | ||
| 214 | <p>Select a hip servo by clicking its radio button. Move the Offset slider — use the scroll wheel or arrow keys for fine tuning. After aligning the hip, move to the next servo closest to the body, and finally adjust the knee servo. Previously adjusted servos are marked red to track your progress. Repeat for all legs.</p> | ||
| 215 | </div> | ||
| 216 | <div class="asm-step-figure"> | ||
| 217 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/calib02.jpg"> | ||
| 218 | <span>Figure 8-1.</span> | ||
| 219 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/hex04a.jpg" style="margin-top:0.5rem;"> | ||
| 220 | <span>Figure 8-2.</span> | ||
| 221 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/hex04b.jpg" style="margin-top:0.5rem;"> | ||
| 222 | <span>Figure 8-3.</span> | ||
| 223 | </div> | ||
| 224 | </div> | ||
| 225 | </div> | ||
| 226 | |||
| 227 | <!-- Step 9 --> | ||
| 228 | <div class="asm-step"> | ||
| 229 | <div class="asm-step-header"> | ||
| 230 | <div class="asm-step-name">H3 BotBoarduino Guide — Mount PS2 Cable</div> | ||
| 231 | <div class="asm-step-num">Step 9 / 10</div> | ||
| 232 | </div> | ||
| 233 | <div class="asm-step-body"> | ||
| 234 | <div class="asm-step-text"> | ||
| 235 | <p>Mount the PS2 cable to the chassis using double-sided foam tape on the bottom of the robot as shown. This makes it easier to swap controllers if needed.</p> | ||
| 236 | </div> | ||
| 237 | <div class="asm-step-figure"> | ||
| 238 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-h3-h3-r-tutorial-v2-bbu/WebHome/h3r09.jpg"> | ||
| 239 | <span>Figure 9.</span> | ||
| 240 | </div> | ||
| 241 | </div> | ||
| 242 | </div> | ||
| 243 | |||
| 244 | <!-- Step 10 --> | ||
| 245 | <div class="asm-step"> | ||
| 246 | <div class="asm-step-header"> | ||
| 247 | <div class="asm-step-name">H3 BotBoarduino Guide — PS2 Controller Reference</div> | ||
| 248 | <div class="asm-step-num">Step 10 / 10</div> | ||
| 249 | </div> | ||
| 250 | <div class="asm-step-body"> | ||
| 251 | <div class="asm-step-text"> | ||
| 252 | <p>The default is Walking mode 1. Use the Left joystick to translate (move without turning) and the Right joystick to rotate. D-Pad Up/Down adjusts body height. Triangle switches between 35mm walking height and lowered position. Circle puts the body on the floor in resting position.</p> | ||
| 253 | <p>L1, L2, Circle, and X trigger special body moves modes where the hexapod stops walking and the joysticks change function. See Table 10 below.</p> | ||
| 254 | </div> | ||
| 255 | </div> | ||
| 256 | <div class="asm-fullwidth"> | ||
| 257 | <div style="display:flex; flex-wrap:wrap; gap:1.5rem;"> | ||
| 258 | <div style="flex:1 1 280px;"> | ||
| 259 | <table class="ref-table"> | ||
| 260 | <tr><th>Button</th><th>Function</th></tr> | ||
| 261 | <tr><td colspan="2" style="background:#ccc; font-weight:bold;">Common Controls</td></tr> | ||
| 262 | <tr><td>Start</td><td>Turn robot on/off</td></tr> | ||
| 263 | <tr><td>R3</td><td>Switch Walk mode 1 / 2</td></tr> | ||
| 264 | <tr><td>L1</td><td>Toggle Shift mode</td></tr> | ||
| 265 | <tr><td>L2</td><td>Toggle Rotate mode</td></tr> | ||
| 266 | <tr><td>X</td><td>Toggle GP Player mode</td></tr> | ||
| 267 | <tr><td>O Circle</td><td>Toggle Single Leg mode</td></tr> | ||
| 268 | <tr><td>□ Square</td><td>Toggle Balance mode</td></tr> | ||
| 269 | <tr><td>△ Triangle</td><td>Switch 35mm height / lowered</td></tr> | ||
| 270 | <tr><td>D-Pad Up</td><td>Body up 10mm</td></tr> | ||
| 271 | <tr><td>D-Pad Down</td><td>Body down 10mm</td></tr> | ||
| 272 | <tr><td>D-Pad Left</td><td>Decrease speed by 50mS</td></tr> | ||
| 273 | <tr><td>D-Pad Right</td><td>Increase speed by 50mS</td></tr> | ||
| 274 | <tr><td colspan="2" style="background:#ccc; font-weight:bold;">Walk Mode Controls (default)</td></tr> | ||
| 275 | <tr><td>Select</td><td>Change gaits</td></tr> | ||
| 276 | <tr><td>Left Joystick</td><td>Mode 1: Walk/strafe | Mode 2: Disabled</td></tr> | ||
| 277 | <tr><td>Right Joystick</td><td>Mode 1: Rotate | Mode 2: Walk/rotate</td></tr> | ||
| 278 | <tr><td>R1</td><td>Toggle double gait travel speed</td></tr> | ||
| 279 | <tr><td>R2</td><td>Toggle double gait travel length</td></tr> | ||
| 280 | </table> | ||
| 281 | </div> | ||
| 282 | <div style="flex:1 1 280px;"> | ||
| 283 | <table class="ref-table"> | ||
| 284 | <tr><th>Button</th><th>Function</th></tr> | ||
| 285 | <tr><td colspan="2" style="background:#ccc; font-weight:bold;">Shift Mode Controls</td></tr> | ||
| 286 | <tr><td>L1</td><td>Turn Shift mode off</td></tr> | ||
| 287 | <tr><td>Left Joystick</td><td>Shift body X/Z</td></tr> | ||
| 288 | <tr><td>Right Joystick</td><td>Shift and rotate body Y</td></tr> | ||
| 289 | <tr><td colspan="2" style="background:#ccc; font-weight:bold;">Rotate Mode Controls</td></tr> | ||
| 290 | <tr><td>L2</td><td>Turn Rotate mode off</td></tr> | ||
| 291 | <tr><td>Left Joystick</td><td>Rotate body X/Z</td></tr> | ||
| 292 | <tr><td>Right Joystick</td><td>Rotate body Y</td></tr> | ||
| 293 | <tr><td colspan="2" style="background:#ccc; font-weight:bold;">Single Leg Mode Controls</td></tr> | ||
| 294 | <tr><td>O Circle</td><td>Turn Single Leg mode off</td></tr> | ||
| 295 | <tr><td>Select</td><td>Switch legs</td></tr> | ||
| 296 | <tr><td>Left Joystick</td><td>Move leg X/Z (relative)</td></tr> | ||
| 297 | <tr><td>Right Joystick</td><td>Move leg Y (absolute)</td></tr> | ||
| 298 | <tr><td>R2</td><td>Hold/release leg position</td></tr> | ||
| 299 | <tr><td colspan="2" style="background:#ccc; font-weight:bold;">GP Player Mode Controls</td></tr> | ||
| 300 | <tr><td>X</td><td>Turn GP Player mode off</td></tr> | ||
| 301 | <tr><td>Select</td><td>Switch sequences</td></tr> | ||
| 302 | <tr><td>R2</td><td>Start sequences</td></tr> | ||
| 303 | </table> | ||
| 304 | </div> | ||
| 305 | </div> | ||
| 306 | <p style="text-align:center; font-weight:bold; margin-top:0.5rem;">PS2 Controls — Table 10.</p> | ||
| 307 | </div> | ||
| 308 | </div> | ||
| 309 | |||
| 310 | </div> | ||
![]() |
1.1 | 311 | {{/html}} |


