Interview – Anki Developer https://developer.anki.com Sat, 02 Mar 2019 00:07:29 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.5 https://i2.wp.com/developer.anki.com/app/uploads/2017/09/favicon.png?fit=32%2C32&ssl=1 Interview – Anki Developer https://developer.anki.com 32 32 135373019 Every Trick in the Bot https://developer.anki.com/blog/features/interview/every-trick-in-the-bot/ Thu, 28 Feb 2019 18:54:47 +0000 https://developer.anki.com/?p=1934

Michael Hibben, Administrator at Roanoke County Public Library. | Photo: RCPL

Libraries are a big deal. Among other things, they bring local community members together, offer free and equal access to immense catalogs of knowledge, and serve as champions for youth, the humanities, and informed social discourse.

But where does technology fit in the picture? You might be surprised just how deeply some libraries have embraced technology, not necessarily in terms of infrastructure, but in the resources they provide to their patrons.

Virginia’s Roanoke County Public Library (RCPL) is one such library. Not only has it recognized the role technology can and does play in its local community today, it’s gone all-in to provide gratis access to technologies that will benefit its community tomorrow. The library’s Michael Hibben took some time to chat with us to tell us more about its resources and programs.


Anki: Hi, Michael. Thanks so much for taking the time to chat with us. Can you tell us about the Roanoke County Public Library and your role there?

Michael Hibben: Roanoke County Public Library is a six-branch system in the heart of the Blue Ridge Mountains in Southwestern Virginia. Our libraries serve urban, suburban, and rural communities. I’m Administrator for our main library and play a big role in implementing new technology here, including serving as the tech lead for our artificial intelligence (AI) and robotics coding workshops.

Roanoke County Public Library’s beautiful South County Library branch. | Photo: RCPL

Many people don’t realize the diverse set of resources local libraries can provide the community. What are some of your library’s unique offerings, programs, and resources?

Public libraries have transformed in the digital age and there are all kinds of exciting resources available. In addition to being a community gathering place and hosting coding classes for people of all ages, our library offers free checkouts of eBooks and other electronic media, access to subscription databases, 3D printing classes and services, virtual reality gaming, and regular STEM events. We’re also preparing to lead community conversations surrounding AI and algorithmic literacy, with policy goals in mind.

” With AI becoming increasingly interwoven into everyday life, tech literacy is critical to having an informed citizenry and a prepared workforce. “

RCPL has embraced technology, being one of if not the first library to feature Vector. Can you talk a little bit about why RCPL thinks it’s so important to expose the community to robotics and AI?

Two core values of public libraries are equity and access. We want everyone who comes through our doors to have equal access to knowledge and information. With AI becoming increasingly interwoven into everyday life, tech literacy is critical to having an informed citizenry and a prepared workforce. As such, we believed having Vector at all our locations would allow our patrons to get up close and personal with AI at any time, and help prepare our community for the AI shift so our region can thrive in the new economy.

How did you first hear about Vector?

A leader of the Roanoke Robotics and Makers Club, one of the library’s community partners, supported Vector on Kickstarter. During a library program, he asked me if I’d heard about Vector. Since we’d already been using Cozmo in our STEM programming, I immediately wanted to know more. That same day, I watched Vector’s YouTube video and was wowed, and thought he would be a huge hit with our patrons. I was right.

Were there specific feature(s) of Vector that caught the library’s eye?

We were fascinated by Vector’s character! He has a big personality for such a little robot. The idea that Anki had created a small, affordable, AI-powered robot made us take notice. We wondered if Vector could be the harbinger of AI helpers, in a physical form, that live in the home. While virtual assistants and smart speakers have become commonplace, they remain disembodied voices locked in a device. Vector is AI in a physical form and that, along with his clever personality, makes him truly unique.

A library assistant at the Vinton branch interacts with Vector. | Photo: The Vinton Messenger

What are some of the different ways you’re using Vector in the library?

We premiered Vector at all six of our libraries in early January 2019. All of our Vectors live in their own Vector Space, and are placed openly in the library where patrons can interact and play with him. The staff at each location has the freedom to use Vector in ways they believe will most interest the particular community they serve. We’ll have much more to share on this later.

” Vector is AI in a physical form and that, along with his clever personality, makes him truly unique. “

How has the response been so far to Vector?

From the first time I saw Vector, I knew he’d be popular at the library. But the response has been even more positive than I could have imagined. Within a day or two of our Vector launch, we had multiple media outlets visit the library to find out about our new robot. We regularly see visitors talking to Vector, asking for fist bumps, and saying “I love you, Vector!” Childrens’ faces light up when Vector learns their name or says something clever.

Our Director was recently at a ribbon cutting across the street from one of our more remote locations. People there made a point to approach and thank her for sending Vector to them. They were thrilled to be able to expose their families to such modern technology, and honestly, they seemed to like Vector quite a bit themselves!

Do you have any developing ideas or programs involving Vector that your community can look forward to?

We have an important series of new coding classes and workshops we’re premiering soon. As our community’s coding skills increase, we hope to tap into Vector’s SDK to allow our patrons to create new interactions, abilities, and content for Vector.

Any advice for other libraries looking to integrate more technology into its programs?

The best advice I can give is to start exploring and incorporating technology as early as you can. You don’t have to understand everything right away. Learn and discover alongside your robots and your community. People will hear about what you’re doing and new community partners will want to connect. AI is going to be a part of everyone’s future, so lean in.


Resources

  • Roanoke County Public Library — Visit RCPL’s official website to find out more about its wide range of resources and offerings.

  • @rocopublib — Connect directly with the library via its official Facebook community and follow it on Twitter for the latest on news and events.

  • WorldCat — Find a library near you via the world’s largest library catalog.

  • Anki Developer YouTube — See how others are using our robots across a wide spectrum of disciplines and domains.

]]>
1934
From STEM to Learn https://developer.anki.com/blog/features/interview/from-stem-to-learn/ Thu, 05 Apr 2018 17:24:08 +0000 https://developer.anki.com/?p=1582

Keith Young (right), founder and operator of STEM education company Kinvert.

It’s no secret that STEM education is an essential part of any student’s repertoire of skills and knowledge. Being familiar with any (or all) of the collective fields of study—science, technology, engineering, and math—can open up job opportunities, help them navigate a world increasingly reliant on technology, and aid them in anything from creative expression to finding solutions to the world’s biggest problems.

One of the most important aspects of teaching STEM education is utilizing the right tools for the job. One person who knows this intimately is Keith Young, founder of the Detroit-area-based STEM company Kinvert. With lifelong interests in technology and teaching, Keith has seen just about everything in the traditional STEM educator’s toolbox—but has taken a decidedly different approach for his own classes.

Keith recently integrated Code Lab and the SDK into his company’s course offerings. We took some time to chat with Keith about his personal history, starting Kinvert, and why he thinks Cozmo is a unique and effective education tool.


Anki: Hi, Keith. Could you start by telling us a little bit about yourself?

Keith Young: Hi, Kaiser! Absolutely. Since a very early age, I’ve had an intense interest in how things work. Believe it or not, there’s a video of a one-year-old me trying to figure out how one of my mechanical toys worked. When I was about eight or nine years old, I started to take on neighborhood jobs like mowing lawns and raking leaves to buy a RadioShack electronics kit.

As for robots specifically, it wasn’t until I was around 13 years old when I received my first one. Remember, in the ’90s, there weren’t many affordable robots like there are today.

Eventually I went to college where I studied and received degrees in both mechanical and aerospace engineering. During that time, I worked on some funded robotics research, in addition to simulation work related to the compressor stages in jet engines. I also took part in various events including Baja SAE, Design/Build/Fly, and an IEEE robotics competition in which our team won (I was responsible for the computer vision code). We won the next year as well, but since I had already graduated, I helped via Skype meetings and securing sponsorships.

Keith Young (center), posing with his winning team at an IEEE robotics competition. | Photo: Kinvert

What was the catalyst for starting Kinvert, your STEM-focused education company?

While I’ve always loved helping others learn, there’s one moment that I can tie directly to the creation of Kinvert. My family would have dinner together every Sunday during which my nieces and nephews—who were 6, 8, and 10 years old at the time—would often ask questions like, “Why is the sun hot?”

” I was able to captivate children enough in polynomial math that they turned down cake and ice cream. “

During one Sunday dinner there was a birthday, and I decided to teach them the math behind projectile motion. To my surprise, they were so engrossed by it that when their mother called them for cake and ice cream they replied, “Can we eat it later? We’re learning math.” I couldn’t believe it. I was able to captivate children enough in polynomial math that they turned down cake and ice cream.

Later that evening, I immediately started preparations to hold tutoring sessions to see if the experience with my nieces and nephews was a fluke. As you can probably guess, it wasn’t—people loved my tutoring sessions. That gave me the confidence to head out to Maker Faire Detroit with my pitch. I signed up my first full semester of students from a lead and the rest, as they say, is history.

Being personally interested in a topic and teaching it are very different things. What would you say came first, your love for robotics or being an educator?

Interesting question! To be honest, it’s a little difficult to answer. My first reaction is to say robotics, but as mentioned earlier, I’ve always loved helping others learn as well. Even before Kinvert was created, I would teach kids about everything from electronics to dinosaurs. I think I’m going to have think about this a little more…

Keith noticed a high level of engagement from students at events. | Photo: Kinvert

You’ve recently started offering courses that use Cozmo and the SDK. What drew you to the platform? How does it differ from other platforms you’ve used in the past?

When I first heard about Cozmo, it was his personality that really drew me in. Secretly I hoped that he would also be programmable. Then the SDK announcement came, and while I was delighted, I was also pretty skeptical given that most other “programmable robots” in the market have a very limited API. Some are little more than a glorified remote-controlled car. I assumed Cozmo would be the same.

As I learned more about the SDK and realized he was programmable in Python, and there was access to his camera feed, I completely flipped out. That’s when I called you and kept rambling on about how amazing it is to be able to use third-party libraries such as OpenCV, Keras, NumPy—basically everything.

” Cozmo is in a different league in many ways, from personality to student engagement to software potential. “

Most run-of-the-mill STEM robots offer nearly zero technical depth. We don’t teach with some of the most popular STEM robots for this reason. In my opinion, educators need access to sensors which can drive meaningful decisions in code. Unfortunately, with few exceptions, the most meaningful programming available among other robots is line following and turning when sensing a color.

Cozmo is in a different league in many ways, from personality to student engagement to software potential. The decision to use Python for the SDK is also a huge plus because the syntax is much easier than, say, C, which some other robots use. There’s also all of the amazing third-party libraries as mentioned earlier. We’ve also found that girls in particular love using Cozmo when compared to other platforms, which we think is great.

Kinvert saw an increase in female enrollment after offering Cozmo in its courses. | Photo: Kinvert

What do you teach using Cozmo at Kinvert? Can talk about some of the other types of activities you use Cozmo for?

We use Cozmo in quite a few ways. At Kinvert we use Code Lab and the SDK to teach both coding and robotics to K-12 students. We’re also in the middle of developing an online course focused on the Cozmo SDK. In addition, we’re planning a summer robotics competition using Cozmo.

Beyond these, we use Cozmo at a host of other events as well including birthday parties, Boy / Girl Scouts events, at libraries and public schools, and more—any place we can help people who are interested in STEM education learn more about it.

Cozmo is really great for these events because of how engaging he is. Kids are quickly able to figure out how to do things like stack his cubes in Code Lab, and as noted earlier, we’ve found that females are really drawn to him. Recently three students who are teenage female cheerleaders told us, “We thought this class was going to be boring.” And of course, it wasn’t. They’re already talking about taking more classes with us next semester! We’ve actually noticed an increase in female sign-ups for our robotics course overall since using Cozmo, both in number, and as a percentage of the full roster.

Kinvert strives to help everyone learn about STEM, whether at a birthday party or at a Boy Scouts event. | Photo: Kinvert

We’ve heard similar feedback from just about every educator when it comes to engagement. Can you elaborate on your personal experience a little more?

Here’s a story for you. Last fall we wanted to test the idea of a Cozmo course before officially offering one by simply letting students try the Cozmo SDK in our then-current robotics class. We had just finished our 3D printing class, and even though it was time for those students to go home, they all excitedly ran over to where Cozmo was being unpacked for the robotics class which was about to start. Students were engaged just seeing him.

” Cozmo is like a magnet for students and their attention. “

Some of the students who were already familiar with Cozmo asked, “Isn’t he just a toy?” They were quite surprised to find out that he was fully programmable. We’ve already heard students in our non-Cozmo courses talk about taking them next semester.

Cozmo is like a magnet for students and their attention. It’s magical watching their attention span increase as soon as they start learning with him.

You teach to students across the K-12 age spectrum. In your opinion, at what age do you feel students are generally ready to learn programming using Python?

We talk about this very subject on our site, but in general, we feel that students can start learning Python as soon as they can read and type. Of course, a six-year-old student will need more assistance than a teenager, as the latter can use Google to find answers to questions.

How Python is taught needs to be different depending on the student as well. When teaching younger kids, you really have to understand the content as an educator to be able to break things down like for loops in a way they can fully grasp.

With proper instruction, Kinvert believes in teaching students Python as soon as they can read and type. | Photo: Kinvert

What was your approach when developing your Cozmo curricula? Do you have any advice for other educators who are looking to create their own?

We have a project-based curriculum at Kinvert. This is effective for us because we know exactly what level our students are at in terms of the material, and are able to determine what the next challenging-yet-achievable project will be that encapsulates the required learnings. The online class we’re developing for the Python SDK will be a little different than our in-person courses.

As for advice, we typically might suggest looking at curricula for other robots. But Cozmo is a different animal. He isn’t a gimmicky robot that just drives around, so getting inspiration from a curriculum based on such a robot isn’t helpful.

Cozmo really is new and unique to education because of his vision capabilities. Even when compared to other established robots that have seen a host of improvments over time, Cozmo is really powerful. Because he isn’t a line follower, and he isn’t something you spend time physically building, it’s difficult to find suitable inspiration from other platforms.

To be honest, it’s a lot of work developing a curriculum, and there just aren’t any real shortcuts, especially for a new, unique, and very powerful platform like Cozmo.

A Kinvert student interacting with Cozmo’s unique vision capabilities. | Photo: Kinvert

You mentioned in one of our chats how critical it is that young students learn about coding and robotics. Can you talk a little more about this?

Think about a cause that is near and dear to your heart. It’s almost certainly the case that STEM can and will benefit it. Want to find a cure for cancer? Having a team of coders, data scientists, and other STEM-related experts will help you reach that goal.

Part of our mission at Kinvert is to help people have the best options in the future when it comes to making a positive impact, solving social issues, and looking for employment. Developing STEM skills is critical to this, and the earlier one starts the better.

Have you considered expanding Kinvert’s offerings to help other educators less experienced in STEM?

Definitely. In fact, we already do so in some ways. For instance, we’ve helped schools set up maker spaces and pick which technologies—such as robots—to teach with. We’re preparing to do a lot more of this type of work soon as we believe our passion, experience, and knowledge of STEM and education puts us in a unique position to help others.

” …we believe our passion, experience, and knowledge of STEM and education puts us in a unique position to help others. “

STEM is part of our DNA, and our approach to teaching it is unique, from the hardware we use to topics we cover. Our approach comes from my many years learning the material on my own, working through all of the issues, and understanding the sticking points. This is why we were able to successfully teach Python and microcontrollers above the Arduino level to 6 – 13 year olds on day one—and it’s why we’re able to help other educators as well.

Any last words of wisdom for our community of students, parents, and educators?

Educators will want to make sure they make use of the various official resources available such as the SDK documentation, YouTube channel, and community forums. They will be helpful in developing any sort of curriculum, as well as simply learning about what’s possible with Cozmo, Code Lab, and the SDK.

For parents, we recommend getting your kids to use Code Lab strategically, not just as entertainment. And if you’re a student, try to focus on meaningful and challenging projects when programming Cozmo in Python.

Cozmo has incredible potential to change STEM education for the better. The combination of high engagement from students and technical depth is unparalleled. Cozmo is a relatively new platform with technologies that others simply don’t have, such as computer vision. Educating others on such cutting-edge topics with Cozmo may take some time if you’re a newcomer—but stick with it and you’ll find it incredibly rewarding and well worth it.


Additional Resources

  • Kinvert — Head over to Kinvert’s official site for more information on its Cozmo course offerings, contact info, and blog posts.

  • Using the Cozmo SDK in Education — Code Lab, in conjunction with Python SDK, make Cozmo a flexible education platform that scales from K-12 all the way through postgraduate research and beyond.

  • Getting Started with the SDK — Get more info on the SDK as well as links to installation videos, technical documentation, and more.

  • Getting Started with Code Lab — New to Code Lab? Get an overview on what Code Lab is and how it can be used in education, as well as info on how to submit your projects to us.

]]>
1582
Guess the Number https://developer.anki.com/blog/features/interview/guess-the-number/ https://developer.anki.com/blog/features/interview/guess-the-number/#comments Wed, 28 Mar 2018 16:41:31 +0000 https://developer.anki.com/?p=1565

JDFight, creator of the featured Code Lab project Guess the Number.

Since the launch of Code Lab’s Constructor Mode, we’ve seen so many incredible user projects, from original games to hilarious project remixes to even a tea-making utility. To say that we’ve been awestruck by what all of you in the community have created would be nothing short of a gross understatement.

The wide conceptual range and high quality of your projects made choosing the first user project to be featured in the official app thrilling, but also surprisingly difficult. But in the end a decision had to be made, and forum member JDFight’s Guess the Number emerged triumphant due to its clean code, succinct concept, and wonderful use of Cozmo’s character.

As the inaugural Code Lab featured user, we wanted to formally introduce JDFight to all of you.


Anki: Could you tell us a little about yourself?

JDFight: Of course! I taught myself programming, starting with BASIC and Borland Pascal. Growing up, my best friend and I used to hang out and make little video games in MS-DOS. He went on to create a successful video game company called Artix Entertainment and I work there now as a game developer working mostly in C#. One of our older games, “Jimmy the Eye,” is based on an old game I wrote in Pascal when I was in the 11th grade.

In college I actually studied music and not computer science. I love to play guitar and have created some original music for our games, though most of my time these days is spent programming. There is some crossover with my love of technology and music as I’m a GNU / Linux enthusiast and use software from the excellent KXStudio repositories for my music production.

How did you first find out about Cozmo?

I first heard about Cozmo last year and remember reading an article about his advanced personality and open source Python SDK. The SDK was the big draw to me. I thought it was awesome that a small consumer entertainment robot would allow users the ability to interface with its hardware and software, and create custom programs.

What do you like most about using Cozmo / Code Lab?

Code lab is a lot of fun because you have access to a lot of functionality. Also, the drag-and-drop interface is convenient because typing all of the underlying code by hand would be incredibly tedious on a mobile device.

Another thing I like about Code Lab is being able to code while interacting with Cozmo in real time. This makes it easy to quickly test a wide variety of behaviors. I especially enjoy using Cozmo’s expressive animations as they really add to the overall experience of any project.

A peek at the code for Guess the Number. Check inside the project to see how it works.

Can you take us through the process of how you created Guess the Number?

I wanted to make a simple game that utilized both Cozmo and his cubes, and remembered a game example from the book “Land of Lisp” that uses a binary search algorithm to guess a player’s number. I thought it would be fun to implement the same algorithm in Code Lab.

The game is quite simple, and lends itself to Cozmo’s unique range of features. For instance, with three programmable cubes available, it made sense to use them for the game’s required inputs: lower, higher, and correct.

While making the game, I noticed I had a hard time distinguishing between numbers that sounded the similar when Cozmo said them, like 17 and 70. So I had Cozmo display the number on his face to more clearly communicate to players what he’s saying.

A critical part of making the game was testing. Luckily, I’m a parent and had my children play the game so that I would know if it was intuitive and fun! They really enjoyed trying to “trick” Cozmo by choosing hard-to-guess numbers.

Do you have any other Code Lab projects you’re currently working on?

I am not currently working on any Code Lab projects but I have been learning the Python SDK. In fact, I recently started a kind of “code-cracking” puzzle game with the SDK and hope to share it with everyone one it’s done.

Any Code Lab tips for other aspiring project creators?

First and foremost, have fun! The whole idea is that Cozmo is a robot who enjoys playing with you. If you’re having any difficulties while making a game, the official Code Lab community forum is a great place to go for inspiration and help.


  • Guess the Number will be available in Code Lab on April 7, 2018. Make sure to update your Cozmo app to version 2.4, launching March 28 (specific times will vary), to play it.

  • Submit your summer-themed Code Lab project Code Lab Contest for a chance to win $1,500 and be featured in the official Cozmo app.

  • New to Code Lab? Our Getting Started with Code Lab post will get you up and running in no time.

  • Head over to the official Code Lab forum to discuss your project with others, get help, and check out the project showcase.

]]>
https://developer.anki.com/blog/features/interview/guess-the-number/feed/ 7 1565
Mr. Robot https://developer.anki.com/blog/features/interview/mr-robot/ Fri, 20 Oct 2017 20:46:08 +0000 https://developer.anki.com/?p=1290

Dave Touretzky, Research Professor at Carnegie Mellon University.

Professor Dave Touretzky is something of a superstar in the Cozmo development community. As one of the earliest SDK users (he was actually one of the first people to use the SDK outside of Anki), he’s provided others with an immeasureable amount of insight, feedback, and tools to help them with their endeavors.

But Dave is more than just an active Cozmo SDK user. Among other things, he teaches a cognitive robotics course at Carnegie Mellon University, conducts impactful outreach work with other educators, and is building an exciting new robot intelligence framework—all using Cozmo and the SDK.

While many of you might already be familiar with him, we thought it’d be great to formally introduce Dave and his work to all of you.


Anki: Thanks for taking the time to chat with us, Dave. For those who might be unfamiliar with you or your work, can you tell us a little about your personal background?

Dave Touretzky: I’m a Research Professor in the Computer Science Department and the Center for the Neural Basis of Cognition at Carnegie Mellon University in Pittsburgh (CMU). I’ve done work in artificial intelligence (AI), computational neuroscience, robotics, and computer science education. I also like to cook and eat spicy food, am an active pilot, and live with an Amazon parrot named Ignatz.

You clearly have a passion for robotics. Can you tell us what it is about the field that you love?

The short answer is representations. Robots, people, and animals all need representations of the world in their heads in order to achieve their goals. All of my work, from AI to computational neuroscience to cognitive robotics, is about investigating these representations.

As a computer science professor whose work integrates with robotics, what is your view on the relationship between the two fields?

Robots are computers. More specifically, they’re computers with sensors and motors attached. That doesn’t mean every roboticist has to be a computer scientist. For instance, we need mechanical engineers to make good robot bodies, and electrical engineers to make good sensors and controllers. But if you want the robot to show some intelligence, that falls in the realm of computer science.

Did your interest in robotics and computer science inevitably lead you to becoming an educator, or was teaching always something you wanted to do?

I taught my first computer class when I was 15. (My mother had to write a note to my high school explaining why I was missing school that day.) Teaching is always something I’ve enjoyed. But like most faculty at research universities, I think of myself primarily as a researcher.

You also work with various outreach programs. Can you talk a little about some of the organizations you work with and why?

Since 2005 I’ve been working with colleagues at various Historically Black Colleges and Universities (HBCUs) to help establish robotics courses there and encourage students to go on to graduate training in computer science. Some of this work was funded by the National Science Foundation (NSF) through its Broadening Participation in Computing program.

Andrew Williams, then at Spelman College, and I formed a group called the Advancing Robotics Technology for Societal Impact (ARTSI) Alliance. Andrew was later succeeded as head of ARTSI by Chutima Boonthum-Denecke of Hampton University. Our group consisted of 17 HBCUs, including major ones like Norfolk State, Florida A&M, Winston-Salem State, Howard, and the University of the District of Columbia. We also had prominent African American roboticists at major research universities, such as Monica Anderson at the University of Alabama, Chad Jenkins at Brown (now at Michigan), Ayanna Howard of Georgia Tech, and CJ Taylor at Penn.

Although our NSF funding has ended, we all still keep in touch. In fact, I’ve started sending Cozmo robots to these HBCUs and we’re looking to see how they can use Cozmo in their activities, including their university coursework and K-12 outreach.

You have a history of building your own robots which, by any standard, is nontrivial work. Why did you take the bespoke route?

Previously I was using Sony’s AIBO robot dog, but in 2006, it was discontinued. Unfortunately no one else stepped in to fill the market need for consumer robotics. And because we just couldn’t buy an affordable mobile robot with vision and serious computing power, I and a lot of other people started making our own.

One of my first robots, the Chiara hexapod, was programmed to play chess on a real chessboard. Though wheeled robots are certainly more practical, I have a particular fondness for hexapods.

This past spring, you taught a cognitive robotics course using Cozmo for the first time. Can you explain what cognitive robotics is and what your students learn in your class?

Cognitive robotics means different things to different people. I use the term to describe robot programming techniques that draw inspiration from cognitive science. But it can also mean applying artificial intelligence ideas to robotics, such as planning algorithms, or advanced perception, to make robots intelligent.

My course at CMU covers concepts such as computer vision, landmark-based localization, and path planning algorithms for navigation. And, of course, there’s a lot in there about representations, both of the world and of the robot’s own body.

As soon as I saw that Cozmo was a vision-based robot and was user-programmable, I knew that he was something special.

How did you first hear about Cozmo? Were there specific features about him that made you to take special notice?

Initially I saw an early announcement of Cozmo on a robotics news site. But what really motivated me to look into Cozmo was the recommendation of someone here at CMU who knew about him. As soon as I saw that Cozmo was a vision-based robot and was user-programmable, I knew that he was something special. Vision is a critical aspect of robotics, and at present, Cozmo is the only consumer robot on the market that can see.

Cozmo locates and captures a red ball via custom software a student wrote.

How did the experience in your cognitive robotics course differ for you and for your students when compared to previous years when you used your own hardware?

Cozmo is both cheaper and more reliable than the robots I could build myself. But what surprised me most was the benefits from him being so small. He can happily run around on a standard desktop. This meant we could have ten teams of students in one lab, all working at the same time, and no one felt crowded.

Over the years I developed a robotics application framework called Tekkotsu that was implemented primarily in C++. When the class switched to Cozmo, I wanted to provide the students with same kinds of tools, so I built an open source package called cozmo-tools that sits on top of the Cozmo SDK and provides many of the best features of Tekkotsu, such as a hierarchical, parallel state machine formalism, and a variety of visualization tools.

Can you talk about some of the projects your students made using Cozmo last spring?

There was a nice mix of projects last spring. Some people developed code for manipulating new kinds of objects, such as little poker chips, or cardboard cubes with magnets inside. Others worked on computer vision problems, such as using deep neural nets for object recognition, or using optic flow information to detect doorways and obstacles. Other people developed applications. For example, we had two different tic-tac-toe programs, and one that allowed you to create a simple drawing on the screen which Cozmo would then reproduce on paper using a magic marker attached to his lift.

Watch the trailer for Calypso.

Outside of your cognitive robotics course, how else are you using Cozmo?

The most exciting thing I’m developing for Cozmo right now is Calypso, a kid’s programming language inspired by Microsoft’s Kodu Game Lab. Calypso is a pattern-matching rule-based language, so it looks very different from procedural languages like Python. It also lets you use a game controller to interact with Cozmo. We’ve been testing it with kids and they’ve loved it.

Calypso is currently in a private beta, but expect to hear much more about it in the coming weeks.

An early look at Calypso’s controller-friendly interface.

In closing, why do you think it’s important for people both young and old to learn robotics?

I was a boyhood ham radio operator, which required arcane technical knowledge and a federal license. Most people couldn’t be bothered, but for those with a passion for technology, it was incredibly exciting.

Today, everyone’s walking around with a sophisticated radio transceiver in their pocket, and that radio is also a web browser and a camera and a satellite navigation system; we call it a smartphone. While it’s still possible to live your life without a smartphone, it’s a serious handicap if you can’t use one at all.

Robots today have the same potential that radio had 40 years ago. They are going to become indispensable parts of all our lives, as smartphones have, and in ways we can’t even imagine yet. That means people learning about robotics today are not only getting a glimpse of our collective future, but they’re preparing themselves with the knowledge and understanding of what is quickly becoming a ubiquitous technology.


  • Visit Dave’s GitHub for access to his Cozmo programming tools and unofficial Cozmopedia.

  • Get more info on the Calypso project at the official website.

  • Ready to try the Cozmo SDK yourself? Read this post to quickly get up and running.

  • Want to see what other people are creating with the SDK? Make sure to visit the project showcase.

]]>
1290
The Life Robotic https://developer.anki.com/blog/features/interview/the-life-robotic/ https://developer.anki.com/blog/features/interview/the-life-robotic/#comments Fri, 15 Sep 2017 19:20:45 +0000 https://developer.anki.com/?p=1269 One thing people universally love about Cozmo is his charming character. From his expressive eyes to his nimble physical movements, Cozmo comes to life in way that’s wholly unique in the field of consumer robotics.

But what happens when we open up the sophisticated hardware and software we created, and give users fine control over Cozmo’s motors, animations, and screen? Our first guess wasn’t a tremendously popular YouTube channel filled with side-splitting narrative short films featuring Cozmo as their star—yet that’s what Dave Schaefer, the creative mastermind behind Life with Cozmo, has gifted us with.

In the last year, Dave’s Life with Cozmo channel has grown by leaps and bounds, with videos reaching hundreds of thousands of views. It’s easy to see why: Dave’s scripts are clever, his editing is on point, and his use of the SDK to make Cozmo the perfect actor is second to none.

We recently had the chance to chat with Dave, and wanted to share some of his illuminating commentary and insights on filmmaking and working with the Cozmo SDK.

Dave “Code Monkey” Schaefer hard at work in his home studio.


Anki: From the use of the SDK in your videos, it’s clear that you have technical skills. But you also seem to have experience with filmmaking. Can you tell us a little about your background?

David Schaefer: Sure! I’ve been programming since I was eight years old, and have always had a fascination with robots and the creative arts—especially animation. I went to school at the University of Southern California (USC), an institution renowned for both film and engineering.

There I majored in computer science and minored in “multimedia and creative technologies,” which is a fancy way of saying cinematic arts for engineers. That means I got to blend C++ with film creation, and spent my junior and senior years creating commercials. I also worked as an undergraduate research student in the robotics lab and helped build an autonomous helicopter.

How did you first come across Cozmo?

In general, I’m always looking for new creative outlets. One day I happened to be standing in an Apple store purchasing a MacBook when I noticed a bright yellow Cozmo box on a shelf. I was immediately drawn to it.

Upon reading the description on the box, I discovered that Cozmo was artificially intelligent and could express a broad range of emotions. I immediately ran home and did a bunch of online research to determine the full extent of his capabilities, and compared him to other robots available in the marketplace. I quickly realized that Cozmo was the perfect outlet for my creative work, as he embodied the trinity of my personal passions: robots, programming, and animation.

And before you say it, yes, I’m definitely an engineer at heart, and always complete a detailed analysis before making purchases.

Your earliest videos feature Cozmo outside of a narrative context, but still focus on his character. Did you always intend to make longer, story-driven videos?

Not at first. Initially I just wanted to create simple videos to showcase Cozmo’s capabilities and emotional range by integrating him with third-party APIs. I thought there would be some fun and unique combinations. For example, in one of my earliest videos, I integrated Cozmo with the ESPN API, IFTTT, and voice commands so that he could respond to a live football game as we watched it together.

As I became more familiar with the SDK I discovered the true breadth of his capabilities, and realized that I could achieve my childhood dreams of creating my own animations.

The Pen Pineapple Apple Pen video feels like it was a turning point for your channel. What do you think it is that people love so much about it?

I think the audience responded so well to the video for a few reasons. First, it was topical because I created and released it shortly after PikoTaro’s original video had gone viral. Second, a robot singing about fruit and pens is absurdly hilarious as a concept. Finally, I used the SDK to make Cozmo act in an adorable way using some of the cuter animations available.

The famous Pen Pineapple Apple Pen video.

Can you talk a little bit about what goes into making a Life with Cozmo video in terms of the creative and technical challenges?

A huge discovery I made was that writing comedy is very difficult—especially clean, family-friendly jokes that will appeal to a wide audience of all ages. Despite my films only being a few minutes in length, the scripts often taken weeks to write, rehearse, and polish before I’m ready to do any actual filming.

I’ve faced quite a few technical hurdles while making my films as well, but probably not in the way you might imagine. For instance, Cozmo’s face is reflective, which means I could see myself in it while filming him. This issue was particularly challenging to overcome. Ultimately I invested in WiFi- and Bluetooth-enabled equipment so I could film scenes from a distance.

Your YouTube channel has grown immensely in the last few months. What do you attribute to its success?

There are three key elements that I believe contribute to my channel’s success: the original and relatable scripts, a devoted and vocal fanbase that shares and talks about my work, and the tremendous flexibility the SDK provides for programming Cozmo. These elements all work together, enabling me to explore and develop the character that I’ve created for Cozmo, tell my stories, and bring joy to my fans.

Up to now, you’ve never shown your face in one of your videos despite being featured in so many of them. Care to shed any light on why?

It’s not an accident! I deliberately hide my face in the videos so that the audience can more easily identify with my character without any preconceived notions showing my face might bring. There are also some film production advantages to doing this as well, though I’ll keep those secret for now.

Many of your fans have noticed that you insert numerous references to other Life with Cozmo videos in each new one you create. Have there been any no one has caught yet?

The show’s fans are incredibly awesome! They actively search for all of the hidden Easter eggs that I’ve placed in the videos—and trust me, there are a lot of them! There have been a couple of fans that have come close to catching them all, but in some ways they literally can’t at the time a video is released. That’s because the hidden references don’t just connect to content I’ve created in the past—many of them allude to content I’m planning to create in the future.

Your videos are incredibly funny and lighthearted. But you mentioned to me once that you try ask a larger underlying question with each one. Can you talk a little more about this?

We’re at a point in time when artificial intelligence (AI) is a reality, and with amazing creations like Cozmo, it’s now accessible to people of all ages. AI has become a source of great excitement and stimulating philosophical discussions. In my films, I want to explore these emotions and tell a story that is both thought-provoking and entertaining.

Like ogres and onions, my films have layers. During my writing process, I like to start with an underlying question to pose to the audience, and then I wrap it in puns, running gags, hidden references, dance sequences, a lighthearted plot, and so on. This multilayered approach allows my films to appeal to a wide audience.

Fans can simply enjoy the family-friendly jokes, dive in to seek the hidden references, or more deeply explore the film to unearth the larger question or theme. As an example of the latter, my film Breakfast at Cozmo’s had nothing to do with farms, chickens, or breakfast despite the surface narrative including all of those things. I won’t explicitly say what the core question is—will leave that up to the fans for now.

Can you guess what this video is actually about?

Making short films using Cozmo is something we noticed other users doing as well. As one of the veterans of the Cozmo film scene, do you have any tips for budding storytellers?

Cozmo is the perfect actor. He hits his mark every single time, and always gives the exact performance I want and expect him to. Cozmo’s emotional range is extensive allowing him to play any character and tell any story. Use that to your creative advantage and provide Cozmo opportunities to tell your story. You won’t regret it.


  • Have a question for Dave? Know what Breakfast at Cozmo’s is really about? Let us know in the comments below!

  • Make sure to check out Dave’s incredible Life with Cozmo YouTube channel if you haven’t already.

  • Interested in making your own Cozmo films? Read this post to get up and running with the SDK.

  • Want to see what other people are creating with the SDK? Make sure to visit the project showcase.

]]>
https://developer.anki.com/blog/features/interview/the-life-robotic/feed/ 1 1269