KIKS Team Description for RoboCup 2018
Toshiki Mimura, Koh Ohno, Hayato Yokota, Satoru Nakayama, Masato Watanabe, Toko Sugiura
National Institute of Technology, Toyota College, 2-1 Eisei-cho, Toyota, Aichi 471-8525, Japan
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.
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 by regulation 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 of machine learning to determine robot's motion. In addition, the tactics had been reviewed to fit new type of field.
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 involved in current dribbler.
The idea of the new generation dribbler development
In general, the dribbler consists of two elements, i.e., the cushion and dribbling bar. 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 been used in the present dribbler as its cushion. So that the repulsive force is changed 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-magnetic force. It is said that the properties of VCM are a fast response and non-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 a ball. For example, it is possible to change magnitudes of forces that when a ball strikes a dribbler and when it pushes a ball back. High output current flows when a 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 a short length. Moreover, the dribbling bar has an ability to keep attaching the ball without bouncing it back.
Disadvantage of the present dribbler and its solution
In last year, we developed the chip-kicking device which doesn't touch a ball when a robot catches it, because of improvement of catching performance as shown in Fig.2. However, the flying distance of the chip kick has decreased to less 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.
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 difficult to physically realize, such as changes the spring constant and the viscosity coefficient depending 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 ball touches dribbler first time. We apply following preconditions to motion eq.(1).
- (a) The ball keeps spinning and it is subjected to frictional force $\mu N$[N] in response to the normal force $N$[N]
- (b) Assuming that the spring-dumper system as a passive dribbler, the thrust $\mu$[N] is given as following eq.(2)
- (c) Thrust $\mu$[N] of the new dribbler changes depending on the velocity of the ball $V$ [m/s] ($<0$)and its displacement $x$ [m] are given as following eq.(3)
- (d) Threshold velocity $th^v$ [m/s] is set to be smaller than 0 so that switching of thrust 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].
$$m\ddot{x} = u\cos^2\theta - \mu(mg + u\cos\theta\sin\theta)$$
$$\mu = \begin{cases} -K_1 x - D_1 \dot{x}, & x \le 0, \dot{x} \le 0\ 0, & otherwise \end{cases}$$
$$\mu = \begin{cases} f_1, & \dot{x} < th_v, x < 0 \ -K_2 x - D_2 \dot{x}, & \dot{x} \ge th_v, x < 0 \ 0, & otherwise \end{cases}$$
Table 1. Values used in simulation
| Variables | Value |
|---|---|
| μ | 0.5 |
| m | 0.042[kg] |
| θ | π/6[rad] |
| g | 9.8[m/s²] |
| K1 | 600[N/m] |
| K2 | 830[N/m] |
| D1 | 22.6[Ns/m] |
| D2 | 25[Ns/m] |
| f1 | 78.6[N] |
| thv | -0.001[m/s] |
The results of simulation are shown in Fig.4. Black and red line show the result 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 can catch the ball within an appropriate stroke range and without reflection when the elastic coefficient and viscosity coefficient are appropriately set. But these common value is used in every situation, even when decelerating the ball and/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 ball and robot for long time. Under these policy, we keep developing to implement current-control to SSL robot. We will verify them after the implementation is finished as soon as possible.
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 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 of 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 the number of used pin.
Software design
(placeholder for section overview)
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 preparation of 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 that shooting 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 be selected. 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 for over-fitting to learning data. According to the SVM, learning model is generated with maximizing the margin between hyper-plane and feature vectors which is the closest to hyperplane, which is called support vectors. Typical example is shown in Fig.7.
$$Dist(x_i) = \frac{|\omega_x + \omega_0|}{|\omega|}$$
$$maximize \frac{1}{|\omega|} \to minimize \frac{1}{2} |\omega|^2$$
Then, some data are allowed to cross the hyperplane to suppress the complication and to make it effective for unlearnt data.
$$minimize \frac{1}{2} |\omega|^2 + C \sum_{i=1}^{N} \epsilon_i$$
Even for the data which cannot classified linearly, it is possible to classify linearly with 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.
$$K(x, x') = \phi(x)^T \phi(x')$$
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 of data 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 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 the other hand, we do not consider if goalie intercepts or the ball faces the goalpost. The feature vecor is given as below.
$$\mathbf{x} = (x, y, r_1, \theta_1, r_2, \theta_2, r_3, \theta_3, r_4, \theta_4, c)$$
where, $(x, y)$ is the position of the robot keeping a ball, $(r^i, \theta_i)$ is the distance and direction to $i$-th 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.
Table 2. Results of applying for SVM(Type: eps-regression, Kernel: radial)
| Judgement | True | False | Total | |
|---|---|---|---|---|
| Data | ||||
| True | 5 | 0 | 5 | |
| False | 1 | 7 | 8 |
$$Accuracy = \frac{12}{13} = 0.923, \ Precision = \frac{5}{6} = 0.833, \ Recall = \frac{5}{5} = 1$$
As 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 different model for opposing team will be able to generate and use in real game, it is possible to get suitable prediction 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.
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 quarter circles. 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 "wall robots") are able to cooperate with the one robot which role as goalie. Figure 9 shows the present formation. One goalie robot and two wall robots are used in 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.
References
- K. Ohno, T. Mimura, H. Yokota, T. Ohmura, T. Sano, M. Watanabe and T. Sugiura: KIKS 2017 Team Description, http://wiki.robocup.org/File:Robocupssl2017 final26.pdf (2017).
- Drew Conway and John White: Machine Learning for Hackers -Case Studies and Algorithms to Get You Started-, O'Reilly (2012).
- Masahiro Araki: Starting with free software, machine learning, Morikita Publishing (2014) [in Japanese].
- A. J. Smola and B. Schlkopf : A tutorial on support vector regression, Statistics and Computing, Volume 14, Issue 3, pp 199222 August (2004).
- J. Shawe-Taylor and N. Cristianini: Kernel Methods for Pattern Analysis, Cambridge (2004).