Anybody who has ever had a fascination with robots or RC cars is likely to be incredibly interested in Sphero, a baseball-sized spherical robot that totes a variety of amusement. Orbotix, a company created by Ian Bernstein and Adam Wilson to bring Sphero to the world, started with the intent to create a mass-produced friend for people. “A personal robot people could take with them and carry around and play with anytime. But, also, make it truly a robot, which is to say, it’s largely software definable in its functionality,” explains Dan Danknick, firmware engineer with Orbotix.
Though sphero has the RC-esque appearance of a toy, the design really has tinkerers in mind. With two different layers of software programmability, the Sphero has an array of games and utilities.
Sphero comes with access to an open-source SDK (software development kit) that allows users to interface with the robot at very high levels with, through an Android or iOS app. Essentially, this SDK method allows Sphero to be used in a more traditional sense – things like programming Sphero to autonomously follow a specific path or a preset pattern.
Orbotix also offers a specification to their API (application programming interface). “We provide access to the data communications format across the Bluetooth connection, which is principally what the app SDKs do for you. They cover the low-level communication. But, if you’re not developing on an iPhone or Android device, like on a PC or an Arduino or something with a generic Bluetooth interface, you can use our API specification,” Danknick explains.
“We have a complete language processor inside of Sphero, called orbBasic,” says Danknick. “You can write basic programs on your phone or on your iPad, download them into the Sphero, and it will run autonomously.”
All of the code is available through gitHUB, an online resource for open-sourced software and programming. The code guide explains the architecture inside the Sphero; how to send it commands; what kind of responses you’ll receive; and a list of all the virtual devices inside and what they do.
The Tip of the Iceberg
Mixed reality, a term that Orbotix uses to define their augmented reality gaming software, is just the beginning of the processing power. Danknick says, “We’re still resolving what to do with the mixed reality stuff. Essentially, the apps that we have out there are technology demonstrators. We’re trying to get the greatest number of people excited about the Sphero to show off all of its capabilities.”
Beyond games and some basic programming apps, Sphero holds a lot of technology. The ball can manage uncertainties with latency, has a continuous Bluetooth connection, and can even perform some complex math. “You can turn off your phone and Sphero will map a room for you while it’s rolling around. As soon as you turn your phone on, it will upload the map back to your phone,” Danknick says. “You can measure how long a string is by hanging Sphero from a pendulum and swinging it back and forth – it measures the period of oscillation – and then it can calculate the string length within 0.5 cm.”
“Our biggest challenges were not in the software, they were electromechanical and hardware issues,” Danknick explains. Sphero was built from the ground up, so there weren’t any reference designs for development accreditation. “Sphero embodies so many unique things all in the same box,” he says.
Inside the first revisions of Sphero, the team had a three-axis accelerometer sensor, a three-axis rate gyro, and a three-axis magnetometer. “We intended to use the magnetometer to always tell us where North was in a given environment, and use that to correct heading drift in our rate gyro.” According to Danknick, in bigger machines, such as drones or UAVs, periodic GPS fixes are used to correct that problem. Since the Sphero is only three inches in diameter, it is within the error of uncertainty of GPS. “We also didn’t realize, being a three-inch sphere, that the circuitry would be 1.5 inches above a floor that has varying levels of rebar and reinforcement, that would completely destroy any chance we could ever have of reading a magnetic vector reliably.”
Though it seems like a great idea, one of the few commonplace “toys” that Sphero does not contain is a camera. Not because the team didn’t think to include it, nor did the three-inch robot lack the capability. The drawback of moving video data over a Bluetooth connection drove the biggest concern regarding video capabilities. “I think people would have been so frustrated at the low frame rate or the low resolution.” The wobbling motion of a camera on top of the gyroscopic technology would likely make even the most solid stomachs turn, as the PCB (printed circuit board) controlling the robot rocks back and forth to accommodate variations in terrain and disturbances to its heading and speed.
Sphero also contains a technology that is so often talked about, but is seemingly difficult to execute – an inductive recharging system that provides power without any ports in the sphere’s structure or the need for opening the robot. “The fact that it is inductively charged is still mind boggling,” says Danknick. Thanks to this charging method, Sphero is watertight and utilizes a high-impact, polycarbonate shell. The spherical shape made delivering an inductive system slightly easier.
The guts are weighted to one hemisphere, to give the inner tire traction and keep the PCB somewhat stable, but this keeps one side down, even when charging. “That’s why we designed a cup for charging that the Sphero could sit in, which basically aligned the two coils and gave us a good magnetic coupling for recharging.” A magnetic coupling that many other forms of inductive charging often find difficult to achieve.
“Sphero is a three-inch sphere, and people think, ‘well, how hard can that be to make?’ It’s complexity belies all of the little details that go into making any consumer product,” says Danknick. There is a lot of technology crammed into this little ball, and even its creators are still discovering all of its capabilities.
Though sphero has the RC-esque appearance of a toy, the design really has tinkerers in mind. With two different layers of software programmability, the Sphero has an array of games and utilities. Sphero comes with access to an open-source SDK (software development kit) that allows users to interface with the robot at very high levels with, through an Android or iOS app.