SDK – 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 SDK – Anki Developer https://developer.anki.com 32 32 135373019 The Vector SDK Hits Alpha https://developer.anki.com/blog/news/the-vector-sdk-hits-alpha/ https://developer.anki.com/blog/news/the-vector-sdk-hits-alpha/#comments Tue, 11 Dec 2018 20:10:18 +0000 https://developer.anki.com/?p=1787 We’ve always strived to make sophisticated—and importantly, relevant—robotics and AI technologies accessible to the masses. We do this partly through the innovative experiences our multidisciplinary team spends endless days and nights crafting. But we also believe it’s important to open up our technologies so developers, researchers, and educators like you can employ them in your own work.

Today, we’re thrilled to announce the public availability of the Vector SDK alpha. It gives you access to Vector’s multitude of hardware and software technologies including:

  • HD color camera stream
  • Infrared laser scanner
  • Face and emotion recognition
  • High-res color IPS screen
  • Capacitive touch sensor
  • Four drop sensors
  • Hundreds of unique animations
  • Six-axis inertial measurement unit (IMU)
  • Custom vision markers

The Vector SDK utilizes Python, a programming language used in everything from machine learning to introductory computer science courses. There are also thousands of third-party libraries Vector can tap into, allowing you to augment his capabilities as you see fit. We recommend visiting the SDK Showcase forum to see what others are doing with the SDK, and sharing your own projects.

The SDK comes with a 3D viewer that presents Vector’s understanding of the world.

On a final note, unlike the launch of the Cozmo SDK which launched in beta form, we released a pre-alpha version of the SDK to those of you who backed our Kickstarter campaign. This alpha release of the SDK would not have been possible without all of your insights and feedback, so an enormous thanks to you all.

The included remote control example program gives you manual control of Vector’s hardware and animations.

We have more coming for the SDK in the new year so be sure to check in for new announcements in the official Anki developer forums.


  • SDK Documentation — Access installation instructions, the API reference, and example programs.

  • Vector SDK FAQ — Get up to speed by reviewing frequently asked questions.

  • Getting Started — Must-read post with handy tips on installing and using the SDK.

  • Anki Developer YouTube — Subscribe and see how others are using our robotics and AI technologies.

]]>
https://developer.anki.com/blog/news/the-vector-sdk-hits-alpha/feed/ 10 1787
Calypso for Cozmo https://developer.anki.com/blog/education/calypso-for-cozmo/ https://developer.anki.com/blog/education/calypso-for-cozmo/#comments Tue, 22 May 2018 15:48:54 +0000 https://developer.anki.com/?p=1665 Visionary Machines LLC is here to redefine robotics and AI (artificial intelligence) education. Founded by Dave Touretzky, Research Professor at Carnegie Mellon University, the company has recently released its first product: Calypso.

Even if you’ve taught robotics before, Calypso probably looks like nothing you’re used to. That’s because it eschews more traditional coding interfaces and paradigms. Instead, it focuses on the type of robotics concepts that students learn at the university level—but presented in ways that are easy enough for a child to learn.

We recently had the chance to catch up with Prof. Touretzky to find out more about what Calypso is, how it can be used, and what makes it radically different—and more effective—than other robotics education platforms.


Anki: What exactly is Calypso?

Dave Touretzky: To put it simply, Calypso is software that helps people understand how Cozmo—and thus intelligent robots in general—work.

One way it does this is by providing a visual representation of how Cozmo views the world (his “world map”), as well as what he’s paying attention to at any given moment. This inside look into Cozmo’s mind is a game-changer for robotics education.

” …Calypso provides new ways to interact with Cozmo, such as by using voice input… “

In addition, Calypso provides new ways to interact with Cozmo, such as by using voice input, or a game controller. The latter is particularly user-friendly because millions of people are already familiar with these controllers. They’re an intuitive way to provide guidance to Cozmo when he needs a little help, and can also be used to prompt or stimulate him without having to, say, tap a light cube.

Who is Calypso for?

Calypso is intended for anyone interested in robotics, whether they’re 8 or 80. In fact, it’s already been used by a wide spectrum of people, from 8-year-olds just learning about robotics and AI, to computer science and electrical engineering majors from universities around the world.

Is Calypso only for learning about robotics?

Robotics is the most obvious application of Calypso, but it’s also an effective tool to teach the basics of programming, and to familiarize people with AI. The New Brighton Area School District in Pennsylvania will be using Calypso this fall to introduce its 3rd, 4th, and 5th graders to programming.

” Calypso is also a perfect complement to Code Lab and the Python SDK because it offers new capabilities to explore with Cozmo… “

One aspect of Calypso that makes it great for novice programmers is its powerful visual interface. Not only is the interface easy to “read,” it provides real-time feedback (e.g., what Cozmo is doing and reacting to as it happens), so people can truly understand how computer programs and robots work.

Calypso is also a perfect complement to Code Lab and the Python SDK because it offers new capabilities to explore with Cozmo, such as speech recognition, custom sounds, and special markers. These capabilities greatly open up the educational and engagement possibilities for both educators and students.

Calypso will be used this summer at the World Artificial Intelligence Competition for Youth.

How is Calypso different from Code Lab?

They’re both visual programming languages. The most obvious difference is that Calypso uses tiles instead of blocks. (Blocks nest; tiles do not.) But a more profound difference is that Code Lab is a procedural language like Python, while Calypso is a parallel rule-based language. Thus, for example, Calypso has no while loops because all the rules on a page run all the time. This is actually the Second Law of Calypso: “Any rule that can run, will run.”

Behind the scenes, there is a lot of sophisticated technology at work in Calypso. For instance, Calypso programs are state machines where each page of rules is a node. The software automatically lays out the state machine diagram for you so you can see the structure of your program and watch it change states as it runs.

Click to view slideshow.

Calypso’s five laws of computation are easy for students to learn and understand.

Can you explain what a state machine is and why are they’re important?

A popular real-world use case for state machines is video games. In Pac-Man, the player alternates between vulnerable and invincible states depending on whether a Power Pellet has been eaten. A state machine is what manages the two states and the transitions between them.

” [State machines’] usefulness in a wide range of fields makes them an important computer science concept to learn. “

Anything that has multiple states, from a traffic light to, yes, robots, can be created using a state machine. Their usefulness in a wide range of fields makes them an important computer science concept to learn.

Calypso not only teaches people how state machines work, it allows them to create their own to program Cozmo. And they can do it all with a game controller.

Programming using a game controller? Is Calypso considered “real” programming?

Absolutely. There is a general misconception that text-based languages teach “real” programming and visual ones do not. The truth is, visual programming languages require the same fundamental skills as text-based ones. There are some famous visual programming languages (LabView, Grasshopper, etc.) used in professional fields.

As for the game controller, it offers a convenient way to interact with Calypso and Cozmo, but it is by no means required. We provide full keyboard and mouse support for those who prefer those modes.

Can Calypso be used to satisfy various education and coding standards?

Unquestionably. Standards for K-12 computing education generally focus on high-level concepts rather than language-specific ones. For example, one of ISTE’s Student Standards is Computational Thinker, with one indicator described as:

  • “Students break problems into component parts, extract key information, and develop descriptive models to understand complex systems or facilitate problem-solving.”

They can certainly do that with Calypso, and state machines are an excellent way to do some of this modeling.

Similarly, one of the elements in CSTA’s K-12 Computer Science Standards is:

  • “Develop plans that describe a program’s sequence of events, goals, and expected outcomes.”

Not only can Calypso be used to satisfy such goals, it provides an intuitive and engaging way to do so.

Does Visionary Machines provide a Calypso curriculum for educators?

We do. A draft curriculum that helps children learn to reason about computer programs, rather than simply write them, is already available for free on our website.

It is based on earlier research I’ve done with Christina Gardner-McCune and Ashish Aggarwal at the University of Florida on teaching Kodu Game Lab, the beginner’s programming language developed at Microsoft Research. Kodu was the inspiration for Calypso.

Can Calypso be used for activities other than education?

Calypso can be used in a multitude of ways, very much in the same way that the Python SDK can. (Calypso itself was built using the SDK.) One natural thing to do with Calypso is make games to play with Cozmo. We have a tutorial on our website that teaches people how to make and play a keep-away game that highlights this aspect of Calypso.

Finally, why did you make Calypso?

I want to help the public learn about and understand intelligent robots, because robots are becoming part of our daily lives at work and at home. Cozmo is a perfect example.

” Putting industrial-strength robotic AI into the hands of the general public is something only Cozmo makes possible. “

The best way I can think of to make intelligent robots understandable to people is to let them see what’s going on inside the robot’s head. Robotics experts call this “transparency”. In the coming months we’ll be releasing new features that not only make Cozmo smarter, they’ll also make him even more transparent. That’s the guiding principle of Calypso.

Putting industrial-strength robotic AI into the hands of the general public is something only Cozmo makes possible. So thank you, Anki.


Additional Resources

  • Calypso — Visit the official Calypso website for more information and access to the free curriculum.

  • Mr. Robot — Prof. Dave Touretzky also teaches Cognitive Robotics using Cozmo at Carnegie Mellon University. Find out more about his work and history in our in-depth interview.

  • World Artificial Intelligence Competition for Youth — A competition that focuses on AI education for the youth around the world using Calypso.

  • Using Cozmo in Education — Cozmo is a flexible education platform that scales from K-12 all the way through postgraduate research and beyond.

]]>
https://developer.anki.com/blog/education/calypso-for-cozmo/feed/ 1 1665
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