Otwarty dostęp

Performance evaluation of communication methods on electric wheelchairs as assistive technology for persons with disabilities


Zacytuj

Introduction

People with leg disabilities requires assistive technology to move from one place to another, either on a flat place or on a higher place. Recently, the developments in the field of technology assistants have attracted the attention of researchers or innovators in which electric wheelchairs are becoming one of the technology assistants used for people with leg disabilities or the elderly. Assistive technology in the form of electric wheelchairs needs to pay attention to the level of effectiveness and are easy to use for people with disabilities and the elderly. In general, people with leg disabilities used manual wheelchair, which is operated using wheels that are turned with the help of hands or pushed with the help of another person. According to Tsai et al. (2021), manual wheelchairs becoming a priority in the assistive technology industry are wheelchairs that equipped with backrests and prevent bedsores. If looking at the technology side, manual wheelchairs still need to be developed and have not met the needs of people with disabilities to be able to move without the help of others. On the other hand, some people with foot disabilities cannot use a manual wheelchair, manual wheelchair only for minor disabilities.

Several innovations in the area of the electric wheelchair to make easier for the disabled and the elderly. As reported by Ruíz-Serra no et al. (2013), wheelchair technology uses a joystick system with speech control and a magnetic control system for patients with motoric disability in the legs. Implementation of joystick control on electric wheelchairs equipped with human–machine interface (HMI) using smartphone technologies (android, IOS or Windows phone) (Rabhi et al., 2018a). However, these technologies require more cost. The human–machine interface has also been used in combination with neural networks (NN) and specific image preprocessing (Rabhi et al., 2018b). The wheelchair technology carried out by Al-Rousan and Assaleh (2011) integrates SMS messages to four different destinations to move the wheelchair with a combination of three techniques such as joystick, directional buttons, or voice which wavelet system and neural network are used for voice command recognition. Researcher s have conducted several analyzes that not all disabilities can use smartphone-based technology. Therefore, direct exercise-based wheelchair technology needs to be developed, such as wheelchairs with head control (Pajkanovic and Dokic, 2013; Machangpa and Chingtham, 2018; Pathan et al., 2020), wheelchair controlled by hand movement (Sajid et al., 2020; Upender, 2020; Prajwal et al., 2021), and wheelchair controlled by eye motion (Shahid et al., 2019; Bai et al., 2017).

Most controllers in wheelchairs are supported by devices with wireless communication. the process of transceiver data (transmitter and receiver) in wireless communication may be not the same. Data transmission between transceiver modules on wireless sensor networks has the potential to fail to receive data due to several factors such as data collisions (collision) during the transmission process, noise on the network, or unreliable transceiver devices. Failure to send data on the network is known as packet loss. Therefore, there is a need for error handling engineering with certain mechanisms to handle packet loss. The transceiver module (transmitter and receiver) is responsible for the network connection between nodes. So that the transceiver module is also directly related to the Quality of Service (QoS) of a network. The transceiver serves as a wireless communication medium that utilizes radio wave technology so that the nodes on the network can connect and communicate with each other.

Error detection occurs during the inadequate transfer of data from one place to another (Zhong and Hu, 2020; Charanarur Panem et al., 2019). This process also occurs in the process of reading and storing digital data. Furthermore, one important is that errors in the parity bit or wireless communication are affected by noise, interference, and crosstalk. It causes data corruption or inability to read data and transmission error due to the process of wireless data communication (Kader et al., 2019). Wireless communication is the latest technology that collaborates wireless networks. This technology is usually implemented to detect noise and the movement of objects from one place to another (Luo et al., 2020). Furthermore, it can function as communication or data transmission and processing when connected to the internet. Some of the factors are influenced data dissemination and deliver y fluency. During the communication process starts, there is the possible appearance of sudden noise that can change the data value, thereby leading to errors.

The method of checking the transmitter and receiver data can be done using the Cyclic Redundancy Check (CRC) method which this method is usually used to detect noise and to correct the quality of wireless during data transmission (Chea et al., 2016; Boussard et al., 2021) and storage (Sridevi and Jamal, 2021). The CRC algorithm can be implemented in hardware by sending binary data, while algorithm and mathematical analysis are operated to detect the accuracy level in detecting error (Sheng-ju, 2015). The sender codes the information in the form of a Cyclic Reduction Check (CRC) using the specified polynomial generator, which is verified by the receiver (Ma Yuping, 2014).

Based on the above description, the wireless communication system on the electric wheelchair controller by smart glove needs to be tested/checked using the error detection method and electric wheelchair with automatic system was applied to assist disabled people with leg disabilities. The wireless communication between nRF24L01 as transmitter and nRF24L01 as receiver was applied. this research also analyzes and identifies the error detection methods with the CRC algorithm used to detect the data sent and received. A controller smart glove tools are installed on electric wheelchair as a support device with nRF24L01 module communication. Therefore, the focus of this research is to evaluate wireless communication in an electric wheelchair with controlled by smart glove where the wireless communication system is very important and there is often interference with data transmission or packet loss which can cause synchronization between smart gloves and electric wheelchair. The error detection method can automatically detect the data sent and the data received is corrupt or error. To make the system precise in detecting an error in data or not, the author uses the cyclic redundancy check (CRC) algorithm. In addition, analysis of the quality of service (QoS) of wireless communication on devices such as delay, jitter, throughput, packet loss has been carried out. Electric wheelchair in this study can be implemented to assist the people with leg disabilities.

Proposed system

In this section, the main concept of an electric wheelchair was described in detail. The main goal of an electric wheelchair is to assist the people with leg disabilities. An electric wheelchair in this study was controlled with a smart glove as the instruction and processing of the driving. The proposed system in an electric wheelchair can be seen in Figure 1. The smart glove and electric wheelchair are combined in this system. The transmitter part is as smart glove which consists of several hardware, namely a flex sensor, Arduino Nano, and 5 V battery. Furthermore, the receiver as wheelchair system which works with several hardware such as the Arduino Mega 2560, PG45 DC motor, and 12 V battery. The nRF24L01 module is for wireless communication both transmitter and receiver. The system design is divided into software part and hardware part. In addition, the proposed system in this research is to determine the communication error detection in an electric wheelchair using the evaluation of the algorithm of cyclic redundancy.

Figure 1

Block diagram of proposed system.

Flex sensor

Flex Sensor is a sensor that has a change in resistance as a result changes in the curve of the sensor. Generally, the principle of flex sensor is to take an action with the hand motion and to work based on the resistance value that transferred from the sensor into voltage via a board circuit. This sensor requires a voltage of + 5 V to work. The output resistance in this sensor can be given a voltage which can be read by the microcontroller. This sensor used to detect hand running movements in humans/other parts of the curve. The microcontroller converts data using an ADC (analog-to-digital converter), where the input data are obtained from the voltage that has been exposed to resistance. As robotic hand using flex sensor, Salman et al. (2020) were developed the hand motion with flex sensor to measure the angle of the finger by applying to five fingers. the voltage value of the flex sensor can be calculated by Vout=Vin×RR0+R V_{out}} = {V_{in}} \times {R \over {{R_0} + R}} where Vout is voltage out of 2.5 V, Vin represents the voltage in of 5 V, and Ro+Rflat=R represent the resistance from the flex sensor. According to Saggio and Orengo (2018), the characterization of the flex sensor includes a single less than 100 μm and the flexible plastic is suitable for measuring of bending angle. The electrical value of flex sensor was affected by mechanical behavior (Saggio, 2012). A smart glove in this study was applied 5 flex sensors in the finger that can be seen in Figure 2.

Figure 2

Flex sensors installed in this study: (a) and (b).

Arduino nano

In wheelchair system, Škraba et al. (2015) was developed the Arduino as microcontroller connected by USB to control the DC motor into digital output (DIG). Arduino in the electric wheelchair is for processing the converting the signal of the magnetic control with an 12C interface and installed on the circuit board. The advantage of this platform (Arduino) is each to use the digital and analog port as receive or sent the information data. This module is of great usefulness to control the motor movement of the wheelchair by voice controlled (Kian Hou et al., 2020). Arduino Nano has 8 pins as Analog inputs, labeled A0 through A7, each provide 10 bits resolution (i.e. 1024 different values). In general, Arduino can be applied in the IOT system to monitor agricultural filed (Yudhana and Kusuma, 2018; Yudhana et al., 2021a), medical field (Afsarimanesh et al., 2017; Yudhana et al., 2021b), chemical field (Bevc et al., 2017; Altintas et al., 2018), etc.

Arduino mega 2560

Arduino mega 2560 is a microcontroller board based on mega 2560 which has 54 pin digital I/O divided into 14 pins can be used 15 as PWM output, 16 Analog input, 4 UARTs (hardware serial port), 16 MHz crystal oscillator, USB connection, power jack, ICSP header, and reset button. This board also uses power connected to a computer with a USB cable or external power with an AC-DC adapter or battery.

nRF24L01 module

nRF24L01 is a communication module long distance using the frequency band radio waves 2.4–2.5 GHz ISM (Industrial Scientific and Medical). nRF24L01 has speeds up to 2 Mbps with a choice of options date rates are 250 kbps, 1 Mbps, and 2 Mbps. In this system, nRF24L01 was applied to the data transmission and data reception as a communication module without wires between tools. According to Ganti et al. (2011), the advantage of nRF24L01 is easy and simple to control a few lines of code and easy to apply in predefined library. nRF24L01 also can be applied to wireless sensor to manage the robots using hand motion (Sivakumar et al., 2021). The performance of nRF24L01 was reviewed by Christ et al. (2011) and the use of multiple receivers can be reduced the amount lost packages consecutively. The transceiver consists of a frequency synthesizer integrated, power amplifier, crystal oscillator, demodulator, modulator, protocol engine, power output, frequency channel, and protocol setup easy to program via the SPI interface. The current consumption in the system is very low around 9.0 mA to 6 dBm and output power 12.3 mA in RX mode. Built-in Power Down and standby mode makes power saving with easy realization. The distance of the communication data is around 1 km (Prakash et al., 2020) with interface communication MCU I/O port. Yu et al. (2015) was reported that nRF24L01 has a high transmission power, high transfer rate, and available CRC error detection.

DC motor (Direct Current)

The principal work of DC motor depends on the current carrying conductor placed in the magnetic field (Gowthaman et al., 2021), which working like stator, rotor, commutator, and brushes. The varying of supply voltage, varying of the flux, the armature voltage and armature resistance are influence to DC motor. According to Sahu (2012), two ways to control CD motor using varying supply voltage and pulse width modulation technique, control DC using varying supply voltage requires analog circuit for digital system. While pulse width modulation is switching speed and pulse width or duty cycle.

Hardware design

The hardware design in this device is divided into two parts: (1) smart glove hardware design, and (2) electric wheelchair hardware design. The detailed configuration of both smart glove and electric wheelchair can be described below.

Smart glove hardware

Figure 3 shows the smart glove hardware in this study. The smart glove was installed a wireless communication system based on the nRF24L01 module as transmitter in which theses hardware are combined with the Arduino Nano module and flex sensor. This study was installed 5 flex sensors that can be described in Figure 8. All components are connected with a circuit/mini system and jumper cables. all components are connected with the ground port and voltage port both nRF24L01 and the flex sensor, then connected to the ground port and 3.3 V voltage port on the Arduino Nano board. Furthermore, the nRF24L01 component on the CSN and CE ports is connected to ports 7 and 8, then the MOSI, MISO, SCK ports are connected to ports 11, 12, 13 on the Arduino Nano board. The smart glove hardware design for this tool is divided into two parts, the first is the smart glove with the wiring, as shown in Figure 3.

Figure 3

Smart glove hardware.

Based on Figure 3 the electrical wiring in the smart glove created with five flex sensors and Arduino Nano. The flex sensor is applied to determine the resistance in the sensor curve (Trippolini et al., 2018). This study was developed from previous research (Yudhana et al., 2018) in which the flex sensor is to measure the level of curvature of the sensor and this sensor has an output resistance value proportionally with the level of flexibility. While the Arduino Nano is applied to control and process the system smart glove. In addition, both tools are used to control an electric wheelchair with data sent from the gloves to the chair using the module nRF24L01 (Yudhana et al., 2018). The electrical wiring in the smart glove can be described in Figure 4.

Figure 4

Electrical wiring in the smart glove.

Electric wheelchair hardware design

Figure 5 shows the electric wheelchair hardware is a means of assisting people with leg disabilities to be able to move from one place to another, either on a flat place or from a low place to a higher place (a place to climb). It is often also meant that electric wheelchairs are used to improve mobility for people with disabilities such as physically disabled people (especially those with leg disabilities), hospital patients who are not allowed to do a lot of physical activity, the elderly (elderly), and people who have a high risk of injury.

Figure 5

Electric wheelchair Hardware: (a) 3D design, and (b) prototype.

Figure 6 shows the wireless communication part of the electric wheelchair that makes use of the nRF24L01 module, with a maximum and minimum data transfer speed of 2 Mbps and 500 kbps, respectively (Bai et al., 2017). Furthermore, the platform used to process the electric wheelchair system is the Arduino Mega 2560, with the motor comprising of 500 rpm PG 45 and an encoder, named ems 30 H-bridge.

Figure 6

Electrical wiring in an electric wheelchair.

Software design

The software was designed by calculating and evaluating the error detection process and (CRC) algorithm, respectively. This flowchart is divided into two parts, namely the transmitter and receiver. During the transmission process set of check digits is calculated in each frame before it is added to the transmitter. In addition, the CRC calculation process is applied to analyze the receiver (Zhong and Hu, 2020). The CRC flowchart on the transmitter can be seen in Figure 7a. The framework developed in this research was implemented in the error detection method and the CRC algorithm. The flex sensors in smart glove input data are converted into binary form. Then Cyclic Redundancy Check (CRC) algorithm used for calculation between data from flex sensor and the amount of CRC value. Furthermore, after obtaining the CRC results, the value is converted into decimal form to minimize packet loss percentage during data transmission (Charanarur Panem et al., 2019). When the packet is sent in binary form, the data produced in binary digits (bits) increases the percentage of packet loss.

Figure 7

CRC flow chart on: (a) the transmitter part and (b) the receiver part.

The CRC flowchart on the receiver part can be seen in Figure 7b. When the system receives a packet originated from the transmitter, a check analysis is conducted. This check ensures that the data received is not 0 before entering the next stage. Conversely, when the data received is 0, the system immediately ensures that it is classified as an error. The data are further converted into binary, after the system further analysis the data to ensure no error occurs. If the remainder is 0, it is identified as correct with assuming the reverse is the case. Finally, this system undergoes the CRC calculation process and generates a data quotient from the CRC calculation called the remainder.

The whole series of flowchart from the glove system as an electric wheelchair controller can be seen in Figure 7. These flowcharts are described the error detection and Cyclic Redundancy Cheek (CRC) calculation in electric wheelchairs automated using smart glove All instructions (Figure 8) are included onward (4), backward (O), left (L), right (V), and (5). when the system is ON, the first time the hand will bend its fingers according to the command codes that were previously set, then the system will match those curves whether they match the codes that have been set in the program. If not, the system does not respond and an experiment occurs. repeat on the curve of the fingers. If appropriate, the data coming from the system will be sent by the nRF24L01 module. If the electric wheelchair can respond, it means that the data from the system has been sent. If not, then back to the experiment of inputting command codes via finger.

Figure 8

All instruction of smart glove system as electric wheelchair controller.

Cyclic redundancy cheek (CRC) basic work

This is a common method and suitable method data transmission for the detection of error communication data in the system but CRC cannot make a correction in case errors data are detected. Technique is to process of sending data. At the time of sending data, sometimes the data received by the recipient does not match the data sent because it is influenced by the noise and interference reported from Zhang (2011). According to Al Irfan et al. (2019), the sending data in the wireless communication requires time around one second to process the sending data. This condition occurs due to data damage during the data transmission process and disturbances usually occur in the communication media. With the data damage that may occur, CRC (Cyclic Redundancy Check) performed to detect the damage to the data and a method to calculate a value for the data. One method from CRC (Cyclic Redundancy Check) has several variants depending on the polynomial number used in the computation process.

The working principle of CRC considers a file as large string that operated using polynomial number. As calculated the CRC value, polynomial number as representing from file divided with a polynomial number a small polynomial number that has been defined for a certain type of CRC variant. The CRC value is the remainder of the quotient, which is called the checksum. Each definite division produces a remainder of the quotient (even though it is 0), but there are differences in dividing the CRC calculation. the way to do division is to subtract a number by continuously subtract a number by dividing it continuously to produce the remainder of the quotient (which is smaller than the divisor). From the quotient value, the remainder of the quotient and the divisor can get the number that is divided by multiplying the divisor by the quotient and adding the remainder of the quotient. In the CRC calculation, the subtraction and addition operations are performed regardless of any carry that it gets. Moreover, this affects the distribution process which is the main basis for calculating the CRC. The operations in CRC also only involve the values 0 and 1, because the operating is at the bit level.

In this section, the method provides examples of different types of the error detection of CRC check: CRC-12 includes 12 kids, CRC-16 includes 16 types, and CRC-32 includes 6 kinds. A division of modulo 2 and the main difference of the ordinary can be used to calculate CRC. The modulo 2 is bitwise (OR) or called XOR (Zhong and Hu, 2020). Binary code (N, k) is also called encoding source from CRC which include of information bits, k and supervision bits, r. The CRC calculation was reported by Zhong and Hu (2020) to explain the basic principle of CRC algorithm. this method is just an approximate, so it would be reasonable to assume a binary of n bits of length as transmitted. The encoding from CRC is determined in Eqs. (24). M(x)=i=0n1mixi M\left(x \right) = \sum\limits_{i = 0}^{n - 1} {{m_i}{x^i}}

This equation is assumed to be source code. the equation for generating the general polynomial is determined as follows: G(x)=i=0n1gixi G\left(x \right) = \sum\limits_{i = 0}^{n - 1} {{g_i}{x^i}}

These techniques can also be combined the binary sequence with the polynomial. The received data and the determined CRC generator polynomial can be verified by modulo 2 as follows: M(x)*xi+R(x)G(x)=M(x)*xkG(x)+R(x)G(x) {{M\left(x \right)*{x^i} + R\left(x \right)} \over {G\left(x \right)}} = {{M\left(x \right)*{x^k}} \over {G\left(x \right)}} + {{R\left(x \right)} \over {G\left(x \right)}} where r(x) represents remainder as CRC check code and the length is less than the generator polynomial, q(x) represents quotient, and g(x) represents generator polynomial. These techniques also reported by Ma Yuping (2014) to determine the schedule of CRC by sender and recipient.

Quality of service (QOS) analysis

Quality of Service (QoS) is a measurement method to determine network quality, to define network characteristics, and to determine the communication quality from the nRF24I01 module. According to the review from Pundir and Sandhu (2021) the Quality of Service (QoS) can be determined by the packet loss, latency, delay, jitter, packet error ratio, reliability, and priority. In this study, four parameters were used to measure QOS including: delay, throughput, jitter, and packet loss.

Delay is the length of time or delay in the process of transmitting data packets to the recipient. The influence of delay is the number of data packets sent (bits) and the speed of data packets in sent per second. The calculation of delay can be described in Eq. (5): Di=RiSi {D_i} = {R_i} - {S_i} where the delay for ith packet represents Di, arrival time of packet represents Ri, and sending time of packet represent Si. This equation is to determine the delay of packet in communication network that applied in the electric wheelchair.

Jitter is the delay variation between packets that occurs on the Internet Protocol (IP) network. The greater the traffic load on the network, the greater the chance of collisions between packets/congestion, thus the greater the jitter value. The greater the jitter value, the QoS value will decrease and if the jitter value is smaller, the QoS value will be better. The amount of jitter value can be obtained from the difference in the travel time of a package with the previous package from the source to the destination of delivery described in Eq. (6): Jitter=VariationdelayPacketreceived Jitter = {{\sum {Variation\,delay} } \over {\sum {Packet\,received} }}

Throughput shows the average speed received in a certain observation time interval, throughput is also known as the actual bandwidth. The throughput measurement is carried out in bits per second (bps). The throughput calculation is obtained from the total packet sent divided to delay which can be seen in Eq. (7). Throughput=packetsendDi Throughput = {{\sum {packet\,send} } \over {{D_i}}}

Packet Loss Ratio (PLR) is a parameter to describe a condition that shows the total number of lost packets that can occur due to collision and congestion on the network. The equation of packet loss ratio can be determined in Eq. (8). PLRi(t)=(1Ri(t)Si(t))×100 PL{R_i}\left(t \right) = \left({1 - {{\sum {{R_i}\left(t \right)} } \over {\sum {{S_i}\left(t \right)} }}} \right) \times 100

This equation is to determine the percentage of transmitted failing in the transmission packet. The percentage of packet loss ratio (PLR) during ith interval Ri and Si in this equation represents PLRi(t), the total of the received packet and sending packet represent ∑Ri(t) and ∑Si(t).

Results and discussion
Hardware testing

Initially, this system hardware testing was carried out by checking the connection between the Arduino Uno and the flex sensor. The nRF24L01 module for transceiver and receiver was installed in electric wheelchair. The detail of electric wheelchair in this research can be seen in Figure 9. the testing of the packaging in this tool is carried out such as ensuring the screws, nuts, and bolts. These tools are checked to ensure all of the equipment installed with firm and unbeatable. Furthermore, electric wheelchair can be used with good equipment and easy to take the data collection. The people with leg disabilities can be directly seat and control wheelchair using smart glove in the right hand in 5 directions. A box control was added behind the electric wheelchair. All instructions in electric wheelchair are included onward (4), backward (O), left (L), right (V), and (5). when the system is ON. It is controlled by smart glove.

Figure 9

Hardware Testing.

Error detection test

Error detection occurs in the process of transmitting data whose transmission process is not running properly. Error detection is an error detection process that is carried out when data is in the transmission process. The error referred to here is that there has been a change of 1 bit or more than one bit which should not have happened. The scenario of the error detection test is the flex sensor data from the transmitter in the form of an integer converted to a string. The value in the form of a string is converted from decimal to binary. Figure 10 shows the error detection test using the mathematical process with the implementation of cyclic redundancy check (CRC) algorithm. A binary number is the value that used in the calculation process where the data were originally in the decimal form is converted to binary. the flex sensor value in the form of binary was divided by the divisor, which is 10011. The result of this division produces a CRC value is less than 4 bits in size. The CRC value from this division is combined with the binary value of the flex sensor in which this value is called the Transmitter Frame. Transmitter frame is sent by the transmitter to the receiver. The receiver is part of the decision on the value received from the transmitter. the value of the transmitter frame received by the receiver is called the receiver frame. The scenario is that the binary value of the transmitter frame has been received at the receiver and also checked with the CRC algorithm. The receiver frame value is divided by the same divisor as in the transmitter section, then the result of the division is the CRC.

Figure 10

Decimal to binary conversion formula.

Figure 11 shows that the decimal to binary conversion process uses the decimal to binary function, consisting of a mathematical formula, namely binary num [i] = n% 2. This formula is an arithmetic process in C ++ or C # programming, with a residual operator often called the modulus. The modulus operator in the decimal to binary formula uses the residual value for all the divisions between n and 2, therefore it is possible that the quotient of n% 2 is 1 or 0. From decimal to binary conversion, the output of data transmitter can be described in Fig as the listing of output data.

Figure 11

CRC Calculation results for the transmitter part.

Figure 11 shows the output data originating from the transmitter, with the data1 and num representing flex sensor values. The decimal value of data 1 is also converted to binary. Furthermore, the process of calculating the CRC algorithm needs a divisor or generator value with a capacity of 5 bits, namely 10011. The divisor or generator value is fixed and used as a divider. Furthermore, the divided value comprises the data 1 (binary) + dividend (appended), which is added to the back of each data1 value (binary). The dividend value is also the divisor −1, which means that it is also in 5 bits. Therefore, the dividend (appended) value is obtained by subtracting 1 from 5 for determining the value of 4 bits. the value of the transmitter frame in the decimal form received by the receiver is called the value of the receiver frame. The value of the receiver frame is divided by the same divisor as the transmitter, namely 0011. The result of the division is called a remainder. The remainder is the final result of the calculation of the CRC algorithm to determine whether the data received is correct or error that can be described in Figure 12.

Figure 12

CRC results on the receiver.

Figure 12 shows that the CRC calculation can identify the received data without an error and also the received frame shows a correct result which the data sent corresponds to the data received with an indication of the received frame is not 0, while one of the error results can be seen in Figure 12. An error result indicated that the data sent correspond to the data received with an indication of the received frame is 0. In this research, the CRC detection was applied at the variation of distances such as 50 cm, 100 cm, 150 cm, 200 cm, 250 cm, and 300 cm. each sample was tested around 20 data. from the testing, the error detection was caused by packet loss that occurred in the communication process of nRF24L01. The error result showed that all of the value from received frame indicated with 0 value that means receiver failed to receive or to detect data sent by transmitter. From the experiment, the success percentage of the CRC detection in the electric wheelchair can be calculated by Eq 9. successrate(%)=testingtestfailedtesting×100% success\,rate\left(\% \right) = {{\sum {testing - } \sum {test\,failed} } \over {\sum {testing} }} \times 100\%

In this section, error detection from a distance of 50 cm can be seen in Table 1. Data from the transmitter can be identified as an error detector in the received frame with a value of 0.

Error detection testing on transmitter data and receiver data.

No Transmitter Receiver
conversion Dec to Binary
Data Flex Sensor Binary CRC Transmit Frame Receiver Frame Remainder Data Flex Sensor Status
1 364 101101100 0101 1011011000101 0 0 0 Error
2 354 101100010 0100 1011000100100 1011000100100 0 354 Success
3 359 101100111 1011 1011001111011 1011001111011 0 359 Success
4 361 101101001 1010 1011010011010 0 0 0 Error
5 364 101101100 0101 1011011000101 1011011000101 0 364 Success
6 362 101101010 1111 1011010101111 1011010101111 0 362 Success
7 363 101101011 1100 1011010111100 1011010111100 0 363 Success
8 364 101101100 101 1011011000101 1011011000101 0 364 Success
9 360 101101000 1001 1011010001001 1011010001001 0 360 Success
10 353 101100001 0001 1011000010001 0 0 0 Error
11 359 101100111 1011 1011001111011 0 0 0 Error
12 352 101100000 0010 1011000000010 0 0 0 Error
13 355 101100011 0111 1011000110111 1011000110111 0 355 Success
14 360 101101000 1001 1011010001001 1011010001001 0 360 Success
15 358 101100110 1000 1011001101000 1011001101000 0 358 Success
16 356 101100100 1110 1011001001110 0 0 0 Error
17 365 101101101 0110 1011011010110 1011011010110 0 365 Success
18 364 101101100 0101 1011011000101 1011011000101 0 364 Success
19 361 101101001 1010 1011010011010 1011010011010 0 361 Success
20 353 101100001 0001 1011000010001 1011000010001 0 353 Success

According to Table 1, the result indicates that the error value from the distance of 50 cm is 6 time out of 20 trials. Using Eq. (9), the success rate in the communication process of the nRF24L01 module at a distance of 50 cm is 70%. in the same way, the success rate in the communication process from various distances in this study can be seen in Table 2. When the flex sensor data is converted into a binary value, the cyclic redundancy check calculation.

Success rates in various distances.

Number of tests (times) Distances (cm) Number of data errors Success rate (%)
20 50 6 70
20 100 6 70
20 150 6 70
20 200 6 70
20 250 9 55
20 300 9 55
Average success rate from 120 trials 65%

According to Table 2, wireless communication of the smart glove as the controller of the electric wheelchair can be identified an average success rate of 65% and error detection of 35%. From these results, error detection in this system can be categorized as low category which influenced by error connection and data corrupt. The success prediction ratio was also implemented by Messiaid et al. (2021) to calculate the evaluation of web service's quality.

Cyclic redundancy check (CRC) analysis

In general, the calculation of CRC in wireless communication is done by specifying a polynomial number as the divisor of the data to be processed which is called the divisor. Then, the calculation of the width of the divider called the highest bit position or the width of the divisor is added. For example, if the divisor is of 1001, the appended is 3. We have to make sure that the highest bit is 1. Knowing the appended appropriately is very important, because it affects the type of CRC that can be used (CRC 16, CRC 32, and others). The processed data may only be a few bits, smaller than the poly value that will be used. This will cause us not to process all the predefined poly values. To solve this problem, in basic algebraic calculations, we add a string of bits along W to the data we are going to process. The goal is to ensure that we can process all the data correctly.

In the testing of the CRC algorithm, the algorithm is compared between the system and manual calculations to obtain valid results. The validation of the CRC algorithm in this study was compared using the C++ program where the results of the CRC calculation formula were entered into the C++ program and the CRC results were calculated manually. The goal is to prove that the data results obtained from the CRC calculation in the error detection section are correct. The calculation result of the CRC algorithm for the transmitter section using C++ can be seen in Figure 13.

Figure 13

Manual calculation of the CRC Algorithm on the transmitter part.

In Figure 13, it can be seen that the manual calculation result of the algorithm is 0100 which this result of manual calculation with calculations entered into the program have the same value. Furthermore, in the receiver section, the receiver frame has a value of 1011000100100 with the remainder being 0000. The following is the manual calculation result of the receiver's CRC algorithm that can be seen in Figure 14.

Figure 14

Manual calculation of the CRC Algorithm on the receiver part.

In Figure 14, it can be seen that the remainder generated from the manual calculation of the CRC algorithm is 0000, this result proves that the value of the remainder from the CRC calculation included in the program has the same value. This validation of the CRC calculation takes data samples from Table 1 number 2 of the transmitter section, namely the value 354 with a binary value of 101100010 which has a CRC result of 0100. In the division process above, we get an important thing to note in this algebraic calculation is that we do not need to perform an XOR operation when the highest bit is 0, but we only shift until the highest bit is 1. This will a little easier and speed up the algebra operation. In notation, it can be written as Eq. (10): a(x).xN=b(x).p(x)+r(x) a\left(x \right).xN = b\left(x \right).p\left(x \right) + r\left(x \right) where a(x) is a polynomial number that represents data. b(x) is the value of 0 as appended. p(x) is a Divisor. r(x) is the remaining Quotient or CRC value.

From Eq. (1), it shows that r(x) is the remainder of the quotient or CRC value. the integrity data from CRC value can be done in several ways such as (1) CRC value is calculated from the original data, then match the CRC value with the stored CRC value (append to the data). From the data obtained, the CRC value is N-1. (2) The original data are added with the CRC value, divided by the divisor. Finally, the remainder of the quotient is 0 if the data are correct.

The testing of quality of service (QoS)
Delay

The purpose of this test is to determine the time required by the transceiver in carrying out one transmission process by applying in Eq. (1). The time calculation process starts when the sensor starts sending packets until the sensor receives the packet. The test scenario is carried out by sending data from the transmitter to the receiver. The scenario was divided into six distances (50 cm, 100 cm, 150 cm, 200 cm, 250 cm, and 300 cm. This test serves only to determine the communication quality of the nRF24L01 module. the result of average delay from the nRF24L01 module can be seen in Figure 15.

Figure 15

The testing of delay from QoS.

According to Figure 16, the delay calculation mechanism is calculated using two concepts, namely: the frame transmitter sends the first data before sending the second data, then the results of the transmitter delivery time can be known. (2) the receiving frame has received the first data from the transmitter before the receiving frame has received the second data, then the receiving frame can be identified. For the delay parameter, it can be calculated by subtraction the length of delivery at the transmitter with the length of reception at the receiver frame. From the results of the analysis, the delay value obtained in each test starting from a distance from 50 cm to 300 cm. the overall average of delay is 142.58 msec. The delay value was compared with Table 3 which the average value of delay can be categorized as good category with index of 3. This is caused by several factors, including the amount of delay does not really affect the distance factor, in contrast to the data load factor is sent it is very influential because it makes the sending time and receiving time longer. Hence, the size of the data packet being transmitted is getting bigger, this also makes the required transmission take longer. In addition, the obstacle factor occurs when data collection also affects data transmission. This measurement also was relevant with (Budiman et al., 2016; Charisma et al., 2019) which the performance of the service is the important to measure the quality of network. Standard on telecommunication and internet protocol harmonization over networks (TIPHON) is as the based-line to measure the quality of service (Nugroho et al., 2020).

Figure 16

Throughput test results.

Throughput

Throughput testing is carried out to determine the actual data rate (data rate) based on the unit of time. the calculating of throughput can be used in Eq. (4). throughput test scenario was carried out by sending a number of data packets from the transmitter to the receiver and the testing was carried out at 60 times with varying distance from 50 cm to 300 cm. Throughput test results can be seen in Figure 16.

The size of the data packet at every of 50 cm affects the transmission in seconds (data rate). According to Figure 16 throughput testing in varying distances of 50 cm, 100 cm, 150 cm, 200 cm, 250 cm, and 300 cm was obtained the data transmission speeds of 90.38 bps, 270.91 bps, 45.62 bps, 72.54 bps, and 44.38 bps, respectively. From the results of the analysis, it was found that throughput parameters were tested ranging from 50 cm to 300 cm which the overall average throughput was 129.38 bps. These results were compared with parameter in Table 4 in which throughput quality can be categorized as excellent and the testing results in an actual speed (throughput) of 270.91 bps. The maximum speed (bandwidth) of nrf24I01 module is 2 Mbps (2 × 103 kbps or 2 × 106 bps) and the minimum speed of the nRF24L01 module is 500 kbps (5 × 105 bps).

Jitter

The purpose of the jitter parameter is to analyze the delay variation on the transceiver of data processing on the system that causes delays from one transmission to another. The throughput test scenario was carried out by sending a number of data packets from the transmitter to the receiver and the scenario was carried out at 60 times with a varying distance from 50 cm to 300 cm. Jitter calculation is influenced by variations in delay and the amount of data received. The results of the average jitter test can be seen in Figure 17.

Figure 17

The testing of Jitter parameter from QoS.

According to Figure 18 jitter value in the test of every 50 cm indicated that there is an average jitter value of 21.60 ms. These results were compared with Table 5. The average value of the jitter is good category with index of 3. Data communication between transceivers is influenced by the size of the data sent, where the larger the size of the transmitted data, the greater the jitter value obtained.

Figure 18

Average test value on packet loss of QoS.

Packet loss

The testing of packet loss aims to determine the percentage of packet loss that occurs in a data communication process between the transmitter and receiver. The packet loss testing process is carried out by conducting a transceiver communication process with a varying distance of 50 cm, 100 cm, 150 cm, 200 cm, 250 cm, 300 cm. In the results of the quality of service with packet loss parameters, it can be indicated that a number of data packets have been transmitted on the communication line between the transmitter and receiver with different distance variations. The results of the packet loss test can be seen in Figure 18.

According to Figure 18, the results shows that the distance variations of packet loss were applied of 50 cm, 100 cm, 150 cm, 200 cm, 250 cm, and 300 cm with the result of 3%, 2%, 4%, 5%, 0%, and 4%, respectively. From these results, the average packet loss from distance variation is 3%. Based on Table 6, it can be categorized as good value with index of 3 in the process of transmitting data packets from the transceiver, because in the communication process the transceiver uses reliable communication for ensuring the sending of packet data by the transmitter can be received by the receiver properly even though there are some packets cannot be received by the receiver. this is caused by data packet damage or corrupt and loss of connection.

Conclusion

In this study, the electric wheelchair was applied to assist the people with leg disabilities in which the design of the electric wheelchair was controlled with a smart glove using five flex sensors. In addition, the electric wheelchair controller smart glove was successful. Module communication system was installed nRF24L01 between transmitter part and receiver part. Based on the test result the nRF24L01 as module communication system on an electric wheelchair, the error detection method and the cyclic redundancy check (CRC) algorithm in the communication module nRF24L01 are implemented with an average success rate of 65% and error detection of 35%. From these results, error detection in this system can be categorized as low category which influenced by error connection and data corrupt, respectively. In the manual CRC calculation process, all data matched the results calculated manually. This shows the validity of the data calculated by the CRC. The testing of the quality of service (QoS) in this study is to know the capability of a network to provide good network. QoS have four parameters including delay, throughput, jitter, and packet loss. The average result of delay, throughput, jitter, and packet loss are 142.58 msec of delay (good category), 129.38 bps of throughput (excellent category), 21.60 msec of jitter (good category), and 3% of packet loss (good category).

eISSN:
1178-5608
Język:
Angielski
Częstotliwość wydawania:
Volume Open
Dziedziny czasopisma:
Inżynieria, Wstępy i przeglądy, inne