Skip to content

LEGO Mindstorms EV3 TRACK3R control using the Myo armband and a neural network for gesture recognition.

Notifications You must be signed in to change notification settings

aljazfrancic/ev3-myo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ev3-myo

ev3-myo

To use the project, you will need the following hardware

To compile the ev3-myo subproject and get it working, you will require

  • JDK (tested on Java SE 8 Update 181)
  • Myo Connect
  • Eclipse IDE for Java Developers (tested on Oxygen.3a Release (4.7.3a))
  • leJOS firmware on you EV3 brick (installation instructions: 1, 2, 3)
  • Maven
    • Installation instructions
    • To get required dependencies open cmd and move to ev3-myo subfolder, which contains the pom.xml file, using cd and then run the command mvn eclipse:eclipse (can also be done via the Eclipse GUI).
  • Pair the EV3 brick with your computer via Bluetooth and create PAN
    • Every time you reboot or disconnect from the Bluetooth PAN and you want to work with the EV3 brick again, you need to go to Control Panel > Hardware and Sound > Devices and Printers > right-click on you EV3 brick > Connect using > Access point to connect to the EV3 brick. You can also create a shortcut.
  • leJOS plugin for Eclipse offers some additional functions for the LEGO Mindstorms EV3 brick via Eclipse, however it is not required to run the project.

To train your own models using the neural-net subproject, you will require

  • Anaconda
    • Use Jupyter Notebook to open the neural-net.ipynb file in the neural-net subfolder.
  • Tensorflow library (tested with version GPU 1.9.0)

Project structure

  • _models
    • Pretrained Keras model for the given task
  • _readings
    • EMG and IMU readings from the Myo armband used for neural network training
  • ev3-myo
    • The main project in Java that enables robot control as well as EMG and IMU recording
  • neural-net
    • Python script for training the neural network using EMG and IMU recordings

Disclaimer

Some of the code is hacky at best. This is meant as a working prototype.