Anda di halaman 1dari 6

2017 International Conference on Intelligent Computing,Instrumentation and Control Technologies (ICICICT)

Teaching and Learning Robotic Arm Model

Kadirimangalam Jahnavi Sivraj P.


Department of Electrical and Electronics Engineering, Department of Electrical and Electronics Engineering,
Amrita School of Engineering, Coimbatore, Amrita School of Engineering, Coimbatore,
Amrita Vishwa Vidyapeetham, Amrita University Amrita Vishwa Vidyapeetham, Amrita University
India India
kjahnavi94@gmail.com p_sivraj@cb.amrita.edu

Abstract— In this paper, the design and development of a parts or tools for performing various operations in different
robotic arm controller that enables use of a robotic arms as kinds of real world applications [4]. Due to mechanical
practical laboratory model for teaching and learning of robot structure and automatic control, a robot arm can carry out a
arm algorithms is presented. The proposed system consists of repetitive task with great precision and accuracy [3]. Robot
OWI robotic arm with 5-Degrees Of Freedom (DOF) with DC
arm is widely used in many applications like material
motors for each joint movement, Arduino based control unit for
handling, welding, assembling, dispensing, thermal spraying,
control of arm motion and a MATLAB based Graphical User
Interface (GUI) with kinematics algorithm at the backend
painting and drilling [5].
providing user friendly environment for controlling the end- For positioning the arm in robot work space based on the links
effector of robot arm remotely. The robotic arm is equipped with arrangement and joints movement five basic robot
accelerometers to provide feedback to the microcontroller. The configurations are available. Cartesian, cylindrical, spherical,
kinematics algorithm is implemented in MATLAB. The SCARA and articulated [1]. The most preferred robot arm for
MATLAB based GUI, Arduino controller and accelerometers pick and place application has articulated configuration. This
together with the robotic arm provide the practical laboratory is the best configuration that simulates a human arm and a
model of teaching learning robotic arm platform. This robot arm
manipulator with this type of arm is often referred as an
also provides stand alone operation for pick and place
anthropomorphic manipulator [6]. The work space of this
application with the use of Arduino controller and
accelerometers.
configuration is spherical in shape. This anthropomorphic
Keywords—Kinematics; Robotic arm; Arduino; structure is the most dexterous one, because all the joints are
Accelerometers; revolute and widely used in industrial applications [7]. The
existing robotic arm models are used for achieving specific
I. INTRODUCTION tasks mainly in industries. The fact that cost of such robot
arms is high makes robotic algorithm studies with hardware
Automation and robotics are very closely related as
models difficult [8]. It is necessary to have robot arm models
automation deals with the control of mechanical, electronic,
that provides user friendly environment for students, which
and computer-based systems [1]. Robotics has got wide scope
creates interest and helps in learning different application
in industrial automation as robotic manipulators and automatic
specific algorithms.
guided vehicles improve efficiency of industrial automation. A
The work focuses on a design and development of a robotic
robotic arm is a widely used efficient and preferred electro-
arm controller for a 5 DOF articulated robot arm, for pick and
mechanical machine for many applications in most of the
place application that helps to use the robotic arm as a
industrial and dangerous areas [2]. Robotic arms, performing
practical laboratory model for teaching and learning purpose
functions similar to human arm with great accuracy, are
and also as an automated model on need basis. The laboratory
mainly used in industries for pick and place and skilled
model operation of the robotic arm is achieved by controlling
applications. It provides improved, more efficient and speedy
the robotic arm movement remotely through a MATLAB
operation, leading to higher production rates than with human
based GUI with kinematics algorithm and accelerometer
labor [3].
sensor based feedback system doing the motion control. For
A robot arm is an electromechanical device consisting of
the standalone operation of the robotic arm the robot arm
joints and links, driven by motors or other actuators. It is
movement and operation are controlled by algorithms ported
guided by sensors and controlled through a software program
on to an Arduino controller, and DC motors equipped at each
hosted in a microcontroller. It helps to manipulate and handle

978-1-5090-6106-8/17/$31.00 ©2017 IEEE 1570


2017 International Conference on Intelligent Computing,Instrumentation and Control Technologies (ICICICT)

joint provides the movement of the robot arm and is equipped with encoder sensor to ensure precise control.
accelerometer mounted at each joint provides feedback to the Inverse kinematics calculations are done using LabVIEW and
microcontroller. This research work helps in easy joint angles are communicated serially to a microcontroller
understanding, teaching and learning of many robotic arm that actuates the motors to achieve the desired position of
algorithms like kinematics, trajectory planning, dynamic robot manipulator. Wen-Bo Li et al. [10] developed a 4 DOF
motion control etc. and provides the practical idea about Selective Compliance Assembly Robot Arm (SCARA) robot
design and development of robot arm. with 3 rotary joints and 1 prismatic joint to perform pick and
This paper has been organized as follows section 1 describes place operations of the circular and rectangular work pieces.
the introduction and objective of the work. Section 2 deals Kinematics analysis is done using MATLAB and work pieces
with existing work done in this related area. Section 3 are calibrated by the camera using OpenCV.
provides information regarding system overview of proposed Wen-Bo Li et al. [8] designed robot arm for teaching the
system. Section 4 discuss about kinematics solution of a VHDL language. It helps in teaching the design of finite state
robotic arm. Section 5 deals with simulation results and machines in VHDL. This robotic arm is designed by adding a
section 6 explains hardware implementation using OWI control circuit compatible with FPGA system with the help of
robotic arm. Section 7 states the conclusions and the potentiometer based sensors to the OWI robotic arm.
references considered in the proposed system. Escandon et al. [6] presents software for monitoring and
controlling the articulated arms using MATLAB simulink. It
II. RELATED WORK
helps in understanding the basics of industrial robotics and
A Robot arm is a type of mechanical arm, usually acts as educational tool. Fernando Gonzalez et al. [11]
programmable, with similar functions to a human arm and it is introduced a software based tool for implementing the 2 link
mainly used in different applications such as industrial, robot arm. The software provides the simulation of motion of
military and medical areas [2]. a 2 link robot arm. This tool helps in introduction of robotics
Wai Mar Myint and Theingi [1] describe design of jointed courses.
robot arm to control the end-effector position using kinematic Literature review of different robot arm models shows the
modeling. The robot arm was designed for pick and place significance of design and development of arm that provides
application and kinematic control of the jointed arm is done both standalone operations for pick and place application and
using MATLAB software. PIC micro-controller and Max-232 helps as practical laboratory model for teaching and learning
are used to drive the motors of the arm and for receiving the purpose.
data serially from computer. C. Chandra Mouli et al. [5]
discussed Dexter ER2 5 DOF robot arm control using
A. Kinematics Algorithm
LabVIEW and ARM processor. In LabVIEW, analytical
method was used to design inverse kinematic model for the The kinematics solution consists of both forward kinematics
robotic arm control. Joint angles are calculated and transmitted and inverse kinematics. Forward kinematics is defined as
to the ARM microcontroller through LabVIEW using parallel transformation from joint space to Cartesian space which
communication. The performance of the robotic arm is provides robotic arm position information where as inverse
ensured by picking and placing a Hi-Watt 9V battery. kinematics is transformation from Cartesian space to joint
Awelewa et al. [2] explains the development of a 3 DOF space [1].
revolute robot manipulator for pick and place operations using Finding the position and orientation of robot arm end-effector
kinematics equations. Light Dependent Resistors (LDR) is with the joint variables is known as forward kinematics. It is a
used for identifying the payload. Arduino controller based mathematical approach to find the homogeneous
circuit is designed to implement the algorithms and servo transformation matrix in terms of joint-link parameters they
motors are used to control the individual joint of the robot are ‫ڧ‬i- joint angle, di- joint distance, ai- link length, Įi- link
manipulator. Agnihotri et al. [9] describes modelling and twist at link (i) as in equation (1). The forward kinematics
control of 5 DOF robot arm using DH parameters. It aims to solution for a robot arm is provided by calculating
model the forward and inverse kinematics algorithms of a homogeneous transformation matrix, which contains the
robotic arm for pick and place application. position and orientation information of end-effector. The
Ashraf Elfasakhany et al. [7] discussed the design and homogeneous transformation matrix of frame (i-1) to frame (i)
implementation of 4 DOF robotic arm that can perform simple consists of rotation about zi-1 axis by angle ‫ڧ‬i, translation
tasks like light material handling. Servomotors are placed at along zi-1 axis by distance di, translation by distance Įi along
each joint of the arm for desired movement; each servomotor xi-axis and rotation about xi-axis by angle Įi as shown below.

978-1-5090-6106-8/17/$31.00 ©2017 IEEE 1571


2017 International Conference on Intelligent Computing,Instrumentation and Control Technologies (ICICICT)

rotation [13]. Each joint is equipped with a DC motor which


Ti = Tz (θi ) Tz ( di ) Tx ( ai ) Tx (αi )
i−1 (1) helps in desired movement of the arm. The microcontroller
§ cosθi −sinθi 0 0·§1
0 0 0 ·§1 0 0 ai ·§1 0 0 0· output through a driver circuit will drive the motors to achieve
¨ ¸¨ ¸¨ ¸¨ ¸ (2)
sinθi cosθi 0 0¸¨ 0
1 0 0 ¸¨0 1 0 0 ¸¨0 cosαi −sinαi 0¸ desired task.
i−1
Ti = ¨
¨ 0 0 1 0¸¨ 0
0 1 di ¸¨0 0 1 0 ¸¨0 sinαi cosαi 0¸ Each joint is mounted with an accelerometer sensor for
¨ ¸¨ ¸¨ ¸¨ ¸
© 0 0 0 1¹© 0
0 0 1 ¹© 0 0 0 1 ¹© 0 0 0 1¹ measuring amount of angle each motor has turned on actuation
§cosθi −sinθi cosαi sinθi sinαi ai cosθi · from the microcontroller to have a closed loop system. Based
¨ ¸
sinθi cosθi cosαi −cosθi sinαi ai sinθi ¸ (3) on feedback given to controller testing and validation of
i−1
Ti = ¨
¨ 0 sinαi cosαi di ¸
¨ ¸ algorithms can be done.
© 0 0 0 1 ¹
IV. KINEMATICS MODEL
III. SYSTEM DESCRIPTION
The block schematic representation of the proposed system is A. Denavit-Hartenberg (DH) Parameters
shown in Fig. 1. It consists of 3 sections, viz., MATLAB
based graphical user interface, Arduino Mega 2560 controller Consider the arm in home position and frames are assigned to
and robot arm. each link of the robot arm to calculate joint-link parameters.
The calculated joint-link parameters, as defined by the
Denavit-Hartenberg (DH) algorithm, are shown in TABLE I.

TABLE I. DH PARAMETERS

Axis (i) ‫ڧ‬i di ai Įi


1 ‫ڧ‬1 l1 0 -90
2 ‫ڧ‬2 0 l2 0
. 3 ‫ڧ‬3 0 l3 0
Fig. 1. (a) Host controller computer with GUI; (b) Robot arm with controller
4 ‫ڧ‬4 0 l4 0

A. Graphical User Interface B. Kinematics Solution


In the graphical user interface section a MATLAB based GUI
with kinematics algorithm at the backend is implemented that The kinematic solution of OWI robotic arm to calculate
provides friendly environment to control the robot arm individual transformation matrix of each joint and final 4x4
homogeneous transformation matrix using DH parameters is
remotely for the purpose of developing a laboratory model
shown below. It consists of 5 DOF, where 1DOF is
robotic arm for teaching and learning purposes.
contributed for gripper movement. Equations (4),(5),(6),(7)
represents transformation matrices at link 0,1,2,3 respectively
B. Controller Unit and all these matrices are multiplied to get end effector
position with respect to link 0 as shown in equation (9).
The microcontroller section will take the input joint angles
serially from MATLAB and actuates the motors at each joint
§ cosθ1 0 − sinθ1 0· § cosθ2 − sinθ2 0 l2 cosθ2 ·
of robot arm to position at desired location in space. Also it ¨
sin θ1 0 cosθ1
¸
0¸ 1
¨
sinθ2 cosθ2
¸
0 l2 sinθ2 ¸
collects information about the actual rotation of each joint of
0
T1 = ¨ (4) T2 = ¨ (5)
¨ 0 −1 0 l1 ¸ ¨ 0 0 1 0 ¸
the robotic arm through accelerometers and helps in achieving ¨ ¸ ¨ ¸
© 0 0 0 1¹ © 0 0 0 1 ¹
the desired target. The ATmega2560 based Arduino
microcontroller is used for communication between pc and § cosθ3 − sin θ3 0 l3 cosθ3 · § cosθ4 − sinθ4 0 l4 cosθ4 ·
OWI robotic arm [12]. ¨ ¸ ¨ ¸
sin θ3 cosθ3 0 l3 sin θ3 ¸ 3 sin θ4 cosθ4 0 l4 sinθ4 ¸
2
T3 = ¨ (6) T4 = ¨ (7)
¨ 0 0 1 0 ¸ ¨ 0 0 1 0 ¸
¨ ¸ ¨ ¸
C. Robot Arm © 0 0 0 1 ¹ © 0 0 0 1 ¹

The robot arm section mainly consists of shoulder, elbow, 0


T4 =0 T11T22T33T4
wrist and gripper joints interconnected by links. The OWI (8)
robotic arm has 5 DOF, base provides 2700 rotation, shoulder
§cosθ1 cosθ234 −cosθ1 sinθ234 −sinθ1 cosθ1[l4 cosθ234 +l3 cosθ23 +l2 cosθ2 ] ·
joint gives 1800, elbow provides 3000 and wrist joint has 1200 ¨ ¸
sinθ cosθ234 −sinθ1 sinθ234 cosθ1 sinθ1 [l4 cosθ234 +l3 cosθ23 +l2 cosθ2 ] ¸
0
T4 = ¨ 1 (9)
¨ −sinθ234 −cosθ234 0 −l4 sinθ234 −l3 sinθ23 −l2 sinθ2 +l1 ¸
¨¨ ¸¸
© 0 0 0 1 ¹

978-1-5090-6106-8/17/$31.00 ©2017 IEEE 1572


2017 International Conference on Intelligent Computing,Instrumentation and Control Technologies (ICICICT)

3D simulation of a robotic arm using MATLAB Robotics


Toolbox is shown in Fig. 3. Based on user input each joint
V. RESULTS AND DISCUSSION
position of robotic arm varies and it is shown in simulation
graph. The position and orientation information of robotic arm
MATLAB based GUI window is created for learning and
provided by homogeneous transformation matrix can be
teaching operation of any robotic arm is shown below. It
consists of three tabs- learning model, feedback and automated interpreted using simulation graph. These graphs help in easy
model. understanding of kinematics algorithm.

A. Learning Model

The user can give number of DOF of robot arm as input,


depending on which, the DOF input windows for joint-link
parameters will pop up for 1 to 6 DOF of robot arm depending
on type of joint. The joint values are communicated to the
Arduino controller and movement of each joint of robotic arm
can be observed by moving the respective slider or by entering
the angle value as shown in Fig. 2.
Fig. 3. 3D Simulation Graph of Robotic Arm

Fig. 2. Learning Model GUI of Robotic Arm

The transformation matrix for individual link and final B. Feedback


homogeneous transformation matrix are calculated and
displayed in GUI window. By varying the number of DOF of A consists of four text boxes for displaying the sensor values
robotic arm the user can observe the change in position and at each joint and window for providing calculated individual
orientation information of robotic arm and simulation graphs and final homogeneous matrices. The accelerometer sensors
simultaneously as shown above. Giving joint-link parameters placed at each joint of OWI robotic arm reads the amount of
as input and calculating position information of robotic arm angle turned by each joint of robotic arm. Arduino controller
within workspace in terms of homogeneous matrices and sends the values serially and displays in MATLAB GUI
comparing with feedback creates user friendly environment window as shown in Fig. 4. This feedback helps in physically
for easily understanding the algorithm. This provides feasible interlinking the current position of robotic arm to the
solution for teaching and learning the forward kinematics information provided by the final homogeneous
algorithm. transformation matrix and helps to reach the desired target

978-1-5090-6106-8/17/$31.00 ©2017 IEEE 1573


2017 International Conference on Intelligent Computing,Instrumentation and Control Technologies (ICICICT)

position. The simulation results are tested by varying the joint the potentiometer input values and sensor output values are
angles and all the results are obtained in the form of displayed. Based on these values homogeneous transformation
homogeneous matrices and graphs. The operation of robotic matrices are provided as shown in Fig. 5.
arm can be ensured by comparing the homogeneous matrices
obtained by input parameters and through feedback system.

Fig. 4. Feedback from Accelerometer Sensors

Fig. 5. Automated Model GUI of Robotic Arm

VI. HARDWARE IMPLEMENTATION


C. Automated model Using input values given through GUI or potentiometer,
controller turns the motor to reach desired target.
Potentiometer, mimicking joystick are remotely used for
Simultaneously reads the accelerometer sensor values and
controlling OWI robotic arm. It generates different input
compares with input values and ensures to reach required
voltages, based on these joint angles are calculated and
position as in Fig. 6.
Arduino controls the each joint of the robotic arm.
Accelerometer sensors equipped at each joint of robotic arm
reads the robotic arm position and gives it as feedback to
Arduino controller and ensures the actuation of motors to
reach desired position. In the MATLAB based GUI window

978-1-5090-6106-8/17/$31.00 ©2017 IEEE 1574


2017 International Conference on Intelligent Computing,Instrumentation and Control Technologies (ICICICT)

arm, which acts as a practical laboratory model for teaching


and learning purpose. Hardware implementation of kinematics
algorithm is done using OWI robotic arm. The accelerometers
feedback is given to Arduino to achieve the desired position of
robotic arm. Thus provides teaching and learning platform of
robotic arm algorithms. The individual transformation
matrices and homogeneous transformation matrices are
determined which provides the position and orientation
information of a robotic arm end-effector.

REFERENCES
[1] Wai Mar Myint, Theingi, “Kinematic Control of Pick and Place Robot
Arm”, International Journal of Engineering and Techniques, Vol. 1,
Issue 4, pp. 63-70, July-Aug 2015.
[2] Awelewa, Ayokunle A., Kenechukwu C. Mbanisi, Samuel O.
Majekodunmi, Ishioma A. Odigwe, Ayoade F. Agbetuyi, I. A. Samuel,
“Development of a Prototype Robot Manipulator for Industrial Pick-
and-Place Operations”, International Journal of Mechanical
Mechatronics Engineering, vol. 5, pp. 20-27, 2013.
[3] Nimisha Limaye, Siddharth Verma, “5 Degrees of Freedom Robotic
Arm Controlled using PS/2 Mouse”, International Journal of
Engineering and Technical Research, Vol. 2, Issue 11, November 2014.
[4] Myint, Khin Moe, Zaw Min Min Htun, and Hla Myo Tun “Position
Control Method For Pick And Place Robot Arm For Object Sorting
System”, International Journal of Scientific & Technology Research,
Vol. 5, Issue 6, pp. 63-70, June 2016.
[5] Mr. C. Chandra Mouli, Ms. P. Jyothi, Prof. K. Nagabhushan Raju, Prof.
Fig. 6. Flowchart of Robotic Arm Controller C. Nagaraja, “Design and Implementation of Robot Arm Control Using
Lab VIEW and ARM Controller”, IOSR Journal of Electrical and
Electronics Engineering, Vol. 6, Issue 5, pp. 80-84, July-Aug 2013.
The OWI robotic arm controller is developed using Arduino as
[6] Escandon, C. Rodrigo, A. Marco Carpio, “Design of a Kinematic
shown in Fig. 7. The position and orientation of the robotic Control Model, for an Anthropomorphic Robot Arm, applied to the
arm is controlled through MATLAB (GUI) which provides Teaching of Industrial Robotics”, 16th International Conference on
Advanced Robotics (ICAR), 2013.
user friendly environment as well as using potentiometers. DC [7] Ashraf Elfasakhany, Eduardo Yanez, Karen Baylon, Ricardo Salgado,
motors actuates the each joint of robotic arm through driver “Design and Development of a Competitive Low-Cost Robot Arm with
circuit using Arduino controller and accelerometers placed at Four Degrees of Freedom”, Modern Mechanical Engineering, Vol. 1, pp.
47-55, 2011.
each joint provides feedback to the controller and helps in [8] Posadas, Hector, Victor Fern, “Affordable Easy-to-use Robotic Arm
achieving the desired position. used in Hardware Description Languages Teaching”, International
Symposium on Computers in Education (SIIE), pp. 161-166, 2015.
[9] Agnihotri, Payal, V. KBanga, Er. Gurjeet Singh, “Review of Kinematic
Modelling and Control of 5 Degree of Freedom Robotic Arm Using DH
Representation”, 2nd International Conference on Recent Innovations in
Science, Engineering and Management, November 2015.
[10] Li, Wen-Bo, Guang-Zhong Cao, Xiao-Qin Guo, Su-Dan Huang,
“Development of a 4-DOF SCARA Robot with 3R1P for Pick-and-Place
Tasks”, 6th International Conference on Power Electronics Systems and
Applications (PESA), pp. 1-5, 2015.
[11] Fernando Gonzalez, Janusz Zalewski, “A Robotic Arm Simulator
Software Tool for use in Introductory Robotics Courses”, IEEE Global
Engineering Education Conference (EDUCON), pp. 861-866, 2014.
[12] https://www.arduino.cc/en/Main/arduinoBoardMega2560
[13] http://www.owirobots.com
Fig. 7. Hardware Implementation using OWI Robotic Arm

VII. CONCLUSIONS
The robotic arm controller is designed and developed using
Arduino and MATLAB based GUI. Kinematics algorithm is
implemented in MATLAB. The user provides input through
GUI or using potentiometer to control the each joint of robotic

978-1-5090-6106-8/17/$31.00 ©2017 IEEE 1575

Anda mungkin juga menyukai