Dagozilla Team Description Paper 2021
Irfan Tito Kurniawan, Joshua Christo Randiny, Muhammad Abyan Raff Hardiwinata, Nur Alya Farrasti, Rizky Ardi Maulana, Annisa Zulfa Hidayah, Aminul Solihin, Bimo Adityarahman Wiraputra, Naufal Zhafran Latif, Willy Wahyanto, Andhika Rahadian, Ilham Rayhan, Dimas Wahyu Langkawi, Okugata Fahmi Nurul Yudho Fauzan, Tengku Romansyah, Made Yogga Anggara Pangestu, Michael Patrick Andoko, Riswansyah Imawan, Wasito Pawoko Jati, Angelia Novi Setyowati, Linta Rahmatul Ula, Figo Agil Alunjati, Rizki Anggita Mahardika, Agape D'Sky, I Gusti Lanang Ari Trisne Sudana, Irina Mardhatillah, Owen Lim, Wifal Inola, Jason Stanley Yoman, Reyhan Emyr Arrosyid, Reyhan Mulqilatha Prajesa, Shirley, Muhammad Bintang Pananjung, Agung Kurniawan, Adonis Thirafi Hugo Mafaza, Belinda Ambarsari Arya Putri, Dinda Fahrilla Suci Ramadhani, Muhammad Ichsandro D Noor, Naufal Zaidan Nabhan
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 2021 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 new dribbling mechanism, improved strategy architecture, and localization method using an adaptive particle filter.
Introduction
Dagozilla is a robotics team from Institut Teknologi Bandung, 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. Sections 4 and 5 give 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.
Platform Overview
The development of our MSL robots started in 2017. Through the years our robot platform have undergone various improvements and innovations and this year we have successfully developed our fourth-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].
Vision System
We use an omnidirectional mirror and a camera mounted upwards to get a 360 degrees view of the robot's environment. An acrylic tube is used to support the omnidirectional mirror. 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 vision system. A simulated view from the vision system in a shrunk MSL environment (6m × 9m) is shown in Fig. 4.
Ball Dribbling Mechanism
To handle the ball's movement, a motor-driven ball dribbling mechanism is used. To ensure a natural ball movement, we ran simulations to find a ball dribbling mechanism's geometry and orientation which yields the best control over the ball. Due to space limitations, we use a brushed DC motor with high revolutions per minute (RPM) along with a bevel gear to obtain the said configuration.
Kicking Mechanism
Our outfield robots are equipped with a solenoid-based kicking mechanism. The solenoid's parameters, such as the amount of turns, are largely inspired by the kicking mechanism implemented in [8]. Due the limited choice of materials in the local market, we had to compensate for the loss of kicking power by increasing the amount of turns and the voltage source, and thereby increasing the current that flows through the coil.
Our kicking mechanism is capable of kicking in two discrete modes: lob shot and flat shot. This is made possible by equipping the kicking mechanism with two levers which differ in length. The short lever will hit the ball exactly through it's center of mass, producing a flat shot, while the long lever will hit the bottom part of the ball, producing a lob shot. The switch between the two modes is made possible by moving the lever's rotation axis using a servo motor.
Software and Artificial Intelligence
This section describes improvements on algoritms 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.
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 is comprised of multiple pipelines, each responsible for a specific task, such as flattening the catadioptric image or detecting the ball. Each pipeline is comprised of multiple segments, each correlating to an OpenCV function or algorithm to be applied to an image or data payload. The segments are designed to have uniform inputs and outputs such that composing the sequence of segments of a pipeline can be configured by modifying a configuration file. Beside the standard OpenCV library, we also implement a few algorithms such as radial search line or catadioptric transformation using linear algebra calculations depending on each pipeline's needs. Fig. 6 shows some capabilities of our computer vision system.
Robot Localization
One major improvement that has been successfully delivered this year in terms of robot's intelligence is the implementation of a robust localization method. This localization method gives the robot the ability to reliably localize itself globally relative to the map or playing field, thus eliminating the need to recalibrate or reset its estimated pose at any time whatsoever. The method used is an adaptive particle filter method called Augmented Monte Carlo Localization. This method is implemented based on [7].
We designed an adaptive particle filter method that uses motor odometry data for the control term and locations of field lines detected by the vision system for the measurement term. This algorithm has been implemented and tested both in simulation and in real world, yielding an error of no more than 20 cm after a complex manoeuvre as shown in Fig. 7.
Distributed Strategy Architecture
Another improvement that is being worked on by our team this year is an allnew distributed strategy architecture. This new architecture allows the team to execute different strategies to respond to different game states as well as different opponent playing styles.
The team-wide decision making is done in a distributed manner, meaning that each robot independently chooses a strategy on their own and then vote on what strategy the whole team should take without a leader or a central coordinator. These decisions are made based on a shared world model that guarantees the team-wide strategy to be eventually consistent. In each strategy, every robot is given a distinct role and execute a number of tasks based on their role. This system is largely inspired by [1] and the improvements made by [5].
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 artifical 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 test 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)
- Hardiwinata, M.A.R., Wahyanto, W., Pangestu, M.Y.A., Andoko, M.P., Imawan, R., Jati, W.P., Shirley, Pananjung, M.B., , A., Mafaza, A.T.H.: Dagozilla mechanical description 2021 (2021)
- 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)
- Maulana, R.A., Randiny, J.C., Solihin, A., Kurniawan, I.T., Wiraputra, B.A., Latif, N.Z., Rahadian, A., Rayhan, I., Langkawi, D.W., Fauzan, O.F.N.Y., Romansyah, T., D'Sky, A., Sudana, I.G.L.A.T., Mardhatillah, I., Lim, O., Inola, W., Yoman, J.S., Arrosyid, R.E., Prajesa, R.M.: Dagozilla electrical and software description 2021 (2021)
- 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)