Ichiro Team Extended Abstract for RoboCup 2023
Muhtadin, Mochammad Romdhoni Zidane Wimansyah, Fiqey Indriati Eka Sari, Muchamad Maroqi Abdul Jalil, Nathanael Hutama Harsono, Muhammad Raihan Ramadhan, Atha Andara Utomo, Jayanti Totti Andhina, Ryo Hilmi Ridho, Ridzki Raihan Alfaza, Nur Aida Febrianti, Yasmin Nur Fadhillah Hutahaean, Thalib Falih Fadhil Rabbani, Ahmad Fauzi, Nathanael Adrien Yohanta, Darma Susila Putra, Muhammad Rizky Agung, Hanun Shaka Puspa, Anas Azhar, Aziel Godwin Hutajulu, Anindya Clarasanty, Alexander Fleming, Fatimah Shofi Lathifa, Alfan Fadhil Muharram
Institut Teknologi Sepuluh Nopember, Surabaya 60111, Indonesia
Abstract Team Ichiro is a robot team from the Sepuluh Nopember Institute of Technology Surabaya, Indonesia, conducting research in the development of humanoid robots for RoboCup competition. This paper presents developments for RoboCup 2023, including improvements to electrical hardware with a strain gauge-based balancing system, redesigned mechanical components using carbon fiber and 3D printed TPU materials for enhanced durability, and refined software systems for walking with sinusoidal trajectory, vision processing using YOLOv4-tiny for object detection, vision-based localization using trilateration, and behavior control through state machines with teammate communication.
1 History and Overview
Team Ichiro is a robot team from the Sepuluh Nopember Institute of Technology Surabaya, Indonesia. We specifically conduct research in the development of humanoid robots and participate in various humanoid robot competitions. In 2022, we developed our robot by emphasizing the development of reliable mechanical designs and our vision algorithms, which allow the robots to localize themselves in the field using our vision and odometry systems. We keep evaluating several things that can be developed from the problems and shortcomings of our robot during the previous RoboCup competition.
2 Developments
2.1 Electrical Hardware
Our robot uses two controllers, the main controller and sub-controller. We use NUC 11 as the main controller and Ichiro dxl board, developed by our team, as a sub-controller. Sub-controller will control the DYNAMIXEL SERVO, send orientation values, and communicate with the interface to start and stop the program. All electrical hardware is supplied by two LiPo 4s 3300mAh batteries. For vision, our robot uses a c930 camera that is directly connected to the main controller. During RoboCup 2022 in Bangkok, we learn about robot balancing. Currently, we are developing a balancing system with strain gauge sensors. Each foot has 4 strain gauge sensors. The sensors in each leg will provide a value that will be used for stabilization control during walking.
2.2 Mechanical Design
From the 2022 RoboCup, we found several things that needed to be improved and developed from the shape of our kid-size robot. Our 65 cm robot is too small compared to other robots from other teams. Because at RoboCup 2022, we felt that our robot was very overweight and the body was disproportionate, we made a new robot design while still using the mx 106 servo on the legs, mx 64 on the hands, and mx 28 on the head. There are a number of things that we will develop for Robocup 2023, in this latest design we change some of the materials from our robot to use carbon fiber. We also made changes to our robot armor which used to use stainless steel material and now changes to using 3D printed TPU material which has high elasticity so that it can protect the robot from vibration when it falls. We also try to apply a compliant element made of 3d printed TPU material also on the shoulder servo which can be a safety for the servo on the shoulder itself so that when it falls it does not suffer high damage such as damage to the gearset on the servo.
3 Software
3.1 Walking
We implemented the sinusoidal trajectory for our robot's walking. This movement doesn't use dynamic modeling of the robot so this walking engine is open-loop and doesn't use the ZMP criterion. Based on the given points of trajectory, all the joints are computed by the inverse kinematics of the legs of the robot. Due to the imperfection of the actual dynamics of the robot, we have to tune some parameters in the walking engine manually with trial and error. We also implemented the proportional-derivative controller (PD) control strategy on both arms and hips of the robot to maintain its pitch at the desired angle to prevent the robot from falling. We also implement compensation on the hip pitch and foot height based on the x-move amplitude value to gain a more stabilizing walking gait. Currently, we are still doing research on feedback for walking using IMU.
3.2 Vision
Previously, in RoboCup 2022, we already use the deep learning model. We decide to use YOLOv4-tiny architecture with an input size of 224x224 which is suitable for our robot hardware specifications. The duration of training for this architecture is 1 hour 26 minutes using the Nvidia A100-SXM4-40GB GPU, making it the most appropriate deep learning model for transfer learning in the RoboCup competition. In NUC i3-8109U, YOLOv4-tiny with an input size of 224x224 managed to get an average latency of 11.80 ms and mAP@IoU=0.5. To reduce noise outside the field, we first segmented the color of the field based on the color. By using YOLOv4-tiny architecture, the robot could detect balls at a maximum distance of 230 cm and goalposts at a maximum distance of 500 cm.
3.3 Localization
The position of the robot, at the field, will determine based on its initial position beside the field. Using the estimation distance between the robot and the goalpost, using the trilateration calculation method, and the several initial positions that have been defined, the initial position of the robot could be determined. While the position of the robot is estimated for each step based on the robot's speed according to the anterior step parameters and the direction of the robot. To reduce some errors when estimating the robot's position, the robot will re-estimate its initial position when the game state is initial, which usually happens after a goal or in a drop ball. Re-estimating the initial position is also done when the robot goes into the field after they have been picked up.
3.4 Behavior
The robot behaviors are designed using a simple state machine whose transitions are different based on the current game state, teammates' states, location, and orientation information from the localization module. Teammates' states are obtained through protocol communication between the robots, which is implemented using UDP communication. The team is built with two general roles, those are the robot defender and the robot striker. The defender exists if the striker is active on the field. Each role has its own determined position. The defender will approach the ball when the ball is around it. While the striker will search for the ball on the given point coordinates, which are our own field, the center of the field, and the opponent's field. Each robot can share the ball's existence through robot communication. And also, each robot can share who's currently holding the ball so that they can avoid the crash. For the kicking strategy, using the estimated position and orientation of the robot, the striker is able to aim the ball and just kick it.
References
- Dalal, N., Triggs, B.: Histograms of oriented gradients for human detection. In: Computer Vision and Pattern Recognition, vol. 1, pp. 886–893, 2005.
- T. Ojala, M. Pietikainen and T. Maenpaa, "Multiresolution gray-scale and rotation invariant texture classification with local binary patterns," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 7, pp. 971-987, 2002.
- J. M. Ibarra Zannatha, R. Cisneros Limón, A. D. Gómez Sánchez, E. Hernández Castillo, L. E. Figueroa Medina and F. J. K. Lara Leyva, "Monocular visual self-localization for human-oid soccer robots," CONIELECOMP 2011, 21st International Conference on Electrical Communications and Computers, San Andres Cholula, pp. 100-107, 2011.