Robot Not a Dev? Buy Now
Not a Dev?

Misty Community Forum

Mission: Obstacle Course Challenge


Mission Objective: Code Misty to navigate an obstacle course – autonomously!
Mission Type: Competitive
Capabilities Exercised: Robust Locomotion, Obstacle Avoidance
Proof of Completion & Rewards: Share your skill in the forums and post a video of Misty navigating the obstacle course for a chance to win great prizes!
Round 1: 10/18/2019 - 11/15/2019


An important part of developing for Misty is solving for unconstrained inputs in your skill code. Misty can sense and interact with elements of the environment that are, in most cases, outside your control. How you code Misty to handle these inputs is an exciting challenge of developing for a robot platform.

For Misty, a robot who can drive around on her own, the problem of unconstrained inputs pops up any time you want to navigate the robot from one place to another. For example, imagine Misty is on a solo cruise down the halls of your office building. Without warning, her time-of-flight sensors pick up a large new obstacle in her path: A human foot. It’s not unheard of – after all, she does share this space with dozens of unpredictable bipeds. The question is, how does Misty react? Does she swerve in a graceful arc around the shoe? Or does she stop, confused, to admire your coworker’s clogs and ponder the meaning of chaos in the universe?


As an exercise in solving this kind of problem – and an opportunity to get familiar with Misty’s hazards system and locomotion commands – we’d like you to code an autonomous locomotion skill for Misty.

Use Misty’s locomotion commands, data from her sensors, and her built-in hazards system to write a skill that allows your robot to effectively roam her environment, avoiding any obstacles that appear in her path. Then, use your skill to have Misty autonomously navigate a homemade obstacle course. Construct your course from furniture, boxes, ledges, ramps, and any other robot hazards you can imagine. Share a video of Misty running through your obstacle course on YouTube, Vimeo, Twitter, or wherever you’d like, and post a link in this thread. (Don’t forget to share your project on social media with the #MistyMissions tag!)


  • Misty must autonomously navigate your obstacle course. That means no human intervention, and no manual driving via Misty’s REST API or Command Center.
  • Your obstacle course can be as simple or complex as you’d like. Keep in mind that submissions will be judged by creativity and complexity!

Submission Requirements

  • Share your skill code in the Misty Skills section of these forums
  • Post a link to a video of Misty navigating your obstacle course in a reply to this post

Entries for Round 1 must be in by midnight MST on November 15, 2019. The Misty team will use the following criteria to choose the winner:

  • Effectiveness of navigation (how long did it take to complete the course, did Misty get stuck, how many times)
  • Complexity of obstacle course
  • Creativity of solution


While there are a number of approaches to developing autonomous navigation, Misty’s built-in hazards system (and the HazardNotification event type) provide a lot of the basic behaviors and data you’ll want to use. For an introduction to this system and Misty’s locomotion capabilities, check out the training mission that’s paired with this challenge.

Mission Support

Hit a roadblock? Find a bug? Have feedback? Let us know! As Misty’s earliest developers, you are the real superstars on the journey to making personal robots a reality. Your creativity makes all this possible, and we’re eager to hear your feedback. Reply to this post to start a conversation with a member of the Misty team.


Ok…have tried to complete this Obstacle Mission, and am running out of time. Maybe next round. If you say that I spent too much time on Halloween characters and prop arms I’d say…you are probably correct. But it was a lot of fun, and it was Halloween.

One item: Reading sdk’s isn’t fun. I found at the bottom of the Command Center in the Sensor Data section an Advanced Options button that the Misty Team created. Advanced Options sounds scary, but it is not. When you click on this, it provides a chance to test out subscribing to messages. And it shows all of the content of the messages.

Playing with this is more fun than the documentation, and it helped me. In Subscribe box, put the Event Name = Hazard, Obstacle, this, that, test, whatever. In Named Object scroll down to “Hazard Notification”, set debounce, leave other fields blank, and then click Subscribe. Then introduce actual hazards to Misty to see the changing state of what is returned in the browser console.

You can also subscribe to Named Object IMU, debounce 1000, and fly Misty around while watching the console window to get a feel for the IMU data. Have fun!

1 Like

@MorningR, Glad you found the Advanced Options in the Command Center useful! Another tool that’s available for this kind of thing is the Simple WebSocket Client extension for Chrome. We just put together a post on how you can use this tool to get messages from Misty – check it out and let us know what you think!

P.S. I’m thinking about proposing we extend the deadline for this mission, to give those who’ve been working on Halloween skills a chance to submit. Will keep you posted :wink:

1 Like