KUDOS Extended Abstract for Humanoid Kid Size League of ROBOCUP 2022

BaekKyu Cho, Jihui Lee, Jihye Jung, Wonseok Jang, Gyeongsu Kim, Hyeongseok Seo, Donghoon Lee, Jehyun Park, Seungmin Joo, Yesun Kim, Gyeongjin Jeong, Jihoon Kim

Robotics and Control Laboratory School of Mechanical Engineering, 77, Jeongneung-ro, Seongbuk-gu, Seoul, Republic of Korea


Abstract We have divided our team's goals into design, vision, and control. First, in the design, we decided to change the current parts to aluminum and attach studs to balance well. And we plan to move the center of gravity down from the upper body to make the movement more stable. Control will first implement an odometry as a code using an IMU sensor for more accurate localization. In addition, we plan to create a new algorithm for each robot's position. In Vision, we will increase the recognition rate by composing the YOLO learning data with real photos, and there will be code modifications for 'TopView transformation' and 'Robot head angle' for accurate localization

Robot Design

The problems our robot has are as follows. First, the body is made of 3D printing. Since the filament of the 3D printer is a PLA, it cannot sufficiently withstand the impact of the robot falling, so it will be replaced with all aluminum materials. Since the aluminum material is light and has excellent rigidity, it is very suitable as a material constituting the skeleton of the robot.

Second, due to the absence of studs on the sole of the foot, the ground and grip are insufficient, so our robot tends to fall even in small disturbances. Therefore, we plan to improve stability and balance by installing suitable studs on the grass.

Third, the center of gravity of the humanoid robot is known to be stable only when it is located at the pelvis. However, since the center of gravity of our robot is currently located under my pelvis, we will adjust the center of gravity to be located at the pelvis considering the battery camera and so on.

Robot Control

[Section content follows in subsections below]

Odometry

Currently, Kubot 3 can determine where it is looking through the direction angle obtained by the gyro sensor of the imu sensor. In this competition, we intend to obtain the robot's position (x, y coordinates) by utilizing the robot's footsteps, the rotation angle of the motor, and various other sensors. If you know not only the robot's directional coordinates but also the positional coordinates, you can determine whether the goalpost is an ally goalpost or an enemy goalpost. In addition, localization is executed in a specific situation to initialize accurate coordinate values to minimize accumulated errors during the game.

Robot Soccer Algorithm

The robot can throw the ball to our goalpost with the ball in front of it, otherwise it can shoot. Once the organization is completed, more strategic tactics can be carried out by distinguishing between our camp and the enemy camp. In the future, each robot will be divided into groups of roles, including positional defense in the area and algorithms when the ball approaches or approaches the ball.

  • Striker: Avoid enemy robots, dribble, and shoot from the range of the goalpost.
  • Winger: Auxiliary strikers to form an offensive line and pass or shoot the ball.
  • Goalkeeper: Get the ball as far as you can from your side.

Robot Vision

We use perspective transformation in OpenCV to transform the robot's field of view into Top View.

We convert the robot's field of view into a top view and transmit the recognized coordinate points to the Monte Carlo Algorithm and receive the robot's position.

Through this, we have used 'Visual localization' that recognizes the robot's own position as coordinates. However, for the robot to recognize its own position in this way, specific conditions are required.

First the robot must bow its head at a specific angle to find a line close to it.

However, an inconsistent TopView can occurs depending on the angle of the robot.

So we will modify the code for a consistent top view transformation by adjusting the 'perspective transformation intensity variable'.

Second the robot must be looking at the field line. if the robot is not looking at the field line, we aim to detect and localize the line by gradually increasing the robot head angle upward.