Part 1 of this series collected a list of skills from the Misty II developer community, and Part 2 included links to sample code maintained by the Misty Robotics organization. Part 3 focuses on community-created tools, experiments, and other inventions that provide new ways to explore the platform and use Misty’s capabilities.
Each entry includes a link to the source code or web page where you can try the project for yourself. Misty Robotics does not maintain any of these projects, and you may run into issues as you explore. Proceed with caution, a tolerance for the unknown, and a healthy sense of adventure. We’ve shared links to existing discussion threads where you can chat with a project’s creator in the community forums. Join the conversation if you have questions or comments, or just to say thanks for sharing!
Python Wrappers – If you’re interested in coding Misty with Python, check out these wrappers for her REST API. The misty_py project is an async/await Python 3.7 wrapper for Misty’s REST API, and Wrapper-Python provides a slightly different implementation. Both Python wrappers are supported by the Misty community.
Moving Map – A mapping interface that started life as a custom extension of the Command Center web page, Misty’s Moving Map collects time-of-flight, bump sensor, and inertial measurement unit (IMU) data from Misty’s WebSocket connections to draw a top-down 2D map while you drive Misty around her environment. A Misty icon shows you the robot’s location and orientation in the map, and you can draw walls and paths based on the data from Misty’s sensors. You can even save your map as a JSON data object and upload it when you want to use it later. There’s an active discussion about the Moving Map project (with links to an earlier version) on the community forums.
misty-interact – A Node.js server that lets you control Misty via REST API commands. This project includes several example applications that use external services for interactive functionality (like speech recognition, response generation, and text-to-speech). You must supply your own credentials for these services before the examples will work. Check out the discussion in the community forums.
misty-client – A library for sending REST API commands, setting up WebSocket connections, and mapping, grouping, filtering, and transforming data from WebSocket messages. This library was used to build the misty-interact server linked above.
rerobots Misty II Sandbox – This sandbox creates a live connection to a remote Misty II in your web browser. Use the in-browser code editor to write real Python code for Misty’s REST API, and watch the robot run your commands in the live video feed. This sandbox is a great way to get hands-on experience with Misty’s REST API and try out a robot before you decide to pick one up for yourself. Scott, creator of rerobots, talked with us about the sandbox in an Uplinks broadcast earlier this year. Check out the recording, and if you have questions or comments, be sure to join the discussion in the community forums.
Teleop – An experimental desktop application that lets you remotely control your Misty II, stream images from her camera, and issue text-to-speech commands from your PC. This app downloads pictures from Misty’s RGB camera as fast as the robot can take them, resulting in a low-framerate, low-latency livestream of whatever your robot is looking at. Use your keyboard to drive the robot, and click the screen to move Misty’s head in the direction you want to look.
We hope the skills, sample code, tools, and projects shared in this series provide a rich collection of resources that inspires you and helps you learn about developing for the Misty platform. If you think something should be included here, please leave a comment to us know. We can’t wait to add your project to the list!