Robot Not a Dev? Buy Now
Not a Dev?

Misty Community Forum

Training Mission: Hello World

Briefing

Mission Objective: Complete Misty’s Get Started guide & Hello World Tutorial Series
Mission Type: Training
Capabilities Exercised: Easily Programmed, Face Recognition, Locomotion, Programmable Personality, Image & Graphic Display, Audio Playback
Est. Time to Complete: 1 - 2 hours
Launch Date: 9/20/2019
End Date: Ongoing


Situation

Misty has arrived, and she’s ready for the next part of her journey: running your code!
To get you started quickly, we prepared a few guides to introduce you to Misty’s capabilities and to introduce key concepts in building skills for Misty II.

Training Mission

Your training mission, Misty developer, should you choose to accept it, is to complete Misty’s Get Started guide and Hello World Tutorial Series. These activities are the quickest way to learn about Misty’s SDK and start working with the unique capabilities of your new robot development platform.

As you work through these activities, you will learn:

  • how to use Misty’s web-based tools to send commands, explore the robot’s API, and manage your robot’s skills
  • how to create, upload, run, and modify JavaScript skills
  • how to use core elements of Misty’s JavaScript SDK, such as invoking commands, registering event listeners, and processing data from sensors and other event types in your skill code

At the end of this training mission, you’ll have built a fully working face recognition skill for Misty II. You’ll be equipped with the knowledge you need to start exploring Misty’s full range of capabilities and building your own unique skills.

Rules

Let us know you’ve completed these activities by responding to this thread. Then, check out the Hello World challenge Mission to see how you can earn a community badge and get a chance to win some sweet prizes!

Resources

Here’s what you’ll need to complete this mission:

Mission Support

Hit a roadblock? Find a bug? Have feedback? Let us know! As Misty’s earliest developers, you’re the real stars 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.

I ran through the Getting Started. It all worked great. Just a FYI (I put it as a issue in git) but with Fedora core 29, and the version of chrome to get Developer tools/console I had to do Shift-Control-I (that is a ‘i’ ‘eye’ to be clear).
Or more generic across browsers click on:
- the 3 vertical dots ‘…’ -> More tools -> Developer Tools

1 Like

Glad you’re joining the Missions, and thanks much for the docs feedback! We’ll take a look next week :slight_smile:

I’ve completed these activities (and submitted feedback when I did them through the github docs repo) :).

Yes, I also completed the rest of the Mission. I will work on some behaviors
and something cool. And if it works I can send sample circuits and the how to/design.
(It should work, I am just hoping I can make it small and ‘glossy’ enough).

Completed the Mission. Great tutorial. I had one point where I had set Misty II with something too close behind her and she wouldn’t turn. Took me a second to figure that out. Otherwise no issues.

Next up for you and @markwdalton is to submit a completed (non-training) mission!

Share those skills and videos!

Completed the hello world tutorial. As far as tutorials go, very good. It took me longer than expected, as I made newbie mistakes (not enough light for facial recognition), and I kept clicking and reading reference links. Thanks to the Misty Team for all the work in creating the resources for getting started.

1 Like

Alright, what am I doing wrong here? I’ve tried typing this out a bunch of different ways and can’t get it to work. I completed all of the steps up to facial recognition with no problem. I did the facial recognition in the command center and confirmed it worked in the console. I ran the sample code for facial recognition which worked. I then tried cutting and pasting Seymour’s facial recognition code but with my name and that didn’t work either. For the sake of brevity I copied and pasted my current code from the end of wave right arm on.

waveRightArm();

// Invoke this function to start Misty recognizing faces.
function _registerFaceRec() {
    
}

// Invoke this function to start Misty recognizing faces.
function _registerFaceRec() {
    // Cancels any face recognition that's currently underway
    misty.StopFaceRecognition();
    // Starts face recognition
    misty.StartFaceRecognition();
    // If a FaceRecognition event includes a "PersonName" property,
    // then Misty invokes the _FaceRec callback function.
    misty.AddPropertyTest("FaceRec", "PersonName", "exists", "", "string");
    // Registers for FaceRecognition events. Sets eventName to FaceRec,
    // debounceMs to 1000, and keepAlive to false.
    misty.RegisterEvent("FaceRec", "FaceRecognition", 1000, false);
}
    // FaceRec events invoke this callback function.
function _FaceRec(data) {
    // Stores the value of the detected face
    var faceDetected = data.PropertyTestResults[0].PropertyValue;
    // Logs a debug message with the label of the detected face
    misty.Debug("Misty sees " + faceDetected);

    // Use the Command Center to train Misty to recognize your face.
    // Then, replace <Your-Name> below with your own name! If Misty
    // sees and recognizes you, she waves and looks happy.
    if (faceDetected == "Scott") {
        misty.DisplayImage("e_Joy.jpg");
        misty.PlayAudio("s_Joy3.wav");
        waveRightArm();
    }
    // If Misty sees someone she doesn't know, she raises her eyebrow
    // and plays a different sound.
    else if (faceDetected == "unknown person") {
        misty.DisplayImage("e_Contempt.jpg");
        misty.PlayAudio("s_DisorientedConfused4.wav");
    };

    // Register for a timer event to invoke the _registerFaceRec
    // callback function loop through the _registerFaceRec() again
    // after 7000 milliseconds pass.
    misty.RegisterTimerEvent("registerFaceRec", 7000, false);
}

// Starts Misty recognizing faces!
_registerFaceRec();

I’m not near a robot at the moment, but from the sample you posted it looks like you might try removing this:

// Invoke this function to start Misty recognizing faces.
function _registerFaceRec() {
    
}

In the tutorial, I believe that sa mple is just a function declaration that gets filled in later on. Let us know if that works!

1 Like

Perfect! That fixed it. Thank you!

1 Like

Don’t forget to post a video & take the survey for the “Challenge” portion of the mission! Right now your odds of winning round 2 are pretty good :wink:

1 Like

I completed this training mission. Very Cool! I am impressed by how much Misty is doing based on minimal code written. Gotta go, off to the challenge.

3 Likes

:partying_face:

Be sure to fill out the survey (linked in the related challenge mission) for a chance to win a prize for this mission. Your feedback will help us make the documentation better :slight_smile: :robot:

A post was split to a new topic: Misty Skill: Hello-World—Happy-Holidays

This is great. Just in time for Thanksgiving :smiley:

Do you mind if cross-post your video and skill code as a new thread in the Misty Skills section?

I’ll do this to save @phillip.vinhha time :slight_smile: