Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

2011 4th International Conference on Mechatronics (ICOM), 17-19 May 2011, Kuala Lumpur, Malaysia

6-DOF PC-BASED ROBOTIC ARM (PC-ROBOARM) WITH EFFICIENT


TRAJECTORY PLANNING AND SPEED CONTROL

Wong Guan Hao, Yap Yee Leck and Lim Chot Hun
Faculty of Engineering and Technologies
Multimedia University
Jalan Ayer Keroh Lama,
75450 Bukit Beruang,
Melaka, Malaysia.
Email: yapyeeleck@homail.com, guanhao_home@msn.com, chlim@mmu.edu.my

Abstract – Over the past decades, design and control a In fact, robotic arm design and development process is rather
robotic arm is not an easy job. Many consideration need to more complicated than applying the robotic arm in practical
be taken care while designing and controlling robotic arm. assembly line or surgical theater. The process of designing
In addition, different robotic arm design may lead to often needs an environment where it is closely related to the
different control solution. Furthermore, it is difficult for the application. This is due to the reason that after building the
robotic arm to follow the assigned geometry path in high robotic arm, it would not be suitably applicable in desired
precision and accuracy manner. This paper introduces the environment. Various parameters such as work space
design and development of 6-DOF (degree of freedom) PC- limitation, degree of freedom as well as movement speed are
difficult to be visualized using a hardcopy technical drawing.
Based Robotic Arm (PC-ROBOARM). The main context of
Therefore, based on the ground of better designing experience,
the study is concerning a 6-DOF robotic arm, which is
PC-Based Robotic Arm (PC-ROBOARM) and SMART ARM
modeled as three-link, with each joint connected with a software are developed to ease the process of designing a 6-
suitable servomotor. The robotic arm design and control Degree of freedom (DOF) robotic arm.
solution is implemented by self developed computer software
which is named as SMART ARM. It is a computer aided In many practical robotic arm design cases, after designers
design and control solution for 6-DOF robotic arm which have obtained the required parameters, the trajectory planning
come with an user friendly graphical user interface (GUI). It of the robotic arm might also become a great challenge in order
allows user to model or design virtual robotic arm before to create a smooth flow to robotic arm task such as pick and
building the real one. Therefore, the user can estimate the place. It is undeniable that the trajectory planning which
optimum size of actual robotic arm at the beginning so as to requires a great deals of kinematic calculation plays an
important role during robotic arm task application. Thus,
minimize the building cost and suite the practical
research has been done to ease the trajectory planning of
environment. Furthermore, once the actual robotic arm has robotic arm through the calculation of direct and inverse
been built, the user can reuse the software to control the kinematics. However, the calculation of direct and inverse
actual robotic arm in an effortless way without wasting time kinematics must be flexible enough to adapt any changes in the
in constructing new control solution. The software also robotic arm design.
provides simulation feature. Through simulation in the GUI,
the software assists greatly in visualizing the robotic arm II. SYSTEM MODELING
trajectory planning. The PC-ROBOARM is actual robotic A. Overview
arm developed to prove the simulation results. The 6-DOF
robotic arm design is based on PUMA (Programmable
Universal Machine for Assembly) jointed-arm model. Both
point-to-point motion and continuous path motion are tested
in simulation and actual arm controls.
Keywords – 6-DOF PC-Based Robotic Arm, design,
control, trajectory planning, simulation.

Figure 1: Design Flow – assistance of SMART ARM


I. INTRODUCTION The implemented design system is making use of DirectX to
Nowadays, robots are getting popular in a wide range of draw the virtual 3D robotic arm. User is allowed to design or
application ranging from manufacturing to medical surgery in customize the dimension of the virtual robotic arm in order to
order to handle tasks that might be difficult, hazardous or model the desired robotic arm. Thus, the user may verify or
boring to human beings. A wide range of research in robotic analyze the workspace limitation of the virtual robotic arm
arm designing has been done over the past decades. before building the actual robotic arm. This may lead the user
in designing an optimum size of robotic arm in practical

978-1-61284-437-4/11/$26.00 ©2011 IEEE


environment. Once the user satisfied with the virtual robotic B. Methodology
arm design, the user can start to build the actual one. After Calculation of the position and orientation of the end effectors
building the actual robotic arm, the user can customize the with given joint angles is commonly known as Forward
USART communication protocol between the computer
Kinematics Analysis [1]. The most popular way to implement
software and the actual robotic arm hardware driver. In this
Forward Kinematics also known as Direct Kinematics is
paper, PC-ROBOARM is the actual robotic arm that has been
built through the use of SMART ARM software. through Denavit-Hartenberg representation (D-H
representation). First of all, construct the Link Coordinates
also known as Free Body Diagram of the robotic arm
structure. Subsequently, setup the Kinematics Parameter Table
by referring the link coordinates design. Next, apply the
Generic Link-Coordinate Transformation Matrix from Base to
Tool Center Point (TCP). Finally, the TCP coordinates can be
found from the Matrix.

Figure 2: SMART ARM design feature

Figure 5: Link coordinates of 6-DOF robotic arm


One of the usable means of inverse kinematics is through
Geometry and Trigonometry approach. As shown in Figure 6,
all the joint parameters can be found through the use of
trigonometry properties.
Figure 3: Control Flow – assistance of SMART ARM
The implemented control system is making use of USART to
communicate with the robotic arm hardware driver. Through
the use of computer control, all the tedious calculation and
decision making can be done efficiently and effectively by the
software. Furthermore, the robotic arm control solution will
always refer to the virtual robotic arm design. Besides that, the
user can deal with the software GUI designed so as to control
the robotic arm in a much user-friendly way.
In the software control implementation, it mainly has two ways
to control the robotic arm movement through the method of
Direct Kinematics and Inverse Kinematics. Both methods are
well designed into a Dynamic Link Library (DLL) for
flexibility in Windows API usage. Hence, user can select Figure 6: This figure shows the outline of the robotic arm
which approach to be used in controlling the robotic arm structure so as to analyze the mathematical model.
motion. In fact, Inverse Kinematics is more preferable by most
C. Software GUI
of the users due to simplicity.
Basically, the SMART ARM has several core features. As
mentioned before, SMART ARM has the capabilities of
designing and controlling. Apart from them, it also provides a
platform for advanced user to do point-to-point programming
in order to manipulate the robotic arm to carry out specific job
routine or perform a specific sequence of robotic arm actions.
The programming command is self develop, thus it is unique
than other programming language. While learning new
programming command, programmers often made syntax
mistakes at the beginning. Hence, real-time syntax inspector is
designed into the SMART ARM so as to check the user
Figure 4: SMART ARM control feature program from time to time. Any mistakes found will be noticed
immediately. Therefore, all the syntax mistakes done by the
user can be corrected on the spot. After constructing the point-
to-point program, the user is given the choice to encrypt the
content of the program created according to their preference
through the method of AES.
Before running the program file on the actual robotic arm, the
user may use the simulation tool to simulate the program file in
the virtual environment in order to estimate the actual robotic
arm working environment from the virtual robotic arm working
environment. Hence, it may prevent the actual robotic arm get
damaged from any unexpected circumstances.
Besides programming, SMART ARM is capable to learn the
teaching sequence taught by user. Therefore, user can teach the
robotic arm to learn sequential of movements in an effortless
manner.

Figure 9: 3D virtual robotic arm with brief explanation of the


robotic arm structure
Apart from that, industrial manipulator tasks are characterized
by repetitive processes (assembling and moving objects,
painting, welding, etc), that justify the off-line trajectory
planning [3]. The optimal travelling time and the minimum
mechanical energy of the actuators are considered together to
build a multi-objective function and the results depend on the
associated weighting factors [4]. Thus, smart and efficient
trajectory planning is being well designed into the system. The
robotic arm work space limitation will be taken care by the
Figure 7: SMART ARM programming and teaching sequence
system. Hence, any trajectory that exceeds the robotic arm
feature
work space limitation will not be allowed by the system so as
D. Software Feature to avoid collision. Besides that, the system will automatically
Since the robotic arm is working in a 3D workspace, a plan a linear path between two user-defined points in 3D
simple 3D simulation robotic arm is being created through the Cartesian space. Figure 5 shows the idea of modeling a
medium of DirectX and attached into the software GUI in order straight path between two points. As a result, the user should
to provide better visualization for the user to estimate the actual be able to plan the path in an efficient way.
robotic arm working situation from the simulation result [2].
Moreover, the view of the 3D image can be rotated by clicking
and dragging the mouse on the 3D image. This may eliminate
any blind spot take place during simulation or execution.
Furthermore, while any of the virtual robotic arm joints are
rotating, they will turn into green color. This would greatly
help the user in differentiating which is rotating joint and
which is non-rotating joint while in debugging stage.

Figure 10: As shown in the figure, assume point A and point B


are user-defined points. The system will automatically plan a
straight linear path between these two points by defining a
number of points along this straight linear path.
In order to keep users programs personal, a good encryption
system is desirable. The most popular cipher algorithm is the
Advanced Encryption Standard (AES) announced by the U.S.
Figure 8: Rotating joint highlights American National Institute of Standards and Technology
(NIST) in late 2000[5]. Hence, AES is being chosen to be
integrated into the SMART ARM for the purpose of protecting
the right of the program owner. Consequently, the content of
the program cannot be revealed by anyone except the program Torque
owner. Joint Motor Type
(Kg.cm)
III. SYSTEM ARCHITECTURE Base C55R (metal gear) 11
A . MECHANICAL STRUCURE
Shoulder D9150S (metal gear) 16
Referring to PUMA jointed arm model layout [6], the structural
design of 6DOF robotic arm design is drafted in technical Elbow C55R (metal gear) 11
drawing format which is commonly known as Computer Aided
Design (CAD). The specific CAD file is useful in order to Wrist-Pitch C40 (plastic gear) 7
fabricate the robotic arm using Computer Numerical Control
Wrist-Roll C40 (plastic gear) 7
(CNC) process such as milling, drilling or rapid prototyping.
Gripper C90S (plastic gear) 1.6
Table 1: Specification of servo motors
3 B . ELECTRONICS COMPONENTS
4
5 In terms of electronic control system, SMART ARM is
2
designed to be linked with PIC18F452 and PIC18F458 micro-
4 3 controllers to perform desired robotic arm movements. The
General Block diagram of control system is shown below.
5 1
2
6 6 COMPUTER
(SMART ARM)
1

Figure 11: CAD drawing of robotic arm design.


According to the Figure 11 shown above, the 6DOF robotic
arm consists of:
RS 232
1. Base
2. Shoulder
3. Elbow
MASTER COMPONENT
4. Wrist - Pitch
(PIC18F452)
5. Wrist - Roll
6. Gripper
Figure 12: System communication modules
Based on the Figure 12 shown above, PIC18F452 is connected
In practice, each joint is fixed using servo with unique torque with PC through a commonly used serial communication
specification. The characteristic of torque required is assigned
standard RS232. A specific communication protocol is
according to the work load of the joint. Considering servo
designed to arrange the instructions data into the special
motors which are ready made by manufacturer, greater torque
servo motors are generally heavier and bigger. Thus, a function registers assigned in PIC18F452. Since PIC18F452 is
balanced structural weight distribution is crucial in order to linked directly with PC using serial port, it is named as the
reduce vibration of end-effector. Table 1 shows the optimum master component. Besides communication with PC, master
torque distribution of robotic arm used in PC-ROBOARM. component is able to display information using a 2*16 LCD
Undesired vibration and under power problems are reduced by display. Moreover, the analog to digital converter (ADC)
using the correct torque ratio. module of the micro-controller will be receiving analog input
from 6 potentiometers. The potentiometers are useful as the
rotational position feedback of robotic arm’s joints. The other
2 basic peripherals of master component are basic input-output
(BIO) and programmable memory (PRO-M) for further
expansion of robotic arm application. Figure 8 shows the
connection of master component with its peripherals.
1ms after the previous packet of data was sent. The idea has
been shown in Figure 9.
LCD ADC COMPUTER
MASTER COMPONENT (SMART ARM)
(PIC18F452)
SERVO POSITION POTENTIOMETER
READING
PRO-M BIO
MASTER COMPONENT
Figure 13: Connection of Master Component with Peripherals (PIC18F452)

The slave component, which has been shown in Figure 12, is Figure 14: Information transferring between PC and Master
responsible to interpret positional data of robotic arm into Component
servo motors PWM signals. As referring to Table 2 shown
below, the rotational range has 31 to 32 steps per degree. The slave component, on the other hand, is distributing the
Practically, the resolutions of joints are sufficient to be applied string of instructions which are obtained from master
in general arm designs. component into 6 channels of servo motors. Each channel of
data consists of 2Bytes of data ranging from 0xE000 to
0xFFFF. The data are chopped into small packets before there
are transmitted into slave component. Each packet of data
Motor Range PWM Steps/ contains 4 bits and they are sent through 4-lined wires of data
Usage (degree) Stepping degree bus. The communication module between master component
and slave component is programmed according to serial
parallel interface (SPI).
Base +/-90 5632 31
MASTER COMPONENT
Shoulder +/-80 5120 32 (PIC18F452)

Elbow +/90 5632 31 4 bits data bus transmitting 6*2 Bytes

SLAVE COMPONENT
Wrist-
Pitch
+/-90 5632 31 (PIC18F458)

16bits data* 6 servo channel


Wrist-
+/-90 5632 31
Roll
SERVO PWM SIGNAL
Gripper +/-20 32 0.8
(16 bits)

Figure 15: Serial Parallel Interface (SPI) communication


Table 2: Capability of every joint in terms of resolution module between Master Component and Slave Component
C . FIRMWARE PROGRAMMING
Master and slave components are coupled systematically to
Instructions of PC programs are converted into a string in provide real time control of servo motors using PC software.
order to be translated into machine language [7]. Therefore, A complete instruction interpreter is successfully created
the machine dependent conversion of instruction is developed within micro-controllers that not only enable 3D visualization
to link PC-ROBOARM and SMART ARM. SMART ARM of robotic arm simulation, but also makes SMART ARM
interface has the conversion algorithm to form a string of software portable between different types of robotic arm
instruction and send it into the IC (MAX232) using RS232 model [8]. Moreover, practical robotic arm is also able to
format. Servo positional data are transmitted from PC into synchronize with simulation motion in order to help designers
PIC, while potentiometer position feedback values are to visualize the program flow of the designed arm in specific
transmitted from PIC back into PC. The active feedback loop trajectory plan and also well-defined speed.
is designed to sustain 1ms refresh rate such that a new packet
of data will be transmitted and received through serial port in
IV. RESULTS Moreover, through the use of SMART ARM programming
feature, the simulation virtual robotic arm can be programmed
From the 3D virtual robotic arm simulation, the robotic arm is successfully to traverse from one point to another point in a
able to reach specified coordinates through the means of sequential way. Furthermore, the simulation virtual robotic
Direct Kinematics and Inverse Kinematics. Therefore, both arm was able to traverse from one point to another point
methods were reciprocal to each other as shown in Figure 16. linearly and smoothly with smart and efficient trajectory
planning. A simple result has been shown in Figure 17.

RECIPROCAL

Figure 17: Result of smart and efficient trajectory planning

By getting the correct and accurate simulation result from PC


calculation, the actual robotic arm was able to move to any
coordinates point which specified by the user through the
software GUI with acceptable margin of error. The speed of
the actual robotic arm can be changed by selecting different
speed options in software GUI. Figure 18 shown below is the
robotic arm which is on the left compared with simulation
model which is drawn on the right. It is homed at the identical
position in both modeling and simulation condition.
SIMULATION

Figure 18: (Left) Robotic Arm Model; (Right) Simulation


Model

Through the use of point-to-point programming in SMART


Figure 16: 3D visualization of Direct and Inverse Kinematics
ARM, the actual robotic arm was capable to traverse from one
point to another point which is similar to the simulation result.
Practically, the movement of actual robotic arm and V. CONCLUSION
simulation robotic arm are changing concurrently. This paper proposed the idea of using robotic arm designing
software (SMART ARM) to design a virtual robotic arm and
control an actual robotic arm. Besides that, user is able to
visualize a practical environment application through user
friendly simulation. Complicated direct and inverse kinematics
calculations of trajectory planning are performed in the
software in order to assist designers to obtain robotic arm
characteristics parameters. Besides designing and controlling,
SMART ARM also provides a new platform for designers to
program the designed robotic arm. The actual program flow
can also be visualized in simulation as well as in real robotic
arm model [9]. Through this software, a designer does not
only design a robotic arm of desired scale, but also capable of
simulating the robotic arm. The hardware model provides
alternatives to test the program written. In future development,
SMART ARM can be expanded to manipulate multiple
robotic arms with similar 3D graphical visualization that helps
in simulating the arms’ trajectory planning and speed control
[10].
ACKNOWLEDGEMENT
Figure 19: Pick (top) and place (bottom) robotic arm motion We would like to thanks Multimedia University (MMU),
Faculty of Engineering (FET) robotics lab instructors in
Figure 19 shows the actual robotic arm which is able to guiding us to proceed with this project smoothly.
perform simple application in practical environment by
constructing a point-to-point program for that application. For REFERENCES
example, pick and place application. [1] Baki Koyuncu, and Mehmet Güzel, “Software Development for the
Kinematic Analysis of a Lynx 6 Robot Arm”. World Academy of
Science, Engineering and Technology, 2007.
The syntax errors or mistakes can be found easily by the
[2] Z.W. Luo, M. Onishi, T.Odashima, K. Oyama, F. Asano, S. Hosoe,
SMART ARM in real-time. Thus, it makes user work more “Integration of PC-based 3D Immersion Technology for Bio-mimetic
efficient and effective. A simple result has been shown in Study of Human Interative Robotics”. International Conference on
Figure 20. Robotics, Intelligent Systems and Signal Processing Changsha, China,
October 2003.
[3] Saramago S.F.P. and Steffen JR V. Optimization of the trajectory
planning of robot manipulators taking into account the dynamics of the
system. Mechanical Machinery Theory, 33(7): 883–894, 1998.
[4] G. Rosati, G. Volpe, A. Biondi, G. Boschetti and A. Rossi. “Trajectory
planning of a two-link rehabilitation robot arm”. 12th IFToMM World
Congress, Besançon, June 18-21, 2007
[5] Raphael Weber and Achim Rettberg, “Implementation of the AES
algorithm for a reconfigurable, bit serial, fully pipelined architecture”.
Figure 20: Errors that caught by SMART ARM in real time. ARC '09 Proceedings of the 5th International Workshop on
Reconfigurable Computing: Architectures, Tools & Applications, 2009.
Figure 21 shown below is AES feature which is able to protect [6] Sergio Alexander Salinas, Eliana Aguilar Larrarte, Andr′es Vivas
the program’s owner by using username and password to Alb′an, “Operational Space Control for a Puma Robot”. Cauca
encrypt and decrypt the content of the program written. University, 2007.
[7] Paolo Fiorini, Homayoun Seraji, Mark K. Long, “A PC-Based
Configuration Controller for Dexterous 7-DOF Arms”. IEEE Robotics &
Automation, 1997.
[8] W.I. Clement, Member, IEEE, and K.A. Knowles, “An Instructional
Robotics and Machine Vision Laboratory”. IEEE Transactions on
Education, VOL. 37, NO. 1, February 1994.
[9] E.Pop, M. Leba, V.C. Sirb, A.G. Badea, “Modeling, Simulation and
Control for and Under-ground Support as Two Robotic Arms”.
University of Petrosani, 2008.
[10] Eric Paljug, Member, IEEE, and Xiaoping Yun, Member, IEEE,
Figure 21: Invalid and valid AES decryption outcome “Experimantal Study of Two Robot Arms Manipulating Large Objects”.
IEEE Transactions on Control System Technology, VOL. 3, NO. 2,
JUNE 1995.

You might also like