Dagozilla Team Description Paper 2022
Agape D'Sky, Wifal Inola, Owen Lim, I Gusti Lanang A. T. S., Shirley, Agung Kurniawan, Muhammad Bintang P, Dinda Fahrila S. R., Belinda Ambarsari, Muhammad Ichsandro D. N., Reyhan Emyr A., Jonathan Bagus Wicaksono, Handrata Roy Josia, Ryanditto Wibisono, Agustinus Yudhistira Wicaksono Setyanto, Muhammad Morteza Mudrick, Muhammad Akbar Nugrahadi, Gema Wachid Aryasatya, Syabina Er Said, Ahmad 'Abdan Syakuro, Zul Aldi Rizki, Y. Ganendra Bhagaskara, Pagehgiri, Arkaan Rasyad Usman, Nanda Pramudia Santosa, Sarah Azka Arief, Muhammad Sulthan Mazaya, Malik Akbar Hashemi Rafsanjani, Grace Claudia, Farrel Ahmad, Vincent Prasetiya Atmadja
Institut Teknologi Bandung, Jl. Ganesha No. 10, Bandung 40132, Indonesia
Abstract Dagozilla is a robotics team from Institut Teknologi Bandung, Indonesia that aims to participate in the 2022 RoboCup Middle Size League (MSL). Dagozilla has been working on MSL robots since 2017. Our team has been competing in the Indonesian Robotics Contest since 2016 and has actively contributed to the national community ever since. This description paper aims to give an overview regarding the latest developments of our robots. This paper will cover a brief description about the mechanical and electrical systems and recent developments in the robot's software. These developments include a vision system, expanding system, ball dribbler system, software, and artificial intelligence.
Keywords: Middle Size League, RoboCup.
1 Introduction
Dagozilla is a robotics team from Bandung Institute of Technology, Indonesia that focuses on the development of mobile robots, particularly Middle Size league robots. This team first competed in the national MSL competition in 2017 and has been a regular participant ever since, having won the regional level and achieved fourth place at the national level in 2019 among other accolades such as best strategy award in 2018 and 2019 at the regional level. This team consists of undergraduate students that come from various fields of study, namely electrical engineering, mechanical and aerospace engineering, computer science, and engineering physics among others.
This paper describes a brief overview of the current status of the robots' development as well as the technologies used in the robots. Section 2 discusses a general overview and an introduction of the robots' platform. In section 3, the vision system mechanical build of our robots is discussed. Section 4 explains our new keeper robot's expanding system. Section 5 gives an overview of the ball manipulation mechanisms: the ball dribbling mechanism and kicking mechanism. Finally, section 6 briefly describes the major improvements that have been made to our robots' software and artificial intelligence.
2 Platform Overview
The development of our MSL robots started in 2017. Through the years, our robot platform has undergone various improvements and innovations and this year we have successfully developed our third-generation robot platform. This new platform has a four-wheeled base as described in [3]. A more thorough description and schematics of the robot's electrical system can be found in [6]. The design of our robots is inspired by some of the most established and successful teams in RoboCup MSL [4], [2].
Each robot has a custom-built PC as the main computing unit that runs the robot's software. The robot's software can be divided into 4 major processes: the vision system, world model, strategy, and control. These processes are implemented as packages, each consisting of several nodes, in a Robot Operating System (ROS) workspace. Each computing unit communicates with each other to share its respective local world model in order to build a single global world model as the source of truth for every robot. The communication between computing units is handled using a websocket communication protocol. A detailed diagram for the software architecture is described in [6].
3 Vision System
In the vision system, we integrated a top vision and an additional camera mounted on the second base. On the top of the second base, we use an omnidirectional mirror covered with an acrylic tube and a camera mounted upwards to obtain a 360-degrees view of the robot's environment. The mirror is designed using a particular hyperbolic equation in such a way that it minimizes the robot's reflection but the resolution of faraway objects is retained. Fig. 3 shows the mechanical design of the top vision system. As for Fig. 4, the additional camera is shown to be located at the front side of the robot's second base.
4 Expanding System
A new expanding system has been added to the keeper robot. The system uses stepper motors to create expanding motion, covering left, right, and upper side of the robot. A frame was designed and constructed from aluminium lists for mounting the motors and expanding parts. Each expanding mechanism is connected to two aluminium plates to the expanding itself. A set of rails were used to guide the expanding system movement in supporting the motors as well as to restrict any unwanted behavior.
5 Ball Dribbler System
In the dribbler system, we use a high RPM ungeared brushed DC motor without any gear reduction. Using steel and 3D-printed PLA and ABS parts gives a tough structure and lower-inertial rotating parts so a higher speed can be reached shortly. The dribbler angle was adjusted in a certain way to allow the dribbler to rotate around its housing during a front collision. This movement allowance reduces the impact energy absorbed by the dribbler by shifting it to the robot's interbase which is specifically designed to withstand huge impact energy.
6 Software and Artificial Intelligence
This section describes improvements on algorithms and AI that have been delivered and being worked on for this year. In subsection 6.1, the robot vision and perception is discussed. Then, a new method for robust global localization is discussed in subsection 6.2. Finally, in subsection 6.3, a new strategy architecture is discussed.
6.1 Computer Vision and Perception
Our computer vision system is used to perceive the robots' objects of interest in its environment such as ball, obstacles and opponents, and field lines. The system consists of multiple tasks, each responsible for a specific functionality, such as flattening the catadioptric image or detecting the ball. Beside the standard OpenCV library, we also implement a few algorithms such as line detection or catadioptric transformation using linear algebra calculations. Fig. 6 shows some capabilities of our computer vision system.
The recent improvement to our vision system is the addition of a front facing depth camera. Currently, this camera is used by the keeper robot to perceive the ball position. With this depth camera, the keeper will be able to determine the ball position and trajectory more precisely and therefore be able to intercept it better. With the addition of a front facing camera, the robot can also perceive the elevation of the ball which cannot be done accurately by only relying on the omnivision camera.
6.2 Robot Simulator using Gazebo 11
Robot simulators have a significant role for software development of the robot. It is usually used to test the robot's software, hardware, as well as its strategy. Rather than testing it directly to the robot, the exactness behavior of the software can be evaluated in the simulator. This is a cheaper and safer alternative as it can avoid damaging the robot if the software does not work as intended. Thus, we developed a simulator using Gazebo 11 Simulator.
The simulator is able to simulate the hardware implementation of the robot. It can be run on any computer with Ubuntu 20.04 LTS and ROS Noetic installed. During simulations, this simulator receives the command and moves the robot model accordingly.
The simulator can be used to evaluate some performance metrics using input parameters, such as the robot's mass, center of gravity, maximum acceleration, maximum velocity, and friction coefficient. This simulator also includes control configuration parameters like PID controller coefficients. Moreover, strategy routines can also be configured to make a certain set of movements according to the current robot state. From these inputs, the output will show how well the robot's performance is.
6.3 Peer-to-Peer Communication
Peer-to-peer communication is one of the improvements that are currently being worked on. The problem of high variable latency calls for a solution in the form of this improvement which deals with the robot's communication. In this improvement, a method of communication which involves peer-to-peer connections between robots is implemented. This allows robots to communicate with each other without the need for an intermediary, thus reducing latency.
In order to implement this method, a full mesh network is built through the application of Node.js module which gives each node in the network the ability to broadcast messages to each other directly. Peer-to-peer connections are implemented using WebRTC and each connection between nodes is established through a signaling server that uses Socket.IO on its implementation. The peer-to-peer communication network can be visualized as follows.
7 Conclusion
This year, our team has managed to do a major overhaul on our robot's physical, electrical, and software systems. Years of existing knowledge and research on materials science, low-level control systems, distributed systems, and artificial intelligence have come into fruition in the form of all-new robots. It is nice to finally say that with our current robots setup, we are up to the standards of RoboCup Middle Size League. We believe that we can take on the technical challenges of the competition.
Ultimately, our vision is to contribute to the advancements of autonomous vehicles, cooperative distributed computation, and artificial intelligence technologies through research. As a newcomer in the RoboCup Middle Size League competition, our goal is to learn from the already established teams in the community. We look forward to testing ourselves against other teams from around the world and to gain invaluable experience as well as to share knowledge and technologies with the community.
References
- Browning, B., Bruce, J., Bowling, M., Veloso, M.: Stp: Skills, tactics, and plays for multi-robot control in adversarial environments. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering 219(1), 33–52 (2005). https://doi.org/10.1243/095965105X9470
- Dias, R., Amaral, F., Angelico, I., Azevedo, J.L., Cunha, B., Dias, P., Gomes, C., Lau, N., Martins, P., Neves, A.J.R., Pedrosa, E., Pereira, A., Pinto, F., Rodrigues, P., Silva, D., Silva, J.: Cambada'2019: Team description paper (2019)
- Made Yogga Anggara Pangestu, Michael Patrick Andoko, Riswansyah Imawan, Wasito Pawoko Jati, Agung Kurniawan, Muhammad Bintang Pananjung, Shirley, Ahmad 'Abdan Syakuro, Arkaan Rasyad Usman, Ryanditto Wibisono, Y. Ganendra Bhagaskara, Zul Aldi Rizki.: Dagozilla mechanical description 2022 (2022)
- Houtman, W., Kengen, C., Van Lith, P., Ten Berge, R., Haverlag, M., Meessen, K., Douven, Y., Schoenmakers, F., Bruijnen, D., Aangenent, W., Olthuis, J., Dolatabadi, M., Kempers, S., Schouten, M., Beumer, R., Kon, J., Kluijpers, W., Van de Loo, H., Van de Molengraft, R.: Tech united eindhoven team description 2019 (2019)
- de Koning, L., Mendoza, J.P., Veloso, M., van de Molengraft, R.: Skills, tactics and plays for distributed multi-robot control in adversarial environments. In: Akiyama, H., Obst, O., Sammut, C., Tonidandel, F. (eds.) RoboCup 2017: Robot World Cup XXI. pp. 277–289. Springer International Publishing, Cham (2018)
- Rahadian, Andhika, et all.: Dagozilla electrical and software description 2022 (2022)
- Thrun, S., Fox, D., Burgard, W., Dellaert, F.: Robust monte carlo localization for mobile robots. Artificial intelligence 128(1-2), 99–141 (2001)
- Van Goch, B.P.T.: Optimizing a solenoid for a robocup kicker (2006)