Inverse Kinematics Solution For 6 Degree of Freedom of Fanuc LR Mate 200IB Robot - Mohd Khafizuddin Khairddin - TJ211.412.M54 2010 24 Pages
Inverse Kinematics Solution For 6 Degree of Freedom of Fanuc LR Mate 200IB Robot - Mohd Khafizuddin Khairddin - TJ211.412.M54 2010 24 Pages
Inverse Kinematics Solution For 6 Degree of Freedom of Fanuc LR Mate 200IB Robot - Mohd Khafizuddin Khairddin - TJ211.412.M54 2010 24 Pages
I hereby declare that I have read through this report entitle Inverse Kinematics
Solution For 6 Degree of Freedom of Fanuc LR Mate 200iB Robot and found that it
has comply the partial fulfillment for awarding the degree of Bachelor of Mechatronics
Engineering
Signature
: .
Supervisors Name
: .
Date
: .
2010
I declare that this report entitle Inverse Kinematics Solution For 6 Degree of Freedom
of Fanuc LR Mate 200iB Robot is the result of my own research except as cited in the
references. The report has not been accepted for any degree and is not concurrently
submitted in candidature of any other degree.
Signature
: ......................................................
Name
: ......................................................
Date
: ..........
ACKNOWLEDGEMENT
Alhamdulillah, finally the Final Year Project 2 (FYP 2) is complete. There are
several people I would like to acknowledge for their assistance and support over the
FYP 2 which is compulsory to all UTeM students to pass before awarded the degree.
First of all, I would like to sincerely thank to my project supervisor, Pn Irma
Wani bt Jamaludin for undivided support morally and physically, assistance, guidance,
tolerance, which proved to be invaluable as to the completion of my FYP 2. I would like
to also express my gratitude to the panels, Muhammad Herman bin Jamaluddin and
Mohd Razali bin Mohamad Sapiee, who give me a good comment during my
presentation.
Thanks are also extended to my family and friends for their patients,
understanding and also for their undivided support that they had gave me throughout the
completion of my project. Last but not least, I also would like to thank all those helping
and supporting me directly and indirectly during my Final Year Project 2.
ABSTRACT
This project develops an algorithm for solving the inverse kinematics equation.
The inverse kinematics equation is solving to determine angles ( ) of rotation linkages
of the three main axes of the robot by using programming software for 6 DOF of Fanuc
LR Mate 200iB robot called ivFanuc. The process involves the control of parameter
known as the value of the final position and orientation of the robot. This parameter is
determined by user before solve the inverse kinematics equation. Its inverse kinematics
problem will be solved by using conventional method and simulation. Both results will
be compared to ensure the algorithm that was developed is correct and can be used for
solving the inverse kinematics equation. The GUI was designed which ask user to insert
the position and then the software will show the theta ( ). The correct output of
interface prove that this command can be used for solves the inverse kinematics
equation. Overall, this project will describe the technique, calculation, method and
algorithm on how the inverse kinematics is solved.
ABSTRAK
TABLE OF CONTENT
CHAPTER
CONTENT
PAGE
ACKNOWLEDGEMENT
ABSTRACT
ii
TABLE OF CONTENT
iv
LIST OF TABLES
vi
LIST OF FIGURES
vii
LIST OF ABBREVIATIONS
viii
INTRODUCTION
1.1
1.2
Problem Statement
1.3
Objective
1.4
Scope
LITERATURE REVIEW
2.1
Forward Kinematics
2.1.1
2.2
Inverse Kinematics
2.3
10
2.4
12
PROJECT METHODOLOGY
14
3.1
Overview
14
3.2
16
3.3
Programming software
16
3.4
17
3.4.1
17
3.4.2
20
3.5
22
3.5.1
22
3.5.2
23
3.5.3
23
3.5.4
Use fkine
24
3.5.5
Use ikine
24
3.5.6
25
3.5.7
Plot Robot
25
26
4.1
Overview
26
4.2
Features of ivFanuc
26
4. 3
Analysis of Data
28
4.3.1
Home Position
29
4.3.2
Data 1
30
4.3.3
Data 2
31
DISCUSSION
33
CONCLUSION
35
REFERENCE
37
APPENDIX
38
LIST OF TABLES
TABLE
TITLE
PAGE
2.1
12
3.1
17
4.1
Data Analysis
29
4.2
Percentage Errors
29
LIST OF FIGURES
FIGURE
TITLE
PAGE
1.1
2.1
Link Parameter
2.2
Kinematic Decoupling
2.3
11
2.4
13
3.1
15
4.1
27
4.2
Plot Robot
28
4.3
Home Position
30
4.4
Data 1
31
4.4
Data 2
32
LIST OF ABBREVIATIONS
DH
Denavit-Hartenberg
DOF -
Degree of Freedom
GUI
KAP -
EOAT -
End-of-arm-tooling
LIST OF APPENDICES
NO.
TITLE
PAGE
Appendix 1
Project Planning
39
Appendix 2
41
Appendix 3
43
Appendix 4
46
CHAPTER 1
INTRODUCTION
2
1.1
on the move. As the robots grow tougher, nimbler, and smarter, todays robots are doing
more and more things human cannot or do not want to do. In order to co-operate with a
human, a robot should have a humanlike behavior when moving. Then, the robot can act
in a world made for humans and does not perform movements which cannot be
anticipated by the human partner. To achieve this, it is necessary to give the robot human
like configuration and human like kinematics.
Robotics is a multidisciplinary, highly mathematical topic usually taught at the
graduate level. A typical course will start with a review or introduction of mathematical
concepts, then on to kinematics of robot manipulators, followed by elements of
dynamics and control that still rely heavily on the kinematics portion of the course. [1]
Kinematics is one of the most important aspects of robots movement and it is
essential to understand the concept to analyze the complex movements of a robot and the
operations it can perform. The human like shape and configuration of the robot enables
the robot to co-operate with the human partner the same way humans co-operate with
each other. Therefore, the robots arm moves like a human arm and interacts with a
human by physical means.
In order to solve the kinematics problem, a conventional method which has a lot
of complexity equation and calculation must be applied. However, it is hard to be
implemented in practice even many industrial robots are built with simple geometries to
simplify the associated kinematics computations such as Fanuc LR Mate 200iB robot.
It is now well accepted that the use a package of software is the best options to
solve the inverse kinematics problem. In this project, a GUI will be designed for solving
the inverse kinematics problems which focus only for Fanuc LR Mate 200iB robot. The
advantage of this software is to minimize time for solving the inverse kinematics.
3
1.2
Problem statement
Many industrial robots are built with simple geometries such as intersecting or
parallel joint axes to simplify the associated kinematics computations. The mathematical
complexity of solving robots of general architecture detracts instructors and students
from using robots with arbitrary structures in illustrative examples and assignments.
This is also one of the major problems for the 6 DOF of an industrial robot which is to
solve the inverse kinematics.
The inverse kinematics problem is much more interesting and its solution is more
useful. It does the reverse of forward kinematics. Given the end point of the structure,
what angles do the joints need to achieve that end point? At the position level, the
problem is stated as, "Given the desired position of the robot's hand, what must be the
angles at all of the robots joints?" Humans solve this problem all the time without even
thinking about it. When you are eating your cereal in the morning you just reach out and
grab your spoon. You don't think, "My shoulder needs to do this, my elbow needs to do
that, etc." So, we will look how most robots have to solve the problem. [2]
Solving the inverse kinematics problem need a lot of calculation when using
conventional method. The complexity of formulation and computational burden make
this method hard to be implemented in practice which also will waste a lot of time.
Therefore, a new method of solution must be developed to solve the inverse kinematics
equation such as using software programming.
A software package that eases the kinematics study of robots also provides
computer assistance and time savings in all associated areas of robotics. While the
forward kinematics is fairly easy and always leads to a unique solution, the inverse
kinematics is far more mathematically involved and usually leads to several solutions.
The inverse kinematics of high degree of freedom manipulators is one of the hardest
problems in robotics.
4
1.3
Objective
The objectives of this project are to solve an inverse kinematics for 6 DOF of
Fanuc LR Mate 200iB robot. In order to solve the problem, the algorithm will be
develop and then the programming software will be identify and develop which is to
design the graphical user interface. Specifics objectives of this project are:
1. To calculate inverse kinematics solution.
2. To develop an algorithm of inverse kinematics solution.
3. To design a graphical user interface (GUI) for inverse kinematics for 6 DOF of
Fanuc LR Mate 200ib robot.
1.4
Scope
In general, this project is to identify and develop the programming software for
solving the inverse kinematics problem which focuses only for 6 DOF of Fanuc LR
Mate 200iB robot. Thus, it cannot be apply to other type of robot unless both program
and interface is modified.
To solve the inverse kinematics problem for 6 DOF of Fanuc LR Mate 200iB
robot, the programming software will be identify whether it is suitable for solve the
inverse kinematics. Then, an algorithm will be developed. At the end the GUI will be
developed to solve the inverse kinematics problem.
Type of programming software for develops an algorithm and GUI is already
identified. MATLAB is chosen for design and develop an algorithm and GUI.
CHAPTER 2
LITERATURE REVIEW
In this chapter, a review of previous research project that are related of this
project will be discussed. The information about forward and inverse kinematics and
Fanuc LR Mate 200iB robot are also described in this chapter.
2.1
Forward Kinematics
The forward kinematics problem is concerned with the relationship between the
individual joints of the robot manipulator and the position and orientation of the tool or
end-effector. Stated more formally, the forward kinematics problem is to determine the
position and orientation of the end-effector, given the values for the joint variables of the
robot. The joint variables are the angles between the links in the case of revolute or
rotational joints, and the link extension in the case of prismatic or sliding joints.
In order to describe the location of each link relatives to its neighbors we define a
frame attached to each link. The link frames are named by number according to the link
to which they are attached. That is, frame { i } is attached rigidly to link i . To locate
frames on the links, this convention is used: The Z-axis of frame { i }, called Z i is
coincident with the joint axis i . The origin of frame { i } is located where ai
perpendicular intersects the joint i axis. X i points along ai in the direction from joint i to
joint i 1 [3].
6
In the usual case of revolute joint, i is called the joint variable, and the other
three quantities would be fixed link parameters. For prismatic joints, d i is the joint
variable and the other three quantities are fixed link parameters. The definition of
mechanism by means of these quantities is a convention usually called DenavitHartenberg (DH) notation [3].
Ai
7
Step l : Locate and label the joint axes z0 ,...., zn 1 .
Step 2 : Establish the base frame. Set the origin anywhere on the z0 -axis. The x0 and
y0 axes are chosen conveniently to form a right-hand frame. For i 1,...., n 1 ,
perform Steps 3 to 5.
Step 3 : Locate the origin Oi where the common normal to zi and zi 1 intersects zi . If
zi intersects zi 1 locate Oi at this intersection. If zi and zi 1 are parallel, locate
Oi in any convenient position along zi .
Step 4: Establish xi along the common normal between zi 1 and zi through Oi i, or in
the direction normal to the zi 1 zi plane if zi 1 and zi intersect.
Step 5 : Establish yi to complete a right-hand frame.
Step 6 : Establish the end-effector frame on xn yn zn . Assuming the n-th
joint is revolute
ci
s
Ti i 1 i
0
si
ci
0
cos i
sin i
Ti i 1
0
2.2
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1
0 0 0
1 di 0
0 1 0
0 0 ai 1
0
1 0 0 0 c i
0 1 0 0 s i
0 0 1 0
0
ai cos i
ai sin i
di
(2.1)
0
s i
c i
0
0
0
0
(2.2)
(2.3)
Inverse Kinematics
The inverse kinematics problem is concerned with the inverse problem of finding
the joint variables in terms of the end-effector position and orientation. This is the
problem of inverse kinematics, and it is, in general, more difficult than the forward
kinematics problem. It is begin by formulating the general inverse kinematics problem.
Following this, it will describe the principle of kinematic decoupling and how it can be
used to simplify the inverse kinematics of most modern manipulators. Using kinematic
decoupling, we can consider the position and orientation problems independently. We
describe a geometric approach for solving the positioning problem, while we exploit the
Euler angle parameterization to solve the orientation problem.
9
In the general problem of inverse kinematics is quite difficult, it turns out that for
manipulators having six joints, with the last three joints intersecting at a point. It is
possible to decouple the inverse kinematics problem into two simpler problems, known
respectively, as inverse position kinematics, and inverse orientation kinematics. To put it
another way, for a 6 DOF manipulator with a spherical wrist, the inverse kinematics
problem may be separated into two simpler problems, namely first finding the position
of the intersection of the wrist axes, hereafter called the wrist center, and then finding
the orientation of the wrist.
10
For this class of manipulators the determination of the inverse kinematics can be
summarized by the following algorithm.
Step 1: Find q1, q2, q3 such that the wrist center oc has coordinates given by
0
o o d 6 R 0
1
0
c
2.3
is currently written to compute the forward and inverse kinematics of robot manipulators
with 5 or 6 revolute degrees of freedom. The functional block diagram of KAP is shown
on Figure 2.3. There are two types of KAP:
i.
KAP5 to compute the inverse kinematics problem for 5 DOF of Rhino XR-3
robot.
ii.
11
Kinematics Analysis Program (KAP)
Robot Description and Pose Definition
Forward Kinematics
Forward Kinematics
Pose matrix
5-axis robots
Solution sets
Solution sets