Expanding Upon Misty’s Native Capabilities

Image title

Misty Robotics

To successfully bring your code off the screen and into a 3D space, Misty must be able to communicate with her environment in many ways. While Misty is already packed with sophisticated technology — including 25 sensors — your use cases may call for additional sensors. Today, we’re covering several ways you can add to Misty’s native capabilities by using additional sensors and we’re sharing some skill inspiration to get you started.

You might also like:  Exercising Misty’s Extensibility

Adding a Sensor to Misty

There are several ways to expand Misty’s physical form by adding sensors and other accessories, including 3D-printed accessories. Misty’s official mounting points — that is, those points with embedded magnets — include the antenna mount, the backpack, and the trailer hitch. CP, Misty Robotics’ Prototype Engineer, has also mounted sensors on the top of Misty’s head, her arms, base side, and front grill using mounts he has developed and open-sourced here. Please note that while third-party hardware can be physically mounted to each of these parts of Misty, no electrical connections are made at any of these points.

Misty Extensions

Misty’s back is the final location that you can add sensors (and other accessories). This is the most important place on the robot for mounting third-party extensions — especially sensors — because this is where all electrical and communication connections take place. Misty’s USB and UART serial port channels have separate, isolated power controllers that allow her to supply power to external hardware. Each port can provide up to 500 mA. The pins for Misty’s UART serial port are configured as follows:

  • RX (receiver): Receives messages sent to Misty from an external device
  • GND (ground): The grounding pin for the electrical circuit
  • TX (transmitter): Transmits messages from Misty to connected hardware
  • 3V: Supplies power to the connected hardware at 3.3v

The Misty Arduino-Compatible Backpack turns Misty into a robotic base for your imagination. To access it, you simply pop it off, unscrew the two small screws on the Backpack to expose the Arduino inside, and pop it back onto Misty. This protoboard-style Arduino allows you to attach sensors, LEDs, and motors as easily as you would in any other Arduino project.

Misty Backpack

Once you’ve added the sensor to Misty’s Backpack, you can upload the sketch provided to the Arduino, disconnect the Arduino from your computer, and attach it to Misty.

Choosing a Sensor

Whatever your monitoring need — biometric, environmental, RFID, motion, weather, etc. — sites like Sparkfun and Adafruit have plenty of sensors to choose from, including many for less than $10.00.

Temp and RFIDTemperature sensor (left) RFID reader (right)

Even if you don’t yet have a skill in mind, these sites are good places to find inspiration. Another place to find inspiration is the Misty Skills subcategory of the Misty Community Forum — you can build a skill someone has already shared, tweak their skill by adding your own skill(s) to it, and combine any number of skills.

Skill-Building With a Sensor

Misty’s magic happens when you can begin running your skill! Here are a few existing skills to get started on:

The Fireman Skill

Monitoring the temperature of a room can be useful for many reasons: to ensure product and equipment are kept in a safe range, to ensure your cooling or heating equipment is working properly, and simply to track temperature fluctuations in a given space.

In this skill, Misty streams data from a temperature sensor like this one attached to her Arduino-Compatible Backpack. Using Misty’s JavaScript API, the data is streamed from Misty to a Freeboard.io dashboard (set up through dweet) that automatically updates from the readings sent by Misty so that they can be seen from anywhere, anytime.

Additionally, when the temperature exceeds a certain threshold (in this case, 80ºF), Misty sounds an alarm through her built-in speakers which send a request to IFTTT, turning on a warning light in the room. Once the temperature drops back down below the set threshold, Misty automatically turns off the alarm and warning light. If you have a temperature sensor, you can find the code for this skill here and start monitoring your own space.

The Fingerprint Skill

Robotics Prototype Engineer CP recently shared the Fingerprint Skill. First, he connected the fingerprint scanner to Arduino and used a program from the sensor library to train his finger. He then modified the fingerIF=D detection library sketch to say PASS or FAIL based on the FP scanned. Finally, he mounted the fingerprint scanner to Misty’s arm and connected it via a Qwiic Connector to the Arduino Backpack so that whenever a finger touches the scanner, Misty receives the data.

Once the data is received, Misty either grants the person access (using some fun lights, audio, and arm movements to let them know) or denies them access (again, using some fun yet different lights, audio, and arm movements). Here’s the code for this skill.

CP plans to pair the Fingerprint Skill with Misty’s facial recognition capabilities for a two-factor biometric authorization skill. In this expanded skill, Misty will first detect use her facial recognition capability to identify the person. (Note: Misty will require prior training on the person’s face in order to use facial recognition in this skill.) She’ll then greet the person by name and request that they place their finger on the scanner. And if she doesn’t recognize their face, she’ll deny them access before even reaching the fingerprint scanning process.

The Follow Ball Skill

We’ve already shared a Follow Ball Skill deconstruction with you so we won’t do that again here but we will share our Arduino Day video which highlights the skill, Pixy2 Camera sensor, and Nibble.

In addition to the skills that developers have already built for Misty, there are “Future Skills” in the Misty Community Forum that incorporate sensor expandability as well. These skills — like the Coat Check Skill and the Go Grease Lightning Skill — are skills that developers haven’t quite gotten around to building but see a real need for (and in some cases, they’re just fun ideas). Anyone can build these skills and if you have skill ideas that incorporate Misty’s sensor extensibility that you’d like to see built, add them to this list!

At every opportunity during the design process for Misty, we’ve opted to build a robot that you can adapt to suit your needs and interests. Including sensor extensibility is just one aspect of this new approach to building the first professional platform robot for developers. Using Misty’s sensor extensibility feature, what additional capabilities do you see being useful?

Further Reading

Working With Face Recognition: Misty as a Security Guard: Part 1

Robot Skills and Messaging APIs

This UrIoTNews article is syndicated fromDzone