See how we prepared Leo Rover and ourselves for the European Rover Challenge.
Leo Rover has been a technical partner of the ERC for two editions of this event already. Back in 2020, it was quite a challenge for us as it was the first edition of the ERC that was held online. A lot had to be done to make it possible. But we rolled up our sleeves and got to work. Read on to see how we turned Leo Rover into the competition robot both for the 2020 and 2021 remote editions of the European Rover Challenge :)
When it had been officially settled that we were in for the European Rover Challenge 2020 (see: article on ERC 2020) and ready to make a robot to which the competing teams could remotely connect, there were various ideas in our minds as to do it right. That was still a moment when anything could be done, anything could be implemented because, at that point, there was no base for the competition since it was a totally new, remote edition.
When it comes to the hardware that could be used for Leo Rover during ERC 2020, there were a few ideas we had come up with, for instance, to put a robotic arm on the rover. It would allow the contestants to pick something up off the ground but Interacting with an external environment could bring more and more complex issues for the organizers and we dropped this idea the arm could break down, get loose, or someone could simply forget about it and hit something; anything could happen, really.
We eventually settled on more "passive" equipment for ERC 2020, that is, observing gear. We used a stereovision, forward-looking camera on top of the rover's mast which we called Navcam, and a hazard avoidance camera – Hazcam. However, for the 2021 edition of the event, apart from the cameras, we also used some other equipment. Read on.
ZED 2, that is, the aforementioned Navcam, is a stereo camera that reproduces human vision by using neural networks. The camera consists of ultra-sharp 8-element glass lenses and 16:9 native sensors. The device allows to capture up to 120° field of view providing a three-dimensional comprehension of the observed scene.
We also provided a video stream from the standard front, hazard avoidance camera that comes by default with the rover – it got the name Hazcam. It was used to take pictures of the surroundings to help the rover and the operator avoid any obstacles in the traverse path.
As we got more confident after 2020, we added complexity to the 2021 edition (see article on ERC 2021). The rover setup included a Probe Deployment Unit (PDU) – a revolver with disc-shaped probes which played a key role during the Navigation Task of the ERC. The PDU was located on the back of Leo Rover. It consisted of 6 trays, five of which held the probes. Once Leo Rover was placed on the starting point of the course, the task was to navigate the rover through the Mars yard delivering the probes to all the checkpoints. While the rover reached the proper location, a team typed commands into the robot making it rotate the PDU to deploy a probe.
See the model in all its glory and manipulate the angles here.
At that point, the teams were fully autonomous in terms of preparation. Naturally, we were there to provide support and assistance if needed but other than that, most of the participants were able to handle the navigation task on their own via the Internet - guide the rover through the course and leave the probes.
To make something like this possible on the rover in the first place, we decided to use the previously mentioned stereo camera – ZED 2 – which has nice support in the ROS environment. In addition, in order for the camera to work, we had to put another computer on the rover – Nvidia Jetson Xavier NX. The camera started working with the computer independently of the rest of the rover.
The computer was part of the ERC payload. Its purpose was to run all of the software that wasn’t included in the standard Leo Rover. Particularly, the software that the teams provided ran on this very computer. It was plugged into Leo Rover via the network so it enabled the participating teams to have access to other parts of the robot.
A huge aspect for the ERC was also planning and arranging the Internet connection on site. As the event takes place in an open space, and the entire area is quite large, it entails plenty of bystanders, all with their own networks, we needed to fight not only the range issues but also high interference. To avoid that, the network had to be strong and stable. We designed a WiFi network for the competition and the Kielce University of Technology provided it. To Leo Rover, we attached a 5GHz wireless network modem – MikroTik GrooveA 52 ac – that was connected to the local network at the site.
Another aspect we had to provide for the ERC was the proper software.
In order for the teams to be able to remotely connect to Leo Rover from their homes, universities, or any other place, we needed to add a layer that would simply allow participants to do so via a regular online account. We found a ready software for that very purpose, courtesy of Freedom Robotics. The company provides control and monitoring software for the next generation of robotics companies enabling them to create, prototype, operate, support, and scale robot fleets.
The teams' job was to prepare the image for Docker which they then uploaded to the rover. For those of you not familiar with Docker – it’s an open software platform for developing, delivering, and also running applications. With Docker, you can isolate your applications from your infrastructure, and thus, it allows you to deliver software fast. During the ERC, a team delivered their image to us, then we ran the image on the rover and after that, it performed its tasks. The participants had access to their images and, just like in a typical computer system, they could still modify something there. The Freedom Robotics UI provided them with an SSH tunnel they could access remotely to enter the rover as if it was in their labs.
Part of the software was also a visualization station – apart from the rover itself, the participants had also access to the computer to connect to the robot. It means the contestants could take data from the rover that was on ROS and visualize those pieces of data, for example, images from cameras, stereo images, data from IMU sensors, and many other things. For this purpose, RViz was used which is a tool that allows us to view what the robot is thinking, seeing, and doing.
Prior to the competition, there had arisen a certain difficulty for us to overcome, namely, preparing the teams for this remote contest. We asked ourselves how the participants were supposed to prepare for the competition without having the rover physically, without the time and chance to touch it, test it, get familiar with it. We decided to build a dedicated Gazebo simulation of the terrain and the Rover for the contestants and on top of that, give each team 3 opportunities to test their approach on live equipment during test drive missions.
As mentioned, we created a simulation using Gazebo – an open-source 3D robotics simulator. Into the simulation, we put a model of the actual terrain which had been made using a 3D scanning from a drone; a model of Leo Rover along with the whole equipment; and also a model of the software. The participating teams could write their own software for the simulation and use it as if they were working with the real rover on the real terrain. This solution allowed the contestants not to be dependent solely on us to put something interesting into the simulation. Its environment was an integral part of Leo Rover’s software. The purpose of the simulation was to help the participants validate their software concepts as well as improve their teleoperation skills before applying them on the real rover.
See a short video of the simulation task for the ERC 2021 performed by INFERNO Delhi Technological University. The video presents the team’s autonomous navigation, ARTag detection, and robotic arm control of the rover.
Each team was provided with a number of test drives in order to check if everything worked properly before the competition. For the ERC 2020, there were two test drives for the teams, and for the 2021 edition, three. To get those test drives done, we went to Kielce, where the ERC was held, to serve the teams on site there, so that they could actually "face" the reality.
The purpose of the test drives was to prepare the contestants for what they were going to deal with. After the 2020 edition of the ERC, we knew that there were some serious issues to handle, that is, making the participants understand how the equipment worked, what could be done with it, etc. So, we decided that for the ERC 2021, we would provide one extra test drive.
The goal of the first test drive was to connect to the rover. It was to get the teams’ feet wet – connect to Leo Rover, operate it, see what the terrain looked like, how the camera worked, etc.
The second test drive was bigger than the first one in terms of its significance. At this point, we expected the teams to be ready and prepared for uploading something to the rover. They had their own images of the system to use in Docker and operate the rover.
And then, there was the last, third test drive. It was most crucial for the participants as taking part in the competition depended on it. During that test drive, the contestants had to perform tasks, but what was also significant at that point was how the teams were prepared for that. This way, we wanted to check whether the participants read the competition documentation, whether they were determined enough for the contest. Because the ERC is a student competition, many people don't take it seriously and the third test drive allowed us to eliminate the teams with such an attitude to it.
After the last test drive, the contestants were well prepared for the competition which took place a couple of weeks later. And compared to the 2020 edition, providing the participants with not two, but three test drives turned out to be an excellent solution.
Interestingly, we even performed a test drive just for us about which no one officially knew. This way we wanted to also test ourselves. We were there on site to check all the gear, new features we had implemented to the rover and learn a bit about how to write proper software for the competition. To see if all this is feasible at all, we took on the role of a team taking part in the competition and performed tasks.
Here’s a bit about what rested on the Leo Rover team members’ shoulders.
Preparing the software and adapting in 2021 what was in 2020 was Błażej's, our main programmer’s job and so was all the Docker preparation.
The Gazebo simulation was the fruit of Błażej and Szymon's efforts, with Szymon responsible for optimizing the models, and Błażej handling the software part. The model of the terrain was provided by the Mars Society of Poland.
Another member of our team, Piotr, wrote the implementation of the PDU. He was also responsible for the aforementioned visualization station – Piotr's job was to prepare it, handle the connection between the rover and the station and support it all, meaning, giving the participants access to and upload their configuration files they needed, and Błażej dealt with the rover support – he was checking the images the competitors delivered, uploaded them and if needed, supported them.
Wojtek, our head of sales, was taking care of a nice atmosphere of the event on site, plus, he was making sure that after each drive the rover had a fully charged battery.
That pretty much sums up our efforts to prepare not only Leo Rover for the ERC but also ourselves. Being a technical partner of such a prestigious space and robotics event is no walk in the park. There were a lot of responsibilities on our shoulders to ensure that everything would work the way it was supposed to. And we did our best to provide the ERC contestants with excellent support, a wonderful experience, and fun. So, did we deliver or not? ;) See much more detailed technical information in the ERC 2021 documentation: