All development platforms should be this friendly

see devs saying

Misty’s SDKs are designed for easy access to powerful features

Misty’s SDKs allow you to quickly build skills that make use of the unique characteristics of an autonomous, roaming robot with programmable personality.
Custom Image

Creativity

A platform for your creativity and experimentation, bringing apps to life in a robot format.

Custom Image

Experience

A new world of development that changes how people experience and relate to technology through emotion and personality.

Custom Image

Accessibility

Ability to write code for robots without training in robotics.

Custom Image

Learning

Learning opportunities with the latest technologies such as AI and Machine Learning.

Custom Image

Opportunity

An opportunity to engage in the rapidly growing economic potential of robots in businesses and homes.

workbench

Misty’s SDKs provide tools that make development easy:

Misty’s SDKs were designed to let you easily build skills for Misty, interact with her and learn more about her capabilities. Her SDKs include Command Center, Skill Runner and API Explorer.

sdk command

Command Center

Command Center lets you easily send commands to Misty. No code needed here. We’ve done the heavy lifting for you. Once connected, you can experiment with Misty’s functionality by interacting with different elements of the Command Center.

API Explorer

You can use Misty’s API Explorer to browse Misty’s REST API endpoints, send requests to Misty, experiment with different parameters, and generate code samples for Misty’s REST API and on-robot JavaScript API.
sdk api
sdk skill

Skill Runner

Skill Runner lets you to install, run, and manage skills on Misty. Simply Upload your skill and click start! Misty will then execute your code.

To aid in skill development, you can use the Misty Skills extension for Visual Studio Code. This extension provides a list of the available methods in Misty’s on-robot JavaScript API. It offers auto-complete, tabbed parameter entry, and information about each method. It also provides basic commands for uploading, running, and stopping skills on Misty from within the Visual Studio Code editor.

How does this all work?

You use Misty’s SDKs to write her skills

equation or

How do you architect a skill?

step1

Take some of Misty's sensory input

1

Seeing, hearing, touching (and even smelling and tasting if you add on the right sensors)

2

Process it
on or off the robot

2

Misty is a very capable edge-computing device, but cloud services are just a call away

step3

Have Misty do something in response

3

Drive to check out a sound, express amusement, take a photo, or anything you like

Show me a skill?

Here’s a very quick runnable example:

// Start driving
misty.DriveTime(10, 0, 10000);

// Register to know when Misty discovers objects at a given distance
misty.AddPropertyTest(“FrontTOF”, “SensorPosition”, “==”, “Center”,
“string”);
misty.AddPropertyTest(“FrontTOF”, “DistanceInMeters”, “<=”, 0.2,
“double”);
misty.RegisterEvent(“FrontTOF”, “TimeOfFlight”);

// When we find an object at the distance we want, do stuff!
function _FrontTOF(data) {
   // Store the data
   let frontTOF = data.PropertyTestResults[0].PropertyParent;
   // Log where the object was detected
misty.Debug(“Distance: ” + frontTOF.DistanceInMeters);
misty.Debug( “Sensor Position: ” + frontTOF.SensorPosition);
   // Take action
misty.Stop();
misty.ChangeLED(255, 0, 0); // Red for stop
}

public void OnStart(object sender, IDictionary<string, object> parameters)
{
// Listen for ToF events
Misty.TimeOfFlightEventReceived += async (s, e) =>
{
// Filter for front center sensor
if(e.SensorPosition == TimeOfFlightPosition.FrontCenter && e.DistanceInMeters <= 0.2) {
// Send some debug messages for listening clients to consume
await Misty.SendDebugMessageAsync(“Distance: ” + e.DistanceInMeters);
await Misty.SendDebugMessageAsync(“Sensor Position: ” + e.SensorPosition);
// Take action
await Misty.StopAsync(); await Misty.ChangeLEDAsync(255, 0, 0); } }; Misty.DriveTime(10, 0, 10000, (r) =>
{
// TODO: I’ve stopped, now what?
});
}

Quick reads about developing for a robot platform

Robot Skills & Messaging APIs

What Goes into Building a Robot

Exercising Misty’s Extensibility

Stay Connected