Human Machine Interface Design for a 3 DoF Robot Manipulator

This paper represents a Human Machine Interface (HMI) design to control a 3 DoF robot manipulator. This manipulator has two parallelograms to make the moving platform always parallel to the ground. We used inverse kinematic analysis of the robot manipulator to control the end point location. Inverse kinematic results are verified using design parameters and end effector location. According to our algorithm, user defines the end point location from HMI, and then program solves inverse kinematics of the robot manipulator. The angles are sent to Arduino microcontroller to set the position of the servo motors. Using this HMI, the user picks and places the object in real time. The user can also give command to draw linear, circular and rectangular paths on the HMI.


Introduction
The world industry has developed rapidly since the beginning of the first industrial revolution. This evolution still continues and now 4th industrial revolution is started. In the last revolution, automation lines must be designed to manufacture flexible products which are specified by costumer needs. In planning of automated production lines, engineers need various designs of robot manipulators for picking and placing, painting, welding, assembling and similar tasks. Therefore, the robot manipulators are the most important part in flexible automated lines. According to task of the robot manipulator, motion of the end effector can be spatial or planar.
Huang et. al [1] designed and synthesized a two DoF parallel robot manipulator for pick-and-place operations. This parallel manipulator consists of two parallelograms to make moving platform always parallel to the ground link.
Five bar two DoF parallel manipulator is investigated for performance evaluation by Feng et. al [2]. The performance evaluation is realized by using global conditioning and velocity indices.
Other two DoF parallel manipulator structure using two sliding joint is researched by Xin-Jun Liu et. al [3]. These sliding joints are vertically aligned to move platform of the manipulator.
The Diamond robot which is a kind of two DoF parallel robot manipulator structure is represented by Huang et. al [4]. In this study, the moving platform path generation is planned considering joint torque and velocity constraints.
Well shaped workspace optimization of two DoF parallel robot manipulator is carried out by designing link parameters in study of Huang et. al [5]. Optimal manipulator configuration in terms of force-transmission behavior and isotropy is the first step of their approach. The second step consists of determining independent kinematic parameters by optimizing of global index.
Dynamic analysis of two DoF parallel manipulator is used to investigate joint clearances of the manipulator joints in investigation of XuLi-xin and LiYong-gang [6]. Trajectories of the end effector for both ideal and clearance joints are calculated in computer and then the results are plotted to observe difference on the end effector trajectory.
A new measuring mechanism is designed and tested for zero offset calibration of a similar 2-DoF parallel robot manipulator by Jiangping et. al [7]. Results of calibration mechanism are illustrated and discussed in plots.
In this study, we developed a HMI for a 3 DoF robot manipulator which was previously investigated 2 DoF kinematic structures in [1,4,5,6,7]. All links of our manipulator mechanism is manufactured by using 3D printer. Here, our purpose is to control the end of the robot manipulator from a graphical user interface by giving positions. In order to do this, the inverse kinematic of the robot manipulator is solved analytically. The inverse kinematic analysis is verified by using some specific positions for the end effector. Using inverse kinematics, the interface redraws the manipulator links for each end effector position and robot manipulator moves simultaneously. The user of the manipulator can select different paths such as linear, circular and rectangular paths by clicking buttons in the graphical user interface. Using our interface, one can determine the path of the end effector and easily make pick-and-place operations.

Robot Manipulator Prototype Structure and HMI Design
Our design of the robot manipulator is shown in Figure1. Manipulator moves linearly along z axis using a stepper motor connected to a trapezoidal lead screw linear mechanical element. Other two translational movements in x-y plane are obtained by closed kinematic chain which is depicted in Figure2. The links for this two degree of freedom closed mechanism are manufactured from 3D printer.

Inverse Kinematics of the Manipulator
Inverse kinematics of the manipulator must be solved to control motion of the end effector. Our algorithm based on inverse kinematic solution in Visual C# and then sends the data from HMI to arduino that controls two servo motors of the manipulator.
If Equation (1) is described using Euler notation, vector equation will be obtained in (2).
Rearranging (2), we get (3) and conjugate of this equation (4) as follows, Multiplying (3) and (4), the angle θ 3 is eliminated. After multiplying these equations, (5) is obtained as follows, 0 sin cos where ( ) Using half tangent relations, e e e t e e t (6) Solution of this polynomial equation is described in (7). Two real or imaginary results can be obtained. Imaginary results are unusable. Therefore, Lastly, the first actuation angle is calculated as follows, On the other side of closed kinematic chain, the second actuator position is solved by using similar procedures and similar equations. The second equation is given in (9).
The second actuator angle of the robot manipulator is calculated in (13).
From kinematic analysis of the manipulator, four modes are available using results. However, we are using always the mode which is depicted in Figures 2 and 3 for our robot manipulator.

Verification of the İnverse Kinematics
Before programming the graphical user interface, the verification of the kinematic analysis is needed to be sure that our analysis is correct and usable. We assumed the links of the manipulator to be . The position of the end effector is considered to be P x =100 mm and P y =150 mm. Substituting these values into kinematic equations, the parameters in ( θ .

HMI Design for the Manipulator
We designed our HMI (human machine interface) in Visual C#. NET environment. Before using this program, user must select COM port and baud rate of Arduino Microcontroller from all available ports listed in ComboBox. Then, Connect Arduino button must be clicked to start communication between HMI and Arduino. If the communication is successfully established, the progress bar will be full green color. If the communication fails, the program gives a message to connect Arduino correctly. Then user can send command from interface to Arduino. Using inverse kinematics in previous section, program calculates actuation angles and then draws the manipulator on the form. User changes the end effector location using mouse pointer. The manipulator moves simultaneously according to this mouse position change in inverse kinematics. Our interface design is shown in Figure  5.  Calculate: discr1 and discr2 are calculated according to inverse kinematic analysis of the robot.
Are roots of discr1 and discr2 real?: Program must decide that the results are physically realizable or not. Non real results cannot be used in real environment. Therefore, they are unnecessary.
Prepare and send data packages to Arduino: When two angles are calculated, they are packaged in order for sending. The data package includes plus and minus symbols which show the direction of the rotation, and two digit numbers which indicate magnitude of the rotation.
One Data Package: Figure 6. Flowchart for Visual C# Fig. 6 shows the flowchart of inverse kinematic based control procedure. Furthermore, Arduino code working procedure is depicted in Fig.7. According to these procedures, data package is generated in Visual C# code and then this package is evaluated in Arduino code. Type of data package is string containing 7 characters. Arduino code divides this string into two parts for servo motor angles. Then, the code converts string variables into integer.

Three DoF Robot Manipulator Setup and Test Results
The setup of our 3 DoF robot manipulator is shown in Figure6. Electro magnet end effector is connected to the moving platform of the manipulator to pick a metal object and place a position in workspace of the manipulator. Electro magnet is controlled by using a button to grasp or release a metal object. Two Arduino microcontrollers are used to command servo and step motors simultaneously. Arduino micro is chosen to control stepper motor whereas Arduino Uno is used to control servo motors and electro magnet. The links lengths of the manipulator are designed to be mm L L 70 , and mm s 20 = . Firstly, we tested our robot manipulator using HMI for circular and linear paths. Our test results are depicted in Figure9. Figure 9 (a),(b) and (c) shows linear path which is drawn by the robot manipulator setup whereas Figure 9 (a1),(b1) and (c1) illustrates linear path which is generated by HMI program. As seen from these figures, our manipulator end effector moves very close to given linear path from HMI. The second path is circular for manipulator test. Similarly, the manipulator movements are shown in Figure 9 (d), (e) and (f), simulation of the movement is shown in (d1), (e1) and (f1). Consequently, our manipulator end effector can follow circular path.
Other test for our manipulator is to pick and place a plastic solid object which is assembled with a metal bolt for grasping. Electro magnet was activated by using button. Nearly a rectangular path is defined by user. The starting position of the solid object is seen in Figure 10 (a). The object was moved up in horizontal direction illustrated in Figure 10 (b). Then, it was translated horizontally as shown in Figure 10 (c). Finally, the object was moved down vertically to ground in Figure 10 (d).
All these four positions and path are depicted on HMI in Figure 10 (f).

Conclusions
3 DoF robot manipulator is designed and manufactured in this study. Inverse Kinematic analysis is analytically solved. Inverse kinematic analysis is verified using some design parameters. Human machine interface program is developed based on inverse kinematic analysis. Our manipulator cost is low due to 3D printing prototyping method in this project (all cost is nearly 120 $). Therefore, the manipulator can be manufactured by engineering students to program similar type of manipulators.
The manipulator will be manufactured from metal for industrial pick-and-place robot in the future. Of course, the cost will be increased due to industrial components. However, our procedure can be applied to industrial tasks using robot manipulator. This industrial robot will be programmed by using same control idea. Training and learning algorithms will be added to working HMI procedure. User will be able to plan and manage motion of the manipulator for a desired industrial task. Accuracy and precision of the manipulator will be measured in its workspace.

Supplements
You can watch working the video of the manipulator which is given in link: https://www.youtube.com/watch?v =hVkBJ0UeEIA