7 🕹 Play with Bittle

"You can't direct the wind, but you can adjust your sails." ⛵️

7.1. Control with Arduino IDE

Try the following serial commands in the serial monitor:

  • “ksit”

  • “m0 30”

  • “m0 -30”

  • “kbalance”

  • “kwkF”

  • “ktrL”

  • “d”

The quotation mark just indicates that they are character strings. Don’t type quotation marks in the serial monitor.

7.2. Control with Infrared remote

7.2.1. Keymap

Only the position of the buttons matters, though those symbols can help you remember the functionalities. I’m going to define position related symbols to refer to those keys.

I’m using abbreviations for key definitions to reduce SRAM usage. Due to the limited keys of a physical remote, I always change the definitions for fun.

The following map is just an illustration. Check OpenCat.h for the actual key definitions in effect. They are also open to your customization.

  • Rest puts the robot down and shuts down the servos. It's always safe to click it if Bittle is doing something AWKWARD.

  • Gyro will turn on/off the gyro

  • Balance is the neutral standing posture. You can push Bittle from the side, or make it stand up will hind legs and tail. You can test its balancing ability on a fluctuating board. Actually balancing is activated in most postures and gaits.

  • Pressing F/L/R will make the robot move forward/left/right

  • B will make the robot move backward

  • Calibrate puts the robot into calibration posture and turns off the gyro

  • Stepping lets the robot step at the original spot

  • Crawl/walk/trot/run are the gaits that can be switched and combined with the direction buttons

  • Buttons after bound are preset postures or other skills

  • Turning off the gyro can accelerate and stabilize the slower gaits. But it’s NOT recommended for faster gaits such as run and bound.

  • Different surfaces have different friction and will affect walking performance. The current trained parameters work better without the silicone toe covers. They are provided for your experiments. The carpet will be too bushy for Bittle's short legs. It may only crawl (command kcrF) over this kind of tough terrain.

  • You can pull the battery pack down and slide along the longer direction of the belly. That will tune the center of mass, which is very important for walking performance. Otherwise, it may keep falling down.

  • When Bittle is walking, you can let it climb up/down a small slope (<10 degrees)

  • Whatever Bittle is doing, you can lift it vertically, and it will stop moving, just like a dog scruffed on the neck.

  • If Bittle keeps beeping after you connect the USB uploader, with numbers printed in the serial monitor, it’s the low voltage alarm being triggered. You need to power NyBoard with the battery to pass the threshold.

  • The servos are designed to be driven by internal gears. Avoid rotating the servos too fast from outside.

  • Don’t keep Bittle running for too long. It will overheat the electronics and reduce the servos’ life span.

  • If you feel something is wrong with Bittle, press the reset button on NyBoard to restart the program.

  • Bittle has acrophobia! If you lift it and rotate it over a certain degree, its current movement will be interrupted. Don't flip Bittle over to scare it!

  • Be kind as if you were playing with a real dog. (^=◕ᴥ◕=^)

​