diff --git a/README.md b/README.md index b823821..19cce41 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ This project provides an interface to communicate with the Thalmic Myo, providing the ability to scan for and connect to a nearby Myo, and giving access -to data from the EMG sensors and the IMU. +to data from the EMG sensors and the IMU. For Myo firmware v1.0 and up, access +to the output of Thalmic's own gesture recognition is also available. The code is primarily developed on Linux and has been tested on Windows and MacOS. @@ -16,6 +17,7 @@ understanding the protocol. - python >=2.6 - pySerial +- enum34 (for Python <3.4) - pygame, for the example visualization and classifier program - numpy, for the classifier program - sklearn, for a more efficient classifier (and easy access to smarter classifiers) @@ -51,6 +53,14 @@ as the device name for the dongle; no argument means to auto-detect. You can also press 1, 2, or 3 on the keyboard to make the Myo perform a short, medium, or long vibration. +To process the data yourself, you can call MyoRaw.add_emg_handler or +MyoRaw.add_imu_handler; see the code for examples. + +If your Myo has firmware v1.0 and up, it also performs Thalmic's gesture +classification onboard, and returns that information. Use MyoRaw.add_arm_handler +and MyoRaw.add_pose_handler. Note that you will need to perform the sync gesture +after starting the program (the Myo will vibrate as normal when it is synced). + ## classify_myo.py (example pose classification and training program) classify_myo.py contains a very basic pose classifier that uses the EMG @@ -74,7 +84,9 @@ had the chance to tinker with it yet. After you've done training with classify_myo.py, the Myo class in this file can be used to notify a program each time a pose starts. If run as a standalone script, it will simply print out the pose number each time a new pose is -detected. +detected. Use Myo.add_raw_pose_handler (rather than add_pose_handler) to be +notified of poses from this class's classifier, rather than Thalmic's onboard +processing. Tips for classification: @@ -88,7 +100,7 @@ Tips for classification: # Caveats/issues - on Windows, the readings become more and more delayed as time goes on -- doesn't have access to Thalmic's pose recognition +- doesn't have access to Thalmic's pose recognition (for firmware < v1.0) - may or may not work with a Myo that has never been plugged in and set up with Myo Connect - classify_myo.py segfaults on exit under certain circumstances (probably