Misty’s Capacitive Touch Sensors
Misty has more than 25 sensors, six of which are capacitive touch sensors. Adam Citarella, Misty Robotics’ Senior Software Engineer, describes them as “the least specific intended use” sensors but that doesn’t mean they’re not important. We spoke to Adam about what capacitive touch sensors are, why Misty has them, how they can be leveraged in Misty skills, and how to incorporate them into your code.
What are capacitive sensors and how do Misty’s work?
A capacitive sensor is a proximity sensor that detects nearby objects by their effect on the electrical field created by the sensor. Misty’s capacitive touch sensors use six pieces of thin foil under the plastic shell connected to a sensor controller. When a conductive object (like a finger) comes close to the foil, there is a capacitive coupling between the foil and the object which is detected by the sensor controller.
Why does Misty have them?
In my view, the capacitive sensors are the Misty sensors with the least specific intended use. The SLAM sensor makes maps and tracks. Time of flight sensors tell Misty that she’s about to fall when she comes to close to an edge. Misty’s capacitive touch sensors are a simple way to let people do cute, clever, and more intimate things. They’re low power yet provide a useful mechanism for her to react to human contact in funny and human or animal-like ways.
Where are Misty’s capacitive sensors located and why are they located there?
Misty has a total of six capacitive sensors. There are four on her head, one under her chin and one in the carrying handle in the back of her head. Having four capacitive sensors on her head gives more opportunity for her to have different responses based on where she was touched.
Although the exact location of the capacitive touch sensors is pretty much arbitrary, the top of her head or under her chin are convenient places to touch when interacting with her face-to-face. For example, this video that was recently shared by an attendee at the Internet Librarian Conference shows how Misty has been programmed to listen for a request, retrieve the information, and respond back when the capacitive touch sensor under her chin is activated.
Do you have to program them to respond to touch or will they each automatically do certain things?
In general, the capacitive touch sensors don’t do anything other than generate an event. That is, they generate one event when contacted and another event when the contact ends. Skills can subscribe to this contact event and enable some type of response.
At this time, there are no default behaviors based upon five of the six capacitive touch sensors. The exception is the “scruff” sensor (ie handle on the back of the head). An upcoming release of the software will include a default behavior to the scruff sensor being contacted of halting all movement and skills on Misty. The idea is that when the user picks up Misty by the scruff she will go limp, like a cat. Users will be able to disable this behavior if they want to.
How can Misty users leverage her capacitive touch sensors in the skills they build?
Users can register to receive capacitive touch sensor events which will occur whenever a sensor changes between the contacted / not-contacted state. Our Prototype Engineer CP has put together some Misty template skills on Github and this one is located here in the “Beginner Skill” folder.
Thank you to Adam for sharing your knowledge with all of us!
Whether you use Misty’s capacitive touch sensors as the main mechanism for interacting with Misty or as an added benefit to her main assignment, there’s no doubt these sensors enhance the interactions you can have with Misty. How would you use Misty’s capacitive touch sensors? Share your ideas with us in the Community Forum or let us know on Twitter @MistyRobotics!