myo: a combining form meaning “muscle,” used in the formation of compound words


The Johns Hopkins University Applied Physics Lab used the Myo Armband (Thalmic Labs) to control a robotic prosthetic arm for amputees. We were inspired by this research to create and explore a machine learning classification for real-time interface with a robot. The algorithm that was created can be used in the future for broader applications to create a more accessible world for everyone.

What it does

Raspberry Pi receives raw EMG data from a Myo Armband to control the motor of an iRobot Create 2. By training the classifier on the Pi to detect different muscle flexions, physical movement of the user can be translated to wheel movement of the robot.

How we built it

We used an Myo Armband to collect EMG signals and transfer the data wirelessly to a Raspberry Pi 3. The machine learning algorithm was trained using MATLAB, then implemented back to the Pi for real-time classification. The custom gestures were then used to control a Create 2 wirelessly.

Challenges we ran into

It was the first time for most of us to program in Python, so there was difficulty in learning the syntax within the 2 days. In addition, the Myo Armband does not have an official Linux support, so we had to try to utilize other people's custom code to access the low-level features for our project. Lastly, none of us have in-depth knowledge of wireless communication, so lossless connectivity was definitely a huge challenge throughout the project.

Accomplishments that we're proud of

Most machine learning applications are faced with the limitation of not being "true" real-time, so achieving this true real-time control over the Create2 is something we are proud of. Also, we are proud to implement an IoT technology that can be used to improve accessibility.

What we learned

With the Myo Armband, iRobot Create 2, and Raspberry Pi 3, we were able to learn about machine learning, IoT, embedded system design, and Python. Specifically, embedded programming is important in robotics and communicating between the devices in Python to send/receive data from the systems posed a great opportunity for learning. Additionally, we learned more about machine learning, training an algorithm with raw data from the armband and running a classifier on the Pi with the models.

What's next for MyoRoomba

The application of our EMG pattern recognition controller is not limited to iRobot Create2. IoT allows flexibility and diversity in the ways technology can be used in the modern world. For example, the algorithm and Myo Armband can be used in conjunction to create gestures to make homes more accessible. It can be used to implement a method of automatic door opening, thermometer settings, light adjustments, and even turning off your stove. The possibility of IoT devices are endless, and our project can be used to help the user have seamless, real-time control over their home.

Share this project: