KIKS Team Description for RoboCup 2018
Toshiki Mimura, Koh Ohno, Hayato Yokota, Satoru Nakayama,
Masato Watanabe, and Toko Sugiura1
National Institute of Technology, Toyota College, 2-1 Eisei-cho, Toyota, Aichi
471-8525, Japansugi@toyota-ct.ac.jp,
URL: www.ee.toyota-ct.ac.jp/~sugi/RoboCup.html

Abstract. This paper is used to qualify as participation to the RoboCup
2018 small size league. Our team’s robots and systems are designed under
the RoboCup 2018 rules. The major points of improvement in this year
are about the dribbler, electri-cal circuit and tactics in AI system. The
overviews of them are described.
Keywords: RoboCup, small size, autonomous robot, global vision, engineering education

1

Introduction

KIKS has been aiming to realize the foundation of new AI system and higherperformance hardware. The necessity of passing-play has tended to enhance byregulation modifications such as changes of ball speed’s limitation and playing
field size. Therefore, toward the pass-play realization, we have started the development of the new generation dribbler’s mechanism and the introduction ofmachine learning to determine robot’s motion. In addition, the tactics had beenreviewed to fit new type of field.

2

Hardware design

In recent years, there is increasing interest in high-performance dribbler, which
is able to hold a ball longer and catch a ball more stable. Therefore, we aimed
to improve dribbler’s retention performance by thrust control using Voice Coil
Motor (VCM) that is a kind of linear actuator, and solve the problems involvedin current dribbler.
2.1

The idea of the new generation dribbler development

In general, the dribbler consists of two elements, i.e., the cushion and dribblingbar. The dribbling bar transmits rotation to the ball to realize the continuous
retention. The cushion acts like the shock absorber when dribbler catches a ball,and it absorbs vibration as dribbler holds a ball. A spring and a sponge have2

Toshiki Mimura et al.

been used in the present dribbler as its cushion. So that the repulsive force ischanged depending on the deformation of the cushion, as force applied to them.
However, because the repulsive force is the conservative force in many cases,
the force would occur when the ball is moving away. So, the ball is accelerated
by the force. This process causes to the failure of the catching a ball. Thus,
we try to introduce new active cushion into dribbler to achieve improvement of
the dribble performance. The VCM is a linear actuator which driven by electro-(a) Present passive dribbler(b) Proposed acitive dribbler

Fig. 1. Present passive dribbler(a) and new active dribbler(b)magnetic force. It is said that the properties of VCM are a fast response andnon-backlashes. In particular, it is commonly used as the coil of wire that moves
the read-write heads in a hard disk drive. For structural reasons in a VCM,
controlling the electrical-current leads to propulsion control. As shown in Fig.1,
replacing the existing dribbler with active dribbler which consists of a VCM
makes it possible to change the repulsion force for each contact situations of aball. For example, it is possible to change magnitudes of forces that when a ballstrikes a dribbler and when it pushes a ball back. High output current flows whena ball pushes a dribbler, while low output current flows when a dribbler bounces
it back. By this process, it allows killing the kinetic energy of the ball within ashort length. Moreover, the dribbling bar has an ability to keep attaching theball without bouncing it back.

2.2

Disadvantage of the present dribbler and its solution

In last year, we developed the chip-kicking device which doesn’t touch a ballwhen a robot catches it, because of improvement of catching performance asshown in Fig.2. However, the flying distance of the chip kick has decreased toless than 50 % than previous one by this change. Therefore, by use of the dribbler
described in § 2.1, the position of a ball will be able to determine intentionally,
and the problem of chip-kicking distance consequently will be solved.

KIKS Team Description for RoboCup 20183

Fig. 2. Problem of present dribbler

2.3

Verification of the new generation dribbler by simulation

The merit of our new dribbler is that we can change the repulsive force. For
example, it is possible to implement a brake mechanism that is diﬃcult to physically realize, such as changes the spring constant and the viscosity coeﬃcientdepending on the behavior of ball. To verify its feature, we simulated the situation that the ball touches the dribbler with a realistic velocity. In the simplified
model shown in Fig.3, we defined that the coordinate axis takes positive direction if the ball leaves from dribbler, and the displacement x is zero when the balltouches dribbler first time. We apply following preconditions to motion eq.(1).
(a) The ball keeps spinning and it is subjected to frictional force µN [N] in response to the normal force N [N](b) Assuming that the spring-dumper system as a passive dribbler, the thrustµ[N] is given as following eq.(2)(c) Thrust µ[N] of the new dribbler changes depending on the velocity of theball V [m/s] (<0)and its displacement x [m] are given as following eq.(3)(d) Threshold velocity thv [m/s] is set to be smaller than 0 so that switching ofthrust does not occur excessively(e) Model parameters used in simulation are tabulated in Table1. They are adjusted that minimum displacement x is −10−2 [m] and no reflection occur at
V =−6[m/s].
mẍ = u cos2 θ − µ(mg + u cos θ sin θ){µ=−K1 x − D1 ẋ,0,x ≤ 0, ẋ ≤ 0otherwise

(1)

(2)

4

Toshiki Mimura et al.



f1 ,
µ = −K2 x − D2 ẋ,0,ẋ < thv , x < 0ẋ ≥ thv , x < 0otherwise(3)

Fig. 3. Forces worked around a ball

Table 1. Values used in simulation
Variables
µ
m
θ
g
K1
K2
D1
D2
f1
thv

Value
0.5
0.042[kg]π/6[rad]9.8[m/s2 ]600[N/m]
830[N/m]
22.6[Ns/m]
25[Ns/m]
78.6[N]-0.001[m/s]

The results of simulation are shown in Fig.4. Black and red line show theresult of passive dribbler and active dribbler, respectively. In this simulation, we
set each parameter independently, so please note that we are comparing features
rather than performance. From these results, it is found that present dribbler

KIKS Team Description for RoboCup 2018(a) Repulsive force(b) Ball velocity(b) Ball displacement

Fig. 4. Simulation results of active and passive cushion dribbler

5

6

Toshiki Mimura et al.

can catch the ball within an appropriate stroke range and without reflection
when the elastic coeﬃcient and viscosity coeﬃcient are appropriately set. But
these common value is used in every situation, even when decelerating the balland/or returning to the origin. That is the problem.
On the other hand, the active dribbler constantly brakes at the maximum output
power based on the time of contact with the ball until deceleration is completed.
So, faster braking is possible compared with the previous system. In addition,
we can get smaller time-constant by using the individual value as mentioned
above. If we can take the best advantage of this capability, we might be satisfy
demanding requests, for example, such as realizing the spinning with a balland robot for long time. Under these policy, we keep developing to implement
current-control to SSL robot. We will verify them after the implementation isfinished as soon as possible.

3

Electrical design

In last our TDP[1], we suggested slip suppression method by current feedforward
control using torque-drooping. Of course, it is needed to observe motor-current
to realize this method. In addition, by enabling the observation of the current,
we are also able to control VCM. So, we manufactured prototype current sensor

Fig. 5. The circuit diagram which loads current sensors

circuit. We show the circuit diagram and photograph in Fig.5 and Fig.6, respectively. We used ”ACS712ELCTR-05B-T” as current sensor IC, which has merits

KIKS Team Description for RoboCup 2018

7

Fig. 6. The prototype circuitof cheap and low-loss. In the case of three phase motor, we require two currentsensors per one driving motor. Moreover, it is required one current-sensor for
VCM. So, we need nine (2×4 driving motors+1 dribbling motor) current-sensors
per one robot. We are considering the communication by Serial Peripheral Interface (SPI) using 8ch 12bit AD converter ”LTC2308CUF#PBF” to reduce thenumber of used pin.

4

Software design

4.1

Prediction of shooting success rate by use of SVM

It is very important that robots perform basic actions precisely. But we could
not play even simple action such as passing to ally robot, keeping a ball etc. Our
robots mostly shoot toward the goal when getting the ball. Now, we consider
to use machine learning[2],[3] to determine passing or shooting for preparationof passing. Here, the goal of achievement is to determine whether or not it
should do when one robot gets a ball. In other words, it is investigated thatshooting has succeeded or not, previously in the same situation. Then we use
the data between robot’s own position and opponent robots’ relative position.
When ally robot gets a ball, the success rate of shooting is estimated using
a theoretical model. As the results, if the rate is lower, passing-play will beselected. We try to use Support Vector Machine (SVM)[4] as learning algorithm.
It has some advantages for supervised learning with binary classification, e.g.,
it is available for data that cannot classify linearly, and it is suppressible forover-fitting to learning data. According to the SVM, learning model is generated
with maximizing the margin between hyper-plane and feature vectors which isthe closest to hyperplane, which is called support vectors. Typical example is8Toshiki Mimura et al.

shown in Fig.7.

|ωx + ω0 |
∥ω∥

(4)

1
1
2
→ minimize ∥ω∥
∥ω∥
2

(5)

Dist(xi ) =maximize

Then, some data are allowed to cross the hyperplane to suppress the complicationand to make it eﬀective for unlearnt data.
minimizeN∑12∥ω∥ + C
ϵi ,
2
i=1

(6)

Even for the data which cannot classified linearly, it is possible to classify linearlywith mapping to the higher dimensional space, as shown in Fig.8. At that time,a Kernel Function K(x, x′ ) is defined with the distance between feature vectors
x, x′ , and it must be hold the eq.(7) between K(x, x′ ) and a nonlinear map .

Fig. 7. The margin between support vectors

K(x, x′ ) = ϕ(x)T ϕ(x′ )(7)When we apply this equation to SVM, a nonlinear map is not needed and just a
Kernel Function is only needed to determine. This is called ”Kernel Trick”[5]. In
this study, we used e1071 (libsvm) which is a library for R, and 121 numbers ofdata which has the position of a robot keeping a ball, relative position (such as
distance and angle from a robot keeping a ball) of four opponent robots except

KIKS Team Description for RoboCup 20189

attacker and goalie and the classifying label (”true” or ”false” for shooting) for
simulation. Now we define that ”true” is to reach the ball to the goalie. On theother hand, we do not consider if goalie intercepts or the ball faces the goalpost.
The feature vecor is given as below.
x = (x, y, r1 , θ1 , r2 , θ2 , r3 , θ3 , r4 , θ4 , c)(8)where, (x, y) is the position of the robot keeping a ball, (ri , θi ) is the distance anddirection to ith opponent robot from a ball, and c is given as ”true” or ”false”.
108 data of them were used for learning and the others were used for testing.
Some parameters for learning were given by cost=1.995262, gamma=0.02511886,
epsilon=0.1, respectively. The result of classifying for testing data is shown in
Table 2.

Fig. 8. Classification by higher order mapping

Table 2. Results of applying for SVM(Type: eps-regression, Kernel: radial)
Judgement

True False Total

Data
True
False

5
1

0
7

5
8

12
5
5
= 0.923, P recision = = 0.833, Reproducible = = 1
13
65As shown in Table.2, success probability of shooting is quite high. We will be able
to determine which motion should we do by adoption of this model in AI system, when the robot keeping a ball. Moreover, if the diﬀerent model for opposing
Accuracy =10Toshiki Mimura et al.

team will be able to generate and use in real game, it is possible to get suitableprediction for each opposing team. To do this, the learning algorithm must run
during the game and update the model sequentially. In addition, not only shooting prediction, but also prediction to determine where the ball should be passed,
and selection of passing or dribbling will be important. In the competition, we
have to consider these point mentioned above.
4.2

Defense formation for bigger play field

The modifications of regulation will be applied to the rule in 2018. Now, we
propose the defense tactics for new rule. First, the our present defense tactics is
described. In current rule, the defense area consists of a rectangle and quartercircles. It can be approximated to semicircle, and it makes possible to move along
defense line. Thereby, the robots which are placed out of defense line (called ”wallrobots”) are able to cooperate with the one robot which role as goalie. Figure 9shows the present formation. One goalie robot and two wall robots are used inFig. 9. The present defense formation

Fig.9. A keeper robot and wall robots make the shape of triangle, and a center
point is placed on the defense line. This point moves along the line as moving
robots. Thus, three robots defend the goal in all range.
Next, we explain our new defense tactics corresponding to new regulations. Unlike the current defense tactics, new tactics is considered that robots play arole as the formation in the entire field. The form of the defense area will bechanged into rectangle. Therefore, it must be diﬃcult to move smoothly along
the defense line. Thus, the new tactics is designed instead of the ”wall robots”,
and generated the weak point in the formation. That is, the shooting course foropposing team is shown up intentionally. Figure 10 shows the formation of our
new defense tactics. Yellow numbers show our robots.
There are eight robots including two main attackers(#4 and #5) which move inKIKS Team Description for RoboCup 2018

Fig. 10. The new formation (in case of attacking direction is right)

Fig. 11. Defensive formation (yellow robots) in front of defense area

11

12

Toshiki Mimura et al.

yellow rectangular, two side attackers(#6 and #7) which move in blue rectangular, two robots(#1 and #2) which cover both sides of the defense area indicatedby red rectangular, and one robot(#3) which cooperate with a goalie(#0) will
disturb opponent’s shoot. Main attackers aim for score passing a ball each otherin front of opposing defense area. Side attackers also aim for goal receiving a ballpassed from main attackers, and defend the goal cooperatively with back defenders. In this formation, the performance of attacking and defensing on the sidearea of the field is higher, while that of around middle area is lower. Therefore,
opposing robots will probably attack from front of the field. If yellow robot(#3)
is positioned in the one side of the defense area, it will be said that the shooting
course is another side. This image is shown as opponent blue attacker in Fig.11.
In the case, enemy’s blue robots aimed for the goal will be blocked by yellow
robots(#1,2,6,7) in defense and side area, except some robots(e.g. blue #4) positioned in yellow rectangular area in Fig.11. That is, if we will open the shootable
goal space by intention, it might be able to intercept opponent’s shoot easily bypositioning the goalie just on the route. Finally, we enumerate some advantages
and disadvantages of our new defense tactics.
For advantages,(a1) prediction of a shooting’s course will be unnecessary(a2) few robots need for defense(a3) counterattack after intercept opponent’s shoot will be easy
For disadvantage,(d1) it is largely depend on the opponent’s tactics(d2) a goalie has to move exactly and quickly to where should go
Therefore, we think that it might be also consider other defense tactics whichis eﬀective to aggressive attack. Anyway, we would like to test the performancefor robots and tactics in real size field.

References
1. K. Ohno, T. Mimura, H. Yokota, T. Ohmura, T. Sano, M. Watanabe and T. Sugiura: KIKS 2017 Team Description, http://wiki.robocup.org/File:Robocupssl2017final26.pdf (2017).
2. Drew Conway and John White: Machine Learning for Hackers -Case Studies andAlgorithms to Get You Started-, O’Reilly (2012).
3. Masahiro Araki: Starting with free software, machine learning, Morikita Publishing(2014) [in Japanese].
4. A. J. Smola and B. Schlkopf : A tutorial on support vector regression, Statistics andComputing, Volume 14, Issue 3, pp 199222 August (2004).
5. J. Shawe-Taylor and N. Cristianini: Kernel Methods for Pattern Analysis, Cambridge (2004).