Vous êtes sur la page 1sur 6

ROBOTIK 2012

Unified Closed Form Inverse Kinematics for the KUKA youBot


Shashank Sharma, Gerhard K. Kraetzschmar
Bonn-Rhein-Sieg University of Applied Sciences, Sankt Augustin, Germany
Christian Scheurer, Rainer Bischoff
KUKA Laboratories GmbH, Augsburg, Germany

Abstract
Mobile manipulators are of high interest to industry because of the increased flexibility and effectiveness they offer.
The combination and coordination of the mobility provided by a mobile platform and of the manipulation capabilities
provided by a robot arm leads to complex analytical problems for research. These problems can be studied very well on
the KUKA youBot, a mobile manipulator designed for education and research applications. Issues still open in research
include solving the inverse kinematics problem for the unified kinematics of the mobile manipulator, including handling
the kinematic redundancy introduced by the holonomic platform of the KUKA youBot. As the KUKA youBot arm has
only 5 degrees of freedom, a unified platform and manipulator system is needed to compensate for the missing degree of
freedom. We present the KUKA youBot as an 8 degree of freedom serial kinematic chain, suggest appropriate redundancy
parameters, and solve the inverse kinematics for the 8 degrees of freedom. This enables us to perform manipulation tasks
more efficiently. We discuss implementation issues, present example applications and some preliminary experimental
evaluation along with discussion about redundancies.

Introduction

Mobile manipulation, the seamless integration and synchronization of mobility and manipulation, is considered
a key technology for professional service robotics as well
as for future flexible manufacturing scenarios. However,
present technology in this field is not yet sufficiently mature as stated by [1], [2], [3], [4], [5], [6]. Mobile manipulation is still being considered a field of basic research,
and open research problems exist in abundance [1], [2],
[3], [4].
Mobile manipulators are redundant for tasks described in
six DOF1 because of the extra mobility provided by the
base. Mobile robot systems developed so far do not use this
redundancy judiciously during the planning and execution
step and therefore, tend to treat the mobile platform and the
manipulator independently as two different systems. Handling of redundancy at planning level and during control
is one of the most significant and challenging part in designing a mobile manipulation system [1]. Our research is
based on the KUKA youBot mobile manipulator [2], Figure 1. It aims at questions as how to compute platform
positions directly from the Cartesian 6D target position for
the tool center point of the manipulator using a unified analytical IK solution, how to deal with infinite null-space
solutions and how to make use of these redundancies in
real robot applications.
1 Degree

of Freedom
Goal Regions
3 Inverse kinematics
2 Workspace

139

Figure 1: KUKA youBot - an open source enabled omnidirectional mobile manipulator for research and education

1.1

Motivation & Problem Formulation

The manipulation planning approach called Inverse Kinematics based Bidirectional RRT (IKBiRRT) described in
[8] and illustrated in Figure 2 uses Cartesian WGRs2 to
treat different possible grasps for the object which depend
on the objects shape and the gripper used. Redundancy
introduced by a mobile platform is proposed to be solved
within an IK3 solver including some heuristic strategy for
base positioning [5]. The planner is probabilistic complete
and makes it possible to consider redundant solutions as
planning time goes to infinity. However, the efficiency of
the planner highly depends on the ability of the IK solver

to generate all possible solutions and that too quickly, but


such an IK solver is missing for the KUKA youBot. Since,
the WGR is defined in Cartesian space and depicts all potential grasps, a sampled value of these Cartesian goals has
to be mapped into the joint space of the robot. As a mobile
manipulator is generally redundant, we propose a unified,
closed-form 6D IK solver for the KUKA youBot considering also the base positioning without any heuristics. Therefore, we need to define appropriate redundancy parameters
that help us to realize this closed form IK solution.

Figure 2: IKBiRRT planner: Samples of WGR described


in Cartesian space being mapped to joint space using IK
solver [8]. Notice, the redundancy when same Cartesian
6D goal is mapped to different goals in joint space, is generally due to kinematic redundancy, in our case mainly due
to platform movement with the KUKA youBot
The contributions of this paper are the identification of redundancy parameters for doing mobile manipulation with
the KUKA youBot and the usage of these redundancies
to define a unified closed form IK solution for the KUKA
youBot. Furthermore, for a given 6D goal pose, valid
ranges for redundancies are computed. Positioning of the
base is then based on the chosen value of the redundancies and so is in-built in the IK solver. Planning for the
KUKA youBot as a unified robot system can accordingly
be performed using the IKBiRRT approach. Additionally,
null space movement for the KUKA youBot can also be
achieved.
The real challenge in implementing such a unified closed
form IK solver for the KUKA youBot is the high dependency on the robots mechanical design. Therefore, most
of the industrial robotic manipulators are based on the already established and well studied design of the PUMA
560 [11] robotic manipulator. Due to the presence of the
last three axes of the arm intersecting at one common point
and forming a wrist, Piepers approach [10] can be applied
to solve the IK. This approach greatly simplifies the system
of non-linear equations by decoupling the translational and
rotational components of the tool center point while solving the IK. For robotic arms not adhering to this design

140

tailor-made IK solvers need to be built. For the 5DOF


KUKA youBot arm, such a solution cannot be used because of the missing wrist joint. Secondly, since the arm is
a 5DOF manipulator for tasks described in Cartesian 6D,
the missing degree of freedom needs to be somehow compensated by the mobile base.

Related Work

Inverse kinematics can be solved by numerical or analytical approaches [9], [11], [14]. The preference for the former or latter depends on the application it is used in. Numerical methods are mainly used for robotic systems like
mobile manipulators where analytical instructions are not
provided yet and for highly redundant systems. Whereas,
analytical closed form IK solvers dominate in deliberative
planning like trajectory generation and path planning [8],
[11]. There exist several approaches to overcome missing analytical IK solutions in the path planning community, e.g. in manipulation tasks when positioning the platform. In [13] base positions are sampled based on a robot
specific probability distribution called inverse reachability
map. [5] presents a two-stage approach for Cartesian path
planning where a so called manipulability map representing implicit and discretized IK information is computed
prior to computing a constrained Cartesian trajectory. As
described, most existing approaches to mobile manipulation are based on this two stage approach requiring precomputation, discretization, good heuristics and probability distributions thereby, introducing inefficiency and suboptimality into global planning algorithms. So we think,
that the flexibility of mobile manipulators in manipulation
tasks can be further increased when solutions to the base
positioning problem is built into the IK solver of the mobile robot system.

Solution Approach

Figure 3: Description of redundancy parameter: (a) 1 ,


(b) 2 , (c) 3

We propose to describe the redundancies for the KUKA


youBot as shown in Figure 3 where 1 resolves the redundancy between the rotation of the platform and the
rotation of the first manipulator joint, 2 resolves the redundancy between linear platform movement and the arm
reach which has to lie in certain intervals irrespective of
the rotation of the first joint of the arm and 3 deciding
whether the elbow (joint 3) of the arm is pointing upwards
or downwards.

3.1

IK Solver

Our analytical closed form IK solver described in detail


in [12] and shown as a component in Figure 4 consists
of the following steps to determine unique base and joint
values. We first begin with defining two internal parameters, namely and ( Section 3.1.1) from the given 6
dimensional goal pose. We then calculate the value of the
rotation of the platform while 1 is assumed to be zero.
Next, we compute the second, third and fourth joint value
of the arm based on redundancy parameters 2 and 3 . After that, we compute the position of the platform in the two
dimensional x, y plane and fix the fifth joint of the arm.
In the end, the base orientation is corrected and the first
joint value for the arm is determined using the redundancy
parameter 1 .

Figure 5: The coordinate system shown in black in the


left end of the picture is the world coordinate frame. At the
right side is the flange/end effector coordinate system when
it has reached the goal. The red vector in the left world
coordinate system depicts the Z direction of the flange coordinate system. The green vectors are the projection of
this vector in the respective planes. r31 , r32 and r33 are the
components of the world coordinate system in which the
Z of the flange coordinate is described. These values are
extracted from the goal rotation matrix.
is the angle that the platform turns about its center. Considering the angle 1 of the arm to be zero, the angle can
be extracted from the Figure 5. This angle is described as
the angle that the projection of the Z vector of the flange
makes with the X axis of the world coordinate system
when projected onto its X Y plane. This angle can be
expressed as:
= arctan2(r32 , r31 )
3.1.2

Figure 4: Input is the Cartesian 6D pose of the goal and


the redundancy parameters 1 , 2 and 3 . Output is the
platform position and orientation: x, y, and arm joint
angles 1 to 5 respectively
3.1.1

(2)

Calculation of 2 , 3 , 4

We now calculate the above three mentioned angles as per


the procedure below. Consider the part of the arm comprising of links L2 , L3 and L4 as shown in Figure 6.

Calculation of and

As shown in Figure 5, is the angle that the +Z direction


of the flange of the manipulator makes with the X Z
plane of the base given that the robot is in the goal state. It
is the angle that the projection of the Z vector of the flange
makes with the X axis of the world coordinate system in
the plane marked by the blue colour in Figure 5. The red
coloured unit vector can be described as a linear combination of the unit vectors r31 , r32 and r33 . These unit vector
components can be extracted from the goal pose. The third
column of the rotation matrix of the goal describes exactly
the components. Therefore, can be calculated as from
Figure 5 as:
= arctan2(r33 ,

!
(r31 )2 + (r32 )2 )

(1)

141

Figure 6: KUKA youBot arm representation for solving


the joints 2, 3 and 4
The Z in Figure 6 refers to the vertical distance between
the goal and the axis 2 of the youBot arm. Z W is the vertical position of the goal in frame of world coordinate and
Z2W is the vertical distance of the axis 2 from the world
coordinate system. The value of Z2W is supposed to be
constant and can be calculated by the kinematic design of
the KUKA youBot.

then
X = 2

(3)

X is defined as the redundancy parameter earlier defined


by 2 as shown in Equation 3. This value can vary in a
given interval and is defined by the kinematics and joint
limits of the youBot arm. Also from Figure 6:

where,

Z = L2 sin(2 ) L3 sin(2 + 3 )

(4)

Z = Z L4 sin()

(5)

X = L2 cos(2 ) L3 cos(2 + 3 )

(6)

X = X L4 cos()

(7)

and,

where,

Squaring and adding both sides of the Equation 4 and


Equation 6 and simplifying using trigonometric identities
we get:
"
#
Z 2 X 2 + L22 + L23
(8)
cos(3 ) =
2L2 L3

Also,

sin(3 ) =

cos2 (

3)

3 = arctan2(sin(3 ), cos(3 ))

(9)
(10)

It is important to note that now we get two values of


sin(3 ) from Equation 9. These two values can used to
calculate two values of angle 3 as per Equation 10. These
two values denote the elbow position of the arm represented by the redundancy parameter 3 as shown in Figure 3. Now, we rewrite Equation 4 and Equation 6 in the
form below:
Z = k1 sin(2 ) k2 cos(2 )

(11)

X = k1 cos(2 ) + k2 sin(2 )

(12)

k1 = L2 L3 cos(3 )

(13)

k2 = L3 sin(3 )

(14)

k1 = rcos()

(17)

k2 = rsin()

(18)

Equation 11 and Equation 12 can now be rewritten as,


Z
= sin(2 )
r
X
= cos(2 )
r
From Equation 19 and Equation 20 we get,

(19)
(20)

2 = arctan2(Z , X ) +
from Equation 16:
2 = arctan2(Z , X ) + arctan2(k2 , k1 )

(21)

Now we will calculate 4 . In the Figure 6 we we see that,

3.1.3

= + ( 4 )
4 = 2 + 3

(22)

Calculation of Base Positions x and y

The platform position x and y is calculated as follows:


Suppose we calculate the TCP4 from the unified FK5
model with the values of the arm joints calculated as before and rest to be zero. We name the x position of this
TCP as Xf and y as Yf , then the x and y positions of
the platform are the difference between the xgoal (Xg )from
Xf and ygoal (Yg ) from Yf respectively as can be seen in
Figure 7.

where,

we perform change of variables by rewriting the constant


k1 and k2 as below:
If,
$
(15)
r = + k12 + k22
and

= arctan2(k2 , k1 )
4 Tool

(16)

Center Point
Kinematics

5 Forward

142

Figure 7: Calculation of x and y for the base placement of the youBot while solving for the IK.

and

x = x = Xg Xf

(23)

y = y = Yg Yf

(24)

3.1.4

Calculation of 5

Therefore, if 1 is varied we need to calculate new values


of platform position and orientation. Now,
Xa = Xp + L cosinitial
and,
Ya = Yp + L sininitial

Figure 8: The solid coordinate system shows the goal pose


and the dashed coordinate system is the current end effector frame. The rotation of 5 in the given direction as
pointed by the arrow with respect to the the Z axis would
position the end effector exactly at the desired pose.

where, Xa is x position of the first arm joint axis and Xp


Equation 23 is x position of the platform frame, both in
the world frame. L is the distance between Xa and Xp and
initial (Equation 2) is the orientation of the platform in
world frame, when 1 is zero. Similarly, Ya and Yp (Equation 24) are the y position of the arm and platform respectively. Now, if redundancy parameter 1 is varied then the
position of the platform is described by the following set
of equations:

We now perform FK on the calculated arm joint values,


the base position and orientation. We call this end effector frame, represented by the dotted coordinate frame in
Figure 8. We see at this configurations there is only a rotational offset about the Z direction of the end effector to
compensate for the desired goal frame. This can be written
in equation form as:

where, G and E are the goal and end effector rotation matrices. Rz is the rotation matrix due to rotation around Z
axis.

T
E3,3
G3,3 = Rz (5 )
(26)

cos(5 )
= sin(5 )
0

On solving, we get:

3.1.5

sin(5 )
cos(5 )
0

(31)

Yp = Ya (L sin(initial 1 ))

(32)

f inal = initial 1

(33)

(25)

G3,3 = E3,3 Rz (5 )

This can be rewritten as:


g1,1
e1,1 e2,1 e3,1
e1,2 e2,2 e3,2 g2,1
e1,3 e2,3 e3,3
g3,1

Xp = Xa (L cos(initial 1 ))

g1,2
g2,2
g3,2

0
0
1

where, f inal is the final orientation of the platform as 1 is


varied. From Equation 8 we see that the value of cos(3 )
lies between 1 and +1. Therefore, the value of 2 can lie
in an interval so that the below mentioned set of inequality
holds true for specific values of X ,
1

g1,3
g2,3
g3,3
(27)

(28)

sin(5 ) = e1,2 g1,1 + e2,2 g2,1 + e3,2 g3,1

(29)

5 = arctan 2(sin(5 ), cos(5 ))

(30)

Dealing with Redundancies 1 and 2

To compensate for 1 as shown in Figure 3 we need to turn


the base at the axis of rotation similar to that of arm joint 1.

143

Z 2 X 2 + L22 + L23
2L2 L3

+1

since L2 , L3 and Z are constants. We can relate the X


to 2 from Equation 7 and Equation 3.

(34)
X = 2 L4 cos

cos(5 ) = e1,1 g1,1 + e2,1 g2,1 + e3,1 g3,1

"

Results

The Figure 9 shows the results of plotting the joint values when the redundancies 1 or 2 are varied and clearly
show that the redundancies are independent of each other
because there is no discontinuity in the curves and the trajectories of the joints are smooth. Hence, enabling us to
develop joint controllers using which we are able to show
the null space motion of the KUKA youBot as a mobile
manipulator system both in simulation as well as on the
real robot. Our solution to the IK is also able to generate
valid ranges of these redundancies depending on the given
6D goal pose.

Joint Values vs Redundancy Parameter P1 For a Certain Configuration


3

Joint Values

[3] Khatib, O.; Brock O.: Elastic strips: A framework


for motion generation in human environments, The
International Journal of Robotics Research, Vol. 21,
No 12, 2002.

x vs p1 in meters
y vs p1 in meters
theta vs p1 in radians
joint1 vs p1 in radians
joint2 vs p1 in radians
joint3 vs p1 in radians
joint4 vs p1 in radians
joint5 vs p1 in radians

[4] Brock, O.; Kemp, C.: Guest editorial: special issue


on autonomous mobile manipulation, Autonomous
Robots, vol. 28, 1: pp.1-3, 2010

-1

-2

-3

-3

-2

-1

P1

[5] Zacharias, F.; Borst, C.; Beetz, M.; Hirzinger, G.:


Positioning mobile manipulators to perform constrained linear trajectories, 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems: pp.2578-2584, September 22-26, 2008, Acropolis Convention Center, Nice, France

Joint Values vs Redundancy Parameter P2 For a Certain Configuration


2

x vs p2 in meters
y vs p2 in meters
theta vs p2 in radians
joint1 vs p2 in radians
joint2 vs p2 in radians
joint3 vs p2 in radians
joint4 vs p2 in radians
joint5 vs p2 in radians

1.5

Joint Values

0.5

-0.5

-1

0.2

0.25

0.3

0.35

0.4

0.45

P2

Figure 9: Change in joint values when modifying individual redundancies: (a) for 1 , (b) for 2

Conclusion

Planning and control for a unified mobile manipulator system comprising of a mobile base and an arm is a challenging topic, computing an analytical closed form IK for such
redundant system was an unsolved problem. We reviewed
current state of the art approaches in mobile manipulation
and pointed out their disadvantages. Our approach overcomes these deficits by considering a unified serial kinematic chain for the KUKA youBot. We propose redundancy parameters that enable us to develop an analytical
closed form IK solution for the KUKA youBot. Using
these redundancies one can extract base positions from the
computed IK solution. Our IK solver can vary these redundancy parameters to compute and iterate over all possible solutions in the null space of the mobile manipulator.
This will enable us to use the IKBiRRT approach for planning mobile manipulation tasks more deliberatively and efficiently.
Acknowledgement The EC, funded parts of the developments through FP7 - BRICS (ICT-231940)

References
[1] Pin, F.G.; Culioli, J.C: Optimal Positioning of Combined Mobile Platform-Manipulator Systems for Material Handling Tasks, Journal of Intelligent &
Robotic Systems, vol. 6, Numbers 2-3: pp. 165-182,
DOI: 10.1007/BF00248014, The Netherlands, 1992
[2] Bischoff, R.; Prassler, E.; Huggenberger, U.: KUKA
youBot - A Mobile Manipulator for Research and
Education, Proc. of the IEEE International Conference on Robotic and Automation (ICRA-2011),
IEEE Press, Shanghai, China, 2011

144

[6] Jain, A.; Kemp, C.: Pulling open doors and drawers:
Coordinating an omni-directional base and a compliant arm with Equilibrium Point control, IEEE International Conference on Robotics and Automation,
3-7 May :pp.1807-1814, Anchorage, AK, 2010
[7] Yamamoto, Y.; Yun, X.: Unified Analysis on Mobility
and Manipulability of Mobile Manipulators, Proc. of
the IEEE International Conference of Robotics and
Automation (ICRA-1999), IEEE Press, 1999. vol. 2:
pp. 1200-1206, Detroit, MI, USA
[8] Berenson, D.; Srinivasa, S.; Ferguson, D.; Romea,
A.; Kuffner, J.: Manipulation planning with
workspace goal regions, Proc. of the IEEE International Conference of Robotics and Automation
(ICRA-2009), IEEE Press, 1999.
[9] Khatib, O.; Siciliano, B., editors: Springer Handbook of Robotics, Springer, Berlin, Heidelberg, Germany, 2008.
[10] Pieper, D.: The kinematics of manipulators under
computer control, Technical Report, Ph.D. Dissertation, Stanford University, Dept. Mech. Engg (TR
AIM-72,101), 1968.
[11] Craig, J.: Introduction to Robotics Mechanics and
Control, Third edition, Chapter 3, Manipulator Kinematics, Pearson Prentice Hall, New Jersey, USA,
2005.
[12] Sharma, S.; Scheurer, C.; Bischoff, R.; Kraetzschmar, G.: Unified Inverse Kinematics Approach
with the KUKA youBot for Mobile Manipulation
Technical Report: University of Applied Sciences,
Bonn Rhein Sieg, Sankt Augstin, Germany, 2012
[13] Diankov, R.; et al.: BiSpace Planning: Concurrent
Multi-Space Exploration, Proceedings of Robotics:
Science and Systems IV, Zurich, Switzerland, 2008
[14] Baker, D.; Wampler, C.: On the Inverse Kinematics
of Redundant Manipulators, International Journal of
Robotics Research, vol.7, No.2, 1988

Vous aimerez peut-être aussi