We were all quite excited a few weeks ago when Anki announced its plan to move beyond smartphone controlled cars and into emotionally intelligent robots. At the time of the announcement Anki indicated that it would release an SDK with the inclusion of Cozmo, but until now details on what that SDK were sparse. Now we know, and the SDK is so jam-packed with goodies it could turn Cozmo into the Commodore 64 of robotics: a device that changes how people interact with abstruse technology.
The Commodore 64 changed the way we thought about computers. Before that ugly box got plugged into TVs, computers were still for the very rich, the very smart, and the ladies programming the IBM beasts that took up entire floors of buildings. The Commodore 64 gave the average consumer the chance to compute and the slew of easy-to-understand programming languages, including BASIC and Logo, allowed anyone with an idea and a little time, to become a software developer.
We would not have experience the computer revolution of the '80s if there had been no Commodore 64, and in 20 years a similar grand statement could be made for the Anki Cozmo. Anki wants to put one in the hands of every budding roboticist and give them access to tools that would otherwise require an entire university of people working full time to develop. “We want to take robotics out of the lab,” Anki co-founder and president Hanns Tappeiner said.
Tappeiner and his cohorts at Anki built an incredibly entertaining little robot that reads your facial expressions, has enviable spatial awareness, and can experience its own series of emotions thanks to an intricately programmed AI featuring over one million lines of code. The software development kit that will launch with Cozmo gives you access to all that code in a language (Python) that’s a breeze for programmers, and only mildly terrifying for the rest of us.
Tappeiner’s wife, a programmer with no background in robotics, had access to the SDK for an hour and immediately linked it up the her Hue lights. As soon as Cozmo saw more than two people sit down on the sofa it dimmed the lights for prime film watching ambience.
Cozmo, and a visualisation of what Cozmo sees via the SDK.
Tappeiner ran me through some of the other options available in the SDK earlier today. There was the simple robotics equivalent of “Hello World” (the most basic program available in most programming languages) which just allowed him to turn a light on and off on Cozmo’s back. Then he popped in a single line of code that adjusted the light depending on the number of human faces Cozmo saw.
That sounds incredibly simple. That looks incredibly simple. But the ability to have access to facial recognition in a robotics kit? That is not simple. That takes years of work by a group of dedicated researchers. The same could be said of the line of code that planned Cozmo’s path depending on the number of bricks he saw. It appears simple, but the science behind path planning for a robot is a field of robotics in and of itself (it’s also co-founder Boris Sofman’s specialty).
Accessing the SDK via the Cozmo app on an iPad Mini.
The SDK not only takes advantage of all that code smooshed into Cozmo’s brain, but it lets you turn individual pieces off and on. If you don’t like how Cozmo perceives only five human emotions you can take advantage of its ability to recognise 40 points on a face and distinguish between humans and other animals and create your own emotion recognition protocol. If you are OK with how it recognises faces, but yearn for better path programming, than you can enjoy that one feature while delving into the other.
The SDK will be released in Python, but Tappeiner assured me that a second SDK release would include software for children to easily work in the SDK. Thankfully development will require zero installation of software on your computer. Everything is done via the Cozmo app on Android or iOS. So there’s no faffing with XCode or building APKs for Android. Just open up your Cozmo and get to programming. Sort of like you did with that Commodore back in 1982.