Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos

If you're closely following the latest trends about gadgets, or you're just another gadget geek like me, you've probably heard about Myo.



Myo? With Bacon And Cheese?

Myo is an input device that allows you to use gestures to wirelessly control things such as your music volume, thermostat, your robotic arm, drones or just about any device.

It's similar to how the Electromyography (EMG) works, hence the name Myo. According to Wiki, EMG is a technique for evaluating and recording the electrical activity produced by skeletal muscles. EMG signals are commonly used in many clinical and biomedical applications.

Myo, on the other hand, uses the same technique by reading minute electrical activities from your forearm's muscles and perform algorithm to detect pre-defined gestures. The gesture information, together with the 9 axis IMU data can be received by any Bluetooth LE device, i.e Android, iPhone or PCs / Mac.


Currently, it can read up to 5 gestures:


Double-tap


Fist


Finger Spread


Wave-In



Wave-Out


The latest SDK also allows you to receive raw EMG data which is really useful if you want to process the EMG data yourself and create custom gestures.

Developers, developers, developers...

Myo provides SDKs for several platforms: Android, iOS, Mac and Windows. They have also provided Myo Script API where you can use Lua scripting to create myo connectors that allows you to control native applications such as Powerpoint presentations, Google Earth or just control the mouse cursor.

Here's an example of using Myo to control a Powerpoint presentation.

As of the latest SDK, you don't have to do anything because the Myo Script API has been preloaded with Powerpoint connector already. Here's the list of connectors that's already been preloaded in the API.

Here's another example where I created a Google Earth Connector script:

Aside from the SDK and the Myo Script API, you can also take advantage of the Myo WebSocket API as well. It is still under active development so this might change in future releases.

Here's another example:

In this video, I wrote a simple HTML/Javascript that connects to the Myo WebSocket API and renders the chart accordingly. I've used the Myo JS Library so connecting and receiving data from the Myo device is as simple as:


var myo = Myo.create(0);
  myo.on('pose', function(poseName){
  appendToLog("Gesture: "+poseName);
})
myo.on('orientation', function(q){
    // process the orientation data
}
myo.on('fingers_spread', function(e){
}
myo.('bluetooth_strength', function(ssi){
}
// handle all other gestures

With the Myo WebSocket API, you can use any of your favorite languages to build your app on Mac or PC.

Myo and SAP Visual Enterprise

One of the earliest demos that I did when I got the Myo device was to integrate it with SAP Visual Enteprise. Here's a quick look of the demo:

I'm using the Wave-In and Wave-Out gestures to play the next and previous steps respectively. Fist gesture, combined with the orientation data controls the panning and rotation of the 3D object. Twist-in gesture, which has been removed already in the latest SDK, zooms-in on the object and lastly, Finger Spread gesture resets the view of the object.

I think this is really going to be useful for field workers who need to wear protective gloves in their daily tasks but also require interaction with their mobile devices. Using Myo, they can wirelessly control their devices and get the relevant information with just a flick of their hands.

Myo and beyond...

Of course you can also use Myo to control other things such as mini but deadly quadcopters... :grin:

In the next part of this blog post, I will share more details about some of the codes used in the demo videos.

If you have any questions, feel free to post it below and I'll try to answer it to the best of my knowledge.

Thanks for dropping by.

1 Comment