Simulation of Mitsubishi RV-M1 Robotic Arms by Using MATLAB® for High School Teaching

Since most of high school students in Jakarta love robots very much, they join Engineering Club at school. Unfortunately, only few high schools have a real robot arm for students to learn in their school labs. The purpose of this research is to create a small simulation program based on MATLAB® and Robotic Toolbox 9.10 which resembles Mitsubishi RV-M1 robotics arm. The simulation is a 3D view and 5 degree of freedom which its end-effectors position is as close as the real one. It is hoped the results of this research study can be used as a base for further development of human controlled robotics arms simulation.


Introduction
Since 2014, robotic has become one of the popular subjects in most high schools in Jakarta and the number of engineering clubs has increased. Four engineering clubs from different schools asked Computer Engineering Department of Bina Nusantara University (BINUS) to give free robotics classes with about 20 students in a class regularly. We, the Engineering Department agreed and took it as a part of our community development projects. At the beginning, we brought the only RV-M1 robot to schools but since the number of schools required Robotic classes increased and none had their own robot, one RV-M1 robot was not enough to use for those classes. Besides, the robot was also used internally at BINUS for its department students' extracurricular activities.
The idea of building the simulation program is based on the reason that most of the students learn sensor, control, dynamic, and kinematics as the profound study about manipulator movement in space with the function of time regardless its force and momentum [1]. The movement of robot arm uses kinematic study and students learn its connection between its position and orientation of manipulator links. The manipulator consists of links and joints in the form of revolute or prismatic. The manipulator, which is divided into direct kinematic and inverse kinematic, comes in the form of an arm, fingers, and a leg [2].
In this paper, we focus on direct kinematic since it is a kinematic analysis which involves the forward transformation equation to get coordinate position of x, y, and z, as well as its orientation. [3] To support the discussion of direct kinematic analysis, inverse kinematic which involves the inverse transformation is used. This kinematic is used to get the angle and position orientation of each joints which determine the final position of the arm robot. The idea of this research is to give a free simulation application for High Schools so that they can practice about robot arm in the class. To overcome the situation and fulfil the need of learning robotics in high school, we build a simulation program to study the kinematics of robot arm in a computer. The simulation is similar to both PUMA 560 and Mitsubishi RV-M1 Move Master. We use the last model since it is the robot available in Computer Engineering laboratory. Moreover, this simulation is comparable to the real model of RV-M1 during the test. Therefore, this simulation can be used and applied in high schools as a substitute of real RV-M1 robot. The simulation uses 5 degree of freedom (DOF) with forward kinematic where its analysis uses Denavit-Hartenberg (DH) convention [4] [5]. Based on this study, it is hoped we are able to present a simple simulation for students. The research question of this experiment will be "does the arm robot simulation works according to the real arm robot?"

System Design and Algorithm
Before designing the system, it is important to understand the kinematic problem faced in simulated robot based on its joints' characteristics. There is n+1 links for a n-joint robot in its arm. Each joint connects two links [6] [7]. The limitation of arm movement is derived from the rotation and the translation boundaries. If it is a rotation joint, we use a revolute joint, otherwise a prismatic joint. The rotation joint boundary is defined in two values; negative rotation (against right hand rules) and positive rotation (according to right hand rules) [8]. In the meantime, the prismatic joint boundary is also defined into two values; positive translation (along with positive z axes) and negative translation (along with negative z axes) [9]. We can calculate the kinematic movement from the joint boundary of simulation parameter. Figure 1 shows the model and parameter of RV-M1 which is used as the model of our simulation in this research [10]. We use DH in direct forward kinematics to develop homogenous matrix as follow: A is a homogenous matrix that has information on 3D simulation graphic whereas each value in the A is different for each joint. Each joint depends on link characteristic as shown in table 1 [11]. We design the system based on this parameters as shown in figure 2.  The input of the system is in the form of angle's value for each link which later is fitted in current DH parameter. The next, we develop homogenous transform matrix for each joint which calculates and finds the position of joint link and end-effector (EE).
The flowchart of the whole system can be seen in figure 3 where in the beginning the program runs graphical user interface (GUI) and initializes the first position of robot arm. In the GUI, a user can easily manipulate the data parameters of robot arm. The first position of robot arm's angles is set at 0, 0, 0, 0, 0 (5 DOF) and this continually does whenever the system resets. Later, after setting the beginning position of robot arm, the program executes kinematics program by entering the parameter in the calculation. If there is any data change, the system will update GUI display according to the changes. The display is in 3D (x, y, z axes) of the latest position of RV-M1 EE. By using equation Where i-1Ai -transform matrix of ith joint to ith-1joint. Tx in which we can input in DH parameter in table 1. Therefore, we get the value of matrix transform of each joint link. Thus we can determine the EE position.
Since we can manipulate matrices and its counting in Matrix Laboratory of MATLAB®, we try to combine it with Toolbox: Robotics Toolbox 9.10 from Peter Corke [12][13] [14]. There are functions such as rotational matrix counting, translation matrix counting, robot arm frame developing and others in the toolbox which is favorable to build a 3D simulation of RV-M1 robot arm. The flowchart of kinematics programming can be seen in figure 4. In this function, we set the DH parameter from the robot arm where alpha, a, d, theta variables store , a, d, and Ɵ value respectively. Other variables such as bon, and bin, are used to store links, and start the loop. Deg is used as the constant number and Trans is used as transformation matrix. This function gives EE value which is displayed in a frame with 3D axes. The simple graphical user interface (GUI) designed is presented in figure 5 and the display of the RV-M1 simulation is shown in figure 6 and 7 with different point of view. The flowchart of the GUI and the detailed program can be accessed freely by requesting to corresponding author.

Result and Discussion
After several experiments, we found two results. First, the result of comparison between the real RV-M1 robot arm movement with the one simulated in the program. Table 2 shows the differences between the simulation movement result and the real RV-M1 movement result. From the table 2 and 3, it can be seen that the displacement between the actual robot arm movement and simulation result is not significant when the Theta was moved from one degree to another degree. Therefore, the simulation can be used for studying since it will resemble the real RV-M1 robot.
The second, the result of consistency of EE movement in simulation by using DH parameter and matrix transforms in 2 axes (X, Y). In this experiment, we compared the simulation result with the actual RV-M1. The EE was moved in 2 positions; A (100, -250) and B (100, -400) where the simulation was run 20 times for the same position. The validation process between the simulator and the real robot arm is shown in figure 8 and 9. The comparison result of validation process is shown in table 3. We found out that the simulation successfully represented the movement position of actual RV-M1. Thus, the simulation can be used in the classroom for the student without using the real RV-M1 robot arm.

Conclusion
The simulation of RV-M1 robot is made in the form of .EXE program which is easy for the schools to directly install the program in the computer without the necessity of installing MATLAB®. Therefore, this program is user friendly and can be used freely by students in the school lab for a robot simulation subject.
The experiment result can be accessed via YouTube at https://www.youtube.com/watch?v=H1UixZTwOko.
Even though this experiment is simple, and many similar programs are available in the internet, this program still gives an advantage, that is easier to install, and schools can get this coding of the program for free. In the future, the research will be continued by adding the dynamic model, as well as increasing the degree of freedom of robot arm.