I have been following Nybble, the first robotic pet by Petoi for a couple of years now. The project quickly got crowdfunded, as the servo-based cat won the hearts of future owners. While the robotic cat was made out of off-the-shelf servos and laser-cut balsa pieces, their latest cyber companion: Bittle by Petoi brings a more mature design and new animal species: a dog.
Bittle by Petoi
Despite the polished looks, Bittle is still a very much DIY robotic kit. Inside the box, the man’s best friend is packed away in pieces. They are partially assembled to ease the build process, but small finesse is required to follow the instructions and put it together.
Bittle is a servo-based robot, controllable by Bluetooth, IR and WiFi. It’s hard not to compare it with Spot by Boston Dynamics thanks to its black and yellow aesthetics. The quadruped friend has adorable looks and a decent skill set to play with. Remove its head and Bittle gets a little creepy, as it reminds me of the head crab from Half-Life games.
If you are tempted to skip the manual after looking at a rather simple looking exploded diagram of the Bittle inside the box, don’t! You will do yourself a disservice and possibly damage your pet in the process. Admittedly, I didn’t listen to this advice, so learn from my mistakes! You can watch the entire live stream here.
Bittle needs to be calibrated before use. Forcing the dog to do tricks will result in uncoordinated movement and a chance to snag and break servo cables. The easiest way to calibrate your pet robot is to leave all joints disassembled. Then use a combination of IR remote and Petoi app to complete the calibration.
- Power on Bittle (hold the battery button for 3 sec)
- Use IR remote to enter calibration mode (picture of a square)
- Attached are limbs following the calibration image
- Attach a Bluetooth adapter to the robot and connect it via the Petoi app
- Use the calibration menu to fine tweak the angles of each joint until they are correct and accurate
Over the Bluetooth, adjustments apply to fine movement only, so you have to be pretty spot on when sliding the limbs onto the pinion gears. I found this to be the easiest way to get all limbs of the Bittle aligned properly.
You CAN teach the old dog new tricks!
Bittle is flexible. Out of the box, you can take cover controls via IR or Bluetooth and start playing with the robot, testing its ability to move around and perform tricks on request. The default tricks are entertaining or outright silly (try making Bittle pee), but showcase the mobility of the robot well.
Apart from fooling around with your favourite pet, these commands teach the owner about behaviour types coded into Bittle’s logic. I would strongly recommend sitting down and learning about Instincts, Newbilities and Gaits which will ease you into custom command mode and outright barebone programming.
In a nutshell, Bittle’s skill set consists of:
- Instincts – a list of EPROM-stored basic moves and tricks
- Newbility – as above, but these are kept in PROGMEM and are not stored “permanently”
- Gaits/Behaviours – formed from individual positions – sequential patterns/positions of servos that create complex movement patterns/tricks.
Depending on your confidence level, your new robotic friend Bittle can be programmed in more than one way. If you are looking to test something quickly, you can use a web interface or skill composer app.
Anyone familiar with Python or C++ can jump straight into Arduino IDE or OpenCat Github repository to start playing with the source code.
While programming Bittle alone will be limited to pre-compiled Instincts, the robot has one more trade secret – support for Raspberry Pi.
Bittle and Raspberry Pi
Once you feel comfortable with your pet, you can add a Raspberry Pi to the controller board and start experimenting with machine learning, computer vision and sensors. Bittle’s back can accommodate Raspberry Pi 3A, or even a regular Raspberry Pi board at the cost of being top-heavy. It will affect how the robot handles the balance so be mindful of that.
You can either account for this in software or take advantage of the latest Raspberry Pi release: Raspberry Pi Zero 2 W, which won’t upset the dog’s balance as much but still provide enough processing power to tackle advanced calculations.
Regardless of the platform picked, you will spend days learning how to program Bittle. It’s not an easy task to teach the dog new tricks you will have to understand the dependency between momentum, balance and synchronisation of frames. Executing existing Instincts in custom combos is one thing. It’s much harder to program a new set of movements without tipping Bittle over.
You will learn a lot about animation and how taxing it can be. After all, making it all from the scratch is more than just selecting start and end positions for the servos in question. It’s likely that you have to consider all joints in the motion to keep the balance and synchronise all 9 servos in time to combat momentum and keep your dog upright. Bending one leg too soon can shift the body weight too much and your faithful companion may end up on his back again. Expect a lot of trials and errors.
Fortunately, the open nature of the software used by Bittle provides you with countless things to download and try. These will be instincts provided by Petoi or other fans of their robots. You are not alone, but the road can be long and full of twists and turns. Bittle is a robot dog for patient makers!
My biggest gripe with Bittle is the fact that the package doesn’t include the dog cover for use with a Raspberry Pi. I understand why makers would like to add the SBC to Bittle and enjoy camera vision, AI, Machine Learning and other ways to make Bittle move, but doing so leaves the cyber-dog without its top cover. Raspberry Pi support feels like an afterthought, and much could be improved (centre of weight) with small design changes.
While Bittle itself is tough, the head attachment is the weakest link. It tends to detach itself on dive from the desk on the carpet. Fortunately, parts themselves are not prone to damage, so all you are left with is the annoyance of re-attaching the head each time Bittle decides to jump off any heights.
It’s not a fault of Bittle, but when creating custom skills and instincts, you’ll quickly notice how useful lateral joint movements are. As a robot can’t move their legs side to side, the art of adding new tricks, is often based on creative ways of cheating the gravity. It will force you to get creative with the order of each frame programmed into Bittle, but it will also show how big mobility gains robots get by having access to that extra DoF.
Lastly, I wanted to showcase something easy to make, impressive to look at, while being ridiculously easy to program. Can you guess how I made Bittle act and respond to gestures and voice commands? The answer is in the spoiler section below:
This kit deserves your attention for a couple of reasons. The learning curve is tailored to your skills, you can dive into barebone coding, use visual programming or rely on chaining custom commands to teach Bittle new tricks. This assures that kit delivers challenging projects and new opportunities for weeks to come. And while the price of $299 may scare some people off, it will be money well invested if you are interested in robotics. Got questions? Let me know in this Reddit thread.
🆓📈💵 – See the transparency note for details.