Product Information
Robot operation
Running the robot
-
Plug in your 2S Lipo battery.
-
If you followed the instructions above, the code will automatically start running on boot.
-
If you want to turn this feature off, ssh into the robot, go into rw mode, and then do:
sudo systemctl disable robot
-
-
Connect the PS4 controller to the Pi by putting it pairing mode.
- To put it into pairing mode, hold the share button and circular Playstation button at the same time until it starts making quick double flashes.
- If it starts making slow single flashes, hold the Playstation button down until it stops blinking and try again.
-
Wait until the controller binds to the robot, at which point the controller should turn a dim green (or whatever color you chose in pupper/HardwareConfig.py for the deactivated color).
-
Press L1 on the controller to “activate” the robot. The controller should turn bright green (or again, whatever you chose in HardwareConfig).
-
You’re good to go! Check out the controls section below for operating instructions.
Robot controls
-
L1: Press to toggle active mode and deactivate mode.
- Note: the PS4 controller’s front light will change colors to indicate if the robot is deactivated or activated.
-
R1: Press to transition between Rest mode and Trot mode
-
Left joystick
- Forward/back: moves the robot forward/backwards when in Trot mode
- Left/right: moves the robot left/right when in Trot mode
-
Right joystick
- Forward/back: pitches the robot forward and backward
- Left/right: turns the robot left and right
-
D-Pad
- Forward/back: raises and lowers the body
- Left/rights: rolls the body left/right
-
“X” button: Press it three times to complete a full hop
Important Notes
-
PS4 controller pairing instructions (repeat of instructions above)
- To put it into pairing mode, hold the share button and circular Playstation button at the same time until it starts making quick double flashes.
- If it starts making slow single flashes, hold the Playstation button down until it stops blinking and try again.
-
Battery voltage
- If you power the robot with anything higher than 8.4V (aka >2S) you’ll almost certainly fry all your expensive servos!
- Also note that you should attach a lipo battery alarm to your battery when running the robot so that you are know when the battery is depleted. Discharging your battery too much runs the risk of starting a fire, especially if you try to charge it again after it’s been completely discharged. A good rule-of-thumb for know when a lipo is discharged is checking whether the individual cell voltages are below 3.6V.
- The robot will walk much more poorly when the battery is mostly discharged since a lower voltage is going to the motors.
-
Feet!
- Using the bare carbon fiber as feet works well for grippy surfaces, including carpet. If you want to use the robot on a more slippery surface, we recommend buying rubber grommets (McMaster #90131A101) and fastening them to the pre-drilled holes in the feet.
Tuning
-
You can play around with different walking parameters by changing the config file
StanfordQuadruped/pupper/Config.pyself.max_x_velocity[m/s]: The maximum forward/back trotting velocityself.max_y_velocity[m/s]: Max left/right trotting velocityself.max_yaw_rate[rad/s]: Max turning velocityself.z_clearance[m]: How how the robot tries to lift each leg off the ground during swing. It’s called z_clearance because it’s the maximum distance in the z-axis between the foot and ground during swing. You can increase this value to make the robot step higher.self.overlap_time[s]: Amount of time per step that the robot has all of its legs on the ground. Increase this value for more stable walking.self.swing_time[s]: Amount of time the robot has each foot in the air for.