vilari-mickopf / mmwave-gesture-recognition

Basic Gesture Recognition Using mmWave Sensor - TI AWR1642
MIT License
115 stars 21 forks source link

Can support other mmWave module? #1

Closed KirkLin16 closed 3 years ago

KirkLin16 commented 3 years ago

Hi

Thank you for public this amazing project. I want to follow your work, but I don't have AWR1642. I have AWR1843 and IWR6843 in hand. How I can use these two modules to run your project? Appreciate your contribution!

Best Regard! Kirk

vilari-mickopf commented 3 years ago

Python stuff should work just fine, but you will need different fw compiled for your boards. I've used mmwave demo 2.0.0.4, which can detect (x,y) position of points, that I'm later using for training/prediction. I'm not so sure how much the demo is different for other boards (if at all). If there is any difference, you can modify formats here and here. Parser module is taking these formats descriptions and it creates a dict of parsed data that is formatted in the same way as formats dict. The only point of interest for prediciton is objs with range_idx, doppler_idx, peak_value, x_coord and y_coord (z_coord is always zero for me, because of antennas on 1642).

vilari-mickopf commented 3 years ago

Also, you should modify profile.cfg file to support your board.

KirkLin16 commented 3 years ago

Thank you very much for your reply. I check out the doxygen file of the new version SDK(03.05.00.04) and the format of detect object for 1843,6843 and even 1642 are changed as below. image

Since the data format for prediction are also changed, is that mean I need to change a big part of your code?

And the TLV structure is also change to: image compare to former one: image

Thanks again! Kirk

vilari-mickopf commented 3 years ago

Hmm, you should modify few stuff, not much really, but you will need to record new set of data. First you should modify formats of objs as explained, then you should modify what is being logged on log command. Now your data is different, so reading should be modified as well. And number of objs in your data is now 4 (if you are using x, y, z and velocity) instead of 5 (x, y, doppler, peak and range in mine). Models should work just fine with one column less, maybe even better, beacuse velocity is probably better feature than doppler idx, peak idx and range idx. You will need to retrain them with train command ofc. I've used clutter removal to remove all static points, so I would advise to keep that on when recording new data. And that's it, I think that should do the job.

KirkLin16 commented 3 years ago

Thank you so much for your help. I will try as you advised.

vilari-mickopf commented 3 years ago

If you have more questions, feel free to reopen the issue.