cancel
Showing results for 
Search instead for 
Did you mean: 

Dear Sir/Madam, I want to use the LSM6DSOX to recognize some gestures and there are many things I still need to understand. I bought the STEVAL-MKI109V3 and a sensor board so I can use Unico to "see" data, etc.

Cristea.Catalin
Associate III

Questions:

1. When do I use FSM and when do I use Decision Trees? Can I use both?

2. Do you call ML the use of decision trees and NOT FSM?

3. What I want is to detect gestures like if the sensor was in a pen and I wrote letters, let's say E, M, V, etc. (not necessarily all but as many as I can). Can the ML in this sensor do that? Decision Trees? FSM?

4. I tried to (almost) reproduce one of your videos for my purpose, so I did multiple captures of moving in the shape of E, and many moving like M. I used ODR52 and started capture before moving sensors in shape of letter then stopped capture. Again and again. Each movement was just above 1s so I got about 80 samples, I chose to use 52 of them.

QA: Should the many E captures be in ONE file (E.txt) as Unico appends new captures to same file, or in MANY (E1.txt, E2.txt, etc) files? It seems I can load them either way but I fear if I have multiple captures/file only first n samples from first capture may be used.

QB: Can I choose any values as "Decision Tree #1 Results? If my cases are "E" and "M" then I don't want either to be zero, so I chose 1 (E) and 2 (M) so that I should get "0" when nothing is recognized and 1 or 2 when E or M is recognized.

In fact I didn't get that at all: data always showed 2 when not moving and 1 sometimes; certainly not 0 when not moving and 1 when moving E and 2 when moving M.

Maybe one always needs an "everything else" case?

There's something else that confuses me: All the examples I saw, were about "repeating" or constant "activities" that get recognized: glance (stays glanced), running (a while), etc. so it doesn't matter WHEN the machine starts... machining.

So my question, when I want to recognize one-off gestures: how does the "machine" know when my gesture starts? Or does it continuously use a sliding window on which it runs the whole algorithm?

I think if you help me with these I may make good progress and have more questions afterwards; thank you :)

13 REPLIES 13

Hi @Cristea.Catalin​ ,

The MLC and the FSM are two different digital features, and only the first one can be considered as AI. It depends whether you .

The FSM registers' meaning is described in detail in the AN5273 application note, from p.28.

See also the example in p.50, that explains precisely the Wrist tilt application.

0693W00000DmgC7QAJ.png 

-Eleon

Cristea.Catalin
Associate III

I understand that, but what you call MLC seems to be just a decision tree. Any ML is done outside and designs the DT that runs inside.

Similarly, a ML could design an FSM that would run in the sensor. Then the FSM would also be MLC. No?

About the example at page 50: I saw it but it could be more helpful. There's a lot about what to do but not so much about why or how to relate it to Unico.

For example:

15. Write 00h to register 09h // Write 00h to register FSM_LONG_COUNTER_L

16. Write 00h to register 09h // Write 00h to register FSM_LONG_COUNTER_H

Why?

Each line should be disected and fully explained AFTER the functionality of the "routine" is fully explained.

Hi @Cristea.Catalin​ ,

we will internally ask if there is the possibility to add further info in our technical documentation.

-Eleon

Cristea.Catalin
Associate III

Thank you; please keep me posted if "they" do.