Robot Arm Inverse Kinematics Wrist Tilt Repair Using PID Control System (Proportional, Integrative, Derivative)

This study aims to improve the inverse kinematics control method is usually used to control the movement of the arm robot. The tilting point on the wrist becomes the main concern because a certain point in the moving of the arm robot is tilted. Usually, the initial move on the x, y, and z coordinates, and the farthest point in these coordinates occurs the slope. In this study, the inverse kinematics control adjusted to meet the stability of the wrist in a horizontal position. The slope value is measured using the Accelerometer + gyroscope sensor and used as an error value is then processed with proportional, integrative, derivative (PID) to obtain smoother changes in motion.


Introduction
In this era of rapid technological development, research progress has been swift and includes all fields, especially in the areas of automation, computer technology, and electronics. Robotics technology is an example of the development of science in the fields of computers, electronics, and automation. At this time, the use of robots is growing to handle various jobs. Whether an industry, for research, or hobbies [1]. The development of robotics is also used to biomechanical such as arm rehabilitation [2].In biomechanical, EMG and force signal support to detect electrical signals which generated by human muscle which containing information about muscles' condition. Upper arm in human body is engaging in human activities with many movements. It is effected to elbow joint movement that suitable to rehabilitation, by monitoring muscle activities for joint motion between the patient and robotic arm [2]. By implementing EMG and Force signal designed in [2], they are able to increase the robot arm performance in movement in order to control the angular displacement.
In understanding robotics, kinematics and dynamics are one of the sciences that must be master in robotics. Kinematics is basic knowledge or theory about the procedure for moving objects without considering the forces that cause them to move. Robot kinematics also consists of rotational and translational movements. In the review of robot motion kinematics, the terms inverse kinematics and forward kinematics known. In forward kinematics, the value is given to each corner of the servo motor to get the end-effector position. In contrast inverse kinematics, the amount shown is the position, and the arm robot will find a solution for each corner of each servo motor so that the end-effector position can be achieved [3].
In this design, the arm robot chosen is an arm robot that has 5 degrees of freedom. In general, there are two types of joints in an arm robot, namely a revolute joint and a prismatic joint, a revolute joint has a rotating motion while a prismatic joint has a back and forth motion [4]. The joint revolute in the arm robot is composed of a servo motor; the accuracy of the action of the servo motor is the primary indicator of the success of the arm robot. Various methods can use to make precise movements of the arm robot, one of which is the inverse kinematics method [5].

Figure 1. Arm robot camera
This research intended to maintain the balance of 1 part of the robot arm aimed at the wrist, and shown in Figure 1 above, the robot arm is attached to the camera on the end effector. Of course, to get visuals on a flat plane, the wrist position must also be in a balanced state (flat). For this reason, this study takes this part to maintain the condition of the wrist remains in a flat shape by adding an accelerometer and gyroscope sensor to measure the balance point. Furthermore, to smooth and reduce the spike in motion, a PID (proportional, integrative, derivative) control method is used. The measured balance value on the sensor will be the error value processed by the PID [6].
From the above discussion, hopes that this research can fulfil the above problem request. Hopes that in the future if the arm robot installs with a camera or sensor that requires the robot's wrist to remain horizontal, this research is expected to fulfil this demand.

Research methodology
In this study, the concentration is a focus to get results that can reduce the error from the movement (wrist) of the robot arm and keep the wrist of the robot arm flat. -Hardware and programming are designed using the Arduino UNO board and Arduino IDE programming based on the C language. The first step that needs to do is the application of the inverse kinematics control system on the arm robot. The block diagram on Figure 2 shows the complete built-in hardware system. The main part is a power source that will provide overall power to power the Arduino board and each servo motor used as a driving force for the robot arm. Arduino will give instructions to the servo motor driver to drive the motor. The servo motor driver uses the IC4017N which is capable of controlling up to 16 servo motors for more comfortable and more straightforward control. The use of servo motor drivers also intended to save the use of Arduino I / O pins.
To measure the balance value in the arm robot, GY-521 + MPU6050 Axis gyroscope sensor used. This sensor is useful for providing balance error values which will later be processed with the PID formula (proportional, integrative, derivative).

Control System Flowchart
The control system as described in Figure 3  The PID formula will then process the error value or slope of the wrist robot arm obtained from the measurement of the tilt point made by the GY-521 + MPU6050 sensor. PID (Proportional, Integrative, Derivative) to reduced until the error value eliminated. If the measured slope value is 0 (zero), the the PID formula can be skipped and can be continued for the next process. If a slope value found with a positive or negative value, the PID formula plays a role in returning the value to 0 (zero) so that the wrist position of the arm robot can always be horizontal [7].

System Specifications
In order to develop the application, there are several requirements in developing and also building the application details presented in Table 1. The sensor used to measure the balance value on the wrist of the robot arm, whose value will operate as an error value that can be processed by the PID formula Program Development Arduino IDE 1.8.13, as a programming environment because of the ease in writing microcontroller programming.

Robot Arm 6 DoF
The robot arm used has 6 degrees of freedom, including the base, shoulder, elbow, wrist, wrist rotation, and gripper.
Programming Language C programming language, as the programming language in the development of the arduino platform.   Seen in the table, the angular position x = -50.00, y = 140.00, and z = 100.00, the measured slope point for the average pitch angle = -1.50, and for the average roll angle = 4.05. For this reason, we found the error value from the pitch angle and roll angle to be corrected later with PID.

Testing inverse kinematics using PID control system (Proportional, Integrative, Derivative)
After doing a series of slope point measurements, next is to test the PID (Proportional, Integrative, Derivative) control system which has also been tune previously. PID formulas combined with the inverse kinematic control system which has also yet tested for use in the robot arm used. The inverse kinematics method, which usually used for arm robot control has an integral part of the equation for one another. At this stage, the PID formula added to solve problems with the wrist in the arm robot. For the results obtained in Figure 5. As seen in the Figure 6, the wrist position on the arm robot is stable at 0.0 degrees. The visible waves in the image are when the robot is moving to any place. The control system that is applied maintains the tilt point of the wrist (wrist) in a flat condition. For this reason, visible waves are also not too big.

Conclusion
By conducting several series of tests to improve the tilt that occurs in the wrist of the robot arm, we can conclude that the inverse kinematics method applied has interrelated equations. For this reason, in modifying the equation, it must be more careful because errors in changing the fundamental equation of inverse kinematics can result in inappropriate movements and can cause turbulence in the arm robot movement. In the application of inverse kinematics, the minimum and maximum motion limits of the arm robot must also be adjusted in programming to obtain better motion. For the use of the PID control system that is applied, the tuning for the roll angle (ɸ) results in a value of kp = 2.5, ki = 0.1, and kd = 0.1. Likewise, with the application of PID at the pitch angle (θ) obtained tuning with values of kp = 2.5, ki = 0.1, and kd = 0.1.

Recommendations
We provide several recommendations to enhance another research in related our research:  More in-depth testing to improve each position and PID intelligent control method to get better results for position control and maintaining the balance of the arm robot's position.  Adding other control systems such as fuzzy logic method to get better results.  Choose better hardware for further research.