MotionRecognition (USER MODULE)

This module uses machine learning to try and recognize multiple movements set by the user. Although this module is meant for use with accelerometers as a data source, you may try to use other data sources with some success.

Basic features

This section goes over the main features of the module.

in

These are basic data inputs, their number is determined by the query at module creation. In case of use with one accelerometer 3 inputs may typically represent the X, Y and Z axis. You may set up 1 to 128 inputs.

detection out

The output of this module is a single data stream, it contains an integer value corresponding to the movement that was detected. E.g if movement 1 was recognized, the field will contain 1 if no movement was detected, the field will contain 0.

sampling period

This field sets the period at which data points will be registered and processed. Lower periods (higher frequency) will lead to the module taking up more ressources and it might not be able to process incoming data quickly enough, leading to slower detection speed.

If the period is too low however, important features from the incoming data might be missed. This period regulates both the recording of training samples and the process. We advise to keep it constant throughout the use of the module but this is not enforced in any way.

threshold

This field regulates how sensitive the detection will be. It ranges from 0 to 1, there is no correct value for this settings but here are some ground rules:

  • If nothing is getting detected and the module always outputs 0 or if too many movements are not being detected, you might want to increase the threshold.
  • If the module always detects a movement, or if it jitters too much before settling, you might want to decrease the threshold.

Recording new samples will cause the sensitivity to change, after recording a new sample, you will have to tinker with the threshold a bit.

Sample Manipulation

This section will go over the steps needed to record and delete movements samples prior to recognition. In this section we will refer to movements as a general class, and samples as sub-movements. For example, one movement you might want to identify could be a hand moving up, in order to do that you could under the same movement record a few samples of your hand going up. From now on this movement will be associated to the samples you gave, if you then wanted the module to identify another movement, switch to another movement and repeat the recording step.

You may only have 8 recognizable movement per module but the number of samples per movement is unlimited.

A minimum of two sample is required for this module to function.

select movement

This list box is used to select a movement to display or to record a sample.

record

When this switch is ON, incoming data is recorded. Upon release, the recorded data will become a sample of the movement indicated by the selection list box.

During recording, the process is stopped and the output of the module will freeze temporarily.

undo

Upon trigger, erases the last sample recorded. If nothing can be undone, pressing this button will print a trace warning.

Upon exiting Usine undo information will be lost.

clear

Upon trigger, erases every samples from every movement.

This cannot be undone.

sample out

These fields represent the last recorded sample of the movement indicated by the select list box. Intended for preview purposes, with array displays for example.

Caveats

Additional recommendations

  • A minimum of two samples is required for this module to function.
  • We recommend to keep the recording as concise a possible, if there is excess data before or after your movement, the module will also be looking for those features.
  • The less movements you try to detect at once the easier sensitivity will be to tune.

Known issues

  • Memory issues upon clearing or undoing.

See also

version 6.0.240115

Edit All Pages