You are on page 1of 21

sensors

Article
Characterized Bioelectric Signals by Means of Neural
Networks and Wavelets to Remotely Control a
Human-Machine Interface
David Tinoco Varela 1, *, Fernando Gudiño Peñaloza 1 and
Carolina Jeanette Villaseñor Rodelas 2
1 Department of Engineering, ITSE, FESC, UNAM, Cuautitlán Izcalli 54714, Edo. de Mex, Mexico;
fernando.gudino@comunidad.unam.mx
2 Department of Engineering, Technology Bachelor’s Degree, FESC, UNAM,
Cuautitlán Izcalli 54714, Edo. de Mex, Mexico; caro408@comunidad.unam.mx
* Correspondence: dativa19@comunidad.unam.mx; Tel.: +55-397-059-42

Received: 1 March 2019; Accepted: 19 April 2019; Published: 24 April 2019 

Abstract: Everyday, people interact with different types of human machine interfaces, and the use
of them is increasing, thus, it is necessary to design interfaces which are capable of responding in
an intelligent, natural, inexpensive, and accessible way, regardless of social, cultural, economic, or
physical features of a user. In this sense, it has been sought out the development of small interfaces
to avoid any type of user annoyance. In this paper, bioelectric signals have been analyzed and
characterized in order to propose a more natural human-machine interaction system. The proposed
scheme is controlled by electromyographic signals that a person can create through arm movements.
Such arm signals have been analyzed and characterized by a back-propagation neural network, and
by a wavelet analysis, in this way control commands were obtained from such arm electromyographic
signals. The developed interface, uses Extensible Messaging and Presence Protocol (XMPP) to send
control commands remotely. In the experiment, it manipulated a vehicle that was approximately
52 km away from the user, with which it can be showed that a characterized electromyographic signal
can be sufficient for controlling embedded devices such as a Raspberri Pi, and in this way we can
use the neural network and the wavelet analysis to generate control words which can be used inside
the Internet of Things too. A Tiva-C board has been used to acquire data instead of more popular
development boards, with an adequate response. One of the most important aspects related to the
proposed interface is that it can be used by almost anyone, including people with different abilities
and even illiterate people. Due to the existence of individual efforts to characterize different types of
bioelectric signals, we propose the generation of free access Bioelectric Control Dictionary, to define
and consult each characterized biosignal.

Keywords: nano systems; command and control systems; human machine interfaces; integrated
circuit interconnections; intelligent control; biosignals; wavelets

1. Introduction
Bioelectric signals represent physiological variables that are relevant for the generation of more
natural interfaces between a human and a machine. From such variables, we can obtain commands that
can control any type of technological device, and so, human-machine interfaces (HMI) can be designed.
The physiological variables can be a very small voltage, such as that obtained in an
electroencephalogram, or voltages of greater magnitude, such as those that are related to an
electrocardiogram. The use of signals of this type to control electronical devices, is of substantial social

Sensors 2019, 19, 1923; doi:10.3390/s19081923 www.mdpi.com/journal/sensors


Sensors 2019, 19, 1923 2 of 21

relevance since all people generate signals of such physical magnitudes, regardless of whether they
have diseases or are healthy, and whether they have all their capabilities or present different capabilities.
In this project we have characterized electromyographic signals (EMGs). Neural networks and
wavelet analysis are perfect tools for objectives of this type since such schemes can identify and
characterize the behavior patterns of each EMG signal. Once these signals have been characterized, it
is possible to generate connections via the Internet to control devices such as Raspberry Pi [1].
Recently, many efforts have been dedicated to the development of friendly interfaces for generating
HMI that can use biometrics such as voice, vision, gestures, and biosignals as input and output channels.
Some of such HMIs may involve the use of bodily movements such as hand movements, which require
a multimedia device that can capture them [2–4].
Nevertheless, the biometric signal we are interested, are the biosignals, for example the bioelectrical
brain signals or EEG (electroencephalogram), which are very interesting, and they have been used
too as control elements. The first experiment that demonstrated the real possibility of use EEG
signals as control elements was performed by Vidal [5], who was the director of the Brain-Computer
Interface Laboratory at UCLA, and from that moment different interfaces based on such scheme
have been created [6–9]. The analysis of the EEG signals, helped to develop the brain-computer
interfaces (BCIs), the BCIs have been used in many applications such as flying robots [10], robotic
wheelchairs [11], humanoid robot control [12], playing with robots [13], control robotic arms [14],
among other applications. This kind of interfaces can be used too to help people with physical
disabilities [15].
Despite the utility of signals such as EEG and interfaces such as BCI, this project focuses its
attention over the EMG, and their practical applications. EMG signals are very important variables for
the control of technological elements, mainly because they can be obtained in a relatively easy and
inexpensive way. Via the study and processing of signals of this type, it is possible today to detect
emotions [16], make music [17], and even develop smart clothes [18].
EMG signals have enabled the control of various types of devices. An example of the use of EMG
as a control command is presented in [19], where the authors realized real-time control of a robotic arm
with four degrees of freedom with such signals.
In [20], EMG signals were used to control mobile phones. In this work, the authors discuss
that even using simple processing techniques, it is possible to detect small muscle contractions and,
therefore, acquire data.
An MP3 player has been controlled via EMG in [21], thereby demonstrating a potential application
of such signals.
In 1997, the Neuro-Engineering Laboratory of the NASA Ames Research Center began an advanced
research program: the Extension of the Human Senses Initiative (EHS). EHS was an effort to produce the
next generation of machine and software interface technologies, which include human communication
tools that utilize EMG and EEG. They developed a biological control of simulation ship type 757 [22].
Recently in [23], Khanna developed a neural network that can classify hand gestures. Using
Arduino, they obtained information that was related to hand gestures and that information was
processed by a neural network. They characterized three hand gestures: closed fist, pointed index
finger, and natural rest position. They demonstrated the suitability of the Arduino microcontroller as a
data acquisition tool.
On the other hand, some works related to the use of the Wavelet Transform (WT) to analyze the
EMG signals have been presented, for example, [24] and [25] used the Discrete Wavelet Transform
(DWT) to extract characteristics from EMG signals.
According to [26], WT is one of the most powerful signal processing tools to analyze EMG
signals. In such a study, the authors investigated usefulness of extraction of the EMG features from
multiple-level wavelet decomposition of the EMG signal. They used different levels of various mother
wavelets to obtain the useful resolution components from the EMG signal.
Sensors 2019, 19, 1923 3 of 21

Authors in [27] say that classifying EMG signal patterns has been the subject of considerable
research effort in recent years. In that study, feedforward error backpropagation artificial neural
networks (FEBANNs) and wavelet neural networks (WNNs) based classifiers were developed and
compared in relation to their accuracy in classification of EMG signals.
As a practical experiment, we can see [28] where the authors analyzed the EMG signals coming
from two different subjects using a novel integration of Artificial Neural Network (ANN) and wavelet.
According to the authors, their results show how their methodology allows to obtain good accuracy in
classifying the hand postures, and opens the way to more functional hand prostheses. Following this
idea, the authors in [29] say that there is a need in better exploiting EMG signals in order to increase the
effectiveness of hand prostheses. They individuated five movements for the wrist-hand mobility. Then
they designed the basic electronics and software for the acquisition and the analysis of the EMG signals.
In the present project, various EMG signals that are related to arm movement have been analyzed,
processed by neural networks and wavelets, characterized as control words, and used to manipulate
a remote vehicle via the Internet. Generating an HMI controlled in a natural way, using a Tiva-C
development board.

2. Justification
With the growth of the Internet of Things (IoT) and the increasingly large need to generate
interconnections via the Internet to monitor, receive, and control various types of technological and
electronic elements, it is becoming increasingly important to generate HMIs that are easy to use, natural
in their execution, and can control electronic devices and computer elements via the Internet.
A natural approach to generating control commands is to obtain information about the movements
or biological characteristics of the human being, and generate from them a Bioelectric Control Dictionary
(BCD), that is, to classify and characterize bioelectric signals to obtain control words that trigger a
single instruction, and save them into the BCD.
From another perspective, it is both socially and technologically necessary for every person to
have access to the technology, regardless of the level of study, deep knowledge of scientific concepts
and, most importantly, anyone can use it no matter if a body member has lost or been injured. This
project allows almost anyone to control electronic elements via the Internet since everyone generates
bioelectric signals with everyday natural movements. Hence, a user does not need to learn confusing
commands or concepts to control an electronic device

3. Preliminaries
In this section, preliminary concepts that are related to the proposed project, tools, definitions,
and software and hardware aspects will be introduced.

3.1. Artificial Neural Networks


An Artificial Neural Network (ANN) is a computational scheme that is based on the way in
which the human brain learns. ANNs are helpful for solving technological problems, especially the
identification and characterization of patterns.
ANNs are structures that are formed by the interconnection of simple neurons. Figure 1 illustrates
a simple neuron. Neurons of this type can solve only linearly separable problems. To identify more
complex patterns, it is necessary to generate multi-layer networks, such as the showed in Figure 2.
This computational scheme can generalize different behavior patterns based on various groups of
data, hence, it has been selected for the characterization of bioelectric signals.

3.2. Wavelets
The non-stationary nature of EMG signals makes it difficult to characterize them when using
transforms in the frequency domain, such as the Fourier transform. To solve this problem, wavelet
Sensors 2019,
Sensors 2019, 19,
19, xx FOR
FOR PEER
PEER REVIEW
REVIEW 44 of
of 21
21
Sensors 2019, 19, 1923 4 of 21
transform analysis
transform analysis (WTA)
(WTA) has
has been
been used.
used. The
The WTA
WTA provides
provides time
time and
and frequency
frequency representation
representation of
of aa
signal. There
signal. There are two
are two elementary
elementary types
types of wavelet
of The
wavelet transform:
transform:
transform analysis (WTA) has been used. WTA provides time and frequency representation of a
signal.
1. The
1. There
The are two
Wavelet
Wavelet elementaryTransform
Continuous
Continuous types of wavelet
Transform (CWT):transform:
(CWT): continuous (( )) signal
Express aa continuous
Express signal as
as an
an expansion
expansion
of
1. of coefficients
Thecoefficients proportional
Wavelet Continuous
proportional to the
Transform
to the(CWT):
product
product between
Express
between the signal
signal
a continuous
the x(t) ((signal
)) and
and theexpansion
as the
an scaled and
scaled and
of
coefficients proportional
displaced version toofthe
the product
mother
displaced version of the mother wavelet between
wavelet the signal
.The CWTx(t) and
has the scaled
next and
form, displaced
where version
is the of
scale
,, .The CWT has the next form, where is the scale
parameter,
the mother wavelet
parameter, ψa,bbb. is
and
and isThe
is the
is the
CWTtranslation
has the next
translation form, where a is the scale parameter, and b is is the
parameter:
parameter:
translation parameter: Z ∞
(( ,, )) =
= (( )) (t),, dt,
(( )) ,, a, b ∈,, R ∈

(
CWT a, b = ) x(t)ψ a,b
−∞

= 1 11 t − b ! −−
, =
ψa,b ,= √ ψ . ..
|a| || || a

Figure 1.
Figure 1. Basic
Basic scheme
scheme of
of the
the perceptron.
perceptron.

Figure 2.
Figure
Figure 2. Multi-layer
2. Multi-layer perceptron.
perceptron.

2. The TheDiscrete Wavelet


Discrete Transform
Wavelet (DWT):
Transform Choose
(DWT): Choose values that discretize
values for parameters
that discretize
discretize a, y, b.
for parameters
parameters
2. The Discrete Wavelet Transform (DWT): Choose values that for
,, y, = 2−j
y, a.. The
The values The values × 22− j are
y b = k= y usually
= × 2 –– areThe
used. mother
usually used.wavelet
The takes the
mother form: takes the form:
wavelet
values = 2 y = × 2 are usually used. The mother wavelet takes the form:
j  
,, ((t)) =
ψ j,k (2
= 22 2 ψ(2 2 j t −− ).
−k .).
Thus, to
Thus, to the
the mother wavelet (( )) aa scale
mother wavelet function (( )) is
scale function is associated,
associated, which
which allows usus to
to
Thus, to the mother wavelet ψ(t) a scale function Φ(t) is associated, which allows us toallows
approximate
approximate any
approximate function (( )) with
any function with these functions,
functions, by
by means
means ofof the
the expression:
expression:
any function x(t) with these functions,these
by means of the expression:
(( )) =
=X X , (( )) + + X X , (( )) ,, ∈∈ ,,
x(t) = c j,k, Φ(t) + d j,k, ψ(t) j, k ∈ Z,
k j k j
where , are
where are the
the scale
scale or or approximation
approximation coefficients,
coefficients, and and , represent
represent the the wavelet
wavelet or or detail
detail
, ,
coefficients
where ofthe
c j,k areof
coefficients thescale
the original
or approximation
original signal ( ),
signal ( ), with
with respect to
coefficients,
respect and (d( j,k)) and
to and
represent( ).
( ). the wavelet or detail coefficients
The
of theThe development
original signal x (of
t ) , algorithms
with to
respect to Φ
evaluate
( t ) the
and ψDWT
( t ) .
development of algorithms to evaluate the DWT led to the implementation led to the implementation of of "filter
"filter banks".
banks".
These filters
The correspond
development of to a low-pass
algorithms to filter
evaluate and a
the high-pass
DWT led filter,
to the when the original
implementation
These filters correspond to a low-pass filter and a high-pass filter, when the original signal passing of signal
“filter passing
banks”.
through
These
through them,
filters
them, the output
output
correspond
the coefficients
tocoefficients
a low-pass filter and respectively,
and a , high-pass filter,are
whenobtained. A decomposition
the original signal passingof
,, and , respectively, are obtained. A decomposition of
through
the signal them,
can the
be output
obtained coefficients
at c
different
the signal can be obtained at differentj,klevels j,k and
levels d by respectively,
passing the are obtained.
scale A decomposition
coefficients obtained
by passing the scale coefficients obtained from the of
from the
Sensors 2019, 19, 1923 5 of 21

Sensors 2019, 19, x FOR PEER REVIEW 5 of 21

signal can be obtained at different levels by passing the scale coefficients obtained from the previous
previous filtering by an identical pair of filters, thus obtaining the coefficients of the next level, as
filtering by an identical pair of filters, thus obtaining the coefficients of the next level, as shown in
shown in Figure 3. Such coefficients can describe the EMG signals.
Figure 3. Such coefficients can describe the EMG signals.
Now, in this project, this scheme has been used to generate control words which can be used to
Now, in this project, this scheme has been used to generate control words which can be used to
remotely control a robotic vehicle.
remotely control a robotic vehicle.
3.3.
3.3. Bioelectrical
Bioelectrical Signals
Signals
It is well
It is wellknown
knownthatthat each
each biological
biological bodybody generates
generates electrical
electrical impulses
impulses that depend
that depend on the
on the activity
activity that isperformed,
that is being being performed, regardless
regardless of whether
of whether it is a mental
it is a mental activityactivity or a corporal
or a corporal activity.activity.
These
These electrical potentials are generated by cells that are called excitable
electrical potentials are generated by cells that are called excitable cells and their electrochemical cells andactivity.
their
electrochemical activity. All the impulses that are generated by a biological body
All the impulses that are generated by a biological body are called bioelectrical impulses. Depending on are called
bioelectrical impulses.
the type of activity andDepending
the body area on the
thattype of activity
generates them,and thesignals
these body area
have that generates them,
a characteristic these
electrical
signals have a characteristic
behavior, as can be seen in Table 1. electrical behavior, as can be seen in Table 1.
These
These data
data provide
provide information that depends
information that depends onon the
the person.
person. Hence,
Hence, duedue to
to the
the variation
variation ofof these
these
data, it is possible to obtain medical diagnoses or identify changes that are taking place
data, it is possible to obtain medical diagnoses or identify changes that are taking place in the body. In in the body.
In
thisthis
case,case, these
these datadata
are are important
important because
because we characterize
we can can characterize the information
the information thathuman
that the the human
body
body gives us and, thus, be able to use such information as an
gives us and, thus, be able to use such information as an element of control. element of control.

Figure 3. Discrete Wavelet Transform (DWT) decomposition.


Figure 3. Discrete Wavelet Transform (DWT) decomposition.
Table 1. Characteristics of different bioelectrical signals.
Table 1.Type
Bioelectrical CharacteristicsAmplitude
of differentRange
bioelectricalFrequency
signals. Range

Bioelectrical
Cardiac type
electrical activity Amplitude
0.5–4 mv range Frequency
0.01–250 range
Hz
Brain electrical activity
Cardiac electrical activity 5–300
0.5–4µV
mv DC-150 Hz
0.01–250 Hz
Gastric electrical activity 10 Mv–1 mV DC-1 Hz
Brain electrical activity 5–300 μV DC-150 Hz
Nervous electrical activity 0.01–3 mV DC-1 kHz
Gastric
Retina electrical
electrical activity
activity 10 Μv–1
0–900 µV mV DC-1
DC-50HzHz
Nervouselectrical
Muscular electrical activity
activity 0.01–3
0.1–5 mVmV DC-1
DC-10kHz
kHz
Retina electrical activity 0–900 μV DC-50 Hz
3.4. XMPP Muscular electrical activity 0.1–5 mV DC-10 kHz

The Extensible Messaging and Presence Protocol (XMPP) is an open protocol that is based on
3.4. XMPP
the XML (eXtensible Markup Language), which is designed to provide solutions that are related to
The Extensible
real-time Messaging and Presence Protocol (XMPP) is an open protocol that is based on
communications.
the XML
Some(eXtensible
of the mostMarkup
notableLanguage),
advantageswhich is designed
of XMPP to provide solutions
are: decentralization, that are related
safety, extensibility, to
open
real-time communications.
standard, and free. Due to its advantages, the XMPP protocol is useful in the development of
Some of the most notable advantages of XMPP are: decentralization, safety, extensibility, open
standard, and free. Due to its advantages, the XMPP protocol is useful in the development of human-
machine interfaces that can control technological devices remotely, such as the interface that is
proposed in this paper.
Each XMPP entity requires a Jabber identifier (JID), which contains the username and the
domain in which the resource is connected. JID uses a format that is similar to an email address “user
Sensors 2019, 19, 1923
@ domain/resource”. The message delivery process can be seen in Figure 4. 6 of 21
Sensors 2019, 19, x FOR PEER REVIEW 6 of 21

human-machine interfaces that can control technological devices remotely, such as the interface that is
machine interfaces that can control technological devices remotely, such as the interface that is
proposed in this paper.
proposed in this paper.
Each XMPP entity requires a Jabber identifier (JID), which contains the username and the domain
Each XMPP entity requires a Jabber identifier (JID), which contains the username and the
in which the resource is connected. JID uses a format that is similar to an email address “user @
domain in which the resource is connected. JID uses a format that is similar to an email address “user
domain/resource”. The message delivery process can be seen in Figure 4.
@ domain/resource”. The message delivery process can be seen in Figure 4.

Figure 4. Connection process between two users via the Extensible Messaging and Presence Protocol
(XMPP).

4. Methodology
This section describes the software and hardware that were used to develop this project and how
the project was implemented.

Figure Description
4.1. Project
Figure 4.
4. Connection process
Connection between
process two two
between usersusers
via the Extensible
via Messaging
the Extensible and Presence
Messaging Protocol
and Presence
(XMPP). (XMPP).
Protocol
A prototype that managed the data acquisition, characterization, transmission, and control was
developed;
4. it is illustrated in Figure 5.
Methodology
As shown in Figure 5, the project has two parts: a control entity, and a controllable entity. The
This section describes the software and hardware
hardware that were used to develop this project and how
control entity is composed of a muscle sensor, a Tiva-C development board, and a computer with the
the project was implemented.
following characteristics: Intel Core i5-3330 CPU, running at 3 GHz, 8 GB RAM memory, and a 64-bit
operating
4.1. Projectsystem (OS). The controllable entity (Figure 6) consists of a Raspberry Pi 3 development
Description
4.1. Project Description
board and a prototype of the vehicle to be managed. The controllable entity is very simple because it
is justA
Aaprototype
Raspberrythat
prototype that managed
that the
managed
Pi board the data
data acquisition,
controls motors ofcharacterization,
acquisition,
the a pair of wheels.transmission,
characterization, transmission, andbecontrol
and
The motors can turnedwas
control was
on,
developed;
developed;
turned it is illustrated
it is made
off, and illustrated in
to goin Figure 5.
Figure and
forward 5. backward.
As shown in Figure 5, the project has two parts: a control entity, and a controllable entity. The
control entity is composed of a muscle sensor, a Tiva-C development board, and a computer with the
following characteristics: Intel Core i5-3330 CPU, running at 3 GHz, 8 GB RAM memory, and a 64-bit
operating system (OS). The controllable entity (Figure 6) consists of a Raspberry Pi 3 development
board and a prototype of the vehicle to be managed. The controllable entity is very simple because it
is just a Raspberry Pi board that controls the motors of a pair of wheels. The motors can be turned on,
turned off, and made to go forward and backward.

Figure 5. Basic scheme of the proposed project. It is composed of the controller entity and the
Figure 5. Basic scheme of the proposed project. It is composed of the controller entity and the
controllable entity.
controllable entity.

As shown in Figure 5, the project has two parts: a control entity, and a controllable entity.
The control entity is composed of a muscle sensor, a Tiva-C development board, and a computer
with the following characteristics: Intel Core i5-3330 CPU, running at 3 GHz, 8 GB RAM memory,
and a 64-bit operating system (OS). The controllable entity (Figure 6) consists of a Raspberry Pi 3
Figure 5. board
development Basic scheme of the proposed
and a prototype of theproject.
vehicleIt to
is be
composed of the
managed. Thecontroller entityentity
controllable and the
is very
controllable entity.
Sensors 2019, 19, x FOR PEER REVIEW 7 of 21

Tiva-C has been used due to the ease of working with the Myoware muscle sensor, the
connection between these two devices is direct and does not require complicated or expensive
configurations.
Sensors In the first, it was considered to use the Arduino UNO board to obtain the bioelectrical
2019, 19, 1923 7 of 21
signals, however, Arduino UNO and Tiva-C can be used in the same way, and can be connected in
the same form to the sensor, but Tiva-C can speeds up to 80 MHz, faster than 16 MHz of Arduino. To
simple because
the authors’ it is just aTiva-C
knowledge, Raspberry Pi board
has not that controls
been tested the motors
in this kind of a pair
of schemes, of wheels.
which was the The
firstmotors
reason
can be turned on, turned
Tiva-C LaunchPad was selected. off, and made to go forward and backward.

(a) (b)
Figure 6. Prototype
Prototype of
of the
the controllable entity, (a) seen from
from above,
above, (b)
(b) seen
seen from
from the
the side.
side.

Tiva-C has beenaused


By generating basicdue to the ease of working
communication script, itwith the Myoware
is possible muscle
to obtain the sensor,
sensor theinformation
connection
between
directly fromtheseTiva-C
two devices is direct
and process theand does not
obtained datarequire complicated
in MATLAB or expensive
on a computer. Theseconfigurations.
collected data
In
arethe first, it wasanalyzed
processed, considered and to characterized
use the Arduino UNO board
through to obtain
an ANN, the bioelectrical
which is developed signals, however,
in MATLAB's
Arduino UNO and Tiva-C can be used in the same way, and can be
neural network toolbox. Another analysis of such data was made by means of the wavelet conceptconnected in the same form toin
the
ordersensor, but Tiva-C
to generate the can
same speeds up to 80 data
characterized MHz,asfasterANN,than 16 MHz
wavelet of Arduino.
analysis made via To the authors’
MATLAB’s
knowledge,
wavelet toolbox. Tiva-C has not been tested in this kind of schemes, which was the first reason Tiva-C
LaunchPad
Once the wasdataselected.
that were obtained through Tiva-C have been processed and analyzed, three
By words
control generatingthat aare
basic communication
related script, it isarm
to the characterized possible to obtain
movements the
are sensor
saved in information
the BCD. Then, directly
the
from
PC is Tiva-C
ready toand send process the obtained
the control commands datato in
theMATLAB on entity.
controllable a computer. These collected data are
processed, analyzed and
The controllable characterized
entity throughPi
has the Raspberry an3ANN, which isboard
development developed in MATLAB’s
as its processing core.neural
This
network
board has toolbox. Another
been selected analysis
because of such
it has dataconnection
a Wi-Fi was made by andmeans
it has of thetested
been wavelet andconcept
analyzedin order to
for use
generate the
in the IoT [30]. same characterized data as ANN, wavelet analysis made via MATLAB’s wavelet toolbox.
Once the data that
The Raspberry werehas
board obtained throughwith
been loaded Tiva-C
the have been processed
Raspbian and analyzed,
OS. The software that isthree control
responsible
words that areand
for receiving related to the characterized
processing the control wordsarm movements are saved
from the control in the
entity and BCD. Then, the
managing thePC is ready
outputs of
to
thesend the controlboard
development commands
has been to the controllable
developed in theentity.
Python programming language.
The
When controllable entity entity
the controllable has the Raspberry
connects to thePi 3XMPP
development
jabberes.orgboard as its itprocessing
server, can begin core. This
to receive
board has been
information fromselected becauseentity.
the control it has aInWi-Fi
this connection and it has
case, depending on been tested and analyzed
the instruction for use
that is received
in the IoT [30].
remotely, the controllable entity will manage the GPIOs and the output actuators.
The
For theRaspberry
connectionboard ofhas
thebeen loaded
control with
entity andthetheRaspbian OS. The
controllable software
entity, it wasthatnot isnecessary
responsible for
to use
receiving and processing the control words from the control entity and
our own servers or clouds since the XMPP communication protocol has its own servers, which are managing the outputs of the
development
free to access.board has been developed in the Python programming language.
When the controllable entity connects to the XMPP jabberes.org server, it can begin to receive
4.2. Obtaining
information from the the
Signals
control entity. In this case, depending on the instruction that is received remotely,
the controllable entity will managesignals,
To obtain bodily bioelectrical the GPIOsit wasandnecessary
the outputto actuators.
use a muscular sensor. In this case, the
For the connection of the control entity and
Myoware Muscle Sensor, which is shown in Figure 7. This sensor the controllable entity,
has itthe
was not necessary
advantage that ittodoes
use our
not
own servers
provide a raw or signal;
clouds instead,
since theitXMPP communication
processes the EMG signal protocol
beforehasproviding
its own servers,
it to us. which are free
It processes,
to access.
filters, rectifies, and amplifies bioelectric signals, as shown in Figure 8, which is obtained from its
datasheet [31]. The correct form for connecting the sensor to a muscle is provided in [31].
4.2. Obtaining the Signals
The sensor obtains the EMG signals from the human body and sends the information to the
Tiva-CTo board.
obtain bodily
At thisbioelectrical
moment, thesignals,
behaviorit was necessary
of the signal to
canuse
be aobserved
muscularvia
sensor. In this
the serial case,
plotter
the Myoware Muscle Sensor, which is shown in Figure 7. This sensor has the advantage that it does
not provide a raw signal; instead, it processes the EMG signal before providing it to us. It processes,
filters, rectifies, and amplifies bioelectric signals, as shown in Figure 8, which is obtained from its
datasheet [31]. The correct form for connecting the sensor to a muscle is provided in [31].
Sensors 2019, 19, 1923 8 of 21

Sensors 2019, 19, x FOR PEER REVIEW 8 of 21


Sensors
The2019, 19, x FOR
sensor PEER
obtains REVIEW
the 8 of 21
EMG signals from the human body and sends the information to the Tiva-C
board. At It
function. thisismoment,
easy to the behavior
obtain and ofinterpret
the signalsuch
can be observed
data. via the serial
The acquired dataplotter function. and
are analyzed It is
function. It is easy to obtain and interpret such data. The acquired data are analyzed and
easy to obtainin
characterized and
theinterpret
next stepsuch data.
of the The acquired data are analyzed and characterized in the next
system.
characterized in the next step of the system.
step of the system.

Figure 7. Myoware muscle sensor.


Figure7.7.Myoware
Figure Myowaremuscle
musclesensor.
sensor.

Sensors 2019, 19, x FOR PEER REVIEW 9 of 21

2. Signal graph in MATLAB: With the data that have already been stored, the obtained signals
can be plotted. For the experiments, 200 samples were considered, which vary between 0 and
5 V (the original values were mapped to be in accordance with the board values). In this way,
a graphic generator was obtained. It enabled the monitoring of the muscle behavior in real
time.
Figure 8. 8.8.Image
Image that was obtained directly from the Myoware muscle sensor’s datasheet. The obtained
3.Figure
Analysis
Figure Image of that
thatwas
wasobtained
patterns: Using directly
obtained the from
fromthe
previously
directly theMyoware
Myowaremuscle
designed tool, the
muscle sensor’s datasheet.
behavior
sensor’s The
Theobtained
patterns
datasheet. of the EMG
obtained
electromyographic
electromyographic signals
signals (EMGs)
(EMGs) signal
signal is
is processed
processed before
before its
its output.
output.
electromyographic signals (EMGs) signal is processed before its
signals from the arm movements were analyzed. According to Figures 9–11, each movement output.

Thehasfirsta bioelectric
unique form. Many
signals thatsamples
were studied are shown in the plotswere
and characterized and signals
although thatthere are small
correspond to
The first bioelectric
differences among signals
them, that were
they share studied
a general andand characterized
distinguishable werebehavior;
signals that correspond
hence, they have to
three compound
compoundmovements movements of the
of arm. To make
the arm. To these
makecharacterizations, each person
these characterizations, whoperson
each participated
who
three compound
very in similar movements
patterns of the arm. To make these characterizations, each person who
in the experiment
participated thewas placedofinwas
experiment behavior.
a straight
placed sitting position,
in a straight withposition,
sitting his elbow withresting on a desk.
his elbow resting In on
that
a
participated
4. Training in theof experiment
the neural was placed
network for in arecognition
the straight sitting position,
of made:
patterns: with hiswave
Once elbowsignals
restingwereon a
position,
desk. threeposition,
In that types of three arm movements
types of arm were made: thewere
movements arm upward the arm the
movement, upward a double upward
movement, a
desk. In that position,
obtained, the three
next steptypeswas of to
arm movements
prepare and wereamade:
train neural the arm upward
network for themovement,
automatic a
movement, and an upward-downward movement. We obtained
double upward movement, and an upward-downward movement. We obtained 200 samples of each 200 samples of each movement and
doublerecognition
upward movement, and an upward-downward movement. We obtained 200 samples of each
each one was
movement and eachof
saved as
onethe bioelectric
a vector
was withas
saved patterns.
150 sampling
a vector with points.
150 sampling points.
movement For and aeach
this, neural onenetwork
was saved was asdesigned
a vector withand 150 samplingin
implemented points.
the
The 200200 vectors
vectorsthat thatwere
wereobtained
obtained fromfrom each movement
each movement werewere used toMATLAB’s
usedtrain neural
the supervised
to train network
ANN,
the supervised
The 200
toolbox, vectors
which that
will were
enable obtained
us to from
obtain each
different movement
samples were
of EMG used to
signals train
and the supervised
classify them
and they
ANN, andwere
theyanalyzed
were analyzed by means of wavelets.
by means In this way,
of wavelets. In thisthree
way, characterized control words
three characterized controlthat
wordsare
ANN, and they were
according to analyzed
the type ofby means
signal to of wavelets.
which they In this way, three
correspond. Then, characterized
it is necessary control
to words
perform
usedare
that in our
usedexperiments
in our experiments have been have obtained.
been obtained.
that aresupervised
used in ourtraining experimentsof the have been obtained.
back-propagation
According to Figures 9–11, different
different bioelectricalneuronal
signals are
signals network.
are obtained from
obtained from the the arm
arm movements.
movements.
According
Once the toANNFigureshas 9–11,
been different
trained, bioelectrical
3 control signals
words are are obtainedand
generated fromsavedthe arm movements.
into the to
BCD.
This research
research has hasfocused
focusedon onanalyzing
analyzinginindepth depththe thepatterns
patterns in in
thetheEMGEMG signals
signalsthatthat
areare
related
related the
to
This research
These has focused
calculated on
weights analyzing
are used intodepth
evaluatethe patterns
every in
movement the EMG
that signals
a user that are
performs. related to
described
the described movements.
movements.
the described movements.
4.3. Signal Processing via Neural Networks
4.3. Signal Processing via Neural Networks
After the compound arm movements were clearly identified and the signals that correspond to
After the compound arm movements were clearly identified and the signals that correspond to
those contractions were obtained, it was necessary to interpret the analog signals that were collected
those contractions were obtained, it was necessary to interpret the analog signals that were collected
from the muscle sensor. For the interpretation and analysis, an interface was developed in MATLAB
from the muscle sensor. For the interpretation and analysis, an interface was developed in MATLAB
that graphs the data that are obtained by the sensor in real time.
that graphs the data that are obtained by the sensor in real time.
The design of the interface is described as follows:
The design of the interface is described as follows:
1. Connection of the muscle sensor with the Tiva-C and MATLAB: The output of the muscle
1. Connection of the muscle sensor with the Tiva-C and MATLAB: The output of the muscle
sensor is interpreted with the analogue-digital converter of the corresponding board. With
sensor is interpreted with the analogue-digital converter of the corresponding board. With
such data, a program was designed that interprets the acquired data through the sensor and
such data, a program was designed that interprets the acquired data through the sensor and
converts the database to a digital code, which is sent to MATLAB. After that, a script was
converts
Figure the database
9. Samples that to a digital code, which is sent to MATLAB. After that, a script was
Figure 9.
designed Samples that are
in MATLAB aretorelated
related
save theto the
to the double
double
information upward
upward movement.
that ismovement.
related to theThe Y-axis
Y-axis
Thearm represents
represents It
movements. each
each
obtains
designed
sampling in MATLAB
point tothat
saveisthe information that is related toX-axis
the arm movements. It obtains
sampling
the data thatofof
point arethe
the vector
vector
sent bythat related
theismicroprocessor
related to sample
to each each sample
and
board and and thesuch
X-axis
thestores represents
datarepresents
the
in asignal the each
signal
amplitude
vector; saved
the
amplitudedata that
(it was are sent
mapped by the
between microprocessor board and stores such data in a vector; each saved
(it vector
was mapped
has between
the 0 and
following 5). 0 and 5).
form:
vector has the following form:
Vsignal {150} = {samplingpoint0, samplingpoint1, …, samplingpoint149}
Vsignal {150} = {samplingpoint0, samplingpoint1, …, samplingpoint149}
Figure 9. Samples that are related to the double upward movement. The Y-axis represents each
sampling point of the vector that is related to each sample and the X-axis represents the signal
Sensors 2019, 19, 1923 9 of 21
amplitude (it was mapped between 0 and 5).

Figure
Figure 10. Samples
Samples that
that are
are related
related to the upward movement. The The Y-axis
Y-axis represents
represents each
each sampling
sampling
point
point of the vector
vector that
thatisisrelated
relatedtotoeach
eachsample
sample and
and thethe X-axis
X-axis represents
represents the the signal
signal amplitude
amplitude (it
(it was
Sensors
was2019, 19,between
mapped
mapped x FOR PEER
between
0 andREVIEW
0 and
5). 5). 10 of 21

Figure 11.
11. Samples
Samplesthat
thatare related
are to to
related thethe
upward-downward
upward-downward movement. The Y-axis
movement. represents
The Y-axis each
represents
each sampling
sampling pointpoint of vector
of the the vector
thatthat is related
is related to to each
each sampleand
sample andthe X-axisrepresents
theX-axis represents the
the signal
amplitude (it was mapped between 0 and 5).

4.3. Characterization
4.4. Signal Processingvia
viaWavelets
Neural Networks
After
As wasthesaid
compound arm movements
before, another weremade
analysis was clearly identified
over the 200and the signals
vectors thatobtained
that were correspond to
from
those contractions were obtained, it was necessary to interpret the analog signals that
each arm movement, this analysis was made via wavelets, the idea of this process is to obtain the were collected
from the
same muscle
control sensor.
words that For
were the interpretation
obtained through and analysis,
neural an interface
networks was developed
and control the vehiclein MATLAB
via XMPP.
that graphs the data that are obtained by the sensor in real time.
The vectors shown in Figures 9–11, were analyzed in this way. In order to choice the mother
The two
wavelet, design of the
criteria interface
were is described
implemented, as follows:
the first was based on finding a wavelet that had a similarity
with the
1. signals toofbethe
Connection analyzed, and thewith
muscle sensor second was to make
the Tiva-C different The
and MATLAB: testsoutput
with theof wavelets
the muscleselected
sensor
from is
the previous step, choosing the one that presented a better approximation with
interpreted with the analogue-digital converter of the corresponding board. With such data, the signals to
study.a program was designed that interprets the acquired data through the sensor and converts
Through MATLAB's
the database Wavelet
to a digital code,toolbox,
which is the analysis
sent of our signals
to MATLAB. was performed.
After that, a script wasThis toolbox
designed in
allows us to select, at the beginning, the type of transformation that we want to do,
MATLAB to save the information that is related to the arm movements. It obtains the data thatin this case the
DWT,arethesent
mother wavelet
by the with which
microprocessor we want
board to analyze
and stores such the
datasignal and the
in a vector; level
each of decomposition
saved vector has the
that we want to reach.
following form: For the analysis of our signals, Wavelet Symlets 4, presented in Figure 12, was
implemented as the mother wavelet; In addition, 3 decomposition level was chosen.
Vsignal {150} = {samplingpoint0, samplingpoint1, . . . , samplingpoint149}
Sensors 2019, 19, 1923 10 of 21
Sensors 2019, 19, x FOR PEER REVIEW 10 of 21

2. Signal graph in MATLAB: With the data that have already been stored, the obtained signals can
be plotted. For the experiments, 200 samples were considered, which vary between 0 and 5 V (the
original values were mapped to be in accordance with the board values). In this way, a graphic
generator was obtained. It enabled the monitoring of the muscle behavior in real time.
3. Analysis of patterns: Using the previously designed tool, the behavior patterns of the EMG
signals from the arm movements were analyzed. According to Figures 9–11, each movement has
a unique form. Many samples are shown in the plots and although there are small differences
among them, they share a general and distinguishable behavior; hence, they have very similar
patterns of behavior.
4. Training of the neural network for the recognition of patterns: Once the wave signals were
obtained, the next step was to prepare and train a neural network for the automatic recognition
of the bioelectric patterns. For this, a neural network was designed and implemented in the
MATLAB’s neural network toolbox, which will enable us to obtain different samples of EMG
signals and classify them according to the type of signal to which they correspond. Then, it is
necessary
Figure to perform
11. Samples supervised
that are related totraining of the back-propagation
the upward-downward neuronal
movement. The Y-axis network.
represents Once
each the
ANN haspoint
sampling beenoftrained, 3 control
the vector that iswords
relatedare
togenerated
each sampleand saved
and into therepresents
the X-axis BCD. These
the calculated
signal
weights are
amplitude (it used to evaluate
was mapped every
between movement
0 and 5). that a user performs.

4.4. Characterization via


4.4. Characterization via Wavelets
Wavelets
As
As was
was said
saidbefore,
before,another
anotheranalysis
analysiswas
was made
made over thethe
over 200200
vectors thatthat
vectors werewere
obtained fromfrom
obtained each
arm
each movement,
arm movement, this analysis was made
this analysis via wavelets,
was made the idea
via wavelets, the of thisofprocess
idea is to obtain
this process the same
is to obtain the
control words that were obtained through neural networks and control the vehicle
same control words that were obtained through neural networks and control the vehicle via XMPP. via XMPP.
The
The vectors
vectors shown
shown in in Figures 9–11, were
Figures 9–11, were analyzed
analyzed inin this
this way.
way. InIn order
order toto choice
choice the
the mother
mother
wavelet,
wavelet, two
two criteria
criteria were
were implemented,
implemented, the first was
the first was based
based on
on finding
finding aa wavelet
wavelet that
thathad
hadaasimilarity
similarity
with the signals to be analyzed, and the second was to make different tests with the
with the signals to be analyzed, and the second was to make different tests with the wavelets selectedwavelets selected
from the previous step, choosing the one that presented a better approximation
from the previous step, choosing the one that presented a better approximation with the signals with the signals
to
to study.
study.
Through
Through MATLAB’s Wavelet toolbox,
MATLAB's Wavelet toolbox, the
the analysis of our
analysis of our signals was performed.
signals was performed. ThisThis toolbox
toolbox
allows
allows usus to
to select,
select, at
at the
the beginning, the type
beginning, the type ofof transformation
transformation thatthat we
we want
want toto do,
do, in
in this
this case
case the
the
DWT, the mother wavelet with which we want to analyze the signal and the
DWT, the mother wavelet with which we want to analyze the signal and the level of decompositionlevel of decomposition
that
that we
we want
want toto reach.
reach. For
For the
the analysis
analysis of
ofour
oursignals,
signals,Wavelet
Wavelet Symlets
Symlets 4, 4, presented
presented in in Figure
Figure 12,12,was
was
implemented
implemented as as the
the mother
mother wavelet;
wavelet; In
In addition,
addition, 33 decomposition
decomposition level
level was
was chosen.
chosen.

Figure 12. Wavelet Symlets 4 (sym4).

The approximation and detail coefficients were obtained obtained for


for three
three approximation
approximation levels,
levels, which
which
are presented
presentedinin Figures
Figures13–15, for the
13–15, formovements
the movementsdouble double
upward,upward,
upward, upward,
and upward-downward,
and upward-
respectively, where s represents
downward, respectively, wherethe signal to study,
s represents a3 is the
the signal approximation
to study, level 3 and d1 , to
is thetoapproximation d2 ,level
and d33
are the
and , , details at level 1, 2, and 3.
are the details at level 1, 2, and 3.
In order to analyze the complete behavior related to each described described armarm movement,
movement, itit was was
necessary to obtain all the characteristics from each of them. This means, all the vectors
necessary to obtain all the characteristics from each of them. This means, all the vectors related to related to each
of theofarm
each the movements
arm movements werewere
analyzed. FirstFirst
analyzed. of all,
ofitall,
was necessary
it was to remove
necessary all the
to remove noise
all the from
noise the
from
the original signals, in Figure 16, it is possible to see a comparison between an original signal and
the de-noised signal.
Sensors 2019, 19, 1923 11 of 21

original signals, in Figure 16, it is possible to see a comparison between an original signal and the
Sensors 2019, 19, x FOR PEER REVIEW 11 of 21
Sensors 2019, signal.
de-noised 19, x FOR PEER REVIEW 11 of 21
After the signals were de-noised, it was necessary to obtain all the characteristics related to the
After the
After the signals
signals were
were de-noised,
de-noised, itit was
was necessary
necessary to to obtain all
all the
the characteristics
characteristics related
related to
to the
the
signal.
signal. In Figures
In Figures 17 and
17 and 18,
18, it
it is
is possible
possible to
to see
see the detailobtain
the detail coefficients
coefficients and the
and the statistical
statistical data
data of
of the
the
signal.
de-noiseInsignal
Figuresof 17
theand 18, it is possible
approximation to see the
coefficients detail3 coefficients
in level related to theand the statistical
double data of the
upward movement.
de-noise signal
de-noise signal of
of the
the approximation
approximation coefficients
coefficients inin level
level 33 related
related to
to the
the double
double upward
upward movement.
movement.

Figure 13.
Figure 13. Example
Example of
Example of approximation
of approximation and
approximation and detail
and detail coefficients,
detail coefficients, approximation
coefficients, approximation to
approximation to level
to level 333 related
level related to
related to one
one
one
double upward movement.
double upward movement.

Figure 14. Example


Figure Example of approximation
approximation and detail
detail coefficients, approximation
approximation to level
level 3 related to
to one
Figure 14.
14. Example of
of approximation and
and detail coefficients,
coefficients, approximation to
to level 33 related
related to one
one
upward
upward movement.
upward movement.
movement.
Sensors 2019, 19, 1923 12 of 21
Sensors 2019, 19, x FOR PEER REVIEW 12 of 21
Sensors 2019, 19, x FOR PEER REVIEW 12 of 21
Sensors 2019, 19, x FOR PEER REVIEW 12 of 21

Figure 15. Example of approximation and detail coefficients, approximation to level 3 related to one
Figure 15. Example of approximation and detail coefficients, approximation to level 3 related to one
upward-downward
Figure movement.
15. Example of approximation and detail coefficients, approximation to level 3 related to one
upward-downward movement.
upward-downward
Figure movement.
15. Example of approximation and detail coefficients, approximation to level 3 related to one
upward-downward movement.

Figure 16. Comparison between a signal with noise, and a de-noised signal. In this case, the signal
corresponds
Figure to a sample from theaupward
16. Comparison movement.and a de-noised signal. In this case, the signal
Figure 16. Comparison between
between a signal
signal with
with noise,
noise, and a de-noised signal. In this case, the signal
corresponds
Figure to
to aa sample
samplebetween
16. Comparison
corresponds from the
from theaupward
upward movement.
signal with noise, and a de-noised signal. In this case, the signal
movement.
corresponds to a sample from the upward movement.

Figure 17. Detail coefficients related to the double upward movement.


Figure 17. Detail coefficients related to the double upward movement.
Figure
Figure 17.
17. Detail
Detail coefficients
coefficients related
related to
to the
the double
double upward
upward movement.
movement.
Sensors 2019, 19,
Sensors 2019, 19, 1923
x FOR PEER REVIEW 13 of
13 of 21
21

Figure 18. Statistical data of the de-noise signal of the approximation coefficients in level 3 related to
the double upward movement.

In Figures 19 and 20, it is possible to see the detail coefficients and the statistical data of the de-
noise signal of the approximation coefficients in level 3 related to the upward movement.
In Figures 21 and 22, it is possible to see the detail coefficients and the statistical data of the de-
noise signal of the approximation coefficients in level 3 related to the upward-downward movement.
The approximation coefficients of level 3 were taken as the characteristic data vector for each of
the EMG signals, to which a statistical description was made, obtaining statistical data such as the
maximum value, the minimum value, the average, the sum, among others. After performing this
analysis, it was calculated an arithmetic average, in which all the signal coefficients are used. In this
case it is necessary to say that the signal coefficients were calculated for each vector related to each
Figure
arm Figure
movement.18. Statistical
18. Statistical data
data of
One interesting of the
the thing
de-noise
de-noise signal of
signal to
related the
thisapproximation
of the approximation coefficients
coefficients
fact, is that the averageininvalue
level 33related
level related to
related to
to the
the
the double
double upward
upward movement.
movement.
coefficients of each signal has a particular value for each of the arm movements. Some examples of
some vectors related to this behavior is shown in Table 2. In Table 2, are shown 5 of 200 samples
In Figures 19 19 and
and20,20,ititisispossible
possibletotosee thethe
see detail coefficients
detail andand
coefficients the the
statistical datadata
statistical of theof de-
the
from each arm movement, and it is possible to see, that each average value related to the three arm
noise signal
de-noise of the
signal approximation
of the approximation coefficients in level
coefficients 3 related
in level to the
3 related upward
to the upward movement.
movement.
movements have a similar value.
In Figures 21 and 22, it is possible to see the detail coefficients and the statistical data of the de-
noise signal of the approximation coefficients in level 3 related to the upward-downward movement.
The approximation coefficients of level 3 were taken as the characteristic data vector for each of
the EMG signals, to which a statistical description was made, obtaining statistical data such as the
maximum value, the minimum value, the average, the sum, among others. After performing this
analysis, it was calculated an arithmetic average, in which all the signal coefficients are used. In this
case it is necessary to say that the signal coefficients were calculated for each vector related to each
arm movement. One interesting thing related to this fact, is that the average value related to the
coefficients
Sensors 2019, 19,ofx FOR
eachPEER
signal has
Figure
REVIEW
Figure 19.a Detail
19. particular
Detail valuerelated
coefficients
coefficients for each
related of the
to the
to the arm movement.
upward
upward movements. Some examples
movement. 14 of of
21
some vectors related to this behavior is shown in Table 2. In Table 2, are shown 5 of 200 samples
from each arm movement, and it is possible to see, that each average value related to the three arm
movements have a similar value.

Figure 19. Detail coefficients related to the upward movement.

Figure
Figure 20.
20. Statistical
Statistical data
data of
of the
the de-noise
de-noise signal
signal of
of the
the approximation
approximation coefficients
coefficients in
in level
level 33 related
related to
to
the upward movement.
the upward movement.
Sensors 2019, 19, 1923 14 of 21

In Figures
Figure 20.
21 and 22,data
20. Statistical
it isofpossible
Statistical data
to seesignal
the de-noise
the detail
de-noise signal of the
coefficients andcoefficients
the approximation
the statistical
approximation coefficients
data of
in level
the de-noise
level 33 related
related to
to
Figure of the of in
signal of the approximation
the upward movement. coefficients in level 3 related to the upward-downward movement.
the upward movement.

Figure 21.
Figure 21.
Figure Detail coefficients
Detail coefficients
21. Detail related
coefficients related to
related to the
to the upward-downward
the upward-downward movement.
upward-downward movement.

Figure 22.
Figure 22. Statistical data
data of the
the de-noise signal
signal of the
the approximation coefficients
coefficients in level
level 3 related to
to
Figure 22. Statistical
Statistical data of
of the de-noise
de-noise signal of
of the approximation
approximation coefficients in
in level 33 related
related to
the
the upward-downward movement.
the upward-downward
upward-downward movement.
movement.

Withapproximation
With
The the obtained
the obtained coefficients
coefficients values,
coefficientsvalues, it 3is
it
of level iswere
possible
possible
takento as
to seethe
see that
that there is
there is aa general
characteristic general behavior
behavior
data vector related
forrelated
each of
to
to each
each arm
arm movement,
movement, indeed
indeed some
some coefficients
coefficients were
were proved
proved in
in a
a raw
raw form,
form, to
to generate
generate
the EMG signals, to which a statistical description was made, obtaining statistical data such as the control
control
words,
words,
maximum however,
however, we minimum
we
value, the have used
have usedvalue,
such coefficients
such coefficients
the average,as asthe
input
input data
sum,data
amongin aaothers.
in classification
classification tool, aa neural
tool,
After performing neural
this
network.
network.
analysis, it was calculated an arithmetic average, in which all the signal coefficients are used. In this
case it is necessary to say that the signal coefficients were calculated for each vector related to each arm
movement. One interesting thing related to this fact, is that the average value related to the coefficients
of each signal has a particular value for each of the arm movements. Some examples of some vectors
related to this behavior is shown in Table 2. In Table 2, are shown 5 of 200 samples from each arm
movement, and it is possible to see, that each average value related to the three arm movements have a
similar value.
With the obtained coefficients values, it is possible to see that there is a general behavior related to
each arm movement, indeed some coefficients were proved in a raw form, to generate control words,
however, we have used such coefficients as input data in a classification tool, a neural network.
The training patterns of the neural network that are obtained from the wavelets have the shape
shown in the Figures 13–15, represented with the coefficients showed in Figures 17, 19 and 21.
As showed in Figure 16, the wavelet analysis compared with a direct signal from the sensor, reduces
the intrinsic noise level of the EMG signal, thus the level of classification error is reduced.
Sensors 2019, 19, x FOR PEER REVIEW 15 of 21

The training patterns of the neural network that are obtained from the wavelets have the shape
shown in the Figures 13–15, represented with the coefficients showed in Figures 17, 19 and 21. As
Sensors
showed in19,Figure
2019, 1923 16, the wavelet analysis compared with a direct signal from the sensor, reduces
15 of 21

the intrinsic noise level of the EMG signal, thus the level of classification error is reduced.
Table 2. Average values obtained from the approximation coefficients for each of the signals related to
Table 2. Average values obtained from the approximation coefficients for each of the signals related
each arm movement. In column one, it is possible to see the average value of five samples, or vectors,
to each arm movement. In column one, it is possible to see the average value of five samples, or
related to the double upward movement, and so on in every column. In this sense, this behavior is
vectors, related to the double upward movement, and so on in every column. In this sense, this
used to generate control words which represent each arm movement.
behavior is used to generate control words which represent each arm movement.
Double Upward Movement Upward Movement Upward-Downward Movement
Double upward movement Upward movement Upward-downward movement
0.9030
0.9030 0.9146
0.9146 1.7375
1.7375
0.7864
0.7864 0.9146
0.9146 1.5771
1.5771
0.7612 0.9146 1.7366
0.7612 0.9146 1.7366
0.7206 0.9896 1.7366
0.7206 0.9896 1.7366
0.8567 0.9789 1.4033
0.8567 0.9789 1.4033

4.5.
4.5. Controlling
Controlling aa Vehicle
Vehicle via
via the
the Internet
Internet
With
Withthe thetrained
trained ANN
ANN and
and the
the data
data obtained
obtained from
from the
the wavelet
wavelet analysis,
analysis, aa user
user can
can begin
begin to
to send
send
control words to the controllable entity via XMPP. Figure 23 illustrates this transmission behavior,
control words to the controllable entity via XMPP. Figure 23 illustrates this transmission behavior, in
which it isitpossible
in which to observe
is possible thethe
to observe connection via via
connection the the
Internet.
Internet.

Figure23.
Figure 23. The
Theconnection
connectionvia viathe
theInternet.
Internet.First,
First, it necessary
it is is necessary to establish
to establish the the connection
connection between
between the
the devices.
devices. After
After that,that, the devices
the devices will will communicate
communicate withwith
eacheach other.
other.

As
Asshown
shownin inFigure
Figure23,
23,when
whena auser
usermakes
makes ananarm movement,
arm movement, it sends thethe
it sends correct control
correct word
control via
word
the
via Internet
the Internetusingusing
the XMPP protocol.
the XMPP In this
protocol. Inmanner, the control
this manner, word word
the control can travel through
can travel the world.
through the
Because of this protocol,
world. Because the proposed
of this protocol, system cansystem
the proposed use any server
can use that
any is installed
server thatinisany geographical
installed in any
position,
geographicalwithout restrictions.
position, withoutThe controllable
restrictions. Theentity receivesentity
controllable the control
receivesword and processes
the control the
word and
information to manipulate the electronic device remotely.
processes the information to manipulate the electronic device remotely.
In
In this
this case,
case, the
the response
response isis very
very simple:
simple: the unique action that the controllable entity must
perform
perform is is to
to recognize
recognize the
the received
received command and manage the corresponding
corresponding Raspberry’s
Raspberry’s GPIO.
GPIO.
The BCD was previously saved to the Raspberry
The BCD was previously saved to the Raspberry board. board.

5.
5. Results
Results
The
The muscular
muscularbioelectrical
bioelectricalimpulses
impulses that were
that generated
were by the
generated by compound
the compound arm movements
arm movements have
been
have studied and characterized
been studied by mean
and characterized of ANN
by mean and wavelet
of ANN analysis.
and wavelet analysis.
A third level wavelet analysis was used to characterize the movements
A third level wavelet analysis was used to characterize the movements used used as
as control
control words.
words.
At this level of decomposition, three output scales are produced and averaged for the
At this level of decomposition, three output scales are produced and averaged for the selection of selection of
control
control variables
variables used
used subsequently
subsequently as as shown
shown inin Table
Table 2. We can
2. We can see
see that
that the
the coefficients
coefficients of
of each
each
movement have a useful central value for their use as makers of control
movement have a useful central value for their use as makers of control words. words.
Three
Threemuscular
muscularmovements
movements have beenbeen
have characterized and their
characterized andcorresponding bioelectric
their corresponding reactions
bioelectric
have been have
reactions obtained.
beenHence, three
obtained. control
Hence, words
three by two
control different
words methods
by two havemethods
different been generated and
have been
saved in the BCD. Additional movements were characterized, however, we focused on the three
specified movements because they were the most stable. We wanted to characterize the movement of
Sensors 2019, 19, 1923 16 of 21

“twist the arm”, however, this case was very difficult because the vectors differed substantially among
tests. Hence, it was not possible for us to characterize this movement.
A back-propagation neural network was generated for the bioelectric characterization. This
neural network was constructed using MATLAB’s neural network toolbox. Additionally, a wavelet
analysis was made in order to obtain the same control words as the neural network characterization,
this analysis was executed using MATLAB’s Wavelet toolbox.
A human-machine interface was developed. It directs remotely a vehicle by controlling its
direction (forward, backward) and turning it off and on via the characterized electromyograms.
The core of the vehicle is the Raspberry Pi, for that reason EMG signals can be used in the IoT network
as active elements.
The biosignals have been acquired by means of the Tiva-C LaunchPad board. In this sense, it has
been proved that this development board is useful in the design of EMG-based HMI. To the authors’
knowledge, it has not been exploited in these kind of scheme. The HMI has been implemented on
two technological platforms, namely, Raspberry and Tiva-C and it is possible to implement it on other
similar platforms that are cheap and easily accessible.
The process of characterizing additional bodily electrical responses has begun and is expected to
generate additional control words to be entered into the BCD.
The proposed prototype has been probed. A vehicle that was 52 km away from the control entity
was controlled. Three words in our BCD were generated, which were related to turning the vehicle
on/off, making the vehicle go forward, and making the vehicle go backwards.
The controllable entity was remotely controlled successfully via EMG signals.

5.1. Comparison
There are several HMIs that use the EMG signals as a starting point to generate different control
words or characterizations, in [32], it is possible to review advances related to this type of interfaces,
they used classification tools, and the classified signals. However, for the analysis of our proposal,
we will compare it with respect to some previous EMG-based schemes [23,33–36], and some BCI
schemes [13,15,37].
Table 3 presents the comparative data, where we have that each column represents: the reference
from which such data comes, the used device for the acquisition of data and its approximate cost in
USD, the used classification tool, the classified movements and the place where the sensor was placed,
and finally, the mode of communication, its coverage, and its application.
As we can see in Table 3, the given proposal is the most economical at the hardware level, which is
a great advantage for its implementation in different population sectors. And an important aspect that
we can observe, is that our proposal is the only one that has a global coverage, making it appropriate
for new communication paradigms, such as the IoT.
If the proposed scheme is compared with the BCI schemes in Table 3, it is possible to see that it
has some advantages over them, according to [15], the EEG acquisition equipment with high precision
is expensive and inconvenient to wear, and the proposed scheme can be easily carried because of its
small size. On the other hand, according to [37], it is necessary to train to the users to reach the calm
condition (in terms of brain activity), in our proposal, this is not necessary, a user just needs to move the
arm. Something interesting to observe, according to the articles referenced in Table 3, and some cases
mentioned in [32], different movements of the hand, the arm (including the new compound movements
studied in this paper), and the fingers have been characterized, that is, each of these individual efforts
has given as a result, possible commands from different body parts. For an individual effort, it would be
complicated and time consuming to achieve the objective of characterizing all the corporal movements,
for that reason, the idea of generating a public database where each movement can be stored and
consulted, could allow us to reach the stated goal more quickly. If all these possible control commands
could be defined within a Bioelectric Control Dictionary, future HMIs could download the entire
Sensors 2019, 19, 1923 17 of 21

dictionary to their memory, and be interactive with the user’s body movements since the first moment.
For these reasons, the creation of a public BCD is proposed.

Table 3. Comparison between our proposal and previous EMG-based and brain-computer interface
(BCI) schemes.

Acquisition Device Hand/Arm Gestures Communication and


Reference Classification Tool
(Approximated Price) (Sensor Placed) Application
Local, wireless.
A single layer artificial
Mobile robot Boe-bot (just
[33] Neurobelt ($ 760) neural network with No specified.
left and right turns were
regularized cost function
made by EMG).
Hand: Rest, fist, wavein,
Surface sensor Myoband Local, Bluetooth.
[34] Wavelet decomposition. waveout, fingerspread
($ 149, estimated) No application.
(forearm).
Nexus -10 with
K-nearest neighbor, Bayes Hand: Press, Left, Right,
Myoscan-pro EMG Local, RC (Radio control).
[35] classifier, and Circling.
sensor RC car.
combinations of both. (forearm)
($ 355)
Construction of successive
feature vectors for each
gesture.
Arm: 12 symbolic drawing
Classification referred to as
in the air gestures. Local, wired.
[36] Biopac MP30 ($ 299.99) the context-dependent
(shoulder and elbow No application.
classification, which is
joints)
carried out
within the framework of
Bayes theorem.
Hand (fingers): Hand
Arduino MEGA and
Feed forward neural closed, Point index finger, Local, wired,
[23] Myoware muscle sensor
network Natural resting position. No application.
($ 60)
(forearm)
Local, wireless, HTTP
Control actions were
Head: Two movements protocol.
[13] EMOTIV ($ 299) trained within the
called cold and hot. Control of a wheeled
EMOTIV environment.
robot.
Local, wireless, Radio
Head: emotion frequency.
[15] Neuroscan ($ 635) Wavelet decomposition
characteristics. Control of a home
auxiliary robot.
Head, brain activities. One Local, Wireless LAN.
NeuroSky MindWave
[37] Fourier method movement, the robot’s Control of Robotino
($ 99.99)
speed. mobile robot.
Tiva-C, and Myoware Neural network back Arm: Upward, double
Global: Wi-Fi.
Ours muscle sensor propagation algorithm, upward,
Remote vehicle.
($ 50) and Wavelet analysis upward-downward.

5.2. Advantages
The proposed system has several interesting advantages that make it a good option for developing
more realistic schemes:

1. It is cheap to implement. According to Table 4, the average cost of hardware implementation is


approximately $114 USD. For software, the use of XMPP enables us to generate connections via
the Internet for free. The Raspbian OS is also free, however, the neural network and the wavelet
analysis have been implemented in MATLAB, which has a cost for its home version of $149 USD
(United States Dollars), other low-cost alternative tools can be used for the classifier.
2. It is easy to implement since all the electronic elements and computational tools are easy to obtain
and connect. Every electronic device that is used can be found in virtual stores and physical
stores without difficulty. For software such as XMPP, only the installation and generation of users
via the Internet are necessary.
3. It can be used by practically anyone, regardless of whether they have physical deficiencies or not.
This is an extremely important aspect since the standard HMIs typically require cumbersome
Sensors 2019, 19, 1923 18 of 21

devices that must be directly manipulated by the hands. In other cases, it is necessary for the user
of such an interface to have deep knowledge about its operation, however, almost anyone can
access the proposed system because it is not necessary to have prior knowledge of the operation
of the device. The human-machine interface is controlled with body natural movements that are
performed every day. If a person has suffered the loss of a body part, he may still control the
device since he uses the bioelectrical bodily signals that are generated regardless of whether he is
healthy or not.
4. A person who has no technical knowledge or previous training, or is even illiterate, can access this
system since it is not necessary to learn any details about the system to generate a remote control.
The person only needs to perform the natural movements of his body to send the required control
word. Everyone knows how to move his body; it is not necessary to teach anyone how to do it.
5. It can be connected to the IoT. Since communications are being generated via the Internet, in this
case, communication depends directly on when the user wants to send the control word. In the
future, we seek to create an interface that does not wait for the user’s order but is ahead of the
needs of the user, such that the communication is generated directly.
6. Although the proposed interface does not occupy a large space, and it can be connected with
relative ease to the user, it must be miniaturized. For this purpose, the complete design of this
type of interfaces has been imagined by means of nanoelectronic elements and nanosensors, in
this way the size of the interface will be reduced, and therefore it can be connected in practically
any part of the body, and so, it cannot be seen as a foreign object, which would present an even
greater advantage of our system with respect to other types of alternatives. At this point, it is
necessary to mention, the size of the proposal is an advantage with respect to BCI, because the
sensors used in such schemes are inconvenient to wear.
7. Since this project focuses on being able to interact in the IoT, one of the most important aspects to
consider is the cryptographic security of the information. In this case, because the XMPP protocol
already has cryptographic protection algorithms, the transmission of data via the Internet is
already protected. Hence, we have a safe and reliable system.

Table 4. Cost of the implemented hardware.

Device Price in USD


Raspberry Pi 3 40
Tiva-C 25
Myoware 38
DC motors and pair of wheels 8
H bridge 3
Total amount 114

6. Conclusions
The muscle movements of the human body can be used as control words for electronic devices
of any type, since the EMG signals that are generated by the muscles present consistent patterns
of behavior, and such patterns can be recognized by classification systems that are based on neural
networks and wavelet analysis.
Three EMG signals related to compound arm movements, have been obtained, characterized,
and analyzed in this paper, such movements have not been analyzed previously. The obtained EMG
signals were characterized by means of two different schemes: Neural Networks and Wavelet Analysis.
For the characterization by means of neural networks, it was essential to execute supervised training
for the designed ANN and it was necessary to have as many as 200 samples for each of the movements
that were obtained from various subjects. Differences in EMG signal amplitude among subjects were
observed, however, the signals exhibit the same general patterns. For the characterization by means of
Wavelets, the signals were de-noised, and were analyzed with a 3 decomposition level.
Sensors 2019, 19, 1923 19 of 21

In this paper, the basic functions of a remote-controlled vehicle were managed via the electrical
impulses that were generated by arm movements, and the obtained information was processed in
Tiva-C, Raspberry, and MATLAB software. The processing, characterization, and use of the bioelectric
signals as a way to remotely control devices of various types can be implemented in schemes such as
the IoT because we show that it is possible to generate prototypes that react automatically to specified
bioelectric impulses and send such information to any device in any geographical position.
The Tiva-C board has been used instead of the most popular boards, in this case, it has been a
useful tool to process the EMG signals. In this same sense, it is possible to say that Tiva-C is an efficient
board when it is implemented in EMG-based HMI. It is faster than Arduino UNO board (the most used
board), but it has basically the same price, and it has not been exploited in schemes like this previously.
This board served as a data acquisition system.
The proposed HMI was compared with previous EMG-based schemes, and with some BCI.
The proposal is the cheapest scheme, and it has global coverage of communication with respect to the
EMG-based schemes. When compared with some BCI, our proposal shows the advantage that a user
does not need to be trained to use it, a user just needs to move the arm. It is small, and for that reason
convenient to wear.
Due to the proposed HMI uses the XMPP protocol, it can transmit information via Internet in a
safe way, because XMPP has its own cryptographic algorithms.
The proposed human-machine interface can be used by almost any person because regardless of
whether the user is healthy or suffers from a disease or body part loss, the user can use the interface
and control devices remotely because the HMI will interpret the bioelectric impulses that the user
sends, such impulses are generated by the body at all times and under all circumstances.
Similarly, a person who lacks specialized technical preparation, or are even illiterate, can access
this system because complex knowledge of the interface is not required. It is sufficient to generate the
natural movements of the body to control a remote device.
One of the most important aspects to develop interfaces which do not generate inconvenience in a
user, is to limit the size of them. For this reason, future work aims to develop the proposed system by
means of nano electronics, in such a way that a nano interface is obtained that is useful for any person,
and that can be used in the most possible natural way.
According to the mentioned characteristics, we can conclude that the proposed EMG-based HMI
has advantages over other similar HMIs due to its price, size, security, and coverage and it can be used
in almost any environment.
Additionally, we will seek to generate an open BCD, in which any researcher, or electronic device,
can define and obtain control words related to EMG signals. And so, future devices can connect
directly to it and load pre-defined control words into its memory. This proposal is made, due to the
existence of individual efforts to characterize different types of bioelectric signals, then, it is necessary
to define all the characterized biosignals in an open access repository in order to generate more complex
interactions between the human body and a natural HMI.

Author Contributions: Conceptualization, D.T.V. and F.G.P.; methodology, D.T.V. and C.J.V.R.; software, C.J.V.R.;
validation, F.G.P.; writing—original draft preparation, D.T.V.; writing—review and editing, D.T.V., F.G.P.,
and C.J.V.R.
Funding: This research was funded by UNAM projects: PIAPI 1824, PAPIIT IN 105219, PAPIME PE111519.
Conflicts of Interest: The authors declare no conflict of interest.

References
1. Upton, E.; Halfacree, G. Raspberry Pi® User Guide. Available online: https://www.raspberrypi.org/blog/ras
pberry-pi-user-guide-2nd-edition/ (accessed on 20 April 2019).
2. Chaudhary, A.; Raheja, J.; Das, K.; Raheja, S. Intelligent Approaches to interact with Machines using Hand
Gesture Recognition in Natural way: A Survey. Int. J. Comput. Sci. Eng. Surv. 2011, 2, 122–133. [CrossRef]
Sensors 2019, 19, 1923 20 of 21

3. Pavlovic, V.I.; Sharma, R.; Huang, T.S. Visual interpretation of hand gestures for human-computer interaction:
A review. IEEE Trans. Pattern Anal. Mach. Intell. 1997, 7, 677–695. [CrossRef]
4. Rautaray, S.S.; Agrawal, A. Vision based hand gesture recognition for human computer interaction: A survey.
Artif. Intell. Rev. 2012, 43, 1–54. [CrossRef]
5. Vidal, J.J. Realtime Detection of Brain Events in EEG. Proc. IEEE 1977, 65, 633–641. [CrossRef]
6. Keirn, Z.A.; Aunon, J.I. A New Mode of Communication Between Man and his Surroundings. IEEE Trans.
Biomed. Eng. 1990, 37, 1209–1214. [CrossRef]
7. Scherer, R.; Lee, F.; Schlögl, A.; Leeb, R.; Bischof, H.; Pfurtscheller, G. Toward self-paced brain-computer
communication: Navigation through virtual worlds. IEEE Trans. Biomed. Eng. 2008, 55, 675–682. [CrossRef]
[PubMed]
8. Chae, Y.; Jeong, J.; Jo, S. Toward brain-actuated humanoid robots: Asynchronous direct control using an
EEG-Based BCI. IEEE Trans. Robot. 2012, 28, 1131–1144. [CrossRef]
9. Lotte, F.; Congedo, M.; Lécuyer, A.; Lamarche, F.; Arnaldi, B. A review of classification algorithms for
EEG-based brain-computer interfaces. J. Neural Eng. 2007, 4, R1. [CrossRef]
10. Akce, A.; Johnson, M.; Dantsker, O.; Bretl, T. A brain-machine interface to navigate a mobile robot in a planar
workspace: Enabling humans to fly simulated aircraft with EEG. IEEE Trans. Neural Syst. Rehabil. Eng. 2013,
21, 306–318. [CrossRef] [PubMed]
11. Leeb, R.; Friedman, D.; Müller-Putz, G.R.; Scherer, R.; Slater, M.; Pfurtscheller, G. Self-paced (asynchronous)
BCI control of a wheelchair in virtual environments: A case study with a tetraplegic. Comput. Intell. Neurosci.
2007, 2007, 1–8. [CrossRef] [PubMed]
12. Li, W.; Li, M.; Zhao, J. Control of humanoid robot via motion-onset visual evoked potentials.
Front. Syst. Neurosci. 2015, 8, 247. [CrossRef]
13. Queiroz, R.L.; de Azeredo Coutinho, I.B.; Xexéo, G.B.; Lima, P.M.V.; Sampaio, F.F. Playing with Robots Using
Your Brain. In Proceedings of the 17th Brazilian Symposium on Computer Games and Digital Entertainment
(SBGames), Foz do Iguaçu, Brazil, 29 October–1 November 2018.
14. Chen, X.; Zhao, B.; Wang, Y.; Xu, S.; Gao, X. Control of a 7-DOF Robotic Arm System With an SSVEP-Based
BCI. Int. J. Neural Syst. 2018, 28, 1850018. [CrossRef]
15. Wang, F.; Zhang, X.; Fu, R.; Sun, G. Study of the home-auxiliary robot based on BCI. Sensors 2018, 18, 1779.
[CrossRef]
16. Wagner, J.; Kim, J.; André, E. From physiological signals to emotions: Implementing and comparing selected
methods for feature extraction and classification. In Proceedings of the IEEE International Conference on
Multimedia and Expo, Amsterdam, Netherlands, 6 July 2005.
17. Dubost, G.; Tanaka, A. A wireless, networkbased biosensor interface for music. In Proceedings of the ICMC,
Gothenburg, Sweden, 16–21 September 2002.
18. Tröster, G. The Agenda of Wearable Healthcare. Yearb. Med. Inform. 2018, 14, 125–138. [CrossRef]
19. Beau, C.; Kai, M.; Pradeep, S.; Rao, R. Real-Time Classification of Electromyographic Signals for Robotic
Control. Available online: http://aaai.org/Papers/AAAI/2005/AAAI05-082.pdf (accessed on 20 April 2019).
20. Costanza, E.; Perdomo, A.; Inverso, S.A.; Allen, R. EMG as a Subtle Input Interface for Mobile Computing.
In Proceedings of the International Conference on Mobile Human-Computer Interaction, Glasgow, UK,
13–16 September 2004.
21. Fistre, J.; Tanaka, A. Real Time EMG Gesture Recognition for Consumer Electronics Device Control.
Available online: https://www.researchgate.net/publication/247342413_Real_Time_EMG_Gesture_Recogniti
on_for_Consumer_Electronics_Device_Control (accessed on 20 April 2019).
22. Jorgensen, C.; Wheeler, K.; Stepniewski, S.; Norvig, P. Bioelectric Control of a 757 Class High Fidelity
Aircraft Simulation. Available online: https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20010083844.pdf
(accessed on 20 April 2019).
23. Khanna, A.; Muthukumaraswamy, S.A. Cost-effective system for the classification of muscular intent using
surface electromyography and artificial neural networks. In Proceedings of the International conference of
Electronics, Communication and Aerospace Technology (ICECA), Coimbatore, India, 20–22 April 2017.
24. Betancourt, G.A.; Suárez, E.G.; Franco, J.F. Reconocimiento de Patrones de Movimiento a partir de Señales
Electromiográficas. Sci. Tech. 2004, 10, 53–58.
25. García, J.A.; Mendoza, L.E. Adquisición y procesamiento de señales EMG para controlar movimiento de un
brazo hidraúlico. Rev. MundoFesc 2014, 4, 49–60.
Sensors 2019, 19, 1923 21 of 21

26. Phinyomark, A.; Limsakul, C.; Phukpattaranont, P. Application of wavelet analysis in EMG feature extraction
for pattern classification. Meas. Sci. Rev. 2011, 11, 45–52. [CrossRef]
27. Subasi, A.; Yilmaz, M.; Ozcalik, H.R. Classification of EMG signals using wavelet neural network.
J. Neurosci. Methods 2006, 156, 360–367. [CrossRef]
28. Arvetti, M.; Gini, G.; Folgheraiter, M. Classification of EMG signals through wavelet analysis and neural
networks for controlling an active hand prosthesis. In Proceedings of the IEEE 10th International Conference
on Rehabilitation Robotics, London, UK, 13–15 June 2007.
29. Gini, G.; Arvetti, M.; Somlai, I.; Folgheraiter, M. Acquisition and analysis of EMG signals to recognize
multiple hand movements for prosthetic applications. Appl. Bionics Biomech. 2012, 9, 145–155. [CrossRef]
30. Maksimović, M.; Vujović, V.; Davidović, N.; Milošević, V.; Perišić, B. Raspberry Pi as Internet of Things
hardware: Performances and Constraints. In Proceedings of the 1st International Conference on Electrical,
Electronic and Computing Engineering, Vrnjačka Banja, Serbia, 2–5 June 2014.
31. MyoWareTM Muscle Sensor (AT-04-001) DATASHEET. Available online: https://cdn.sparkfun.com/datasheet
s/Sensors/Biometric/MyowareUserManualAT-04-001.pdf (accessed on 20 April 2019).
32. Chowdhury, R.H.; Reaz, M.B.I.; Bin Mohd Ali, M.A.; Bakar, A.A.A.; Chellappan, K.; Chang, T.G. Surface
electromyography signal processing and classification techniques. Sensors 2013, 13, 12431–12466. [CrossRef]
33. Bobtsov, A.A.; Borgul, A.S. Human-machine interface for mechatronic devices control. IFAC Proc. 2013, 46,
614–618. [CrossRef]
34. Anil, N.; Sreeletha, S.H. EMG Based Gesture Recognition Using Machine Learning. In Proceedings of the
Second International Conference on Intelligent Computing and Control Systems (ICICCS), Madurai, India,
14–15 June 2018.
35. Kim, J.; Mastnik, S.; André, E. EMG-based hand gesture recognition for realtime biosignal interfacing.
In Proceedings of the 13th international conference on Intelligent user interfaces, Gran Canaria, Spain,
13–16 January 2008.
36. Alsayegh, O.A. EMG-based human-machine interface system. In Proceedings of the IEEE International
Conference on Multimedia and Expo. ICME2000. Proceedings. Latest Advances in the Fast Changing World
of Multimedia (Cat. No.00TH8532), New York, NY, USA, 30 July–2 August 2000.
37. Katona, J.; Ujbanyi, T.; Sziladi, G.; Kovari, A. Speed control of Festo Robotino mobile robot using NeuroSky
MindWave EEG headset based brain-computer interface. In Proceedings of the 7th IEEE International
Conference on Cognitive Infocommunications (CogInfoCom), Wroclaw, Poland, 16–18 October 2016.

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

You might also like