Select Country
Select Language
Search
Products | Software | Educational Framework | Arm Tutorials | Arm Tutorial 2
ARM TUTORIAL 2
Company
Press/Events Arm Tutorial 2 project build order
Products
Industrial Robots A) If you have built all the other projects from the previous solu
build the projects in Column A.
Controllers B) If you haven’t built any of the previous tutorial solutions, yo
in the order shown in Column B.
Software
And More Column A Column B
Robot Systems 1. Transformation 1. Articulated
2. KUKATutorial2MotionPlanning 2. Util
Downloads 3. KUKATutorial2Dashboard 3. Simulated
4. KUKAArm
Sectors/Solutions 5. Transform
6. KUKATuto
Customer Services
7. KUKATuto
Sales
Moving the end of arm to specific cartesian coordinates with
| | |
In arm tutorial 1, the robot was moved by setting target joint ang
and orientation of the end-of-arm nor could we move the robot
In practice it's probably more useful to know about the Cartesia
of the tool center point (TCP) than the knowledge about the join
makes sense to command the robot via Cartesian coordinate w
joint angles. E.g. in practice you want to command 'move the T
with orientation '.
As you may noticed all robot arms in the arm tutorials have n
use the notion 'end of arm' (EOA). As the last element of the ro
manipulator is called end-effector. An end-effector has usually
called tool center point (TCP).
So for an application point of view it makes sense to transform
cartesian coordinates with angular orientation and vice versa.
provides such transformations.
Fig.1: Direct vs. inverse kinematic transformation
The transformation from the robot joint angles to a cartesian co
called 'forward kinematic transformation' (Fig. 1). Mathematical
reason for it being easy is that we have no multiple solutions. W
and calculate from one frame to the next.
The backward transformation from a Cartesian coordinate with
angle configuration is called 'inverse kinematic transformation'
the following picture, multiple arm configurations are possible f
orientation. This impacts the complexity on the application des
E.g.: A programmer wants to move the TCP to a target position
inverse kinematic transformation service returns up to 8 possib
in terms of collision, minimized joint state changes which implie
Coding for Arm Tutorial 2:
In arm tutorial 2, we allow to define a destination for the end-of
this case, the motion planning service needs to find out the targ
to the newly introduced transformation service.
Arm Tutorial 2 Services Overview:
New services for arm tutorial 2:
· Armtutorial2Dashboard: User Interface with added fields
· Armtutorial2MotionPlanning:Calculates the arm motion and
LBR3
· Transformation: Calculates direct and inverse k
Handling a PTP move with a cartesian destination:
As soon as a ‘PTPMove’ object with a cartesian destination is p
the motion planning service, it will cause a request for an inver
This request is sent to the ‘_transformationPort’, which represe
request arrives at the ‘GetInverseKinematikHandler’ of the serv
The calculation of the inverse kinematic inside this handler as
kinematic is shown in the following sections.
It starts with the calculation of the general transformation matrix
Calculation of the transformation matrix for the kinematic c
GetTransformationMatrix)
This method computes the translation matrix frame to fram
Hartenberg parameter set is assigned to holding values for
Hartenberg parameter sets for all joints in Fig. 1 are listed in Ta
Joint Rotation
Fig. 2: Robot arm configuration Table1: Denavit-Hartenber
Using [14] and [15] we get the complete transformation from fra
Direct kinematics calculation (file class dirKinematik, metho
This method computes the position in cartesian coordinates an
TCP.
We start with the calculation of the transformation matrix
with the tool frame . Through a call of the method GetTrans
The TCP position can be read out directly from matrix :
The orientation in roll , pitch and yaw angles are calc
using [9]:
Inverse kinematics calculation though a geometric approac
InvKinematik)
From a given cartesian position and RPY - orientation of the TC
angles for a seven axis robot. For a single TCP position the me
configurations, see Fig. 2. For more information about the inver
Fig.3: Possible solutions of the inverse kinematics calculation
Joint 1 angle
Fig.4: Joint angle 1
Angle can be calculated from the position projection of fram
see Fig. 3. Hence at first we have to compute the position of
but the orientation of its subsequent frame. We use this propert
robot arm we have three twist joints: Joint 1, 4 and 6. As shown
influences just the orientation of the TCP, not its position. Throu
position vector . The unit vector points to the - axis of
the rotation sub matrix of :
Two solutions and yield to the same position
For the sake of clarity we use a simple geometric approach fo
Hence we didn't consider all special cases that might result in
function. An improvement to the algorithm is
Joint angle 3
Fig.5: Joint angle 3
Via the knowledge of we get angle which in turns lead
advantage of a twist joint property. As shown in Fig. 4, the angu
orientation of frame , not its position. Hence vector ca
from the translation part of :
We compute angle through the law of cosine:
Finally knowledge of offers two possible solutions for
Joint angle 2:
As shown in Fig. 5, angle can be computed via and
vector . For an easy calculation of we want to look at
has an x and z component. Therefore we transform from
matrix of :
Because is orthogonal we get its inverse through its trans
Fig.6: Joint angle 2
We get and through (see Fig. 5):
Finally all solutions for come out through:
Joint angle 5:
Joint angle 5 can be calculated through the inner product betw
Fig.7: Joint angle 5
The orientation of vector can be retrieved from the rotation
Matrix can be calculated via the angle results we already h
position of therefore we assume . Using the prior r
[14] and [15]:
Two arm configurations yield to the same position for frame
transformation for both situations resulting in and
Now we extract the rotation sub matrix from which column
frame 4:
With the column vector of we finally compute all solut
Joint angles 4 and 6:
The total rotation can be composed as follows:
Because matrix is orthogonal its inverse can also be calcul
Matrix is composed by three sequential rotations around
Hence we state:
Again we have to calculate two matrices to retrieve all possible
Using the relation angle
and of :
Now all possible solutions for can be calculated:
The same way we get all solution for through the elements
As you can see in Fig. 6, for and unlimited solutions a
case the mean value of and is assigned to and
Finally all angles are wrapped to the closed interval
At last the GetInverseKinematikHandler selects one of the eigh
possible arm configuration a quality function value
prior joint angle states into account:
The arm configuration with the smallest quality function value b
configuration:
Linear coordinate transformation
: = Basis vectors of the new coordinate system
: = Transformation matrix
Coordinate transformation matrix:
Coordinate transformation:
Orthogonality:
Coordinate system orientation:
Rotational transformation around axis x:
Rotational transformation around axis y:
Rotational transformation around axis z:
Roll, pitch and yaw (RPY) angles
RPY - rotation matrix (X, Y', Z'' rotation):
RPY angles from rotation a matrix :
Frames
: = Translation vector
: = Rotation matrix
: = Transformation matrix
: = Vector in frame :
: = Vector in frame :
Frame rotation ("Orientate via "):
Frame translation ("Translate by "):
Transformation matrix from frame to frame ("Orientat
Transformation from frame to frame :
Chained transformation from frame to frame (note tha
and must happen from left to right):
Denavit-Hartenberg transformation convention
As described in (1), four operations, two rotations and two tran
transformation matrix that transforms from frame to fram
chain based on the Denavit-Hartenberg convention:
Step 1: Rotation by link twist - Rotate frame aroun
parallel to axis of the next frame .
Step 2: Translation by link length - From its current posi
the direction of axis until comes to overlap with axis
Step 3: Rotation by joint angle - From its current position a
axis of the next frame until becomes parallel to a
Step 4: Translation by link offset - From its current positio
the direction of axis until its origin matches the origin of the
The total transformation matrix for frame to frame
the four single transformations. Note that the multiplication is n
from left to right:
Symbols:
:=
:=
:=
:=
: = Element row column of a matrix
: = Vector
References
(1) J. Craig, "Introduction to Robotics: Mechanics and Control
Publishing Co, 1986
(2) W. Weber, "Industrieroboter: Methoden der Steuerung und
2002
Back Recommend this page Print version Share |
KUKA
Roboter
GmbH
Phone:
Imprint
+49 821
/
Home | Sitemap | | Search | Contact 797-
Privacy
4000
Policy
Fax:
+49 821
797-
4040
CompanyKUKA
Robot
GroupCareerReference
CustomersKUKA
Worldwide
Press/EventsNewsExhibitions/EventsSpecials
ProductsIndustrial
RobotsControllersSoftwareAnd
MoreRobot
Systems
Customer
ServicesKUKA
CollegeRobotic
ConsultingTechnical
Support
ContactDownloads
©
Copyright
2010
KUKA
Roboter
GmbH
All
rights
reserved