18 SERVO 08.2017
MAKE MINE A COZMO
When Anki introduced Cozmo about a year ago, there was a bit of skepticism, and a feeling
that Anki was going slightly overboard with the
kinds of promises that it was making for this cute
and capable little robot. What was more exciting
was when Anki followed up a few weeks later with
Cozmo’s software development kit (or SDK)
allowing access to a variety of very sophisticated
features through relatively simple lines of code.
Instead of having to worry about the software necessary for navigation, object recognition,
manipulation, and all of that complicated robotics programming, Cozmo already knows how to do it
and gives you direct access to its capabilities — all on a robot that will cost you under $200.
Now, Anki is announcing Code Lab, which takes that SDK and adds a graphical drag-and-drop
interface that makes it incredibly simple to get Cozmo to do complex tasks involving vision,
manipulation, and decision making — even if you have zero programming experience.
Cozmo has a great SDK that allows access to lots of high-level functionality. For example, a few
simple commands can leverage Cozmo’s ability to localize and plan paths that avoid obstacles,
manipulate blocks, and even recognize faces and emotions, and respond with its own “emotions.” In
order to use the SDK, however, you do have to know how to code. You’ll need some experience
with Python, and be willing to read the SDK documentation so you understand how to get the
robot to do what you want. For most people who buy a Cozmo, this is a significant barrier to entry.
It’s also a barrier for parents or teachers who might want to help young kids learn to code with
To solve this and make the whole process easier and more accessible, Code Lab adds a
graphical user interface (or GUI) on top of the SDK, based on MIT’s visual programming language,
Scratch. Colorful interactive blocks represent different functions, and by dragging and dropping those
blocks (and making some minor edits to their parameters), you can get Cozmo to do all sorts of
Once you’ve reached the limitations of the GUI, you can comfortably take the next step into
the underlying Python code. Anki also plans to release another layer (called “vertical grammar”) that
will allow you to go the other direction, implementing custom Python code and more complex
functionality into blocks in the GUI, which is a very cool idea.
Anki’s Code Lab is an easy-to-use graphical
interface based on MIT’s Scratch: a popular
visual programming language.