Interface Control System for 3-DOF Parallel Kinematic Manipulator 1 Aung Myat San, 2Wai Phyo Ei 1 ME Student of MTU, Mandalay, Myanmar,agmyatsanmc@gmail.com 2 Lecturer, MCE Dept, MTU, Mandalay, Myanmar Abstract – A 3-DOF parallel kinematic manipulator linear actuator. There are three active prismatic joints (PKM) is designed using prismatic (P), universal and six passive universal joints in this manipulator. (U) and universal (U) joints to get pure transla- Shafts of the lead screws are coupled with motors’ tional motion and machining operation at high shafts and need to control motors to get prismatic accuracy. This paper presents an interface control joints moved. system between a graphical user interface (GUI) on PC and a Base Control Station (BCS) of the manipulator. The GUI is built in MATLAB to perform the calculation of Inverse Kinematics according to three data inputs, send data via RS232 serial communication to the BCS, and command the manipulator. The BCS controls three motor drivers and drives three stepper motors according the data from PC. The aim is to be able to command and control the manipulator by PC using the MATLAB GUI. Figure 1. Model of the 3-PUU parallel manipulator Index Terms – 3-PUU; MATLAB GUI; Inverse Kinematics; RS232 serial communication. This paper discusses the interface control system of 3PUU parallel kinematic manipulator. A personal computer is used as a control device to get a graphic I. INTRODUCTION A parallel manipulator can be defined as a closed-loop mechanism composed of an end-effector having n degrees of freedom and a fixed base, linked together by at least two independent kinematic chains [1]. The notable characteristics of the parallel mechanism are high accuracy, high load capacity, high rigidity, and quickness. A major drawback of the parallel robot is reduced workspace. The manipulator was developed to get the pure translational motion with 3PUU mechanical architecture. Figure 1 shows a CAD model of a 3-PUU parallel manipulator. The manipulator consists of a fixed triangular base, a triangular moving platform and three legs with an identical kinematical chain. Each leg connects the moving platform to the fixed base by a prismatic (P) joint followed by two universal (U) joints. The prismatic joint is driven by a lead screw interface. The control program was developed in MATLAB so as to have a graphical user interface. The GUI gets the xyz coordinate of a desired location of the manipulator and shows the moved position of the manipulator calculating the inverse kinematics of the desired coordinate and checking constraint errors. The required revolution data are got transforming the inverse kinematic data from the absolute coordinate system to the incremental coordinate system. The data are sent through RS232 serial interface to the Base Control Station of the manipulator. The manipulator is controlled via the Base Control Station with three motor controllers which drive three motor drivers. The three steppers are driven by the three motor drivers. The aim is to be able to command and control the 3-DOF parallel kinematic manipulator by PC having the GUI application. movement is simulated and the required data are II. METHODOLOGY In this system, a personal computer commands and transformed to the incremental mode. controls the manipulator through RS232 serial interface. Base Control Station gets input data from PC, and then control three stepper motors. These three stepper motors’ shafts are coupled with three lead screw shafts so as to drive three active prismatic joints. Interface is developed by using MATLAB GUI and sends data to Base Control Station. PIC Basic Pro programming language is used for programming PICs. III. INTERFACE CONTROL SYSTEM There are two main parts in the interface control system: GUI and Base Control Station. To send the control data to the Base Control Station, a Figure 3. Graphical User Interface (GUI) GUI program was developed using MATLAB on PC. As shown in Figure 3, the GUI has four panes: User Base Control Station receives data from the GUI Input, Inverse Kinematic, Incremental Output and through RS232 serial communication and control Simulation Window. three unipolar steppers. Microcontrollers in Base Con- There are also other implementations about error in trol Station are programmed using PIC Basic Pro pro- the control system of the GUI as follows: gramming language. Block diagram of the interface Beyond limited maximum values of X, Y, and Z control system is shown in Figure 2. coordinate data as shown in Figure 5. Beyond limited physical constraints of actuator’s displacement as shown in Figure 6. Beyond limited physical constraints of universal Motor Controller_A USB-DB9 Connector MAX 232 Motor Driver_A Stepper A joint’s cone angle as shown in Figure 7. Firstly, the GUI was developed by using MATLAB. Interface Controller Motor Controller_B Motor Driver_B Stepper B Motor Controller_C Motor Driver_C Stepper C User has to input specified xyz coordinate in the User Input frame. In the system, the maximum limited val- Figure 2. Block diagram of the interface control system ues of X, Y and Z are 200, 200 and 800 respectively. After getting the values of X, Y and Z, the data are checked if beyond maximum limits. And then, the inverse kinematics is calculated according to the co- A. IMPLEMENTATION OF GRAPHICAL USER INTERFACE ordinate value. It can be seen in the Inverse Kinematics frame. After showing the moved position of the The GUI for the control of the robot is programmed manipulator, other constraints checks are done. by using MATLAB R2013a. It allows receiving xyz The inverse kinematic process may result in complex data input from the keyboard and computes inverse numbers. In the real world, there are no imaginary kinematics of the input. And then, the manipulator’s parts but real ones. Therefore, only real values have to be taken for the control data. The data has to be transformed from the absolute coordinate system to the incremental coordinate system. It can be seen in Incremental Output frame. 3. Check if the data is beyond limited maximum values of X, Y and Z coordinate data. 4. Inverse Kinematic Process: Calculate the inverse kinematic values of the data inputs. 5. Defining Process: Exclude complex values, take And then, the signs of the real values are defined to only real values and define directions according to get the required directions. According to the sign of signs (+/-). the value, revolution direction is assigned to as CCW for minus sign (-) and CW for plus sign (+). Finally, it is the output data including three revolutions and three directions which is sent to BCS through RS232 serial interface. 6. Check if the inverse kinematic data is beyond limited physical constraints of actuator’s displacement. 7. Check if the data is beyond limited physical constraints of cone angle. 8. Incremental Movement Process: Transformation from the absolute coordinate system to the incre- Start mental coordinate system: incremental_value = old_value – new_value . Initialization Process Get Data Inputs (X, Y and Z) 9. Transmit Data (6 data outputs): Send data output using serial transmission. It includes three revolutions (A, B, C) and each Dir. No Limited Max value Error? Yes Inverse Kinematic Analysis Defining Process No Actuators’ Limited Distance Error? Yes No Limited Cone Angle Error? Yes Incremental Movement Process Transmit Data (6 data outputs) End Figure 4. Program flow chart of MATLAB GUI Program Flow Chart of MATLAB GUI is shown in Figure 4. It consists of the following steps: 1. Initialization Process: Start GUI and set variables to zero. 2. Get Data Inputs (X, Y and Z): Receive data of xyz coordinate. Figure 5. Error of Beyond Limited Maximum Value of X, Y and Z φ21i = angular displacement of universal joint φ32i = angular displacement of universal joint δ = initial angle of Z2 when manipulator is at original position β = initial angle of Z3 when manipulator is at original position l0 = center of base and actuator l2 = link length between two universal joints r = radius of Movable platform ν = twist angle of movable platform h = l2 cosδ cosβ α = (j-1) 120 , angle between limbs Figure 6. Error of Beyond Limited Physical Con- j = 1, 2, 3 straint of Actuator’s Displacement i = A, B, C B. Implementation of Base Control Station There are two main parts in Base Control Station: Interface Controller and Motor Controller. Interface Controller is only developed to get serial data via PC and send serial data to Motor Controllers. Motor Controllers perform receiving data from Interface Controller and driving geared unipolar stepper motors in full sequence through ULN2003s. PIC 16F628 is used to implement the control system cost-effectively and efficiently. In the system, there are four controllers: one interface controller and three motor controllers. Four PIC 16F628As are used as controllers and as drivers, three ULN2003s are used. Steppers are unipolar and geared to 1:24, and are driven Figure 7. Error of Beyond Limited Physical Constraint of Cone Angle sequence. Rotation Direction (CW/CCW) of a unipolar stepper can be controlled by PIC 16F628A has a hardware USART mode. It is The inverse kinematic solutions of the PKM are ob- better to be used in connecting with PC or PIC than software USART mode. PIC 16F628A has two pins tained [2] as that are used specifically for transferring and receiv- A A A d10 =h-(l2cos(φ 21 +δ)cos(φ32 +β)-ZOP ) d =h-(l2cos(φ +δ)cos(φ +β)-Z ) B 21 B 32 P O d =h-(l2cos(φ +δ)cos(φ +β)-Z ) C 10 full an open collector ULN2003. A.1 Inverse Kinematics B 10 in C 21 C 32 P O where, d10i = displacement of linear actuators ing data serially. These pins are called TX and RX (1) and part of Port B (1 and 2 pins). These pins are TTL compatible and therefore require a line driver to make them RS232 compactible. One such converter is MAX232 that converts RS232 voltage levels [5]. Figure 6 shows circuit diagram of Base Control Sta- direction, and serial communication with Base Con- tion. trol Station. Using Micro Code Studio, the software programs are +5V written in PIC Basic Pro language for Microcontrol1uF VCC C1+ GND 1uF V+ T1 OUT C1R1 IN C2+ 1uF R1 OUT C2T1 IN VT2 OUT T2 IN 1uF R3 IN R2 OUT +5V Run RX Max232 SA 5 9 1 18 A 2 17 3 16 4 15 5 16F628A 14 6 13 7 12 8 11 9 10 lers of Base Control Station and then compiled to hex 4× 480Ω 1 16 2 15 3 14 4 13 5 ULN2003 12 6 11 7 10 8 9 Unipolar Stepper file by PBP247 compiler. The compiled HEX program is then burnt on microcontroller chip by using +5V GTP USB Lite programmer. Micro Code Studio and 1 6 RX TX 1 18 2 17 3 16 4 15 5 16F628A 14 6 13 7 12 8 11 9 10 +5V RX SB 1 18 B 2 17 3 16 4 15 16F628A 5 14 6 13 7 12 8 11 9 10 4× 480Ω 1 16 2 15 3 14 4 13 5 ULN2003 12 6 11 7 10 8 9 Unipolar Stepper Lite programmer is also open-sourced with Win 800 +5V firmware. 480Ω 10KΩ +5V RX +5V SC 1 18 C 2 17 3 16 4 15 16F628A 5 14 6 13 7 12 8 11 9 10 4× 480Ω 1 16 2 15 3 14 4 13 5 ULN2003 12 6 11 7 10 8 9 PBP 247 compiler are free software, and GTP USB Unipolar Stepper +5V V. RESULTS AND OBSERVATIONS The results and observations of this thesis would come mainly from the way in which the manipulator Figure 6. Circuit Diagram of Base Control Station behaves when it is controlled via the GUI application. The GUI was developed to simulate the movement of B.1. COMPONENTS OF THE CONTROL CIRCUIT 1. PIC 16F628As 2. ULN2003s 3. Geared unipolar Steppers 4. Max232 5. USB to DB9 serial connector 6. Resisters: 10k and 480 ohms 7. Capacitors: 2200µF 50V, 1000µF 16V and 1µF the PKM. It shows how the PKM moves from the origin position to the specified position according to the obtained xyz coordinate input. And then, it communicates with Base Control Station. All sent to Base Control Station from PC are real values and direction signs (+/-) concerned with the values. Interface Controller receives the data, computes the maximum value among the three values and resends the data including the maximum value to Mo- 8. Diodes: IN4148, IN4007 and IN4001 9. LEDs tor Controllers. After transmitting the three values, their directions and the maximum value, Motor Controllers analyze IV. DEVELOPMENT OF SOFTWARE The system consists of a PC running Windows, which use a MATLAB based software program to interact with the Base Control Station via the serial port. In the software system, there are two kinds of software: for user friendly GUI and for microcontrollers of Base Control Station. User friendly GUI was developed by using MATLAB GUIDE. Some codes are modified in the GUI such as driving inverse kinematics of the specified xyz coordinate, defining real values of revolutions and each and receive their required data, and then take place controlling ULN 2003s to drive steppers. In which, there is a problem related to the delay time between the steps of steppers. The calculated delay time may be a value of floating point. If so, it is happened that three motors can’t stop simultaneously. The problem can’t be solved still. In the way of using old geared unipolar steppers, some malfunctions of the motors are occurred such as gear slip and different current according to different coil resistances. Motors are not all the same and motor speed is certainly slow due to gearing but better torque can be obtained. Therefore, brand-new, goodtorque and same steppers are required for a stable, VII. REFERENCES [1] Bruno Siciliano, and Oussama Khatib (Eds.), “Springer Handbook of Robotics”. better system. [2] Aung Myo Win, “Inverse Kinematic Analysis of VI. CONCLUSIONS In this project, serial communications are achieved a 3-DOF Parallel Kinematic Manipulator”. [3] Mandeep Singh, Rekha and Balwinder Singh, both between PC and PIC, and between PIC and PIC. “Microcontroller Base Control Station can communicate with PC and in wise/Anticlockwise Stepper Motor Controller which, controllers can interconnected with each other. Using PC Keyboard Via Com Port”. Based Clock- User-friendly GUI was developed by using MATLAB. [4] Chaiyaporn Silawatchananai, Matthew N. Dailey, This GUI performs not only simulation of the PKM Asian Institute of Technology, “Stepper Motor but also interact with Base Control Station through Tutorial”. RS232 serial interface. Motor Controllers can drive three motors synchronously with variable delay time of steps. Therefore, the motors can be controlled via PC and then the manipulator can be. The interface control system is successfully developed for controlling 3-DOF parallel kinematic manipulator. Finally, the 3-DOF robot will be constructed and its performance will be tested. [5] MikroElectronika, “Max232 Interface Board Manual”. [6] Eng. Dalia A. Awad, Embedded Systems Lab7, Stepper Motor Application.