EMG (Electromyography ) project guidance.

I currently use a Arduino to control a gripper on my robot arm. Basically the program reads a analog signal from the arduino and when it get over a certain threshold it closed the gripper. Which is very erratic.

So after doing the Ai tutorials in the Nvidia learning institute I was thinking is it possible to recognize
patterns in the EMG signal in order to get a more precise operation of the gripper?

Being a older adult student I’m not sure how to go about doing this. I will start with getting the serial data stream into the Jetson but I’m not sure on how to classify the data.

I’m sure this has been done already so can anyone point me in the right direction.

Can i classify the raw serial data stream or do i need to turn the signal into a bunch of picture on a graph. and the classify the data?? ( I don’t know if i asked that correctly or if it even makes sense)

Thank for any help, JD

Hey, JD,
for EMG signals and time signals in general, it is the best way to use a recurring neural network such as an LSTM. There are some good explanations on the web.
and is included in most programs like Tensorflow or Pytorch.
I am working on a similar project. First you need a dataset to train your net. This should be really easy for your project as you only classify the activity. You can get some EMG data from the open source database ninapro.

I hope my answer isn’t too late. I’m new to this forum. If you have found a solution by now, please feel free to share it. Above all, how do you time your data acquisation and your net.
Best regards,

Im very interedsted in this project. I have already implemented some machine learning algorithms on PC. now Im trying to running neural networks on Jetson Nano as an edge computing platform. I will share my result later.

best regards

Thanks Ole, Li.

I use one of the spiker shields form here to get the EMG signal is only a single channel.


I haven’t worked on the connection from the Arduino to the Jetson yet. I’m am also looking at OP amps with a I2c or a spi connection to get rid of the arduino. and I want the ability to do multiple channels.

But for now I’m using a single channel to test my ideas.