We’ve been waiting for the Anki Cozmo SDK for a long time now. This lovable robot kit, with the Cozmo SDK, just became a programmable robot for kids. Cozmo is no longer just a toy, it is an Educational Robotics Toy for kids now that the Robot can be coded in Python.
Why is this important? How do you get started? Where do you find more information?
We will tell you this and more in Kinvert’s article on the Anki Cozmo SDK.
If you’re looking for Vector instead of Cozmo, check out Anki Vector Python SDK.
Want to know the difference between Vector and Cozmo? Check out Anki Cozmo Vs Vector.
Anki Cozmo SDK – Outline
Anki Cozmo SDK – Intro
As a STEM Educator, Engineer, and nerd, I follow Robot Kits for kids closely. We have been watching Cozmo for a long time now. We recommended it as one of the Best STEM Gifts for Kids. Since the Anki Cozmo SDK has been released we will be updating the article soon to reflect the power of the Cozmo SDK.
When most K-12 companies make an “Educational Robot” or a “Programmable Robot” they tend to make something with very little technical depth. Though many companies teach with Dot and Dash, OzoBot, etc, we specifically do not. Up to now we have exclusively taught with the Parallax ActivityBot. Due to the power of the Anki Cozmo SDK we will now be offering this cute little fella in our Robotics Classes for Kids and Teens for K-12.
You can find our introductory video here. https://www.youtube.com/watch?v=wE_xrHlzIFY
We will be talking about the features of the Robot and particularly the features of the SDK.
We have taught a lot of young kids Python. You can read more in What is a Good Age to Teach Kids Python? Anki also has an article on how we teach with Cozmo at https://developer.anki.com/blog/features/interview/from-stem-to-learn/.
Anki Cozmo SDK – Features
I’ll talk briefly about Cozmo since if you got here you probably already know a lot about it. Then I’ll go in to the SDK.
Cozmo is a Robot for kids that shows a lot of emotion and is fun to play with. It has two tracks/treads, an arm, a tilting head, OLED, camera, speakers, and a backpack light. It also has an edge detector and IR floodlight which I currently understand doesn’t have much functionality in the SDK.
The SDK gives access to nearly everything you would want to control in Cozmo. A quick list of some of the things you can control.
- Cozmo Face OLED Display
- Access Camera Data
- Backpack Light
- Run Animations
- A fair bit more
You can program Cozmo in Python and at the time of writing it is 3.5. They have an API Reference for the Anki Cozmo SDK here:
Anki Cozmo SDK – Importance
This in my opinion is going to be a complete game changer. Students flip out and get super excited when they see and interact with Cozmo for the first time. Not only is this fun and engaging but with such a complete SDK in Python the possibilities are practically endless. For example, we are currently teaching students AI. In Coding for Kids and Teens K-12 students can now incorporate the Anki Cozmo SDK and utilize Genetic Algorithms, Neural Nets, Tensor Flow, OpenCV, and a ton of other amazing tools.
As we utilize these Python Libraries in the Anki Cozmo SDK we will make links below to examples.
- Cozmo OpenCV
- MatPlotLib (can we find a way to display this on the screen)
- BeautifulSoup4 bs4
- …SO MUCH MORE
My head is exploding with all the possibilities! Part of me wishes I recorded the first conversation I had with the developers at Anki. Kaiser was very patient as I verbally drooled and convulsed over what this platform is capable of.
Sometimes it is difficult to develop a curriculum for a K-12 course. For example with the OzoBot, Dot and Dash, etc, there didn’t seem to be enough material to fill a semester.
With the Anki Cozmo SDK, as with the Parallax ActivityBot 360 Robot Kit, there are so many possibilities how do I even begin to choose? We can only fit in so much material which means I need to leave something out of a one semester class for kids.
Luckily the Kinvert teaching philosophy works well for this and students can pick up where they left off on a previous semester.
I am incredibly excited to see where this leads. I can’t stress enough how important this SDK is for helping kids to truly learn STEM and step above the typical Scratch, Minecraft, and Lego.
This is a game changer.
Anki Cozmo SDK – Setup
For complete setup instructions head to:
Long story short, you’ll need to have Python working on your machine, get a system to communicate between your computer and your phone (in my case adb), and get the Anki Cozmo SDK Python Library.
We may make more detailed installation instructions in the future. However the best instructions will probably always be at the link above at the Anki Cozmo SDK Documentation.
Setup was pretty easy. I found out the SDK was legit after Thanksgiving and got this up and running for Kinvert students before Christmas of 2017.
Anki Cozmo SDK – Getting Started
After setup, how do you get coding and start directly programming Cozmo?
This will depend on your platform, IDE selection, etc. However in general, after setup you’ll need to connect your phone to your computer via USB.
Next approve a connection between the phone and computer if that’s required.
Start up Cozmo, and in the settings you need to enable the Anki Cozmo SDK.
After this, you should be able to execute one of the example programs, such as Hello World.
Once again, we’ll have more detail in another article soon and link to it here. For now check out how to do this on the Anki Dev site.
Also don’t forget to check out the Anki Cozmo SDK Forums. It’s a great resource and will show you what others are up to.
Anki Cozmo SDK – Conclusion
I think this article speaks for itself. We think the Anki Cozmo SDK is a great way to achieve engagement in K-12 STEM, and has enough power to actually make this happen. I think most STEM Education companies will go the route of Graphical Programming. However I think the power is in the Python implementation.
I have introduced this to students and it tends to take them 15 minutes or less to get Cozmo to stack blocks on each other using the Graphical language. It’s clear I would struggle to make a full semester coding class for kids based on this. Unless the kids were very young.
But with Python I can teach 7 year olds, maybe younger, and this is powerful enough that graduate students can grow with the platform in my opinion.
That said, the lack of hardware customization is disappointing. If you have more of a hardware or electronics focus in your STEM classes for kids, check out the Parallax ActivityBot.
One last gripe. I really want them to be able to put the ‘brain’ of Cozmo in a PC so I don’t need to buy a bunch of phones for class. This will be a logistical nightmare, though I think in the end it will be worth it.
Finally I want to make it clear this article will be updated regularly. As we use certain libraries, we will link to examples. I’ll slowly link this out to places like OpenCV and hopefully add installation and implementation instructions etc.
Want to take baby steps in this direction? Check out our Ultimate Guide to Block Coding.