Now kids can easily program a complex robot to recognize a smile
Anki’s cute Cozmo bot is finally programmable by the rest of us.
Plenty of toys on the market promise to provide the next generation of coders and engineers with the foundation they’ll need to compete in the rapidly-changing job market. But in a sea of coding-for-kids products, an update to Anki’s holiday-shopping darling, Cozmo the robot, offers a chance for young would-be coders to tap into a complex machine capable of advanced feats, like facial recognition.
Since its release last year, the almost-too-cute tread-traveling bot, which was designed to spark an emotional, Wall-E-like connection with people, has become wildly popular, so it represents a well-established platform. It’s also a complex machine, with 1.6 million lines of code running between the robot itself and its companion app. The adorable bot can recognize individual faces, expressions, and imitate human emotions. Its “personality engine” leverages AI to allow it to emulate a human by doing things like losing interest in a specific game after playing it multiple times.
Since Cozmo’s launch, university students and others have been programming it through a software development kit. But to do that, they had to know the common coding language Python. That changed on Monday, when Anki opened up Cozmo’s brain to novice code-writers via a simple visual system based on Scratch, a graphical programming language developed at the MIT Media Lab. They call the new feature Code Lab.
Programming with pictures
With Code Lab, users can create basic programs by dragging and dropping blocks that symbolize advanced concepts. For example, a child could build a simple program that begins with a block that tells Cozmo to wait (symbolized by an hourglass) until it sees someone smile (depicted by a happy face). The next block in the sequence might tell the bot to drive. When the beginning coder executes the program, Cozmo won’t go until it detects a grin.
Right now, that graphical code runs left to right in what’s known as a “horizontal grammar.” The next release in Code Lab will run a “vertical grammar” that goes from top to bottom, and can incorporate more complex actions, including well-known commands like conditional “if-then-else” statements that coders use in professional programming languages.
Languages like Python are text-based, but Anki has based Code Lab off the decade-old graphical programing language Scratch. (Think pictographs, not words.) The result is that Anki is making it very easy to program a complex robot to do advanced stuff, like recognize faces and expressions.
“We’re trying to figure out how to give people, in this case even kids or complete beginners, access to real robotics tools and functions,” says Hanns Tappeiner, the president and cofounder of Anki. “And when I say ‘real,’ I don’t mean lights blinking, or your robot driving straight, but we’re really talking about things like face recognition, face tracking, facial expression recognition,” and more.
Robots that do kids’ bidding
Cozmo joins other kid-friendly programmable robots already on the market, like LEGO Mindstorms EV3. Aspiring coders can program that system using a LEGO-developed visual language that also uses graphical blocks to symbolize functions like actions. In August, the company will release a new system called LEGO Boost, also with its own visual programming language that’s geared towards kids aged 5 to 12. But neither of those systems are capable of doing facial recognition, even if EV3 does have sensors that allow it to respond to stimuli like touch and color.
And children can also program robots called Dash and Dot by using a Google-made visual programming language called Blockly, or an other one called Wonder that Wonder Workshop, the company behind those robots, created. Dash has distance sensors and microphones and can do things like turn towards a person who is speaking, and has awareness of other robots around it.
Using tech for creativity
MIT Media Lab created Scratch in 2007, and Anki is utilizing an open-source version called Scratch Blocks that was developed as a collaboration between Google and MIT. Kids who use Scratch are “learning the core computational concepts that are important for any other type of programming language,” says Mitchel Resnick, a professor of learning research at the MIT Media Lab and one of Scratch’s creators.
Ultimately, Resnick says that how tech is incorporated into toys matters. “I think it’s really important that we use new technology not just to deliver entertainment, or to deliver instruction,” he says, “but more to provide opportunities for kids to design, create, experiment, and explore.”