Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 3 (December 2017) 248–253___________________________________________________________________________________________________________

Kinematics of Two-Roller-Driven Ball for RoboCup Soccer Robot
Shota Chikushi
Graduate School of Life Science and Systems Engineering, Kyushu Institute of Technology
2-4 Hibikino, Wakamatsu, Kitakyushu, 808-0196, Japan
E-mail: chikushi-shota@edu.brain.kyutech.ac.jp
Tharindu Weerakoon
Graduate School of Life Science and Systems Engineering, Kyushu Institute of Technology
2-4 Hibikino, Wakamatsu, Kitakyushu, 808-0196, Japan
E-mail: weerakoontharindu@brain.kyutech.ac.jp
Takashi Sonoda
Graduate School of Life Science and Systems Engineering, Kyushu Institute of Technology
2-4 Hibikino, Wakamatsu, Kitakyushu, 808-0196, Japan
E-mail: t-sonoda@brain.kyutech.ac.jp
Kazuo Ishii
Graduate School of Life Science and Systems Engineering, Kyushu Institute of Technology
2-4 Hibikino, Wakamatsu, Kitakyushu, 808-0196, Japan
E-mail: ishii@brain.kyutech.ac.jp

Abstract
RoboCup is a competition designed to promote the research related to Artificial Intelligence (AI). We have alsoorganized a RoboCup soccer team “Hibikino-Musashi” and work on one of AI research topics, co-operated
behavior control system using multiple autonomous mobile robots. In order to realize co-operated behavior in thesoccer game, the research of ball handling system is one of the important issues capable of dribbling with a ball andpassing the ball to teammate robots. In this paper, the kinematics of a two-roller-drive ball controller, which areattached in front of the soccer robot and designed to have friction on the upper side of the ball, is proposed. The
forward and inverse kinematics between the ball-motion and two active rollers are derived, and the ball control
mechanism has been developed and evaluated based on the results of simulations and experiments.
Keywords: RoboCup, kinematics of two-roller-drive ball controller, ball control mechanismand one of whose important concepts is that the
progress of AI needs its body, embodiment.
The soccer robots should be autonomous and make agoal in the dynamic environment where many robots
move around intricately intertwined with other friend
and opponent robots. On the process of developing theco-operated behaviors using soccer robots, the inventionof new technologies has been expected because not only

1. Introduction
The robot competition “RoboCup” is proposed to be alandmark project whose target is to realize the robot
soccer team to defeat the human World Cup champion
team until 2050. The RoboCup is expected to encourage
researchers to develop and promote Artificial
Intelligence (AI) and robotics from different aspects [1],Copyright © 2017, the Authors. Published by Atlantis Press.
This is an open access article under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/).
248

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 3 (December 2017) 248–253___________________________________________________________________________________________________________

the technical issues of robot development but also
human-robot interactions should be considered, e.g.
safety regulations not to damage human and robots
themselves, estimation of human will in real-time. In thenear future, the robot technology will get closer andinevitable.
We also have organized a RoboCup soccer team“Hibikino-Musashi” for RoboCup Soccer Middle Sized
League (MSL) and working on co-operated behavior
control system using multiple autonomous mobile
robots. To drive intelligence of robots forward, MSL
rules are annually reviewed and updated. In recent
years, the top teams’ robots show collaborated behaviors
to make goals and various ball control mechanisms havebeen developed to dribble with a ball and keep it ingood position for reliable pass. The ball control system
is one of the important issues to have collaboration
between robots. The path plan changes whether robots
can keep a ball actively during dribbling or not.
The soccer robot of “Hibikino-Musashi” is shown in
Fig. 1. The robot can move omni-directionally using
three omni-wheels in the bottom and an omni-vision
camera system on the top, and is controlled by amounted laptop computer. Comparing with our previous
robots [2], the robot can move 1.5 times faster and has
the ball control device in the front.
In this paper, the kinematics of a two-roller-driven
ball controller, which are mounted in the front of thesoccer robot and designed to have friction on the upperside of ball, is discussed. The forward and inverse
kinematics between the ball motion and two active
rollers is derived and evaluated based on the results ofsimulations and experiments.

rollers and a solenoid kicker which can keep the balland select loop-pass or grounder-pass [7]-[9]. The
RoboCup team CAMBADA developed using two omnirollers and shows the similar function [10]. The
RoboCup team NUBOT developed a control system forthe ball handling mechanism [11]. However, the forward
and inverse kinematics between the ball motion and therollers are not well discussed, and the ball motion iscontrolled by heuristic methods [12]-[13]. We introduce
the mathematical model regarding a ball motion andactive rollers. The studies on the sphere motion havebeen done for the mobile robots which utilize thespheres as their wheels [14]-[16]. In the RoboCup
soccer, the motion control of a ball is also important,however, the positions of fingers to keep a ball and thekinematics of ball motion and active rollers is notdiscussed.
The overview of mechanical design of the ballhandling device is shown in Fig. 2, and the schematic
design is in Fig. 3. In the handling device, active rollers
are attached in the lever tips to rotate a ball. The twolevers move upward passively when the active rollers
rotate to bring the ball toward its body, and the springsand dumpers are connected between the body and thelevers to absorb the collision impact of the ball. The
small omni-wheels in the bottom are passive rollers toprevent the ball from contacting to the body. If the robot
detects the approaching of the ball, the active rollers on
the levers start to rotate to bring the ball inside therobot, the friction between the ball and rollers generated
by the spring force get the ball inside the robot.
Corresponding to the robot’s behaviors, the active-roller
control starts to synchronize with robot’s movements
and the directions of the ball rotation. The ball handlingdevice is designed to hold the ball by two active rollers
and two passive wheels during dribbling.

2. Hardware design and concept of a two-rollerdriven ballSeveral different ball control mechanisms for soccer
robot have been reported in the literatures [3], which aremainly classified into two types. One is designed tocontrol a ball by using two active rollers and anotherone is by active or passive arms [4]-[5]. The natural
selection of soccer robots going on, the former
mechanism has become the mainstream. The advantageof the ball controller using active rollers is capable ofkeeping the ball even in the lateral- and reverse-motion
if the rollers are well controlled. On the other hand, thedisadvantages of the mechanism are the complexity indesign and the ball motion control algorithm suitable to
the robot motion is needed. The ball should rotatesmoothly with respect to the traveling direction of therobot to satisfy the RoboCup regulation. Regarding its
size, the ball control mechanism is restricted not tocover more than one-third of the ball [6]. The RoboCup
team Tech United developed the mechanism using two

Fig. 1.

249

Soccer robot of “Hibikino-Musashi”

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 3 (December 2017) 248–253___________________________________________________________________________________________________________

Y

Z

Σ𝑀

X

𝛺⊥ �⃗

𝑁 = [𝑁_𝑥

Ballholding area

OM

a. Projection viewb. Top view

Oil damper & Spring Rotation of active roller
Rotation of ball𝛺Ball moving direction

𝑣𝐵_𝑦 /𝑟𝐵_𝑍
𝜔𝐵_𝑥𝜔𝐵 = �𝜔𝐵_𝑦 � = �−𝑣𝐵_𝑥 /𝑟𝐵_𝑍 ������⃗
𝜔𝐵_𝑧
𝜔𝐵_𝑧

Hence, the roller angular velocity vector 𝛺𝜔����⃗∗ isexpressed as in eq. (7).

Rotation of passive omni wheel𝛺Fig. 3. Concept of the ball handlling device(3)𝛺 �����⃗𝛺𝜔∗ = (� 𝛺𝜔����⃗�����⃗𝑒𝜔∗
𝐵 × 𝑃𝐶∗ �/𝑟𝑤 ) ������⃗

(6)

(7)

3.2. Forward Kinematics

3. Kinematics of a two-roller-driven ball

The forward kinematics from the active rollers angular𝜋 ����⃗velocity vector 𝛺𝜔������⃗𝑊 to the ball velocity vector 𝑉𝐵 isrepresented by eq. (8).

In this paper, we define that the forward kinematics isthe relation from the angular velocities of the two rollers
to the ball rotation velocity and the inverse one is fromthe ball rotation to two rollers rotation. The variables inthe equations are defined as shown in the Table 1, andthe graphical representation of the vectors are illustrated
in Fig. 4.

𝜋����⃗𝑉𝐵 = 𝑓( 𝛺����⃗
𝜔∗ )

(8)

𝛺⊥���⃗
𝑉∗ = 𝛺������⃗𝑃𝑂∗ × 𝛺����⃗𝜔∗(9)The velocity vector 𝛺⊥��𝑉�∗⃗ at contact point 𝐶∗ isobtained by the cross product of the roller angularvelocity vector 𝛺����⃗𝜔∗ and the position vector 𝛺������⃗𝑃𝑂∗ from
the roller center 𝑂∗ to the contact point 𝐶∗ (9).

3.1. Inverse Kinematics
����⃗
The relationship between the ball velocity vector 𝜋𝑉
𝐵
and the active rollers angular velocity vector 𝛺𝜔����⃗∗ of thecan be presented by the inverse kinematics equation
given in eq. (1).
𝜔∗ = 𝑓( 𝜋����⃗
����⃗
𝑉𝐵 )

𝑁 ⋅ 𝛺�����⃗𝜔𝐵 = 0(2)

Therefore, the ball angular velocity vector 𝛺�����⃗𝜔𝐵 isderived as shown in eqs. (5) and (6) using eqs. (3) and(4).
−𝑁_𝑥 (−𝑣𝐵_𝑦 /𝑟𝐵𝑍 ) − 𝑁_𝑦 (−𝑣𝐵_𝑥 /𝑟𝐵_𝑍 )(5)
𝜔𝐵_𝑧 =
𝑁_𝑧

Fig. 2. Overview of the two-roller ball control device

𝛺

𝛺⊥ �⃗

𝑁_𝑧 ]𝑇 = 𝛺�����⃗𝑃𝐶𝐶 × 𝛺������⃗𝑃𝐶𝐶

The ball velocity vector is given by the cross productof the ball angular velocity vector 𝛺�����⃗𝜔𝐵 and the position
vector from the ball center to the ground in eq. (4).
𝑣𝐵_𝑥
−𝜔𝐵_𝑦 ∙ 𝑟𝐵_𝑧
𝜋����⃗𝑉𝐵 = �𝑣𝐵_𝑦 � = �−𝜔𝐵_𝑥 ∙ 𝑟𝐵_𝑍 � = 𝛺�����⃗𝜔𝐵 × ⊥𝜋���⃗𝑟𝐵 (4)
0
0

Right
RollerLeft
Roller𝑁_𝑦���⃗𝐿 is also expressed by the
The velocity vector 𝛺⊥𝑉cross product of the ball angular velocity vector 𝛺𝜔�����⃗
𝐵�����⃗and position vector 𝛺𝑃
from
ball
center𝑂
tocontact
𝐶∗
𝐵
point 𝐶∗ as in eq. (10).
𝑣∗_𝑥𝛺⊥���⃗
𝑉∗ = �𝑣∗_𝑦 � = 𝛺�����⃗𝜔𝐵 × 𝛺�����⃗
𝑃𝐶∗
𝑣∗_𝑧
(10)
𝜔𝐵_𝑦 ⋅ 𝑃∗_𝑧 − 𝜔𝐵_𝑧 ⋅ 𝑃∗_𝑦= � 𝜔𝐵_𝑧 ⋅ 𝑃∗_𝑥 − 𝜔𝐵_𝑥 ⋅ 𝑃∗_𝑧 �
𝜔𝐵_𝑥 ⋅ 𝑃∗_𝑦 − 𝜔𝐵_𝑦 ⋅ 𝑃∗_𝑥

(1)

While the ball rotates on the flat surface, the ballangular velocity vector 𝛺�����⃗𝜔𝐵 exists on the plane 𝜋defined by the three points; the center of the ball 𝑂𝐵 andthe contact points CR and CL [17]-[18]. The normal�⃗ of the plane 𝛺 is obtained as in eq. (2). The
vector 𝛺⊥𝑁�⃗ and ball angular
dot product of normal vector 𝛺⊥𝑁𝛺velocity vector 𝜔�����⃗
𝐵 becomes zero as in eq. (3).

Therefore, eqs. (11) and (12) are obtained by eq. (10).

250

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 3 (December 2017) 248–253___________________________________________________________________________________________________________−𝑣𝐿_𝑧 + 𝜔𝐵_𝑥⋅ 𝑃𝐿_𝑦
𝑣𝐿_𝑦 + 𝜔𝐵_𝑥⋅ 𝑃𝐿_𝑧�
� 𝑃𝑅_𝑧 − �� 𝑃𝑅_𝑦
(11)
𝑃𝐿𝑥
𝑃𝐿_𝑥
= 𝑣𝑅_𝑥The coefficients of 𝑃𝑅_𝑦 and 𝑃𝐿_𝑦 in eqs. (11) and (12)are the same and the sum of the two equals to zero as
shown in eq.(13).

𝜋����⃗𝑉𝐵 = 𝛺�����⃗𝜔𝐵 × ⊥𝜋���⃗
𝑟𝐵

Ball

(13)
Plane

a. Projection view

(14)

Ball velocity vector

⊥𝛺 �⃗

𝑁

Normal vector of the plane Ω𝛺 �����⃗𝑃𝐶∗

Position vector from 𝑂𝐵 to 𝐶∗

𝜔∗
����⃗

Roller angular velocity vector������⃗𝑒𝑉𝑉

Unit vector of 𝜋����⃗
𝑉𝐵

𝛺

𝜋

⊥𝜋
𝛺

𝛺

𝑟𝐵
���⃗

𝜔𝐵
�����⃗𝑒𝜔∗������⃗⊥𝛺 ���⃗𝑉∗𝛺 ������⃗
𝑃𝑂∗

𝑂𝐵

Plane

4.1. Experimental Setup

To evaluate the kinematics, following experiments are
performed to obtain the state variables of ball motion
and active rollers. In the experiments, the distance
between the roller and the ball is required to beconstant, so that an experimental setup has beendeveloped as shown in Fig. 5(a) and (b). The setup isdesigned so as to change its rollers positions along theball in arbitrary points and angles. Totally, six encoders
are attached to the setup to measure the ball motion androllers. The four of six encoders are to determine thevelocity and the orientation of the setup and the othertwo encoders are installed on the both omni wheels
directly to the active roller motors. Variables used in theexperiment are shown in the Table 2.

Position vector from 𝑂𝑊∗ to 𝐶∗
Ball center𝐶∗

Contact points between the ball and rollers

𝑟𝑤

Roller radius

Right roller

4. Evaluation of the kinematics

Velocity vector at the contact point 𝐶∗

Index L (Left) or R (Right)

X

Fig. 4. Vectors in kinematics

Unit vector of 𝛺 �����⃗
𝜔𝐵

*

Σ𝐵

Plane

b. Top view

Angular velocity vector on the plane ΩPosition vector from 𝑂∗ to 𝐶∗

Z

Left roller

Position vector from 𝑂𝐵 to the ground

𝑂∗

Y

(15)

Table 1. Variables related to inverse kinematics𝜋����⃗
𝑉𝐵

Left roller

Right roller

Plane

From the previous equations, the ball angular velocity
vector 𝛺𝜔�����⃗
𝐵 can be obtained using eq.(14), and finally,
the ball velocity vector 𝜋����⃗𝑉𝐵 is obtained as in eq. (15).
−𝑣𝑅_𝑦 + −𝑣𝐿_𝑦
⎡
⎤
2𝑃𝑅_𝑧
⎢
⎥
𝜔𝐵_𝑥
⎢ −𝑣𝐿𝑧 − 𝜔𝐵_𝑥 ⋅ 𝑃𝐿_𝑦 ⎥𝛺𝜔𝐵 = �𝜔𝐵_𝑦 � = ⎢�����⃗
⎥
𝑃𝐿_𝑥
𝜔𝐵_𝑧
⎢
⎥
⎢−𝑣𝐿_𝑥 − 𝜔𝐵_𝑦 ⋅ 𝑃𝐿_𝑧 ⎥
𝑃𝐿_𝑦
⎣
⎦

Σ𝐵

Y

−𝑣𝑅_𝑧 + 𝜔𝐵_𝑥⋅ 𝑃𝑅_𝑦𝑣𝑅_𝑦 + 𝜔𝐵_𝑥⋅ 𝑃𝑅_𝑧�
� 𝑃𝐿_𝑧 − �� 𝑃𝐿_𝑦 (12)𝑃𝑅𝑥
𝑃𝑅_𝑥
= 𝑣𝐿_𝑥𝑣𝑅𝑦 + 𝜔𝐵𝑥 ⋅ 𝑃𝑅𝑧
𝑣𝐿_𝑦 + 𝜔𝐵_𝑥⋅ 𝑃𝐿_𝑧
�
�−�
�=0
𝑃𝐿_𝑥
𝑃𝑅𝑥

Z

X

251

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 3 (December 2017) 248–253___________________________________________________________________________________________________________

obtained from active wheels’ data, and blue are fromexperimental setup motion.
In the evaluation of surge motion (y-direction in the
robot coordinate), the ball is controlled to go backward
270 degree with the velocity of 1.0 m/s. The comparisonof the velocities from setup motion and kinematics
calculated by active roller rotation is shown in Fig. 6.
The result shows that the experimental setup motion iswell controlled to be 1.0 m/s, and velocities from the
setup and calculation of kinematics become almost
same values.
In the sway motion (see Fig. 7), the velocity of xdirection is controlled to be 1.0 m/s. The experimental
data of setup show also good consistent with kinematics
calculation. In the experiment of Fig.8, the ball is
controlled to go in 225 degree and the velocities in xand y-direction are equal. As the result, the ball moves
in about 230 degree, however, the ball motion data andkinematics calculation show good consistent.

Left Active roller

Z

X

Σ𝐵

Y

Ball
Passive Omni wheel & encoder×4
a. Projection view

Right roller

X
Y

Z
Σ𝐵

Experimental
device2

Velocity (m/s)

1.5

Omni wheel

1

EXP_Vx

EXP_Vy

FK_Vx

FK_Vy

0.5
0
-0.5
-1

b. Wheel position-1.5

Fig. 5. Experimental device of ball handling mechanism

-2

0

0.5

1

Table 2. Variables used in the experiment
𝑟𝑤

𝑃𝐶𝐶_𝑥

𝑃𝐶𝐶_𝑦
𝑃𝐶𝐶_𝑧
𝜓𝑃𝑃𝑃

Ball radius
Wheel radius
x component of 𝛺������⃗𝑃𝐶𝐶
y component of 𝛺������⃗𝑃𝐶𝐶
z component of 𝛺������⃗𝑃𝐶𝐶

Wheel angle around the axis 𝛺������⃗𝑃𝐶𝐶

4.2. Experimental Results

Fig. 6.

0.100m

0.0275m

1.5−0.0400m
0.0825m
39.5°

2

2.5

3

Experimental results of dribble kinematics (270 °)20.0400m

Velocity (m/s)

𝑟𝐵

1.5Time (s)1

EXP_Vx

EXP_Vy

FK_Vx

FK_Vy

0.5
0
-0.5
-1
-1.5

The kinematics between ball motion and rollers isevaluated by translational motions in surge, sway andtheir combination (see Figs.6-8). The solid and dot lines
mean the velocity in x-direction and y-direction,
respectively. Black line means the forward kinematics-2

Fig. 7.

252

0

0.5

1

1.5
Time (s)

2

2.5

3

Experimental results of dribble kinematics (0 °)Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 3 (December 2017) 248–253___________________________________________________________________________________________________________

2
1.5
Velocity (m/s)

1

EXP_Vx

EXP_Vy

FK_Vx

FK_Vy

7. J. de Best, R. van de Molengraft, An Active Ball
Handling Mechanism for RoboCup, 10th International
Conference on Control Automation Robotics & Vision(ICARCV 2008), (IEEE, Hanoi, 2008), pp. 2060-2065
8. C. Lopez, F. Schoenmakers, G. Naus et al., Tech United
Eindhoven Team Description 2014 Middle Size League,
RoboCup 2014 João Pessoa (João Pessoa, Paraíba, 2014)
9. C. Lopez, F. Schoenmakers, K. Meessen et al., Tech
United Eindhoven Team Description 2016, RoboCup
2016 Leipzig (Leipzig, Saxony, 2016)10. B. Cunha, A. J. R. Neves, P. Dias et al.,
CAMBADA’2015: Team Description Paper, RoboCup
2015 Hefei (Hefei, 2015)
11. R. Junkai, X. Chenggang, X. Junhao et al., A Control
System for Active Ball Handling in the RoboCup Middle
Size League, 2016 Chinese Control and Decision
Conference (CCDC), (IEEE, Yinchuan, 2016), pp. 43964402
12. H. Suzuki, T. Yoshida, K. Watanabe et al., RV-Infnity
Team Description Paper 2017, RoboCup 2017 Nagoya(Nagoya, 2017)13. J. de Best, R. van de Molengraft, M. Steinbuch, A Novel
Ball Handling Mechanism for the RoboCup Middle
Size League, Mechatronics, vol. 21 (Elsevier, 2011), pp.
469-478
14. M. Kumaga, T. Ochiai, Development of a Robot
Balanced on a Ball -Application of passive motion totransport-, 2009 IEEE International Conference on
Robotics and Automation (ICRA), (IEEE, Kobe, 2009),
pp. 4106-4111
15. S. Ishida, H. Miyamoto, Ball wheel drive mechanism forholonomic omnidirectional vehicle, 2010 World
Automation Congress (WAC), (IEEE, Kobe, 2010)
16. M. Wada, K. Kato, Kinematic Modeling and Simulationof Active-caster Robotic Drive with a Ball Transmission(ACROBAT-S),
2016 IEEE/RSJ International
Conference on Intelligent Robots and Systems, (IROS),(IEEE, Daejeon, 2016), pp. 4455-4460
17. S. Chikushi, T. Weerakoon, K. Ishii et al., Motion
Analysis and Control of the Ball Operation for Dribbling
Action in RoboCup Soccer Robot, in Proc. 8thInternational Conference on Soft Computing andIntelligent Systems and 17th International Symposium on
Advanced Intelligent Systems (SCIS&ISIS), (IEEE,
Hokkaido, 2016), pp. 532-536
18. K. Kimura, K. Ishii, Y. Takemura, et al., Mathematical
Modeling and motion analysis of the wheel based ballretaining mechanism, in Proc. 8th International
Conference on Soft Computing and Intelligent Systems
and 17th International Symposium on AdvancedIntelligent Systems (SCIS&ISIS), (IEEE, Hokkaido,2016), pp. 518-523

0.5
0
-0.5
-1
-1.5
-2

0

0.5

1

1.5

2

2.5

3

Time (s)Fig. 8.

Experimental results of dribble kinematics (225 °)5. Conclusion
In this paper, the forward and inverse kinematics
between the ball-motion and two active rollers arederived and evaluated by surge and sway motions usingdeveloped experimental setup. The results show that theball motion data and kinematics calculation show goodconsistent. The ball handling mechanism has enoughpossibility to realize dribbling behavior of the soccer
robots. Using the kinematics of the ball and two-active
rollers, the optimal structure depending on robot
strategy can be discussed in the future.
References
1. R. Soetens, R. van de Molengraft, B. Cunha, RoboCup
MSL - History, Accomplishments, Current Status andChallenges Ahead, RoboCup 2014: Robot World Cup
XVIII. (Springer, 2015), pp624-635
2. S. Chikushi, M. Kuwada, M. Ishikura, et al., HibikinoMusashi Team Description Paper 2016, RoboCup 2016
Leipzig (Leipzig, Saxony, 2016)
3. Stancliff S., Evolution of Active Dribbling Mechanisms
in RoboCup, 16-471 Project (2005)
4. K. Fujimoto, K. Ishii, Y. Kitazumi, Development of a ballhandling mechanism for a RoboCup Soccer Robot,
Robotics and Mechatronics Conference 2011 (Okayama,
2011)
5. T. Hafner, S. Lange, M. Lauer et al., Brainstormers
Tribots Team Description, RoboCup 2008 Suzhou(Suzhou, 2008)
6. M. Asada et al., Middle Size Robot League Rules andRegulations for 2015 (2015)

253