{'fraction_non_alphanumeric': 0.023939895581306506, 'fraction_numerical': 0.006685343180949955, 'mean_word_length': 4.680650994575045, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Hand Gesture to Control a Low Cost 3-D Printed Arm using Android Application

In this era, the technology on computer usage is highly increasing and demanding especially in engineering, business and communication sector. Many applications are built based on a smartphone technology. The idea of this paper is to develop a hand gesture system based on Android application in order to control the 3-D printed arm. A MIT application invertor was used in developing an algorithm of the hand gesture controller. The app inventor can be used and accessed with accelerometer sensor that already built-in the smartphone via a Bluetooth connection. The Android applications was used as a communication tool between the Arduino Uno and the 3-D printed arm. The accelerometer sensor was acted as an input signal to control the hand gesture of the 3-D printed arm by the change or tilt of smartphones position. The output of this system is a servo motor that was mounted on the arm and used to drive the fingers. In this project, there system was classified by two; hardware part that consists of 3D-printed arm, Arduino, electrical component, and smartphone, meanwhile, the software part consists of MIT application inverter. The result shows the 3-D printed arm was able to be implemented with the wireless and Android application.


Introduction
Robotic is a computerized system that consists of controller, information processing, sensory feedback and can be set as a programmable device used to move materials or perform tasks [1]. The usage of robotics has achieved great success in the field of humans. It has become popular in society which is very useful for disabled people who are suffering from physical disability such as the one without a hand. Hence, several robotic hands have been invented and already through several development and innovation stages in order to help disabled people. The invention of the robotic hand gives a new hope for them to perform daily activities such as gripping, lifting and holding [2]. The purpose of robotic design is to help humans in daily life activities and can perform many different tasks. At this point, the invention of robotic hands with a gripping system and able to grasp objects as humans do is a good idea [3]. In theory, the gripping gesture is defined as a subsystem of a handling mechanism which provides temporary contact with an object. It is the orientation of fingers position to carry or handle an object. When such an important part of the human body is lost, the replacement hand should be capable of imitating the real hand capability such as gripping or holding. The purpose of designing robotic hands is to imitate a gripping gesture as a human hand. Furthermore, advancement of robotic technologies, the robotic hand gesture improved from the three-fingers to the five-fingers of human-like hands. There are various types of robotic hand that have been invented and most of them involve innovative mechanisms and electronic control systems. For example, a five-finger robotic hand known as the Montreal hand was invented with a clutch, a cable system and spring-loading pulley mechanism. In 1992, Rajiv and Doshi had developed multiple motors and sensory feedback to control gestures of the robotic hand [4]. Usually, gestures of the robotic hand are driven or actuated by geared electric motors. An electric motor provides adequate velocity to control gripping force required by the robotic hand. The use of electric motors also simplifies the mechanical parts of the robotic hand [5].
There are many researches involve with smartphone. For example, in the [6], the robot uses the Arduino Uno, Android, and RFID technology in developing the robot for stocking shelves. The gesture commands for robot movement received from Android application by using Bluetooth modules. Meanwhile, the hand robot movement in [7] was controlled by using accelerometer as a button control. The accelerometer will sense the hand position and generated the coordinates for movement position. The Arduino code will execute the direction of the robot to perform the task such as forward moving, backward moving, turning left, turning right and stop. Another application using the smart phone as the controller is a prosthetic device [8]. In this paper, the development of the prosthetic device includes programming the Arduino board and Android application. The Android from the smartphone was used as a control the robot to help the people who lost control of their upper limbs.
In this paper, the idea of controlling the 3-D printed arm via smartphone Android application will be presented. The concept of graphical user interface of Android application based on MIT App Inventor also introduced. The 3-D printed arm basically will control the fingers to grip and hold and release the soft and hard material. The sensor accelerometer that is built-in in the smartphones will be used as the input to control the movement of fingers. The input signal from the smartphone was processed by Arduino before sending instructions to the servo motor. The Bluetooth will be implemented with smartphone and Arduino Uno microcontroller.

Concept hand gesture via Android Application
Android devices are used as an instrument to control the robotic hand. It is also the best idea because the Android device provides plenty of sensors. The sensors can be used as an input signal and able to control the robotic hand movements. An accelerometer sensor is already built in Android devices and it can be accessed via Android application [9][10]. The accelerometer sensor allows applications to access without requiring any special privileges. Then, it is easily integrating with other electronics devices through wireless connection [11]. Most Android accelerometer sensors use inertial force concept as a principle. The rotation concept of smartphones is introduced, for example, a user rotates his smartphone, then, the screen will switch between portrait and landscape. If the screen shows portrait display mode, y-axis is sensed the gravity force and when the screen in landscape display mode, x-axis is sensed the gravity force [12]. Figure 1 shows how screen rotation is occurring on smartphones.  [12] Moreover, an accelerometer sensor can measure a motion in two or three orthogonal axes, and it is based on the principle of capacitive sensing [13]. Figure 2 shows the axis of smartphones accelerometer sensor.

Develop the controller system by using App Inventor
The main part of this project is to develop the controller system by implementing MIT App Inventor to create a simple graphical user interface (GUI) for Android application. This App Inventor for Android is an open-source web application that is provided by Google and maintained by the Massachusetts Institute of Technology (MIT) [14][15]. It allows a computer programmer to create software applications for the Android operating system (OS). Advantages of this software, it is open access and friendly. In addition, App Inventor involves three aspects: (i) App inventor designer, (ii) App Inventor Blocks editor, and (iii) An emulator or Android Phone The GUI is a user interface that allows users to interact with electronic devices through graphical icons. The GUI was built with the ability to access smartphones' accelerometer sensor. This sensor acted as an input signal to control the 3-D printed hand gesture. In addition, the Android application system and the 3-D printed hand were connected via Bluetooth connection.
In this software, there are more features that can select, drag-and-drop visual objects to design the GUI components. The selected components are built in jigsaw puzzle dialog. The arrangement of this jigsaw puzzle creates a programming language of App Inventor that has two main windows: a  Figure 3 shows the selected components for the design. Meanwhile Figure 4 shows the workspace of App Inventor. The selected component was converted to jigsaw-puzzle shape in the Block workspace.
In App Inventor, there are two palettes from which are the Build-in palette and the User-component palette. For Build-in palette; the contain block is for standard programming control and functionality, including text and list manipulation, mathematical, logical and control operators. Meanwhile for the User-component palette; it will represent the selected components of the application that are added in window design. Each of the selected jigsaw puzzle dialogs was arranged and combined to form complete programming language. Figure 5 shows the arrangement of jigsaw puzzle to configure with the Bluetooth connection and to access accelerometer sensors of smartphones.   When the GUI was initiated, it automatically accessed the smartphone's accelerometer sensor. "ListPicker1" acted as a Bluetooth selection button to connect the GUI with the 3-D printed hand. After Bluetooth connection was connected, the GUI shows "Connected" on "Label2". The accelerometer sensor reading was shown once the Bluetooth connection was connected. Then, the jigsaw puzzle of the accelerometer sensor was arranged. The change or movement of the accelerometer sensor was based on the y-axis. On the "Label3", it shows the reading changes of the accelerometer sensor. Figure 5 shows the accelerometer sensor jigsaw puzzle arrangement.

Develop an algorithm for 3-D printed arm based on Android application.
The hand gesture of 3-D printed arm was controlled based on the algorithm instruction. This algorithm was developed based on the accelerometer sensor movement that built-in the smartphone. The accelerometer is an electronic sensor that measures the acceleration forces acting on an object to determine the object's position in space and monitor the object's movement. Most accelerometers are miniscule and referred to as Micro-Electro-Mechanical Systems (MEMS) accelerometers. Because of their size and affordability, they are embedded in many hand-held electronic devices such as phones, tablets, and video game controllers. In phones and tablets, the accelerometer is responsible for "flipping" the screen when the device is rotated. In this project, the accelerometer will move in ydirection (Y-edge axes). If the phone rotates from 0 to -95 o from the vertical position, the hand gesture will grip. However, if the phone rotates in the opposite direction, from -95 o to 0, the hand gesture will be in release condition. Meaning that, the 3-D printed arm will be open. Table 1 shows the summary of the concept of flipping the screen of a phone. The programming language was written based on the performing work decision and control algorithm based on the tilt of smartphones. Figure 6 shows the flowchart for the algorithm to control the movement of 3-D printed arms.  Figure 6, the change of accelerometer reading was based on Y-edges of smartphones movement. Accelerometer sensor reading was '0' when the smartphone was on the vertical position and accelerometer sensor reading was '-95' when the smartphone was on the horizontal position.

Experiment setup
The experimental setup consists of three major components, which are a board of Arduino Uno, a Bluetooth device, and a servo motor. Figure 7 shows the 3-D printed arm connected with the Arduino Uno and servo motor then mounted on the left hand.  Figure 7. The 3-D printed hand and the smartphone was mounted on the left hand The connection of electronic parts is shown in Figure 8. This schematic diagram was designed using Fritzing software. The servo motor will act as the output, and the movement of five fingers depending on the movement of the servo motor. The Bluetooth will receive and transfer the information from the Android application to the microcontroller in order to control the hand gesture of 3-D printed arm. The Arduino Uno is an interface between input (accelerometer sensor) and the servo motor control. Figure 9 shows the experimental setup for overall the system of this project. The smartphone is already attached in the upper arm to give the instruction to the phone. The change angle of tilt makes the finger grip and hold the objects.

Results and discussions
In this project, a few experiments were considered as the analysis. This analysis was done to carry out the objective to be achieved. First experiment is to analyse the GUI of the Android application itself. In this method, the GUI was analysed based on the accelerometer sensor reading. The different reading of the sensor will give the different situation of movement of fingers of 3-D printed arm. Figure 10 shows the GUI screen for this system. In this test, the GUI was tested to connect with the 3-D printed arm. The status text will appear on the screen in order to know the connection status of the GUI and the sensor reading. In the second experiment, the GUI and 3-D printed arm were tested together without any activity of holding and gripping the objects. The objective of this experiment is to study the ability of GUI of Android application in getting information from the accelerometer sensor. Table 2 shows the result of different reading of the sensor with the hand gesture activities of 3-D printed arm: release and open the fingers. Table 3 shows the averaged time taken for 5 trials of open/rest position or close/bend position of 3-D printed arm. Based on this table, the averaged time taken for release the finger from bending is 0.26 s and the other side, which is for bending the finger from release, is 0.33 s.  In the last experiment, the GUI of Android application was developed to test with the different materials. In this case, there are two types considered: soft material (food such as bun, and sponge) and hard material (tennis ball and spray container). The 3-D printed arm was gripped and held the material for a few seconds until 25 s. This is important to know the ability and to see how much this arm is able to grip and hold the objects in certain time. The 3-D hand was easier to grip and hold the soft material compared to hard material. The results were shown in Table 4 and Table 5.

Conclusion
In conclusion, the aim of this project to develop the 3-D printed arm controller based on Android application was achieved. This project is able to assist disabled people who do not have their upper limb by doing daily activities like hold and grip the material. Hopefully, by using this application, disabled people are able to do their daily activities like normal people. By applying the accelerometer sensor that is built-in with the smartphone, it can make this application easy to use for all people in controlling and comfortable to move the 3-D printed hand using the GUI. Then, an advantage of this application was the wireless connection to connect smartphones and 3-D printed arm. For future study, it needs to improve the performance of 3-D printed hand gestures. By observing the result during the experiment, the major limitation can be seen on the fingers of the 3-D printed arm which is the object that easily falls when gripping and holding the material. Due to the slippery surface on the fingers of the 3-D printed arm, the idea is to use the clay to overcome the problem. Another suggestion is to wrap the 3-D printed arm by using rubber material such as rubber gloves to get the better performance of 3-D printed arm in holding and gripping the material. In term output, the powerful servo motor needs to be replaced, so that it can improve gripping and holding of 3-D printed arm. The powerful servo motor which is high torque can improve 3-D printed hand grip strength. Tower Pro MG995R is a high torque servo motor with metal-gear installation for extra high torque and more reliability.