Starkit Team – Team Description Paper Humanoid Kid-Size League, Robocup 2019 Sydney
S. Semendyaev, D. Zavrazhnov, I. Khokhlov, P. Senichkin, N. Koperskii, I. Ryakin, V. Litvinenko
Moscow Institute of Physics and Technology, Dolgoprudny 141701, Russia
Abstract This paper contains general information about kid-size humanoid robots from the Starkit Robocup team. Description of software, hardware and future research is presented. Our robots were bought from Rhoban Football Club, and we focus on making changes to the existing software and hardware.
1 Introduction
Starkit team was organized in the autumn of 2018 in the Moscow institute of physics and technology (MIPT), Russia. A huge role in this was played by an honorary graduate of our institute - Azer Babaev.
We have two teams – Humanoid League team and Standard Platform League team. Our teams basically consist of students that have to learn a lot of new specific information to participate in the Robocup competition – it's a new challenge for us. Our goal inside MIPT is to obtain knowledge in this field and to teach new generations of students.
We worked together on the robots (Humanoid League) with the Rhoban Football Club. Actually, we bought robots (Sigmaban+) from the Bordeaux University and communicated with them to learn how to use their software. Our task at the moment is to study the design of the robot in order to make changes in the future and to make our own robots, and to study the open-source software of the robot in order to write our own code in the future. In parallel, we study programming of NAO robots to participate in the SPL Robocup.
Although the desire to participate in the competition is great, we have little time to create our own robot and software from scratch. Therefore, we are grateful to Rhoban Football Club for robots and knowledge transfer.
So we have got robots with software, we have to improve it.
Directions of improvements that we want to explore:
- see and localize the opponent by image segmentation;
- enforce strategy to deal with the opponents;
- improve the localization system accuracy by adding the detection of line features based on the neural network;
- add "Dynamic kick" kicking without stopping when approaching to the ball;
- make robot go faster;
- implement Kalman filter for the global mechanical state of the robot;
- use GPU that will increase computational power, in particular for vision system.
In further we will mark in blue the text, which we took from TDP 2018 of Rhoban Football Club [1], because in many things robots are similar to Sigmaban+ (release 2018).
Commitment
The Starkit team commits to participate in RoboCup 2019 in Sydney (Australia) and to provide a referee knowledgeable of the rules of the Humanoid League.
2 Hardware Overview
The mechanical structure of the robot is a classic design using 20 degrees of freedom: 6 for each leg, 3 for each arm, and 2 for the head (pitch and yaw rotations). The global shape of the robot is mainly standard (see Fig. 1). We have added some changes.
As for the changes we have already made in the design of robot, they relate to the head (shape change) and forearms (design and material change) - see Fig. 2.
We also plan to make changes to the design of the thigh and lower leg to reduce backlash. In the original design, these are two parallel plates independently attached to the servomotor. In our design, these plates will be connected in the form of П in profile. The figure 3 shows the design we want to make.
The main feature of the robot is located in its feet. The feet are no longer flat but are put on the ground on top of 4 cleats at each foot corner. Only these cleats are in contact with the ground and "sink" into the artificial grass. This greatly improve the stability of the robot walking on the "soft" turf.
In addition to the ground contact, each cleat is linked to a strain gauge force sensor. The whole is integrated into the foot with a piece of electronics and the sensor readings are published on the Dynamixel bus as a virtual device. This lowcost force sensor allows for computing an evaluation of the center of (vertical) pressure for each leg. This sensor is greatly useful to stabilize the static kick, the walk engine and improve the accuracy of the robot's odometry.
But further we are intending to use 6 axis pressure sensor which will replace current version of force sensor. The main idea will be to measure not only forces (normal reactions) but also a torque.
Also we think that it is a good idea to make robots from lightweight materials (like titanium and carbon fiber). It can help us to increase walking speed by reducing weight and lowering a center of mass.
We also plan to redesign all custom electronic boards that are currently used in the work.
Concerning the emergency stop button for the robot, it will be added before the competition.
3 Vision and Classification
The new vision pipeline of Sigmaban+ is used which is much simpler and requires much less hand tuning. Moreover, it is quite robust to the environments changes in luminosity and color.
Regions of interest (ROI) for the ball and the goal posts are extracted from the full image, using the robot's state (ground plane projection on the camera plane) and a kernel convolution on an Integral Image filter. These ROIs are then classified by a Convolutional Neural Network.
Convolutional Neural Networks (ConvNet) have become the state of the art methods in various computer vision tasks [2]. Several off-the-shelf very powerful architectures are available such as [3,4] but unfortunately none were usable in the very limited embedded computers of our robots. Rhoban Footbal Club thus designed custom ConvNet using a c++ library with no external dependencies – tiny-dnn [5]. The aim of the approach was to design a minimal architecture able to classify ball and goal post patches with at least 95% accuracy.
Now the robot doesn't see the opponent. We want to add seeing and localization of the opponent by image segmentation. We take vision system from Rhoban team. It extracts ROI and then uses ConvNet for classification problem. We are going to expend vision pipeline adding robotic leg detection.
Unfortunately, now we are limited in our plans about ConvNet because of our computer. This is why we are going to tune Rhoban tiny-dnn and decrease the number of parameters. However, we want to add one more class. It will be enemy robot leg.
4 Walk Engine
A walk engine is the QuinticWalk [6], which provides smooth and stable motion.
The movement is open loop and does not use any ZMP criterion or dynamics modeling. The shapes of target trajectories are built geometrically from a set of parameters in the Cartesian space. All target joint positions are then computed through an inverse kinematics of the legs of the robot. These parameters are manually tuned on the physical humanoid robot (trials and errors) until a fast and balanced motion is achieved.
Improving the velocity of robot is the constant problem, so we are going to make robot go faster.
5 Localization
Localization module is based on a particle filter which uses 3000 particles. It uses information from the referee, from the vision module and also from odometry in order to ensure a satisfying accuracy for high-level decision making.
The information provided by the referee allows to provide a reasonable idea of the position of the robot at kick-offs, drop balls or when a robot enters the field after a game stoppage. The pressure sensors allow to obtain a satisfying odometry [7] thus allowing to reduce the exploration used on particles and improving accuracy.
The visual features used to score the different particles are limited to the base of the goal posts and the corner of the field of play.
We are planning to improve localization accuracy by adding the detection of line features (central field line, circle in the center of field, goalkeeper square). It will be also based on the neural network.
Rhoban localization system is based on particle filter with visual features, referee signals and odometry. We, in our turn, would like to improve particle filter logic with improvement of observation model. For example, it can be improved with additional field lines features. Model of observation will be built with the following approach: we have an image of prior map of football field, which is blurred with Gaussian noise. Then we have edges of field lines from visual system, which are applied to each particle. Ends of these cuts project on blurred map, so the value of pixel which corresponds to end of cut gives us the score for this particle. Thus, particles, which are almost correct, will "see" edges, which are almost correct apply to map. The kernel of Gaussian blur allows having uncertainty and noise model of observations. Another one benefit of this system is that we compute penalty of each particle for the constant time. [8]. Distance transform also will help to make more penalties for incorrect angle.
Another approach to improve particle filter is to get rid of simple weighted average for robot position estimation, because it starts be unreliable, when two or more clusters of particles appears. We have to automatically determine clusters of particles and find estimation in the most "crowded" cluster.
Rhoban is also use particle filter for ball position estimation, but since ball moves in the 3D space the amount of required particles is increased, which has more computational complexity. We would like to combine particle filter method with the extended Kalman filter (EKF) [9]. So we will have EKF 2x2 for each particle of ball position, which will update the previous observations of ball. It allows having more accurate evaluation of ball position [10].
6 High-Level Decision Making
This section presents the high-level decision-making architecture.
6.1 Finite State Machines
The behaviour of the robot is designed using finite state machines. Transition between different states are based on various information such as game status, time spent in current state or information from the localization module.
Since debugging complex state machines based on all the information received by the robot is a difficult and tedious task, we can run our strategy module based on fake information. Thus, we allow to test quickly multiple situations without requiring to reproduce them in the real world. We also use a tool named BehaviorViewer which can be used to monitor the state of the robot, but also to modify the current state by changing the positions of the ball, the robot or obstacles.
We want to enforce strategy by including the opponents' localization and dealing with this information.
6.2 Ball Approach
Most of the game is spent with robots trying to reach a suitable position to perform a kick, more specifically, placing the ball accurately in presence of all the constraints (perception and action noise) takes a significant amount of time. Our team used learning methods based on continuous state and action Markov decision processes to act more efficiently. By learning a predictive motion model of the robot and computing offline optimization of the policy we manage to obtain more satisfying policies in the real world, see [11].
6.3 Kick Strategies
Always kicking towards the center of the opposite goal is unsatisfying, especially when the ball is located nearby a corner of the field on the opponent half. It is also difficult to come up with satisfying heuristics based on geometrical approaches. Therefore, we model the choice of the kick as a Markov Decision Problem and we find the kicks minimizing the time required to score a goal using the Value Iteration algorithm [12].
This approach of the problem also allow us to include expert knowledge in the reward function in order to avoid kicking at the center of the goal where we usually find the opposite goalie.
We found that the direction of the blade of the grass had a strong effect on the distance traveled by the ball during RoboCup 2017, therefore we added a simple model of the grass to our problem and obtained two different kicking strategies, one for each half-time.
We've modified the side kick. Previously, a side kick was made at a constant angle of attack of the foot. We decided to allow the robot to choose the direction of impact by changing the angle of attack of the foot, which allows you to deflect the direction of the ball. Moreover, the angle of attack of the foot is changed not by turning the robot's body by stepping, but by turning the foot at a constant position of the body. This will allow robot to strike between the goal post and the goalkeeper, as well as vary the pass.
6.4 Teamplay
At any time, we consider that the robot which is closest to the ball is the kicker. It shares with other robots the position he expects the ball to be after his kick. In order to reduce the time required for the next kick, they can try to position nearby the kick target, thus making it look like a pass. On the other hand, they can also try to position between the ball and their goal in a defensive manner. We can choose how many robots play defensively or aggressively by tuning up some parameters to adapt to the opponent team.
Now, robots come to a ball and kick it. We propose to make a decision estimating the situation on the field. This estimating will include the such things as detecting the enemy robots position, obtaining the localization information from our team robots. We are going to modify the Rhoban tiny-dnn network in order to detect three classes instead of two. This will be ball, goal and other robots. Our team intend to use goalkeeper for managing others robots. It will collect information and will make tactical decision. Such changes will help us to improve team play.
Moreover, we want to create several attack patterns.
7 List of our contributions
Let's list our main contributions by January 28, 2019.
Organizational contributions:
- the team on the basis of Moscow institute of physics and technology is created;
- attention to robosoccer is attracted inside institute;
- an interview to the national newspaper is planned;
Technical contributions (already done):
- the shape of the head of robot is changed;
- the design and material of the robot hands is changed;
- the design of the thigh and lower leg is changed (now in CAD);
- the strategy of kicking the ball is changed by turning the foot on impact and hence changing the angle of attack (at the end of the qualification video added an example of this kick).
The planned changes are described in several places in the TDP text above.
References
- http://rhoban.com/robocup2018/
- Alex Krizhevsky, Ilya Sutskever, and Georey E Hinton. Imagenet classification with deep convolutional neural networks. In: Advances in neural information processing systems, pp. 1097-1105 (2012).
- Joseph Redmon, Santosh Divvala, Ross Girshick, and Ali Farhadi. You only look once: Unified, real-time object detection. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 779-788 (2016).
- Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In: Advances in neural information processing systems, pp. 91-99 (2015).
- https://github.com/tiny-dnn/tiny-dnn
- https://github.com/RhobanProject/Model/tree/master/QuinticWalk
- Quentin Rouxel, Gregoire Passault, Ludovic Hofer, Steve N'Guyen, and Olivier Ly. Learning the odometry on a small humanoid robot. In: Robotics and Automation (ICRA), 2016 IEEE International Conference on. IEEE (2016).
- Oleg Shipitko et al. Edge detection based mobile robot indoor localization (in print).
- Arnaud Doucet et al. Rao-Blackwellised particle filtering for dynamic Bayesian networks. In: Proceedings of the Sixteenth conference on Uncertainty in artificial intelligence. Morgan Kaufmann Publishers Inc. (2000).
- Andrei Vatavu, Radu Danescu, Sergiu Nedevschi. Stereovision-Based Multiple Object Tracking in Traffic Scenarios Using Free-Form Obstacle Delimiters and Particle Filters. IEEE Trans. Intelligent Transportation Systems 16.1, pp. 498-511, (2015).
- Ludovic Hofer and Quentin Rouxel. An Operational Method Toward Efficient Walk Control Policies for Humanoid Robots. In: Proceedings of the Twenty-Seventh International Conference on Automated Planning and Scheduling, fICAPSg 2017, Pittsburgh, Pennsylvania, USA, June 18-23, 2017., pp. 489-497 (2017).
- Joseph Redmon, Santosh Divvala, Ross Girshick, and Ali Farhadi. You only look once: Unified, real-time object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 779-788 (2016).