You are on page 1of 10

SICE Journal of Control, Measurement, and System Integration, Vol. 9, No. 2, pp.

050–059, March 2016


Special Issue on SICE Annual Conference 2015

Ball Trajectory Planning in Serving Task


for Table Tennis Robot

Yoshikazu HAYAKAWA ∗ , Akira NAKASHIMA ∗∗ , Satoshi ITOH ∗ , and Yuki NAKAI ∗

Abstract : This paper considers the serving task for the table tennis robot. Based on the physical models, the ball
trajectory is formulated where the ball is hit by the racket and rebounds on the table in own court and in the opponent’s
court. Then the paper clarifies which variables among the ball’s position, translational and rotational velocities can be
controlled independently by the serving racket. Some numerical simulations verify the results work approximately well.

Key Words : serving task, racket control, table tennis robot, aerodynamics, physical models.

1. Introduction sion of this paper without any detailed proofs.


With the development of robots in recent years, robots are
2. Prediction Problem and Forward Calculation
not limited to industrial facilities anymore. Most robots are re-
quired to work in a dynamic environment and achieve tasks by Suppose that the racket serves the ball at t = t1 and denote
acquiring information of the surroundings using sensors, such by t1− and t1+ respectively the instant just before and just after
as visual sensors and force sensors. In this sense, we are inter- hitting the ball. Assume that the ball rebounds on the table in
ested in developing a table tennis robot. There have been a lot own court at the time t = t2 and then rebounds in the opponent’s
of literatures on table tennis robots (see [1]–[4] and the refer- court at the time t = t3 (see Fig. 1). Note that t2− and t2+ denote
ences therein); typical topics are on-line estimation of a flying the time just before and after the ball rebounds on the table as
and spinning ball trajectory and robot control for rallying with well as t3− and t3+ . p(t) ∈ R3 denotes the ball’s position at
human. Almost all of them take data-based approaches and do the time t and ω(t) ∈ R3 the ball’s rotational velocity. For i =
not use physical models. The authors’ group has been taking 1, 2, 3, pi := p(ti ), vi− := ṗ(ti− ), vi+ := ṗ(ti+ ), ωi− := ω(ti− ),
model-based approach to propose an on-line estimation method and ωi+ := ω(ti+ ). Note that p(ti− ) = p(ti+ ) = p(ti ), and also
of ball’s spinning velocity [5] and a racket control method for notice that z-elements of p2 and p3 are equal to r, the radius of
returning the ball directly to the target position in the oppo- the ball, because the ball contacts on the table there.
nent’s court [6]. With respect to the racket, V ∈ R3 denotes the racket’s
This paper focuses on the serving task (see Fig. 1). As far as translational velocity at the instant when hitting the ball, and
the authors know, there has been no report on serving tasks for α ∈ (−π/2, π/2), β ∈ (0, π) denote the yaw and the pitch of the
table tennis robots. In the serving, the ball must bound in the racket’s posture, respectively. Note that the racket’s forward
own court, which is different from the rallying, and so it is surface is perpendicular to the z axis when (α, β) is assigned to
harder to make the ball trajectory planning. In this paper, a (0, 0).
prediction problem and a racket control problem for the serv- Then a predictive problem of serving task is set as fol-
ing task are formulated by three physical models: aerodynamic lows; given {p1 , v1− , ω1− , t1 } and (V , α, β), predict all of
model with drag and Magnus terms [7], and table and racket re- {p3 , v3+ , ω3+ , t3 }.
bound models [8]. The prediction problem is to predict a served
2.1 Three Physical Models
ball’s position, translational and rotational velocities in the op-
ponent’s court. The racket control problem is to determine the 2.1.1 Racket Rebound Model (RRM)
racket’s velocity and posture at serving a ball to achieve the When a ball is hit by the racket, the ball’s translational and
ball’s position, translational and rotational velocities in the op- rotational velocities change complicatedly. To express those
ponent’s court. It is shown based on the three physical models phenomena, a model has been proposed under physical consid-
that the prediction problem is easy numerically while the racket erations with experiments [8]. The model will be shown briefly.
control problem is relatively harder. Therefore the paper pro-
poses an approximated solution to the racket control problem
by using a very simple aerodynamic model and verifies if the
proposed method works well by numerical simulations. Note
that the position paper of SICE 2015 [9] was a summary ver-

Dept. of Mechanical Science and Engineering, Nagoya Univ.,
Nagoya 464-8603, Japan
∗∗
Dept. of Mechatronics, Nanzan Univ., Nagoya 466-8673, Japan
E-mail: hayakawa@nuem.nagoya-u.ac.jp
(Received August 25, 2015)
(Revised November 3, 2015) Fig. 1 Ball trajectory in serve.

JCMSI 0002/16/0902–0050 
c 2015 SICE
SICE JCMSI, Vol. 9, No. 2, March 2016 51

Suppose v− , ω− ∈ R3 denote the ball’s translational velocity μ(1 + et ) v|vz−


T−
|
(vT −  0 and ν s > 0)
a := (6)
and rotational velocity just before the racket hits the ball, and 2
5 (vT − = 0 or ν s ≤ 0)
v+ , ω+ ∈ R3 denote ones just after hitting. Then the racket
r2 |vz− |
rebound model is given as where ν s := 1 − μm(1 + et )( m1 + I ) vT −  with I = 23 mr2 , i.e.,
    5 |vz− |
v+ − V v− − V ν s := 1 − μ(1 + et ) ,
= R(α, β)T r RT (α, β) (1) vT − 
(7)
ω+ ω− 2
where μ is the coefficient of dynamic friction between the ball and the
  table, and et the coefficient of restitution between the ball and
Ar Br the table, m the mass, I the moment inertia of the ball. vT −
T r := (2)
Cr Dr is the velocity of the ball surface at the point where the ball is
 
(1 − kv )I2 0 in contact with the table at t− , which is defined as follows: by
Ar := , Br := kv rS 12
0 −er denoting v− := [v x− , vy− , vz− ]T and ω− := [ω x− , ωy− , ωz− ]T ,
 
(1 − kω )I2 0 T
Cr := − r S 12 , Dr :=
kω vT − := v x− − rωy− , vy− + rω x− , 0 . (8)
0 1
⎡ ⎤ vT − is called shortly the contact velocity just before. Notice that
⎢⎢⎢ 0 1 0 ⎥⎥⎥ the parameter a in (6) holds a ∈ (0, 25 ].
⎢ ⎥
with S 12 := ⎢⎢⎢⎢ −1 0 0 ⎥⎥⎥⎥ and er is the coefficient of restitu-
⎣ ⎦
0 0 0 2.2 Prediction: Forward Calculation
tion between the ball and the racket. Note that the parameters Combining the three physical models gives a solution to the
er , kv and kω are estimated experimentally. R(α, β) is defined prediction problem. In fact, the sequence of the ball’s state tran-
as R(α, β) := block − diag(RR (α, β), RR (α, β)) with a rotational sitions are expressed by
matrix    
⎡ ⎤ v1+ − V v1− − V
⎢⎢⎢ cos β sin β sin α sin β cos α ⎥⎥⎥ = R(α, β)T r R(α, β)T (9)
⎢⎢⎢ ⎥ ω1+ ω1−
RR (α, β) = ⎢⎢ 0 cos α − sin α ⎥⎥⎥⎥ . ⎧
⎣ ⎦ ⎪

− sin β cos β sin α cos β cos α ⎪ p2 = p(t2 ; t1 , p1 , v1+ , ω1+ )



⎪ v2− = ṗ(t2 ; t1 , p1 , v1+ , ω1+ ) (10)
2.1.2 Aerodynamic Model (ADM) ⎪

⎩ ω2− = ω1+
The motion equation of the spinning ball [10] is given by the    
v2+ v2−
following aerodynamic model = T t (v2− , ω2− ) (11)
ω2+ ω2−
ρ ρ ⎧
p̈(t) = −g − C D S b ṗ(t)ṗ(t) + C M Vb ω × ṗ(t) (3) ⎪
⎪ p3 = p(t3 ; t2 , p2 , v2+ , ω2+ )
m m ⎪



⎪ v 3− = ṗ(t3 ; t2 , p2 , v2+ , ω2+ ) (12)
where g := [0, 0, g]T with g the acceleration of gravity, ρ the ⎪

⎩ ω3− = ω2+
air density, S b := 12 πr2 , Vb = 43 πr3 with r the radius of the    
ball. C D and C M are respectively the coefficients of the drag v3+ v3−
= T t (v3− , ω3− ) . (13)
and the Magnus effect. Notice that the rotational velocity ω is ω3+ ω3−
assumed to be constant during flying in the air. The notation Therefore, it is straightforward to get {p3 , v3+ , ω3+ , t3 } numeri-
p(t; t s , p s , v s , ω) will be used later for expressing a solution of cally once {p1 , v1− , ω1− , t1 } and (V , α, β) are given.
ADM (3) at time t with initial conditions of p(t s ) = p s and
ṗ(t s ) = v s . 3. Racket Control Problem and Inverse Calculation
2.1.3 Table Rebound Model (TRM) In the serving task of the table tennis robot, it is ideal
To express rebound phenomena between a spinning ball and for the racket input (V , α, β) to independently control all of
a table, a model has been proposed and verified by using exper- {p3 , v3+ , ω3+ }. But, by referring to the fact [6] for hitting the
imental data in [8]. The following is a brief explanation of the ball in the rally, it is easy to imagine that at most five variables
model. of {p3 , v3+ , ω3+ } could be independently controlled. In this sec-
v− , ω− ∈ R3 and v+ , ω+ ∈ R3 are the ball’s translational and tion, a racket control problem of serving task is set as follows;
rotational velocities just before and just after the rebound. Then given {p1 , v1− , ω1− , t1 },
the table rebound model is given as
    a) clarify what combinations among {p3 , v3+ , ω3+ , t3 } can be
v+ v− independently controlled by (V , α, β).
= T t (v− , ω− ) (4)
ω+ ω−
b) find an algorithm of calculating (V , α, β) to achieve the
where
  assigned ones among {p3 , v3+ , ω3+ , t3 }.
At (a)
Bt (a)
T t (v− , ω− ) := (5) 3.1 Physical Models’ Inverse Relations
Ct (a)
Dt (a)
  3.1.1 TRM’s Inverse Relation
(1 − a)I2 0 We will discuss how to determine {v− , ω− } satisfying TRM
At (a) := , B (a) := arS 12
0 −et  t  (4) when {v+ , ω+ } is given.
(1 − 3a )I2 0 Define vT + , which is called the contact velocity just after, as
Ct (a) := − 2r S 12 , Dt (a) :=
3a 2 .
0 1 T
vT + := v x+ − rωy+ , vy+ + ω x+ , 0 . (14)
The parameter a is a function of (v− , ω− ) as follows:
52 SICE JCMSI, Vol. 9, No. 2, March 2016

It is easy to see a relation between vT − and vT + in TRM (4) as 1) Obtain sin α (i.e., α) to a sin2 α + 2b sin α + c = 0.
follows. ηy
2) Obtain β to ξz sin β − ξ x cos β = cos α .
Lemma 1 In (4), whatever a ∈ (0, is, it holds that 2
5]
     3) Obtain V by
v x+ − rωy+ 5a v x− − rωy−  
= 1− , V = v− + RR (I − Ar )−1 RTR (v+ − v− ) − Br RTR ω− .
vy+ + rω x+ 2 vy− + rω x−
which means 3.2 Racket Control: Inverse Calculation
 
5a In this subsection, it will be shown that the racket control
vT + = 1 − vT − . (15)
2 problem can be solved approximately by replacing ADM (3) to
(Proof) It is straightforward to prove Lemma by using TRM ADM without the drag and Magnus terms, i.e., p̈(t) = −g.
(4).  Then (10) goes to

Remark 1: From the lemma, it is trivial that if vT +  0, then ⎪

⎪ p2 = p1 + v1+ T 1 − 12 gT 12


vT −  0 and a ∈ (0, 25 ) hold. If vT + = 0, then either vT − = 0 or ⎪
⎪ v2− = v1+ − gT 1 (21)


⎩ ω2− = ω1+
a = 25 must happen.
Now we will show an inverse TRM as the following lemma. with T 1 := t2 − t1 , and (12) goes to



⎪ p3 = p2 + v2+ T 2 − 12 gT 22
Lemma 2 Given {v+ , ω+ } in TRM (4), then {v− , ω− } is given ⎪


⎪ v3− = diag(1, 1, −1)v2+ (22)
as follows. ⎪

⎩ ω3− = ω2+
• For vT +  0: (v− , ω− ) is uniquely given as
    with T 2 := t3 − t2 . Recall that z elements of p2 and p3 are r.
v− v+ It is easy to see from (22) that v3T − = v2T + holds. Therefore,
= T̃ t (v+ , ω+ ) (16)
ω− ω+ Lemmas 1 and 5 imply that v3T +  0 guarantees v2T +  0. On
the other hand, when v3T + = 0, then it is possible for both cases
where
  of v2T +  0 and v2T + = 0. Hereafter we call “Case 1” for the
Ãt (b) B̃t (b) case of v3T +  0, “Case 2” for the case of {v3T + = 0, v2T +  0},
T̃ t ((v+ , ω+ ) := (17)
C̃t (b) D̃t (b) and “Case 3” for the case of v3T + = v2T + = 0.
  Lemma 4 Under (11), (13), (21) and (22), the relation between
(1 + b)I2 0
Ãt (b) := ,
B̃t (b) := −brS 12 {p1 , v1+ , ω1+ } and {p3 , v3+ , ω3+ } is given as follows.
0 − e1t
 
(1 + 3b 2 )I2 0 p3x − p1x = v3x+ (T 1 + T 2 ) + (v3x+ − rω2 )(δT 1 + γT 2 ) (23)
2r S 12 ,
3b
C̃t (b) := D̃t (b) :=
0 1 p3y − p1y = v3y+ (T 1 + T 2 ) + (v3y+ + rω1 )(δT 1 + γT 2 ) (24)
with 1 1 1 1
0 = v3z+ T 2 − gT 22 , r − p1z = − 2 v3z+ T 1 + gT 12 (25)
  et 2 et 2
1 |vz+ |
b := μ 1 + . (18) v1x+ = v3x+ + δ(v3x+ − rω2 ) (26)
et vT + 
v1y+ = v3y+ + δ(v3y+ + rω1 ) (27)
• For vT + = 0: (v− , ω− ) is given non-uniquely as
1
⎧ v1z+ = − 2 v3z+ + gT 1 (28)


⎨ v− = 53 v x+ − 2r3 ω2 , 53 vy+ + 2r3 ω1 , − e1 vz+
T
et


⎩ ω− = [ω1 , ω2 , ωz+ ]T
t (19) ω1x+ = ω1 + θ(v3y+ + rω1 ) (29)
ω1y+ = ω2 − θ(v3x+ − rω2 ) (30)
where any (ω1 , ω2 ) ∈ Ω(v+ ) and
 ω1z+ = ω3z+ (31)
Ω(v+ ) := (ω1 , ω2 ) ∈ R2 | where (ω1 , ω2 ) := (ω3x+ , ω3y+ ) for Case 1, any (ω1 , ω2 ) ∈
 (20)
(rω1 + vy+ )2 + (rω2 − v x+ )2 ≤ d2 v2z+ Ω(v3+ )/(−v3y+ /r, v3x+ /r) for Case 2, and any (ω1 , ω2 ) ∈
Ω([v3x+ , v3y+ , v3z+ /et ]) for Case 3. And also
with d := 52 μ(1 + e1t ). ⎧


⎪ b3 for Case1
(Proof) See Appendix A. ⎪

γ := ⎪ ⎪ 2/3 for Case2 (32)
3.1.2 RRM’s Inverse Relation ⎪

⎩ 0 for Case3
The condition for {v− , ω− } and {v+ , ω+ } to have a solution ⎧
(V , α, β) in RRB (1) is given as follows [6]. ⎪

⎪ (1 + e1t )b3 for Case1


δ := ⎪ ⎪ (2 + 5b )/3 for Case2 (33)
Lemma 3 [6] RRM (1) has a solution (V , α, β) if and only if ⎪

⎩ 2/3
2
for Case3
(1) ξ T η = 0, (2) η ≤ ξ ⎧
 √ 2  √ 2  ⎪

⎪ 3(1 + e1t )b3 /(2r) for Case1
η2y −b+ b2 −ac −b− b2 −ac


(3) ≤ 1 − min , θ := ⎪ ⎪ 5b2 /(2r) for Case2 (34)
ξ2x +ξz2 a a ⎪

⎩ 0 for Case3
where
where
ξ := kkωvr (v+ − v− ), η := ω+ − ω−  
μ 1 + e1t |v3z+ |
a := ξ2 , b := ξ x ηz − ξz η x , c := η2x + η2z − ξy2 . b3 :=  (35)
(v3x+ − rω3y+ )2 + (v3y+ + rω3x+ )2
Remark 2: Algorithm of calculating (V , α, β):
SICE JCMSI, Vol. 9, No. 2, March 2016 53
 
3μ 1 + e1t |v3z+ | and Δy := v3y+ + rω3x+ .
b2 :=  . (36)
5et (v3x+ − rω2 )2 + (v3y+ + rω1 )2 Note: The other pairs in Case 1 can be treated similarly.
(Proof) See Appendix B. Case 2 : v3T + = 0, v2T +  0 : {v3x+ , v3y+ } → {ω1 , ω2 }
In the serving task, it is very natural to choose p3x , p3y as the Step 1) Choose any v3x+ and any v3y+ such that
controlled variables. In addition, it is easy to see from (25) that
1 < Γ2x + Γ2y < (1 + d|v3z+ |)2
vz3+ decides T 1 , T 2 as follows.
 
T 2 = 2v3z+ /(get ) (37) where d := 52 μ 1 + e1t and
  
T 1 = v3z+ 1 ± 1 − 2ge4t (p1z − r)/v23z+ /(ge2t ) (38) Γ x := {p3x − p1x − v3x+ (T 1 + T 2 )}/ λ2
 
 Γy := p3y − p1y − v3y+ (T 1 + T 2 ) λ2
where v3z+ must satisfy v3z+ ≥ e2t 2g(p1z − r). Notice that  
there are two candidates of T 1 ; it is easy to see that the longer 1 1
λ2 := μ 1 + T 1 |v3z+ | .
T 1 makes v1z+ positive and the shorter T 1 makes v1z+ negative. et et
The other remark is; (31) suggests that ω3z+ had better be kept
as a dependent variable to satisfy the condition (1) of Lemma Step 2) Calculate ω1 = (Δy −v3y+ )/r and ω2 = (v3x+ −Δ x )/r
3, i.e., where
⎛ ⎞ ⎛ ⎞
(v1+ − v1− )T (ω1+ − ω1− ) = 0 . (39) ⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ ⎟⎟⎟
Γ x ⎜⎜⎜ 1 ⎟⎟⎟ Γy ⎜⎜⎜ 1 ⎟⎟⎟
Δ x := ⎜⎜1−  ⎜ ⎟ ⎜
⎟⎟⎟ , Δy := ⎜⎜⎜1−  ⎟⎟⎟
Therefore, let {p3x , p3y , v3z+ } be candidates of independently Γ ⎝⎜ Γ2x + Γ2y ⎠ Γ ⎝ Γ2x + Γ2y ⎠

controlled variables. Then we get the following theorem to an-
swer which combinations among {v3x+ , v3y+ , ω3x+ , ω3y+ } can be and Γ := 2(T 1 + T 2 )/(3λ2 ).
controlled independently, i.e., an answer to the problem a).
Note: The other pairs in Case 2 can be treated similarly.
Theorem 1 Given {p1 , v1− , ω1− } and under (9) and (23)-(31),
in addition to {p3x , p3y , v3z+ }, the following pairs of variables Case 3 : v3T + = v2T + = 0 : {v3x+ , v3y+ } → {ω1 , ω2 }
can be controlled independently by (V , α, β). Step 1) Choose any v3x+ and any v3y+ such that Γ2x + Γ2y <
 
• For v3T +  0 (i.e., Case 1), {v3x+ , ω3x+ }, {v3x+ , ω3y+ }, d2 (v3z+ /et )2 holds where d := 52 μ 1 + e1t and
{v3y+ , ω3x+ } and {v3y+ , ω3y+ }.
Γ x := {p3x − p1x − v3x+ (T 1 + T 2 )}/ λ3
 
• For v3T + = 0 (i.e., Cases 2 and 3), {v3x+ , v3y+ }, Γy := p3y − p1y − v3y+ (T 1 + T 2 ) λ3
{v3x+ , ω3x+ }, {v3y+ , ω3y+ } and {ω3x+ , ω3y+ }.
with λ3 := 2T 1 /3.
(Proof) See Appendix C.
Step 2) Calculate ω1 = (Γy −v3y+ )/r and ω2 = (v3x+ −Γ x )/r.
The proof of Theorem 1 shows that (V , α, β) can be obtained
by the following algorithm. Note: The other pairs in Case 3 can be treated similarly.
Remark 3: Assigned two variables among {v3x+ , v3y+ , ω1 , ω2 }
4. Numerical Verification
as shown in Theorem 1, the following algorithms show how to
calculate the other two variables (for detailed derivations, see In this section, it is investigated how well the proposed racket
Proof of Theorem 1 in Appendix C). That is a sort of answer to control works by comparing the inverse calculation with the
the problem b). forward calculation in some numerical simulations. The proce-
Case 1: v3T +  0: {v3x+ , ω3x+ } → {v3y+ , ω3y+ } dure is as follows; given {p1 , v1− , ω1− } and assigned five con-
trolled variables which are a pair of variables in Theorem 1
Step 1) Choose any v3x+ such that and {p3 , v3z+ }, then get the racket input (V , α, β) by using the
  proposed inverse calculation (Remark 3). After that, obtain
p3x − p1x − λ1 p3x − p1x + λ1
v3x+ ∈ , {p3 , v3+ , ω3+ } by the forward calculation where ADM (3) with
T1 + T2 T1 + T2
     drag and Magnus terms is used.
with λ1 := μ 1 + e1t 1 + e1t T 1 + T 2 |v3z+ |. It is generally known [11]–[14] that the drag coefficient C D
and the Magnus coefficient C M depend on Reynolds number
Step 2) Calculate
 and the spin parameter, where the spin parameter S P is de-
p3y − p1y ± λ1 1 − Γ2x fined as S P := rω × ṗ/ṗ2 . From the fact [11] that C D
v3y+ =
T1 + T2 and C M do not depend on Reynolds number in its range of
where Γ x := {p3x − p1x − v3x+ (T 1 + T 2 )}/ λ1 . [1500, 30000] which corresponds to the conventional ball’s
speed range [0.5, 10] m/s. In addition, from some observa-
Step 3) Choose any ω3x+ such that tion [13] and [14], it is assumed here that C D and C M are given
by
ω3x+ < −v3y+ /r if Γy < 0
ω3x+ > −v3y+ /r if Γy > 0 C∗ := max{a∗ + b∗ S P , 0} for ∗ = D, M (40)
  where the parameters a∗ and b∗ are set by referring to some
where Γy := p3y − p1y − v3y+ (T 1 + T 2 ) λ1 .
experimental data.
Step 4) Calculate ω3y+ = (v3x+ − Δ x )/r with Δ x := Δy Γ x /Γy All the parameters in the ball, the table, the aerodynamic
54 SICE JCMSI, Vol. 9, No. 2, March 2016

model (ADM), the racket rebound model (TRM) and the table
rebound model (TRM), which are used in numerical simula-
tions, are summarized in Table 1.

Table 1 Simulation parameters.


Ball and Table Aerodynamic Model (ADM)
Parameter Value Parameter Value
Ball’s Mass m (Kg) 2.7 × 10−3 Air Density ρ (Kg/m3 ) 1.184
Ball’s Radius r (m) 2 × 10−2 aD 0.42
Table’s Length L (m) 2.74 bD -0.16
Table’s Width W (m) 1.525 aM 0.11
bM -0.04
Racket Rebound Model (RRM)
Parameter Value Table Rebound Model (TRM)
Restitution Coeff. er 0.73 Parameter Value
kv 0.615 Dynamic Friction Coeff. μ 0.25
kω 1.028 Restitution Coeff. et 0.93
Fig. 2 Ball trajectory.

The ball is assumed to be released at the position p0 = Table 2 Case 1.


(L, W/2, 0.8) m with zero translational and rotational speeds, p3x , p3y v3x+ , v3y+ , v3z+ ω3x+ , ω3y+ , ω3z+
and also assumed to be struck by the racket at p1 = Ass. 0.342, 0.381 -2.5, ∗ ∗ ∗ , 2.15 ∗ ∗ ∗, -100 , ∗ ∗ ∗
(L, W/2, 0.30) m. The ADM (3) gives the ball velocity at that
V α (deg) β (deg) T1 T2
instant as v1− = (0, 0, −3.043) m/s and ω1− = (0, 0, 0) rad/s.
-4.39, -3.34, 2.66 -57.2 -52.1 With 0.343 0.448
As the assigned controlled variables, p3x = L/8 = 0.3425
W/O 0.338 0.471
m and p3y = W/4 = 0.3812 m are fixed. In addition, v3z+ =
2.15 m/s is also fixed. Notice that there exist two candidates for p2x , p2y v2T x+ , v2T y+ v3T x+ , v3T y+
With 1.677, 0.413 -1.19, -4.20 -0.38, -1.51
T 1 as remarked under (38), and here the longer T 1 is chosen.
W/O 1.672, 0.377 -1.30, -4.34 -0.50, -1.67
The other two controlled variables and the simulation results
are shown in Tables 2-4 for Cases 1-3. p3x , p3y v3x+ , v3y+ , v3z+ ω3x+ , ω3y+ , ω3z+
Figure 2 shows the ball trajectory; (a) Case 1, (b) Case 2, With 0.503 , 0.535 -2.25 , 1.36 , 2.04 -143.2 , -93.3 , -263.1
W/O 0.343 , 0.381 -2.50 , 1.08 , 2.15 -137.3 , -100.0 , -263.1
and (c) Case 3, where the solid solid curve denotes the ball
trajectory calculated by the racket input (V , α, β) of Tables 2-4,
Table 3 Case 2.
RRM, TRM and ADM, while the dashed dashed curve denotes
p3x , p3y v3x+ , v3y+ , v3z+ ω3x+ , ω3y+ , ω3z+
one calculated in the same way except using ADM without the
Ass. 0.342, 0.381 -3.5, -0.5 , 2.15 ∗ ∗ ∗, ∗ ∗ ∗, ∗ ∗ ∗
drag and Magnus terms.
Table 2 shows Case 1 where in addition to {p3x , p3y , v3z+ }, V α (deg) β (deg) T1 T2
-0.50, -0.31, 2.47 6.8 -76.3 With 0.334 0.437
{v3x+ , ω3y+ } is assigned and those values are denoted in “Ass.”
W/O 0.338 0.471
row the first sub-table. The assigned values of {p3x , p3y , v3z+ }
decide the range of v3x+ as (−5.05, −2.11) m/s (see Remark 3), p2x , p2y v2T x+ , v2T y+ v3T x+ , v3T y+
then −2.5 m/s is chosen. Subsequently, those values above in- With 1.991, 0.619 0.16, 0.01 0.00, 0.00
duce the range of ω3y+ as greater than −125 rad/s, so −100 rad/s W/O 1.975, 0.616 0.09, 0.00 0.00, 0.00
is chosen. p3x , p3y v3x+ , v3y+ , v3z+ ω3x+ , ω3y+ , ω3z+
The racket input (V , α, β) obtained by the proposed inverse With 0.579 , 0.421 -3.24 , -0.45 , 2.07 22.5 , -162.0 , -12.5
calculation is shown in the second sub-table of Table 2. In the W/O 0.343 , 0.381 -3.50 , -0.50 , 2.15 25.0 , -175.0 , -12.5
other sub-tables, “With” row shows the numerical results by
using (V , α, β), ADM (3), TRM (4) and RRM (1). As a refer- tatively well in the sense that Case 1 can be achieved, while
ence, “W/O” row denotes the numerical results by using ADM quantitatively it does not work so well.
without the drag and Magnus terms. Table 3 shows Case 2, where in addition to {p3x , p3y , v3z+ },
You can see from Table 2 that v2T +  0 and v3T +  0 {v3x+ , v3y+ } are assigned; the range of v3x+ is given as
in both “With” and “W/O”, so the situation of Case 1 is re- (−4.86, −3.46) ∪ (−2.46, −1.07) (see Remark 3), so v3x+ = −3.5
ally achieved. And also you can find that with respect to m/s is chosen. Then the range of v3y+ is given as (−2.29, 1.35),
{p3x , p3y , v3x+ , v3z+ , ω3y+ }, the “W/O” row coincides with the so v3y+ = −0.5 m/s is chosen. You can see from Table 3 that
“Ass.” row. Therefore, it can be concluded that the proposed in- v2T +  0 and v3T + = 0, which means the situation of Case 2
verse calculation for solving the racket control problem works is really achieved. The results shown in the last sub-table of
well. But in the real aerodynamic model ADM (3), which in- Table 3 have almost same characteristics as Case 1, but p3x is
cludes the drag and Magnus terms, the resultant positions and worse and p3y is better.
velocities shown in the “With” row is different from the values Table 4 shows Case 3, where {v3x+ , v3y+ } are assigned as well
in the “Ass.” row, especially the differences are not so small in in addition to {p3x , p3y , v3z+ }. The ranges of v3x+ and v3y+ are
positions (about 0.15 m). Consequently we can conclude from given as (−3.80, −2.13) and (−1.30, 0.36) respectively (see Re-
Table 2 that the proposed racket control method works quali- mark 3), so −3.6 m/s is chosen for v3x+ and −0.5 m/s for v3y+ .
SICE JCMSI, Vol. 9, No. 2, March 2016 55

Table 4 Case 3. pp. 259–266, 2013.


p3x , p3y v3x+ , v3y+ , v3z+ ω3x+ , ω3y+ , ω3z+ [7] J. Nonomura, A. Nakashima, and Y. Hayakawa: Analysis of ef-
Ass. 0.342, 0.381 -3.0, -0.5 , 2.15 ∗ ∗ ∗, ∗ ∗ ∗, ∗ ∗ ∗ fects of spin, rebound and aerodynamics for trajectory of table
V α (deg) β (deg) T1 T2 tennis ball, Proc. SICE Ann. Conf. 2010, pp. 1567–1572, 2010.
-0.72, -0.01, 0.93 8.5 -60.0 With 0.329 0.442
[8] A. Nakashima, et al.: Modeling of rebound phenomenon of a
rigid ball with friction and elastic effects, Proc. ACC, pp. 1410–
W/O 0.338 0.471
1415, 2010.
p2x , p2y v2T x+ , v2T y+ v3T x+ , v3T y+ [9] Y. Hayakawa, et al.: Ball’s trajectory planning in serving task
With 1.816, 0.625 0.00, 0.00 0.00, 0.00 for table tennis robot, Proc. SICE Ann. Conf. 2015, pp. 1803–
W/O 1.757, 0.617 0.00, 0.00 0.00, 0.00 1808, 2015.
p3x , p3y v3x+ , v3y+ , v3z+ ω3x+ , ω3y+ , ω3z+ [10] N. Okada, et al.: Estimating unobserved motion of a ball by
With 0.607 , 0.420 -2.69 , -0.46 , 2.07 22.8 , -134.3 , 5.3 acquiring its physical model from image sequences, IEICE
W/O 0.343 , 0.381 -3.00 , -0.50 , 2.15 25.0 , -150.0 , 5.3
Trans. D (Japanese Edition), Vol.J91-D, No. 12, pp. 2950–
2960, 2008.
[11] JSME edit.: JSME Mechanical Engineers’ Handbook,
You can see from Table 4 that v2T + = v3T + = 0, thus the situa- pp.A5.97–A5.99, 1987. (in Japanese)
tion of Case 3 is really achieved. The results shown in the last [12] B. Oesterlé and T. Bui Dinh: Experiments on the lift of a spin-
sub-table of Table 4 look the same characteristics as Case 2. ning sphere in a range of intermediate Reynolds numbers, Ex-
From observing Tables 3 and 4, again we can conclude that periments in Fluids, Vol. 25, pp. 16–22, 1998.
the proposed racket control method works qualitatively well, [13] T. Taniguchi et al.: Measurement of aerodynamic forces ex-
erted on a hard baseball, Nagare (Trans. Japanese Society of
but quantitatively not so well.
Fluid Mechanics), Vol. 25 pp. 257–264, 2006. (in Japanese)
[14] K. Takami, T. Miyazaki, and R. Himeno: Negative mag-
5. Conclusions
nus force exerted on a back-spinning spherical body, Nagare
In the table tennis robot, the serving task was formulated as (Trans. Japanese Society of Fluid Mechanics), Vol. 28 pp. 347–
the prediction problem and the racket control problem. After a 356, 2008. (in Japanese)
table tennis ball was hit by the racket with the velocity and the
posture (V , α, β), the ball rebounds on the table in own court Appendix A Proof of Lemma 2
and then rebounds again on the table in the opponent’s court. Before proving Lemma 2, it is easy to see the following
The prediction problem is to predict the ball’s state just after the lemma.
second rebound. On the other hand, the racket control problem
is to determine the racket input (V , α, β) to achieve the assigned Lemma 5 In (16), it holds
    
ball’s state just after the second rebound. v x− − rωy− 5b v x+ − rωy+
= 1+ ,
In order to solve those problems, the methods based on the vy− + rω x− 2 vy+ + rω x+
three physical models are proposed: the aerodynamic model
which means
with the drag and Magnus terms (ADM), the table rebound  
model (TRM) and the racket rebound model (RRM). The pre- 5b
vT − = 1 + vT + .
diction problem can be solved easily by using the forward cal- 2
culations. However, the racket control problem is relatively (Proof) It is easy to prove Lemma by using (16). 
harder to solve because of ADM’s nonlinearity. The proposed Now we will prove Lemma 2; first the case of vT +  0, then
method can solve approximately the racket control problem by the case of vT + = 0.
ignoring the nonlinearity of ADM and the inverse calculations.
Some numerical simulations show the proposed inverse calcu- A. 1 The case of vT+  0
lation for solving the racket control problem works qualitatively By using (16), define {ṽ, ω̃} as
well (i.e., for the problem a)), but quantitatively not so well(i.e.,    
ṽ v+
the problem b)). := T̃ t (v+ , ω+ ) ,
The future research is to verify the proposed method by ex- ω̃ ω+
periments. then we will show that {ṽ, ω̃} satisfy (4), i.e.,
   
References v+ ṽ
= T t (ṽ, ω̃) .
[1] M. Matsushima, et al.: A learning approach to robotic table ten- ω+ ω̃
nis, IEEE Trans. Robotics, Vol. 21, No. 4, pp. 767–771, 2005.
[2] L. Acosta et al.: Ping-pong player prototype, IEEE Robotics & That is equivalent to proving T total = I6 where
Automation Magazine, Vol. 10, No. 4, pp. 44–52, 2003.  
T 11 T 12
[3] Y. Huang, D. Xu, M. Tan, and H. Su: Adding active learning T total := T t (ṽ, ω̃)T̃ t (v+ , ω+ ) = .
to LWR for ping-pong playing robot, IEEE Trans. Control Sys- T 21 T 22
tems Technology, Vol. 21, No. 4, pp. 1489–1494, 2013.
It is straightforward to see
[4] Y. Zhang, et al.: Real-time spin estimation of ping-pong ball
using its natural brand, IEEE Trans. Instrum. Meas., Vol. 64, T 11 = At (ã)Ãt (b) + Bt (ã)C̃t (b) = diag(1 − k, 1 − k, 1)
No. 8, pp. 2280–2290, 2015.
T 12 = At (ã) B̃t (b) + Bt (ã)D̃t (b) = rkS 12
[5] C. Liu, Y. Hayakawa, and A. Nakashima: An on-line algorithm
for measuring the translational and rotational velocity of a table 3
T 21 = Ct (ã)Ãt (b) + Dt (ã)C̃t (b) = − kS 12
tennis ball, SICE JCMSI, Vol. 5, No. 4, pp. 233–241, 2012. 2r  
[6] C. Liu, Y. Hayakawa, and A. Nakashima: Racket control for a 3 3
table tennis robot to return a ball, SICE JCMSI, Vol. 6, No. 4, T 22 = Ct (ã) B̃t (b) + Dt (ã)D̃t (b) = diag 1 − k, 1 − k, 1
2 2
56 SICE JCMSI, Vol. 9, No. 2, March 2016

with B. 1 Case 1: v3T+  0 ( and so v2T+  0)


5 By applying Lemma 2 to (13) with v3T +  0, it is straightfor-
k := ã − b + ãb . (A. 1)
2 ward to see
Notice that ã is given by
v3x− = v3x+ + b3 (v3x+ − rω3y+ ), v3y− = vy3+ + b3 (v3y+ + rω3x+ )
|ṽz | b
ã = μ(1 + et ) = . (A. 2) 3b3 3b3
ṽT  1 + 52 b ω3x− = ω3x+ + (v3y+ +rω3x+ ), ω3y− = ω3y+ − (v3x+ −rω3y+ )
2r 2r
In fact, Lemma 5 claims that that ṽT = (1 + 5b/2)vT +  0, 1
v3z− = − v3z+ , ω3z− = ω3z+
therefore (7) gives et
5 |ṽz | 5 |vz+ | where b3 is given in (35).
ν̃ s = 1− μ(1+et ) = 1− μ(1+1/et )   .
2 ṽT  2 1+ b vT + 
5 Substituting those equations into (B. 7) and (B. 8), it is easy
2
to see
5
2b
Then by using (18), it is easy to see ν̃ s = 1 − > 0. TRM
1+ 52 b v2x+ = v3x+ + b3 (v3x+ − rω3y+ ), v2y+ = vy3+ + b3 (v3y+ + rω3x+ )
(4) gives ã as (A. 2) according to the facts of ṽT  0 and ν̃ s > 0.
3b3 3b3
Associated with k defined in (A. 1), (A. 2) implies k = 0. ω2x+ = ω3x+ + (v3y+ +rω3x+ ), ω2y+ = ω3y+ − (v3x+ −rω3y+ )
2r 2r
Therefore T 11 = T 22 = I3 and T 12 = T 21 = 0, thus it has been
1
proved that T total = I6 . v2z+ = v3z+ , ω2z+ = ω3z+ .
et
A. 2 The case of vT+ = 0 And substituting v2+ above into (B. 5)-(B. 6), we get
Recall the remark under Lemma 1, i.e., vT + = 0 means either
a = 25 or vT − = 0. And also recall that TRM (4) claims a = 25 p3x − p2x = v3x+ T 2 + γT 2 (v3x+ − rω3y+ ) (B. 9)
when vT − = 0. Consequently, it always holds that a = 25 in (4) p3y − p2y = v3y+ T 2 + γT 2 (v3y+ + rω3x+ ) (B. 10)
when vT + = 0. 1 1
In the case of vT −  0 and a = 25 , TRM (4) claims ν s := 0 = v3z+ T 2 − gT 22 (B. 11)
et 2
1 − 52 μ(1 + et ) v|vz−
T−
|
≤ 0, which is equivalent to
where γ := b3 , Case 1 in (32).
5 Again apply Lemma 2 to (11) with v2T +  0, and using
vT −  ≤ μ(1 + et )|vz− | . (A. 3)
2 {v2+ , ω2+ } above, then we get
This inequality holds even in the case of vT − = 0. Conse-
quently, vT + = 0 implies that vT − satisfies (A. 3). v2x− = v2x+ + b2 (v2x+ − rω2y+ ) = v3x+ + δ(v3x+ − rω3y+ )
Now we will consider (4) with a = 25 ; given {v+ , ω+ } with v2y− = vy2+ + b2 (v2y+ + rω2x+ ) = vy3+ + δ(v3y+ + rω3x+ )
vT + = 0, find all of {v− , ω− } satisfying (4). This problem can 1 1
v2z− = − v2z+ = − 2 v3z+
be solved as follows. et et
Noticing that v x+ = rωy+ and vy+ = −rω x+ , it is easy to 3b2
see that {v− , ω− } is expressed as (19) with the parameters of ω2x− = ω2x+ + (v2y+ +rω2x+ ) = ω3x+ + θ(v3y+ + rω3x+ )
2r
(ω1 , ω2 ), the permissible region Ω(v+ ) of which is given by (20) 3b2
because of the inequality (A. 3). ω2y− = ω2y+ − (v2x+ −rω2y+ ) = ω3y+ − θ(v3x+ − rω3y+ )
2r
ω2z− = ω2z+ = ω3z+
Appendix B Proof of Lemma 4
The lemma can be proved by applying Lemma 2 to (11) and where
(13) and using (21) and (22).  
1 |v2z+ | b3
Expressing every element, (21) goes to b2 := μ 1 + =
et v2T +  et (1 + 52 b3 )
p2x − p1x = v1x+ T 1 , p2y − p1y = v1y+ T 1 (B. 1)
1 and
p2z − p1z = r − p1z = v1z+ T 1 − gT 12 (B. 2)    
2 5 1
δ := b2 + b3 + b2 b3 = 1 + b3 ,
and 2 et
   
v1x+ = v2x− , v1y+ = v2y− , v1z+ = v2z− + gT 1 3 5 3 1
(B. 3) θ := b2 + b 3 + b 2 b 3 = 1+ b3 .
2r 2 2r et
ω1x+ = ω2x− , ω1y+ = ω2y− , ω1z+ = ω2z− . (B. 4)
Substituting {v2− , ω2− } obtained above into (B. 3) and (B. 4),
(22) also goes to
we get
p3x − p2x = v2x+ T 2 , p3y − p2y = v2y+ T 2 (B. 5)
1 v1x+ = v3x+ + δ(v3x+ − rω3y+ ), v1y+ = v3y+ + δ(v3y+ + rω3x+ )
p3z − p2z = r − r = 0 = v2z+ T 2 − gT 22 (B. 6) ω1x+ = ω3x+ + θ(v3y+ + rω3x+ ), ω1y+ = ω3y+ − θ(v3x+ − rω3y+ )
2
and 1
v1z+ = − 2 v3z+ + gT 1 , ω1z+ = ω3z+
et
v2x+ = v3x− , v2y+ = v3y− , v2z+ = −v3z− (B. 7)
ω2x+ = ω3x− , ω2y+ = ω3y− , ω2z+ = ω3z− . (B. 8) which correspond to (26)-(31) in Lemma. And also substituting
v1+ above into (B. 1) and (B. 2), it is as follows.
SICE JCMSI, Vol. 9, No. 2, March 2016 57

p2x − p1x = v3x+ T 1 + δT 1 (v3x+ − rω3y+ ) Ω(v3+ )/(−v3y+ /r, v3x+ /r).
p2y − p1y = v3y+ T 1 + δT 1 (v3y+ + rω3x+ ) Applying Lemma 2 to (11) with v2T +  0, using (B. 13)-
1 1 (B. 16), we get
−p1z = − 2 v3z+ T 1 + gT 12 .
et 2 v2x− = v2x+ + b2 (v2x+ − rω2y+ ) = v3x+ + δ(v3x+ − rω2 )
Combining those equations with (B. 9)-(B. 11) derives (23)- v2y− = vy2+ + b2 (v2y+ + rω2x+ ) = v3y+ + δ(v3y+ + rω1 )
(25) in Lemma. 1 1
v2z− = − v2z+ = − 2 v3z+
et et
B. 2 Cases 2 and 3: v3T+ = 0
3b2
Notice that v3T + = 0 means ω2x− = ω2x+ + (v2y+ + rω2x+ ) = ω1 + θ(v3y+ + rω1 )
2r
v3x+ = rω3y+ , v3y+ = −rω3x+ . 3b2
ω2y− = ω2y+ − (v2x+ − rω2y+ ) = ω2 − θ(v3x+ − rω2 )
2r
By applying Lemma 2 for (13) with v3T + = 0, it is straight- ω2z− = ω2z+ = ω3z+
forward to see
where
5 2r 2
v3x− = v3x+ − ω2 = v3x+ + (v3x+ − rω2 )  
3 3 3 1 |v2z+ |
b2 := μ 1 +
5 2r 2 et v2T + 
v3y− = v3y+ + ω1 = v3y+ + (v3y+ + rω1 )
3 3 3 which is equal to (36), and
1 2 + 5b2
v3z− = − v3z+ δ := , θ :=
5b2
.
et 3 2r
ω3x− = ω1 , ω3y− = ω2 , ω3z− = ω3z+
Substituting {v2− , ω2− } obtained above into (B. 3) and (B. 4),
where any (ω1 , ω2 ) ∈ Ω(v3+ ). we get
Substituting those equations into (B. 7) and (B. 8), we get
v1x+ = v3x+ + δ(v3x+ − rω2 ), v1y+ = v3y+ + δ(v3y+ + rω2 )
2 2
v2x+ = v3x+ + (v3x+ − rω2 ), v2y+ = v3y+ + (v3y+ + rω1 ) ω1x+ = ω1 + θ(v3y+ + rω1 ), ω1y+ = ω2 − θ(v3x+ − rω2 )
3 3
1 1
v2z+ = v3z+ , ω2x+ = ω1 , ω2y+ = ω2 , ω2z+ = ω3z+ . v1z+ = − 2 v3z+ + gT 1 , ω1z+ = ω3z+
et et
Therefore, it is easy to see which correspond to (26)-(31) in Lemma. And also substituting
v1+ above into (B. 1)-(B. 2), it is as follows.
v2T + := [v2x+ − rω2y+ , v2y+ + ω2x+ , 0]T
5 p2x − p1x = v3x+ T 1 + δT 1 (v3x+ − rω2 ) (B. 20)
= [v3x+ − rω2 , v3y+ + rω1 , 0]T . (B. 12)
3 p2y − p1y = v3y+ T 1 + δT 1 (v3y+ + rω1 ) (B. 21)
And substituting v2+ above into (B. 5)-(B. 6), we get 1 1
−p1z = − 2 v3z+ T 1 + gT 12 (B. 22)
2 et 2
p3x − p2x = v3x+ T 2 + (v3x+ − rω2 )T 2
3 Combining those equations with (B. 17)-(B. 19) derives (23)-
2 (25) in Lemma.
p3y − p2y = v3y+ T 2 + (v3y+ + rω1 )T 2
3 B.2-2 Case 3: v3T+ = 0 and v2T+ = 0
1 1 Applying Lemma 2 to (11) with v2T + = 0, using (B. 13)-
0 = v3z+ T 2 − gT 22 .
et 2 (B. 16), we get
Notice that v2T + = 0 is equivalent to v3x+ − rω2 = 0 and 2 2
v3y+ + rω1 = 0. Therefore it can be concluded that for both v2x− = v2x+ + (v2x+ − rω2 ) = v3x+ + (v3x+ − rω2 )
3 3
cases of v2T +  0 and v2T + = 0, we can express 2 2
v2y− = v2y+ + (v2y+ + rω1 ) = v3y+ + (v3y+ + rω1 )
v2x+ = v3x+ + γ(v3x+ − rω2 ) (B. 13) 3 3
1 1
v2y+ = v3y+ + γ(v3y+ + rω1 ) (B. 14) v2z− = − v2z+ = − 2 v3z+
et et
1
v2z+ = v3z+ (B. 15) ω2x− = ω1 , ω2y− = ω2 , ω2z− = ω2z+ = ω3z+
et
ω2x+ = ω1 , ω2y+ = ω2 , ω2z+ = ω3z+ (B. 16) where any (ω1 , ω2 ) ∈ Ω(v2+ ). Note that
 
v3z+
and Ω(v2+ ) = Ω v3x+ , v3y+ , .
et
p3x − p2x = v3x+ T 2 + γT 2 (v3x+ − rω2 ) (B. 17)
In fact, it is easy to see v2+ = [v3x+ v3y+ ve3z+t ]T because of
p3y − p2y = v3y+ T 2 + γT 2 (v3y+ + rω1 ) (B. 18)
(B. 13)-(B. 15) with v2T + = 0.
1 1 Substituting {v2− , ω2− } obtained above into (B. 3) and (B. 4),
0 = v3z+ T 2 − gT 22 (B. 19)
et 2 we get (26)-(31) with δ := 2/3, θ := 0 in Lemma.
where And also substituting v1+ above into (B. 1) and (B. 2), we get
2/3 for v2T +  0 (B. 20)-(B. 22). Combining (B. 20)-(B. 22) with (B. 17)-(B. 19)
γ := .
0 for v2T + = 0 derives (23)-(25) in Lemma.

B.2-1 Case 2: v3T+ = 0 and v2T+  0 Appendix C Proof of Theorem 1


Because of (B. 12), v2T +  0 means (ω1 , ω2 ) ∈ Suppose {p1 , v1− , ω1− } are given and two variables among
58 SICE JCMSI, Vol. 9, No. 2, March 2016

{v3x+ , v3y+ , ω1 , ω2 } which is shown in Theorem in addition to Now suppose that v3x+ and v3y+ are fixed, and so Γ x (v3x+ )
{p3x , p3y , v3z+ } are assigned. Then, in oder to prove Theorem, it and Γy (v3y+ ) are fixed as well. Then let ω3x+ be assigned at any
is enough to show that {v1+ , ω1+ } is uniquely decided such that value such that sign Δy (v3y+ , ω3x+ )=sign Γy (v3y+ ), i.e.,
(39) holds.
Lemma 4 gives the relations (23)-(31) between {p3 , v3+ , ω3+ } ω3x+ < −v3y+ /r if Γy (v3y+ ) < 0
.
and {p1 , v1+ , ω1+ }. Recall that v3z+ decides T 1 , T 2 and vz1+ , and ω3x+ > −v3y+ /r if Γy (v3y+ ) > 0
also ω3z+ is the reserved variable for (39), which means that
Once ω3x+ is fixed, so Δy (v3y+ , ω3x+ ) is fixed, then ω3y+ is
(25), (28) and (31) have already used.
determined by Δ x (v3x+ , ω3y+ )Γy (v3y+ ) = Δy (v3y+ , ω3x+ )Γ x (v3x+ ),
Note that under the assumption that p3x , p1x , p3y , p1y , v3z+
i.e.,
are assigned and T 1 , T 2 are already fixed, (23) and (24) have
four unknown variables of {v3x+ , v3y+ , ω1 , ω2 }. If it could v3x+ Δy (v3y+ , ω3x+ )Γ x (v3x+ )
be shown that when two variables among {v3x+ , v3y+ , ω1 , ω2 } ω3y+ = − .
r rΓy (v3y+ )
shown in Theorem are assigned, the other two variable among
{v3x+ , v3y+ , ω1 , ω2 } are determined by (23) and (24), it is easy C. 2 Case 2 and Case 3 v3T+ = 0
to see that (26), (27), (29) and (30) give {v1x+ , v1y+ , ω1x+ , ω1y+ }. Notice that v3x+ = rω3y+ and v3y+ = ω3x+ because of v3T + =
Through the proof, the following notations will be used. 0. This means that assigning v3x+ is equivalent to assigning
ω3y+ as well as v3y+ to ω3x+ .
Δ x (v3x+ , ω2 ) := v3x+ − rω2 , Δy (v3y+ , ω1 ) := v3y+ + rω1 .
Here we will prove that when {v3x+ , v3y+ } is assigned under
C. 1 Case 1 v3T+  0 ( and v2T+  0) (23) and (24), then {ω1 , ω2 } is determined for both Case 2 and
Case 3.
A pair of {v3x+ , ω3x+ } is considered here. Then we will
show that (23) and (24) decide {v3y+ , ω3y+ }. The other pairs C.2-1 Case 2: v3T+ = 0 and v2T+  0
{v3x+ , ω3y+ }, {v3y+ , ω3x+ }, and {v3y+ , ω3y+ } are proved in a simi- By introducing the following notations
lar way.
Γ x (v3x+ ) := {p3x − p1x − v3x+ (T 1 + T 2 )}/λ2
First notice that at least one of Δ x (v3x+ , ω3y+ ) and
Δy (v3y+ , ω3x+ ) is not zero because v3T +  0. Γy (v3y+ ) := {p3y − p1y − v3y+ (T 1 + T 2 )}/λ2
Introduce the following notations Γ := 2(T 1 + T 2 )/(3λ2 )

Γ x (v3x+ ) := {p3x − p1x − v3x+ (T 1 + T 2 )} /λ1 where


   
Γy (v3y+ ) := p3y − p1y − v3y+ (T 1 + T 2 ) /λ1 1 1
λ2 := μ 1 + T 1 |v3z+ | ,
et et
where
     then (23) and (24) respectively become
1 1
λ1 := μ 1 + 1+ T 1 + T 2 |v3z+ | . ⎛ ⎞
et et ⎜⎜⎜ ⎟⎟⎟
⎜⎜⎜ 1 ⎟⎟⎟
In (23) and (24) of Lemma 4, noticing ⎜
Γ x (v3x+ ) = Δ x (v3x+ , ω2 ) ⎜⎜Γ+  ⎟⎟⎟
⎜⎝ ⎟
   Δ2x (v3x+ , ω2 )+Δ2y (v3y+ , ω1 ) ⎠
1
δT 1 + γT 2 = b3 1 + T1 + T2 (C. 1)
et ⎛ ⎞
% ⎜⎜⎜ ⎟⎟⎟
= λ1 Δ2x (v3x+ , ω3y+ ) + Δ2y (v3y+ , ω3x+ ) , ⎜⎜⎜ 1 ⎟⎟⎟
Γy (v3y+ ) = Δy (v3y+ , ω1 ) ⎜⎜⎜Γ+  ⎟⎟⎟ .
⎝⎜ Δ2x (v3x+ , ω2 )+Δ2y (v3y+ , ω1 ) ⎠

(23) and (24) respectively can be expressed as
(C. 2)
Δ x (v3x+ , ω3y+ )
Γ x (v3x+ ) =  Note that
Δ2x (v3x+ , ω3y+ ) + Δ2y (v3y+ , ω3x+ )
  2
Δy (v3y+ , ω3x+ ) Γ2x (v3x+ )+Γ2y (v3y+ ) = 1+Γ (Δ2x (v3x+ , ω2 )+Δ2y (v3y+ , ω1 ))
Γy (v3y+ ) =  ,
Δ2x (v3x+ , ω3y+ ) + Δ2y (v3y+ , ω3x+ ) and also note (ω1 , ω2 ) ∈ Ω(ω3+ )/(−v3y+ /r, v3x+ /r) which means
which imply that 0 < Δ2x (v3x+ , ω2 ) + Δ2y (v3y+ , ω1 ) < d2 v23z+
Γ2x (v3x+ ) + Γ2y (v3y+ ) = 1 . with d := 52 μ(1 + e1t ). Consequently it holds that
Suppose that v3x+ is assigned such that −1 ≤ Γ x (v3x+ ) ≤ 1, i.e.,
1 < Γ2x (v3x+ ) + Γ2y (v3y+ ) < (1 + d|v3z+ |)2 . (C. 3)
which means
  Suppose that v3x+ and v3y+ are chosen such that they
p3x − p1x − λ1 p3x − p1x + λ1
v3x+ ∈ , . satisfy (C. 3). Note that at least one of Δ x (v3x+ , ω3y+ )
T1 + T2 T1 + T2
and Δy (v3y+ , ω3x+ ) is not zero because of (ω1 , ω2 ) ∈
Thus v3x+ determines v3y+ by Γy (v3y+ )2 = 1 − Γ x (v3x+ )2 , i.e., Ω(v3+ )/(−v3y+ /r, v3x+ /r). Without loss of generality, suppose
Δ x (v3x+ , ω2 )  0, which also means Γ x (v3x+ )  0 and so

p3y − p1y ± λ1 1 − Γ2x (v3x+ ) Γy (v3y+ )/Γ x (v3x+ ) = Δy (v3y+ , ω1 )/Δ x (v3x+ , ω2 ) because of (C. 1)
v3y+ = . and (C. 2). Therefore (C. 1) derives
T1 + T2
SICE JCMSI, Vol. 9, No. 2, March 2016 59

Δ2x (v3x+ , ω2 )
{Γ x (v3x+ ) − ΓΔ x (v3x+ , ω2 )}2 =
Δ2x (v3x+ , ω2 ) + Δ2y (v3y+ , ω1 )
Yoshikazu HAYAKAWA (Member, Fellow)
Γ2x (v3x+ )
= 2 , He received the B.E. degree in mechanical engineer-
Γ x (v3x+ ) + Γ2y (v3y+ ) ing, and the M.E. and Dr. Eng. degrees in information
and control science, all from Nagoya University, Nagoya,
then we get
⎛ ⎞ Japan, in 1974, 1976, and 1982, respectively. Since 1979,
⎜⎜ ⎟⎟⎟
Γ x (v3x+ ) ⎜⎜⎜⎜
he has been with the Faculty of Engineering, Nagoya
1 ⎟⎟⎟
Δ x (v3x+ , ω2 ) = ⎜⎜⎜1 ±  ⎟⎟⎟ University, where he is presently a Professor of the Dept.
Γ ⎝⎜ Γ2x (v3x+ ) + Γ2y (v3y+ )
⎟⎠ of Mechanical Science and Engineering. His research in-
terests are in system and control theory, robot control, and vibration con-
Γy (v3y+ ) trol. He is a member of JSME, IEEE, etc.
Δy (v3y+ , ω1 ) = Δ x (v3x+ , ω2 )
Γ x (v3x+ )
⎛ ⎞ Akira NAKASHIMA (Member)
⎜ ⎟⎟⎟
Γy (v3y+ ) ⎜⎜⎜⎜⎜ 1 ⎟⎟⎟ He received the B.E., M.E. and Ph.D. degrees in Engi-
= ⎜⎜⎜1 ±  ⎟⎟⎟ .
Γ ⎜⎝ ⎟
Γ2x (v3x+ ) + Γ2y (v3y+ ) ⎠
neering from Nagoya University in 2000, 2002 and 2005,
respectively. He was an Assistant Professor, Nagoya Uni-
versity in 2005, and since 2015, he has been an associate
Noticing 1 < Γ2x + Γ2y , it is easy to see
professor of the Department of Mechatronics, Nanzan
 1  2 
University. His research interests are multi-fingered robot
Δ2x (v3x+ , ω2 )+Δ2y (v3y+ , ω1 ) = Γ x (v3x+ )+Γ2y (v3y+ )±1 .
Γ hands, visual servo control and nonholonomic mechan-
By substituting these into (C. 1), we can conclude that ics. He is a member of RSJ and IEEE.
Δ x (v3x+ , ω2 ) must be Satoshi ITOH
⎛ ⎞
⎜⎜ ⎟⎟⎟
Γ x (v3x+ ) ⎜⎜⎜⎜
He received his B.S. and M.S. degrees from Nagoya

1 ⎟⎟⎟⎟
Δ x (v3x+ , ω2 ) = ⎜⎜⎜1 −  ⎟⎟⎟ University, Japan, in 2013 and 2015, respectively. He
Γ ⎝ Γ2x (v3x+ ) + Γ2y (v3y+ ) ⎠ currently belongs to Denso Corporation.

and therefore Δy must be


⎛ ⎞
⎜⎜⎜ ⎟⎟⎟
Γy (v3y+ ) ⎜⎜⎜ 1 ⎟⎟⎟
Δy (v3y+ ) = ⎜
⎜⎜⎜1 −  ⎟⎟⎟ . Yuki NAKAI
Γ ⎝ ⎟
Γ2x (v3x+ ) + Γ2y (v3y+ ) ⎠ She received her B.S. degree from Nagoya University,
Japan, in 2015. She currently belongs to Brother Indus-
By using {v3x+ , v3y+ }, consequently {ω1 , ω2 } are given as tries, Ltd.
⎛ ⎞
⎜⎜⎜ ⎟⎟⎟
v3y+ Γy (v3y+ ) ⎜⎜⎜ 1 ⎟⎟⎟⎟
ω1 = − + ⎜
⎜1 −  ⎟⎟⎟
r rΓ ⎜⎜⎝ Γ2x (v3x+ ) + Γ2y (v3y+ ) ⎠
⎛ ⎞
⎜⎜⎜ ⎟⎟⎟
v3x+ Γ x (v3x+ ) ⎜⎜ ⎜ 1 ⎟⎟⎟
ω2 = − ⎜⎜⎜1 −  ⎟⎟⎟ .
r rΓ ⎝⎜ Γ2x (v3x+ ) + Γ2y (v3y+ ) ⎠

C.2-2 Case 3: v3T+ = v2T+ = 0


Introduce the following notations
Γ x (v3x+ ) := {p3x − p1x − v3x+ (T 1 + T 2 )}/λ3
Γy (v3y+ ) := {p3y − p1y − v3y+ (T 1 + T 2 )}/λ3
with λ3 := 2T 1 /3, then (23) and (24) respectively become
Γ x (v3x+ ) = Δ x (v3x+ , ω2 ), Γy (v3y+ ) = Δy (v3y+ , ω1 )
where (ω1 , ω2 ) ∈ Ω([v3x+ , v3y+ , v3z+ /et ]) which means
 2
v3z+
Δ x (v3x+ , ω2 )2 + Δy (v3y+ , ω1 )2 < d2
et
with d := 52 μ(1 + e1t ), i.e.,
 2
v3z+
Γ x (v3x+ ) + Γy (v3y+ ) < d
2 2 2
. (C. 4)
et
Thus choose v3x+ , v3y+ such that they satisfy (C. 4). Then
ω1 , ω2 are decided as
v3y+ Γy (v3y+ ) v3x+ Γ x (v3x+ )
ω1 = − + , ω2 = − .
r r r r

You might also like