Design and Implementation of Voice Controlled Wheelchair using MATLAB

: Most physically challenged people to rely on others for their motion and the number of such people is increasing day by day. Manual Wheelchairs are quite difficult to operate by physically challenged people as they require force for the motion. To overcome this drawback, conventional wheelchairs or powered wheelchairs are available in the markets. Even if they are meant to design for the comfort of users they are quite expensive, so not every physically challenged can afford them. To reduce the percentage of use of a manual wheelchair and to give physically challenged people a better experience and comfort in an affordable manner we have proposed this model. Our proposed model is based on neural networks and the backpropagation algorithm is used as a medium to train the Artificial neural networks which are trained by the user’s voice command so it uses voice recognition as a control mechanism. The proposed prototype is been trained with five voice commands such as (Forward, Backward, Left, Right, and Stop). These voice commands are successfully identified and converted to text. The following text is further written on target hardware wirelessly by using a Bluetooth module for the motion of DC Motors to control the directions of a wheelchair. The entire prototype is been designed on Matlab R2020a and Arduino UNO as target hardware. The main aim of our proposed work is to develop a smart wheelchair that overcomes the problems of existing systems and should be easy, impressionable, and convenient for physically challenged people.


INTRODUCTION
A Wheelchair is defined as a device that is used to assist physically challenged people. It can be driven either manually or automated using control systems. Manual Wheelchairs are quite difficult to operate by physically challenged people as they require force for the motion. To overcome this drawback conventional wheelchairpowered wheelchairs are available such as joystick-based, eye-controlled, brain-controlled, gesture-controlled, and many more. Even though these powered wheelchairs are designed for user's comfort but economically they are quite costly and have complex logic to operate. Also, there is an increase in the demand for a wheelchair in the Present and Future markets. Due to this, there are a lot of developments for automating the wheelchair. To contribute to this development we introduce a costefficient and reliable smart voice-controlled wheelchair which makes use of a backpropagation algorithm to train neural networks and an Arduino Uno board to control the motion. Speech Recognition techniques enable the machines to identify the uttered words and convert them into understandable text. In our proposed work a speakerdependent speech recognition system is used to build up a smart powered wheelchair. This speech recognition technique is implemented using neural networks. The input from the user is recorded in .wav format. To train these user input data, a Backpropagation algorithm is used. Also, Linear Prediction Coefficient (LPC) is a feature extractor employed by us at the input which extracts the pattern and helps the neural networks to train faster. The training phase is completed only when a minimum error is achieved. After that, the model is validated i.e. recognized voice is converted into text and is sent to the Arduino board where it matches the initial and previously trained data and based on that it recognizes the command and executes the instructions. A Bluetooth module is used to send the data wirelessly from system to board. Thus the main aim of our proposed work was to develop a comfortable, cost-efficient, and versatile model

II. RELATED WORK
The goal of developing a smart wheelchair is to provide costefficient and reliable solutions for automating the movements of physically impaired people. Before developing this thought we have gone through various works related to wheelchair automation. Some of the important methods are mentioned as Dilok Puanhvuan (2014) proposed a work in which the patients can drive the wheelchair in two ways either manually or based on eye movement. The user can start or stop the system using eye closing protocol. The wheelchair can automatically travel to a pre-mapped location by safely avoiding and detecting the obstacles [10]. But the system comes with a drawback which causes stress on the human eye. Tao Lu (2015) develop a motion control system for an intelligent wheelchair based on hand gesture recognition. An automatic gesture segmentation algorithm was developed to identify individual gestures in a sequence and the Hidden Markov Model (HMM) is used for the hand gesture model training [9], But this method is proven to be complex for people with disabilities in wrist movements. Sumet Umchid (2018) developed a wheelchair that can operate by using voice commands through the given input [2]. The proposed wheelchair was developed using a voice recognition module, DC motors, and a microcontroller. In addition to this their proposed model was embedded with ultrasonic sensors for detecting obstacles and for applying immediate brakes when an object is suddenly detected in front of it. This developed system achieved a high accuracy but failed in terms of high cost due to a wide variety of hardware components. Mohammed Faeik Ruzaij (2018) developed an intelligent wheelchair-using speech recognition system to control the movement of a wheelchair in different directions by using voice commands and also the simple movement of the patient's fingers with keypad control [5]. But the main problem in the proposed work was to handle an inaccurate response in the noisy environment and it can become difficult for the user to move in such an environment.

III. SYSTEM DESIGN Fig 1. Block Diagram of Proposed System
The above diagram is a Block Diagram of the proposed system.  [12]. The workflow in the proposed system is an audio signal as the input given to the Voice Recognition System (VRS) after the identification of the voice command, a Bluetooth connection is established between the micro-controller and VRS, and the output of VRS is given to the micro-controller which has a set of instructions to control both motors through Driver IC which is based on the output of Voice Recognition System. To design a prototype that can think like a human brain is a difficult task. Many Machine Learning algorithms had been developed to build a system that can replicate a human brain. One of the most popular techniques among them is artificial neural networks. The ANNs are the sequence of the algorithms used to train themselves i.e. systems to recognize different patterns that may be in image or audio form. Different types of algorithms can be used to implement the neural network. In the proposed work, Back Propagation Algorithm and LPC (Linear prediction coefficients) feature extraction is used. The back Propagation Algorithm is the mechanism to train neural networks [11]. This algorithm is used to compute gradient descent by randomly initializing the weights. It is also called the backpropagation ion of errors. It mainly consists of three layers input layer, hidden layer, and output layer as shown in figure 3. Simple calculations like vector addition, multiplications, and partial differentiation are computed to predict the output. BPA first starts training by random weight and outputs in a feed-forward way and then starts calculating the error in an inverse way from The last node to the first node. Everything in the initial stage is an assumption and based on the biases and weights are set. Each output node is computed using the sigmoid function to fit the output in the range of 0 to 1. The main reason for deploying the backpropagation algorithm in our proposed work is they are quick, straightforward, and simple to program. In this Speech Recognition system, we are sampling the speech signals to 8 kHz.

Fig. 3 Structure of Backpropagation Algorithm
This signal is fed as an input to feature extractors to extract the different patterns from voice samples. The voice samples are stored in wav format with 8 bits per sample, 1 channel, and 30 words per command. In total, we are making use of 150 voice samples for training our neural networks. Back Propagation algorithm is deployed on Matlab to train the neural networks. Our proposed model has 13 nodes in the input layer due to the feature vector size of 13 obtained from the LPC algorithm. As we are classifying a total of 5 classes in the output the number of nodes in the output layer is 5. For indicating the input phase, every output will be set to 0, and only one output is kept to 1. We choose 6 numbers of nodes for the hidden layer. In this algorithm, we are making using two matrices D and X as input. Matrix X represents the vector-matrix of sample input. It is a K X M matrix where K denotes no input samples and M denotes the size of the feature vector. D is a dummy matrix used to assume the output in the same pattern. It is also a K X M matrix where K denotes the no of input samples and M denotes the number of output classes to classify i.e. 5. A weight matrix is designed as a sequence of vectors (w0,w1,w2,..,wn). This matrix is present between each layer. We initially randomize these weights from random values in the range of -1 to +1. All the activation vectors (x1, x2, xn) and net vectors (n1,n2, nn) are set to 1, and all the weight vectors to zero. Both matrices are K X M matrices. i.e. 150 X 5 matrices. From the net value, the output is calculated using the tan(h) sigmoid function. The prediction between the actual and assumed output values must be equal. This error value is computed by summing all the output errors. We had continued the training process until the minimum error of0.01 is achieved. The entire dataset is passed from all networks for and through 3000 times. A total of 150 voice samples were recorded from users. Out of 5 classes, each class is allotted 30 words per class. This input is fed to the neural networks where an LPC extractor is used to extract the feature. The network is trained using both feed-forward as well as a backpropagation method. After training the network, user voice samples which are taken by microphone tested with trained audio samples, and voice recognition take place. After the voice recognition is done successfully the recognized word is converted to text as shown in figure 5.

Fig. 4 Speech to text on MATLAB ENVIRONMENT
This text is then transferred to the target hardware in form of letters for eg (F, B, L, R, and S) wirelessly using a Bluetooth module. The Arduino code is written using the Arduino IDE platform where logic is assigned to rotate the motor based on voice commands. In the proposed system, Arduino UNO is used as a micro-controller to control the peripherals of the system. Motor Driver IC is used to provide sufficient current for the operation dc motor. The DC motor is controlled based on the user's voice command. The Bluetooth Module acts as communicating medium between the neural network and micro-controller.

V. EXPECTED RESULT & IMPACT
Based on the entire process of implementing a prototype of a voice-controlled wheelchair has been implemented. The prototype of the circuit and model are shown in the images below.

VI. CONCLUSION
This work tackled the speech recognition problem by applying the Backpropagation algorithm to neural networks. This proposed method has a lot of contributions to making physically challenged people's life comfortable. The goal behind this project is to contribute a simpler way of developing an Automatic Voice Controlled Wheelchair System by overcoming many traditional methods. This project contributes a novel technique that eliminates the use of complicated algorithms, high costs, and huge datasets.
The system is designed in such a way that the user should feel comfortable without giving stress to any of his body parts. While working on this prototype several research objectives have been decided by us to make the system more efficient. In future work, research planning is to deploy the entire Matlab code directly to the target hardware using the Matlab coder. This will yield us many benefits such as the elimination of the Bluetooth module and controlling system. Thus a low-cost and accurate autonomous model can be implemented that can make the operation easier. Thus, this paper concludes that in this work, a design is provided that is efficient in helping physically disabled people without putting their strengths and efforts to pull the wheelchair, by commanding it on their voice.