A screenshot from the brand new simulator that will probably be trialled for a particular problem at RoboCup2025.
The annual RoboCup occasion, the place groups collect from throughout the globe to participate in competitions throughout quite a lot of leagues, will this yr happen in Brazil, from 15-21 July. Prematurely of kick-off, we spoke to 2 members of the RoboCup Soccer 3D Simulation League: Government Committee Member Klaus Dorer, and Stefan Glaser, who’s on the Upkeep Committee and who has been just lately creating a brand new simulator for the League.
May begin by simply giving us a fast introduction to the Simulation League?
Klaus Dorer: There are two Simulation Leagues in Soccer: the 2D Simulation League and the 3D Simulation League. The 2D Simulation League, because the identify suggests, is a flat league the place the gamers and ball are simulated with simplified physics and the primary focus is on crew technique. The 3D Simulation League is far nearer to actual robots; it simulates 11 versus 11 Nao robots. The extent of management is like with actual robots, the place you progress every motor of the legs and the arms and so forth to attain motion.
I perceive that you’ve been engaged on a brand new simulator for the 3D League. What was the thought behind this new simulator?
Klaus: The goal is to convey us nearer to the {hardware} leagues in order that the simulator will be extra helpful. The present simulator that we use within the 3D Simulation League known as SimSpark. It was created within the early 2000s with the goal of creating it doable to play 11 vs 11 gamers. With the {hardware} constraints of that point, there needed to be some compromises on the physics to have the ability to simulate 22 gamers on the similar time. So the simulation is bodily considerably life like, however not within the sense that it’s straightforward to transpose it to an actual Nao robotic.
Stefan Glaser: The thought for creating a brand new simulator has been round for a couple of years. SimSpark is a really highly effective simulation framework. The bottom framework is area impartial (not soccer particular) and particular simulations are realized through plugins. It helps a number of physics engines within the backend and gives a versatile scripting interface for configuration and diversifications of the simulation. Nonetheless, all this flexibility comes with the worth of complexity. Along with that, SimSpark makes use of customized robotic mannequin specs and communication protocols, limiting the quantity of accessible robotic fashions and requiring groups to develop customized communication layers just for speaking with SimSpark. Because of this, SimSpark has not been broadly adopted within the RoboCup neighborhood.
With the brand new simulator, I wish to tackle these two main points: complexity and standardization. Within the ML neighborhood, the MuJoCo physics engine has change into a extremely popular alternative for studying environments after Google DeepMind acquired it and launched it open supply. Its requirements for world and robotic mannequin specs are broadly adopted locally and there exist a variety of ready-to-use robotic mannequin specs for all kinds of digital in addition to real-world robots. In the midst of final yr, they (MuJoCo) added a function which lets you manipulate the world illustration throughout simulation (including and eradicating objects to / from the simulation whereas preserving the simulation state). That is one important requirement we now have within the simulation league, the place we begin with an empty subject after which the brokers join on demand and kind the groups. When this function has been added, I made a decision to make a step ahead and attempt to implement a brand new simulator for the 3D Simulation League based mostly on MuJoCo. Initially, I needed to start out growth in C/C++ to attain most efficiency, however then determined to start out in Python to cut back complexity and make it extra accessible for different builders. I began growth on Easter Monday so it’s not even three months previous!
I believe it could be helpful to elucidate a bit of bit extra in regards to the setup of our league and the necessities of the simulator. If we take the FIFA recreation (in your favourite gaming gadget) for instance, there may be one simulation occurring which simulates 22 gamers and the choice making is a part of the simulation having full entry to the state of the world. Within the 3D Simulation League we now have two groups with 11 robots on the sector, however we even have 22 particular person agent softwares that are related to the simulation server, every controlling one single robotic. Every related agent solely receives sensor data associated to their robotic within the simulation. They’re additionally solely allowed to speak through the server – there is no such thing as a direct communication between the brokers allowed in Simulation League. So we now have a common setup the place the simulation server has to have the ability to settle for as much as 22 connections and handle the scenario there. This performance has been the main focus for me for the final couple of months and this half is already working nicely. Groups can join their brokers, which can obtain sensor data and may actuate joints of the robotic within the simulation and so forth. They’re additionally capable of choose completely different robotic fashions in the event that they like.
An illustration of the simulator set-up.
Presumably the brand new simulator has a greater illustration of the physics of an actual robotic.
Klaus: Precisely. For instance, how the motors are managed is now a bit completely different and far nearer to actual robots. So after I did my first experiments, I noticed the robotic collapse and I assumed it was precisely how an actual robotic would collapse! In SimSpark we additionally had falling robots however the motor management within the new simulator is completely different. Now you may management the motors by velocity, by drive, by place, which is far more versatile – it’s nearer to what we all know from actual robots.
I believe that, at the least initially, it will likely be tougher for the Simulation League groups to get the robots to do what they need them to do, as a result of it’s extra life like. For instance, in SimSpark the bottom contact was far more forgiving. So in the event you step laborious on the bottom, you don’t fall instantly with a SimSpark robotic however with a MuJoCo robotic this will probably be far more life like. Certainly, in actual robots floor contact is considerably much less forgiving.
I had a query in regards to the imaginative and prescient facet – how do the person brokers “see” the place of the opposite brokers on the sector?
Stefan: We simulate a digital imaginative and prescient pipeline on the server facet. You may have a restricted subject of view of ±60° horizontally and vertically. Inside that subject of view you’ll detect the pinnacle, the arms, the ft of different gamers, or the ball, for instance, or completely different options of the sector. Just like widespread real-world imaginative and prescient pipelines, every detection consists of a label, a route vector and the space data. The knowledge has some noise on it like actual robots have, too, however groups don’t must course of digital camera photos. They get the detections immediately from the simulation server.
We’ve beforehand had a dialogue about transferring in direction of getting digital camera photos of the simulation to combine into the imaginative and prescient pipeline on the agent facet. This was by no means actually life like in SimSpark with the implementation we had there. Nonetheless, it needs to be doable with MuJoCo. Nonetheless, for the primary model, I used the identical method the standard simulator handled the imaginative and prescient. Which means that groups don’t want to coach a imaginative and prescient mannequin, and don’t must deal with digital camera photos to get began. This reduces the load considerably and in addition shifts the main target of the issue in direction of movement and resolution making.
Will the simulator be used at RoboCup 2025?
Stefan: We plan to have a problem with a brand new simulator and I’ll attempt to present some demo video games. For the time being it’s probably not in a state the place you may play a complete competitors.
Klaus: That’s often how we proceed with new simulators. We’d not transfer from one to the opposite with none intermediate step. We could have a problem this yr at RoboCup 2025 with the brand new MuJoCo simulator the place every taking part crew will attempt to educate the robotic to kick so far as doable. So, we is not going to be enjoying a complete recreation, we gained’t have a number of robots, only a single robotic stepping in entrance of the ball and kicking the ball. That’s the technical problem for this yr. Groups will get an thought of how the simulator works, and we’ll get an thought of what must be modified within the simulator to proceed.
This new problem will probably be voluntary, so we aren’t certain what number of groups will take part. Our crew (MagmaOffenburg) will definitely participate. Will probably be fascinating to see how nicely the groups carry out as a result of nobody is aware of how far a great kick is on this simulator. It’s a bit like in Method One when the foundations change and nobody is aware of which crew would be the main crew.
Do you could have an thought of how a lot adaptation groups must make if and whenever you transfer to the brand new simulator for the total matches?
Stefan: As a long-term member of 3D Simulation League, I do know the previous simulator SimSpark fairly nicely, and know the protocols concerned and the way the processes work. So the primary model of the brand new simulator is designed to make use of the identical primary protocol, the identical sensor data, and so forth. The thought is that the groups can use the brand new simulator with minimal effort in adapting their present agent software program. So they need to be capable of get began fairly quick.
Though, when designing a brand new platform, I wish to take the chance to make a step ahead by way of protocols, as a result of I additionally wish to combine different Leagues within the long-term. They often produce other management mechanisms, they usually don’t use the identical protocol that’s outstanding in 3D Simulation. Due to this fact there must be some flexibility sooner or later. However for the primary model, the thought was to get the Simulation League prepared with minimal effort.
Klaus: The large thought is that this isn’t simply used within the 3D Simulation league, but additionally as a helpful simulator for the Humanoid League and in addition for the Commonplace Platform League (SPL). So if that seems to be true, then it will likely be fully profitable. For the Kick Problem this yr, for instance, we use a T1 robotic that may be a Humanoid League robotic.
May you say one thing about this simulation to actual world (Sim2Real) facet?
Stefan: We’d prefer it to be doable for the motions and behaviors within the simulator to be ported to actual robots. From my viewpoint, it will be helpful the opposite method spherical too.
We, as a Simulation League, often develop for the Simulation League and subsequently wish to get the behaviors operating on an actual robotic. However the {hardware} groups often have the same subject after they wish to check high-level resolution making. They could have two to 5 robots on the sector, and in the event that they wish to play a high-level decision-making match and prepare in that regard, they at all times need to deploy a variety of robots. If additionally they wish to have an opponent, they need to double the quantity of robots as a way to play a recreation to see how the technique would end up. The Sim2Real facet can also be fascinating for these groups, as a result of they need to be capable of take what they deployed on the actual robotic and it also needs to work within the simulation. They will then use the simulation to coach high-level abilities like crew play, participant positioning and so forth, which is a difficult facet for the actual robotic leagues like SPL or the Humanoid Leagues.
Klaus: And the rationale we all know it is because we now have a crew within the Simulation League and we now have a crew within the Humanoid League. In order that’s another excuse why we’re eager to convey this stuff nearer collectively.
How does the refereeing work within the Simulation League?
Klaus: A pleasant factor about Simulation Leagues is that there’s a program which is aware of the actual state of the world so we will construct within the referee contained in the simulator and it’ll not fail. For issues like offside, whether or not the ball handed the aim line, that’s fail protected. All of the referee selections are taken by the system itself. We’ve a human referee however they by no means must intervene. Nonetheless, there are conditions the place we want synthetic intelligence to play a job. This isn’t presently the case in SimSpark as a result of the foundations are all laborious coded. We’ve a variety of fouls which are debatable. For instance, there are lots of fouls that groups agree shouldn’t have been a foul, and different fouls that aren’t known as that ought to have been. It might be a pleasant AI studying job to get some conditions judged by human referees after which prepare an AI mannequin to higher decide the foundations for what’s a foul and what isn’t a foul. However that is presently not the case.
Stefan: On the brand new simulator I’m not that far into the event that I’ve carried out the automated referee but. I’ve some primary algorithm which progress the sport as such, however judging fouls and deciding on particular conditions shouldn’t be but carried out within the new simulator.
What are the following steps for creating the simulator?
Stefan: One of many subsequent main steps will probably be to refine the physics simulation. For example, regardless that there exists a ball within the simulation, it isn’t but very well refined. There are a variety of physics parameters which we now have to resolve on to replicate the actual world nearly as good as doable. It will possible require a collection of experiments as a way to get to the right values for numerous features. On this facet I’m hoping for some engagement of the neighborhood, as it’s a nice analysis alternative and I personally would favor the neighborhood to resolve on a generally accepted parameter set based mostly on a degree of proof that I can’t simply present all on my own. So in case somebody is keen on refining the physics of the simulation such that it finest displays the actual world, you’re welcome to hitch!
One other main subsequent step would be the growth of the automated referee of the soccer simulation, deciding on fouls, dealing with misbehaving brokers and so forth. Within the first model, foul situations will possible be judged by an professional system particularly designed for this objective. The simulation league has developed a set of foul situation specs which I plan to adapt. In a second step, I wish to combine and help the event of AI based mostly foul detection fashions. However yeah, one step after the opposite.
What are you notably wanting ahead to at RoboCup2025?
Klaus: Effectively, with our crew we now have been vice world champion seven occasions in a row. This yr we’re actually hoping to make it to world champion. We’re very skilled in getting losses in finals and this yr we’re wanting ahead to altering that, from a crew perspective.
Stefan: I’m going to Brazil as a way to promote the simulator, not only for the Simulation League, but additionally throughout the boundaries for the Humanoid Leagues and the SPL Leagues. I believe that this simulator is a superb probability to convey individuals from all of the leagues collectively. I’m notably within the particular necessities of all of the groups of the completely different leagues. This understanding will assist me tailor the brand new simulator in direction of their wants. That is one among my main highlights for this yr, I might say.
You will discover out extra in regards to the new simulator on the undertaking webpage, and from the documentation.
Klaus Dorer is professor for synthetic intelligence, autonomous programs and software program engineering at Offenburg College, Germany. He’s additionally a member of the Institute for Machine Studying and Analytics IMLA. He has been crew chief of the RoboCup simulation league groups magmaFreiburg (since 1999), dwelling programs, magmaFurtwangen and is now crew chief of magmaOffenburg since 2009. Since 2014, he has additionally been a part of the humanoid grownup dimension league crew Sweaty.
Stefan Glaser is instructing assistant for synthetic intelligence and clever autonomous programs on the Offenburg College, Germany. He has been a part of the RoboCup simulation league crew magmaOffenburg since 2009 and the RoboCup humanoid grownup dimension league crew Sweaty since 2014.
AIhub
is a non-profit devoted to connecting the AI neighborhood to the general public by offering free, high-quality data in AI.
AIhub
is a non-profit devoted to connecting the AI neighborhood to the general public by offering free, high-quality data in AI.
Lucy Smith
is Managing Editor for AIhub.