I've had a black rabbit fur for some years now, and it's incredibly soft and lovely to touch. Although I've thought of turning it into a collar or part of a scarf, it seems so pet-able that I think it deserves to have an animal form again. (Morbid, maybe??)
The bot is named after Roko's Basilisk, an AI bogeyman. Google at your own peril...
Character design & featuresI was going to make a black cat robot for Halloween season, but after running across a couple of extremely charismatic raccoons, I decided I'd better go with that long-running idea instead. :) The raccoon face will also have a bit more contrast; since the robot is furry, it sucks down a lot of light.
I also planned to have it be another shoulder robot, leading to the internal curved skeleton design. But at least initially, I'd like to hold it in my lap: while my shoulder bots are great for events, in a real-world companion bot scenario, I don't want to have to mess around with harnesses or magnets to put on a sweater.
All of the 3D printing / lasering parts can be exported from this OnShape document β but beware, it's an active work area! π
SkeletonI'm really excited about this part! I've built a modular, robust "skeleton" system using 3D-printed "ribs", big zip ties to connect them, and heat-shrink tubing as spacers. Each rib has a Velcro dot to attach it to a strip of Velcro on the underside of the fur.
Roko's brain will run Edge Impulse AI! I'm making the bot respond to an ocarina for now, and I might end up being able to use perfect pitch to hum or whistle. I've got do, re, mi, and fa working at the moment :)
I'd like to create a custom ocarina for this! Following this article from Prusa, I think I'll design something raccoon-like in OnShape, and mash it up with this Thingiverse model using Tinkercad.
Selecting a platformI was going to base it on the Micro:bit, which tends to be beginner-friendly because of the drag-and-drop programming interface that can easily be switched over to JavaScript and Python in the same environment. But I realized that to use Edge Impulse on that platform (such as the voice-activated Micro:bit project), I'd have to do a bunch of futzing with the command line β and learn to program it in C++. Since this removes a lot of the "beginner-friendly" allure of the board, and I wasn't planning to use the LED grid anyway (because of issues photographing/videoing it), I opted to switch over to the Arduino Nano 33 BLE Sense.
I'm excited to discover that the BLE Sense now supports the Servo library! That wasn't the case when I built F3NR1R, and it makes things rather simpler. :)
Codehttps://docs.edgeimpulse.com/docs/arduino-nano-33-ble-sense
I ordered three types of servos from SparkFun and tested them, mostly for noise:
I've chosen the one at far right, because it's the quietest. For context, they won't be carrying much weight, so power/torque doesn't really matter. And for companion bots, I generally want slower, less jerky motions, so speed isn't a huge issue either. Plus, I'll be powering them off their own USB plug, whether at my desk or on the go (with a battery), so power draw isn't my top priority either.
- Left: Generic Sub-Micro Servo
- Middle: Generic Metal Gear Micro Servo
- Right: HiTec HS-85MG Micro Servo
I'm controlling them with my custom Companion Core circuit board! (That one will get its own tutorial soon...)
Shortlink to this page: bit.ly/rokobot
Comments