Anki's Code Lab Brings Sophisticated Graphical Programming to Cozmo Robot

With an easy-to-use interface based on MIT's Scratch, you can command Cozmo to do complex tasks without any programming experience

3 min read
Anki's Cozmo robot will teach kids to code
With an easy-to-use interface based on Scratch, you can now command Cozmo to do complex tasks without any programming experience.
Image: Anki

When Anki introduced Cozmo almost exactly one year ago, we started off with 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 to us 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 US $200.

Today, 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. It’s fun, it’s easy, it’s affordable, and last week, we tried it out for ourselves, with a little help from Anki co-founder and president Hanns Tappeiner.

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, though, you do have to know how to code. Like, you have to have some experience with (or be willing to learn) Python, and read the SDK documentation so that you understand how to get the robot to do what you want it to do. For most people who buy a Cozmo, this is a significant barrier to entry. More importantly, it’s also a barrier for parents or teachers who might want to help young kids learn to code with Cozmo.

Anki’s Code Lab 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

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 custom behaviors.

Programming Anki's Cozmo robot is now easier with graphical interface based on Scratch Anki’s Code Lab is an easy-to-use graphical interface based on MIT’s Scratch, a popular visual programming language. Photo: Anki

And once you’ve reached the limitations of the GUI, you can comfortably take the next step down 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.

Our initial criticism of Cozmo was based on wondering whether as a toy it would be able to hold our attention for more than 5 minutes. It now seems like as more than a toy, it won’t have any problems doing exactly that. Code Lab is available today to all Cozmo owners as a free software update to the Cozmo app.

[ Anki’s Code Lab ]

The Conversation (0)

How the U.S. Army Is Turning Robots Into Team Players

Engineers battle the limits of deep learning for battlefield bots

11 min read
Robot with threads near a fallen branch

RoMan, the Army Research Laboratory's robotic manipulator, considers the best way to grasp and move a tree branch at the Adelphi Laboratory Center, in Maryland.

Evan Ackerman

This article is part of our special report on AI, “The Great AI Reckoning.

"I should probably not be standing this close," I think to myself, as the robot slowly approaches a large tree branch on the floor in front of me. It's not the size of the branch that makes me nervous—it's that the robot is operating autonomously, and that while I know what it's supposed to do, I'm not entirely sure what it will do. If everything works the way the roboticists at the U.S. Army Research Laboratory (ARL) in Adelphi, Md., expect, the robot will identify the branch, grasp it, and drag it out of the way. These folks know what they're doing, but I've spent enough time around robots that I take a small step backwards anyway.

The robot, named RoMan, for Robotic Manipulator, is about the size of a large lawn mower, with a tracked base that helps it handle most kinds of terrain. At the front, it has a squat torso equipped with cameras and depth sensors, as well as a pair of arms that were harvested from a prototype disaster-response robot originally developed at NASA's Jet Propulsion Laboratory for a DARPA robotics competition. RoMan's job today is roadway clearing, a multistep task that ARL wants the robot to complete as autonomously as possible. Instead of instructing the robot to grasp specific objects in specific ways and move them to specific places, the operators tell RoMan to "go clear a path." It's then up to the robot to make all the decisions necessary to achieve that objective.

Keep Reading ↓ Show less