You are on page 1of 5

ENME 675 A MATHEMATICAL INTRODUCTION TO ROBOTICS, 9 NOVEMBER 2015

5 DOF Ping-Pong Playing Robot: Interim Report


Shanmukha Manoj, Bhumireddy*, Masters student

AbstractPing-Pong or Table Tennis requires fast movements


to accurately detect and reach fast moving ball on the arena and
accurate control to hit it in desired direction and with desired
speed. A typical ping-pong robot would require combination
of state-of-the-art vision, control and mechanical systems. Improvements in technology and science made robots possible to
move quickly in a controlled fashion. Yet humans significantly
outperform these robots in the game. This report focuses on the
mechanical sub-system of a ping-pong playing robot. A 5 DOF
robot is chosen for the task. The scope of work for this interim
report includes modeling and simulation of Forward Kinematics
and Velocity analysis of end-effector
Index TermsPing-Pong robot, 5 DOF, Vision system, Control system, Mechanical system, Forward Kinematics, Velocity
Analysis

I. I NTRODUCTION

Fig. 2. Sub-systems of a ping-pong robot

HE progress in Science and Technology, especially in


the fields of Computer Vision, Artificial Intelligence and
Machine Learning, expanded the application of robots from
working in fixed and structured environments to dynamic and
unstructured environments. Research has brought light upon
various robots that can work assisting humans in different
ways. They perceive surroundings using vision technology,
make decisions autonomously, predict the behavior of
influencing actors and learn from their actions, and perform
corresponding task in a controlled fashion.
Ping-Pong playing Robot, presented in this report, is an
example of a collaborative robot that can play ping-pong (table
tennis) against humans. The environment of interest and the
actors that influence the robot are ping-pong arena, ball and
opponent. The robot has to sense the direction and speed of
ball moving and position the racket attached to its end-effector
correspondingly to be able to hit the ball with desired angle
and send the ball with a desired speed back to the opponent.
Figure 1 briefly explains this process. A typical system of such

Fig. 1. Ping-pong robot typical operation scenario

kind would include the following subsystems: vision system,


control system and a mechanical system as shown in figure 2.
* Shanmukha Manoj, Institute for Systems Research, University of Maryland, College Park, MD, 20740 USA e-mail: sbhumire@umd.edu

Fig. 3. KUKA robot playing ping-pong

A. The state-of-the-art for ping-pong robot


The work on robots that can play ping-pong had started
long back in 1983 with the commence of a robot ping-pong
competition. Several multi-DOF robots have been developed
till now all over the world that use high quality vision, control
and mechanical systems. In 2014, KUKA - a 6 DOF, fast
industrial robot shown in figure 3 had competed against Timo
Boll who is one of the best table-tennis players of all time and
performed significantly well. This serves as main motivation
for this project.
In this project, I plan to model and simulate the complete
robot and generate animation of it playing the game. The
interim report includes the following: Forward Kinematics of
the entire robot and Velocity analysis of the end-effector, some
of the results obtained from the simulations on MATLAB, and

ENME 675 A MATHEMATICAL INTRODUCTION TO ROBOTICS, 9 NOVEMBER 2015

Fig. 5. An End Configuration of Ping-Pong robot simulated in MATLAB

Fig. 4. Home Configuration of Ping-Pong robot with 5 DOF

future work that would be included in the final report and some
interesting work that can be possibly done on continuing the
project.
II. 5 DOF P ING -P ONG ROBOT
A. Physical Design
The robot of interest has 5 degrees of freedom. Physically
the robot has a base that can rotate in the XY plane between
and , three links in series with the lower attached to
the base with a revolute joint that can rotate along the x-axis,
a ping-pong racket that is attached to the final link that can
rotate between and . Thus having 5 DOF. Figure 4 shows
the home configuration of the robot.
A simulator, more of a GUI, has been developed in MATLAB which allows to insert end configuration of the robot by
changing the slider position corresponding to 1, 2, 3, 4
and 5 or by manually entering their values in the provided
editable boxes. The robot is moved from its initial to end
configuration and is shown as an animation. Figure 5 shows
a possible end configuration generated from the simulation.
Figure 6 shows the complete GUI with angle values manually
set and another possible end configuration of the robot.

Fig. 6. Another End Configuration of Ping-Pong robot simulated in MATLAB


and the complete GUI

B. Forward Kinematics model


Figure 4 shows the home or reference configuration along
with possible rotation directions of each link in the robot.
Stationary frame S is at base frame as shown in figure 4
and Tool frame T is attached to the racket and gst is the
transformation matrix from T to S. The forward kinematics is
modeled based on the Product of Exponentials formula.

gst () = e1 1 e2 2 e3 3 e4 4 e5 5 gst (0)

(1)

To construct twists, i.e., i s for the joints, we have i s as

ENME 675 A MATHEMATICAL INTRODUCTION TO ROBOTICS, 9 NOVEMBER 2015

0
1 = 5 = 0
1

1
2 = 3 = 4 = 0
0

e1 1 e2 2 e3 3 e4 4 e5 5 =

c1 c5 c234 s1 s5 c1 s5 c234 s1 c5
s1 c5 + c234 c1 s5 s1 s5 + c234 c1 c5

s234 s5
s234 c5
0
0

and the axis points can be chosen as

0
0
0

0
q1 = 0 q2 = 0 q3 =
0
l0
l0 + l1

0
0
q5 =

0
0
q4 =
l0 + l1 + l2
l0 + l1 + l2 + l3
The individual exponential terms can be evaluated as,

cos 1 sin 1 0 0
sin 1
cos 1 0 0

e 1 1 =
0
0
1 0
0
0
0 1

1
0
0
0
0 cos 2 sin 2

l0 sin 2

e2 2 =
0 sin 2
cos 2 l0 (1 cos 2 )
0
0
0
1

1
0
0
0

0 cos 3 sin 3
(l0 + l1 ) sin 3

e3 3 =
0 sin 3
cos 3 (l0 + l1 )(1 cos 3 )
0
0
0
1

1
0
0
0

0 cos 4 sin 4
(l l3 ) sin 4

e4 4 =
0 sin 4
cos 4 (l l3 )(1 cos 4 )
0
0
0
1
where l = l0 + l1 + l2 + l3

cos 5

sin 5
e5 5 =
0
0

sin 5
cos 5
0
0

0 0
0 0

1 0
0 1

Substituting this in equation 1,

c1 c5 c234 s1 s5 c1 s5 c234 s1 c5
s1 c5 + c234 c1 s5 s1 s5 + c234 c1 c5
gst () =

s234 s5
s234 c5
0
0

s1 s234
s234 c1
c234
0

p1
p2

p3
1

p1 = s1 (l3 s234 + l2 s23 + l1 s2 )


p2 = c1 (l3 s234 + l2 s23 + l1 s2 )
p3 = l3 c234 + l2 c23 + l1 c2 + l0
C. Velocity Analysis
Velocity of the body frame T with respect to stationary
frame S as viewed in the stationary frame is represented as
Vsts and is given by,
(3)

Velocity of the body frame T with respect to stationary frame


S as viewed in the body frame is represented as Vstb and is
given by,


(2)

r1
r2

r3
1

r1 = s1 ((l0 + l1 + l2 )s234 + l2 s23 + l1 s2 )


r2 = c1 ((l0 + l1 + l2 )s234 l2 s23 l1 s2 )
r3 = (l0 + l1 + l2 )c234 + l2 c23 + l1 c2 + l0
where
ci = cos i ,
cij = cos(i + j ),
cijk = cos(i + j + k ),
si = sin i ,
sij = sin(i + j ), sijk = sin(i + j + k )

1 0 0
0

0 1 0
0

and gst (0) =


0 0 1 l0 + l1 + l2 + l3
0 0 0
1

1
Vsts = g st gst

For every point on link li , the transformed point position and


orientation depends on the rotation angles of li1 , li2 , . . . l1 ,
and hence from the product of exponentials formula,

gsli (1 , . . . i ) = e1 1 . . . ei i gsli (0)

s1 s234
s234 c1
c234
0

If V =

v3X1
3X1

1
Vstb = gst
g st



3X3 v3X1

then V =
0
0

(4)

Using the equation 2, for every set of i s between the


initial and final configurations, corresponding transformed
points on each link are evaluated and then, using the patch
function in MATLAB, are plotted and thus creating an
animation.

and
is the skew symmetric representation of


R3X3 p3X1
Given g =
, as R is a member of SO(3)
0
1
 T

R3X3 RT p3X1
we have R1 = RT and hence g 1 =
0
1

Multiplying the individual exponential terms, gives the


product of exponentials in 1 as,

Therefore,

a11
a21
1

gst () =
a31
0

a12
a22
a32
0

a13
a23
a33
0

a14
a24

a34
1

ENME 675 A MATHEMATICAL INTRODUCTION TO ROBOTICS, 9 NOVEMBER 2015

= c1 c5 c234 s1 s5
= s1 c5 + c234 c1 s5
= s5 s234
= s5 (l0 s234 + l1 s34 + l2 s4 )
= c1 s5 c234 s1 c5
= s1 s5 + c234 c1 c5
= c5 s234
= c5 (l0 s234 + l1 s34 + l2 s4 )
= s1 s234
= c1 s234
= c234
= (l0 c234 + l1 c34 + l2 c4 + l3 )

r11 r12 r13 r14


r21 r22 r23 r24

and, g st () =
r31 r32 r33 r34
0
0
0
0
r11 = s1 c5 1 c1 s5 5 c234 c1 s5 1 c234 s1 c5 5
s234 s1 s5 (2 + 3 + 4 )
r12 = s1 s5 1 c1 c5 5 c234 c1 c5 1 + c234 s1 s5 5
s234 s1 c5 (2 + 3 + 4 )
r13 = s1 c234 (2 + 3 + 4 ) + c1 s234 1
r14 = c1 (l1 s2 + l2 s23 + l3 s234 )1 + s1 (l1 c2 2 + l2 c23 (2
3 ) + l3 c234 (2 + 3 + 4 ))
r21 = c1 c5 1 s1 s5 5 + c234 c1 c5 5 c234 s1 s5 1
s234 c1 s5 (2 + 3 + 4 )
r22 = c1 s5 1 s1 c5 5 c234 s1 c5 1 c234 c1 s5 5
s234 c1 c5 (2 + 3 + 4 )
r23 = s234 s1 1 c234 c1 (2 + 3 + 4 )
r24 = s1 (l1 s2 + l2 s23 + l3 s234 )1 c1 (l1 c2 2 + l2 c23 (2
3 ) + l3 c234 (2 + 3 + 4 ))
r31 = c234 s5 (2 + 3 + 4 ) + s234 c5 5
r32 = c234 c5 (2 + 3 + 4 ) s234 s5 5
r33 = s234 (2 + 3 + 4 )
r34 = (l1 s2 2 + l2 s23 (2 + 3 ) + l3 s234 (2 + 3 + 4 ))

a11
a12
a13
a14
a21
a22
a23
a24
a31
a32
a33
a34

Substituting g st and

1
gst

Vsts =

Fig. 7. Workspace of the ping-pong robot

+
+

in equation 3


3X3
0

v3X1
0

v3 = l2 s23 4 + l1 s2 (3 + 4 )


v3X1
s
Vst =
3X1

(6)

Equation 6 provides the velocity of the tool frame T with


respect to stationary frame S as viewed from the stationary
frame Vsts and the vectors v and are as defined above.
1
Evaluating gst
g st and substituting in equation 4 we get,
Vstb i.e., the skew symmetric matrix representation of velocity
of tool frame with respect to stationary frame as viewed from
the body frame. Also the relation between Vsts and Vstb is given
as,
Vsts = Adgst Vstb
(7)


R3X3 p3X1
where, gst =
0
1


R3X3 p3X3 R3X3
Adgst =
0
R3X3
6X6

and p is the skew symmetric matrix representation of


vector p in gst
III. C ONCLUSION


(5)

where,

0
3 2
0
1

= 3
2 1
0

1 = c1 (2 + 3 + 4 ) + s234 s1 5
2 = s1 (2 + 3 + 4 ) s234 c1 5
3 = 1 + c234 5

1
v1
= 2 v = v2
3
v3
v1 = c1 5 (l2 s4 +l1 s34 +l0 s234 )s1 (l2 c23 4 +l1 c2 (3 + 4 )+
l0 (2 + 3 + 4 ))
v2 = s1 5 (l2 s4 +l1 s34 +l0 s234 )+c1 (l2 c23 4 +l1 c2 (3 + 4 )+
l0 (2 + 3 + 4 ))

As discussed in earlier sections, ping-pong robots contain


3 sub-systems: Vision, Control and Mechanical. Focusing on
the mechanical sub-systems, Forward Kinematics and Velocity
Analysis of end-effector of a 5 DOF ping-pong playing robot
are discussed along with simulations in this interim report.
The work presents position and orientations analysis of the
entire robot for a desired end configuration. Figures 5 and
6 are examples showing 2 possible robot configurations. The
robot has a complex workspace and figures 7 and 8 depict
some of it in two different perspectives by plotting a sub set
of end-effector reachable points in 3 dimensional space.
The final report would include the following: manipulator
Jacobian, Inverse Kinematics and manipulator dynamics. With
this work as initial step, it can be extended to modeling the
control and vision sub-systems, and combine them to model
and analyze the complete autonomous ping-pong playing
robot. A hardware implementation of this can also be an
interesting as well as potential research project.

ENME 675 A MATHEMATICAL INTRODUCTION TO ROBOTICS, 9 NOVEMBER 2015

Fig. 8. Workspace of the ping-pong robot

R EFERENCES
[1] Acosta, Leopoldo, et al. Ping-pong player prototype. Robotics &
Automation Magazine, IEEE 10.4 (2003): 44-52.
[2] Li, Hailing, et al. Ping-pong robotics with high-speed vision system.
Control Automation Robotics & Vision (ICARCV), 2012 12th International Conference on. IEEE, 2012.
[3] [Book] Richard M. Murray, Zexiang Li, S. Shankar Sastry. A Mathematical Introduction to Robotic Manipulation
[4] [web link] for KUKA vs Timo Boll
http://spectrum.ieee.org/automaton/robotics/industrial-robots/robotsplaying-ping-pong-whats-real-and-whats-not

You might also like