This year, for the third time, the team of doctoral students and students of our RoverOva department took part in the European Rover Challenge 2020 international competition with its K3P4 robot and achieved an excellent 2nd place. The team also won two special awards – for best analysis and best autonomous navigation. A total of 46 teams from all over the world took part in the competition.
Due to the Covid-19 epidemic, this year's competition took place in a different form than in previous years, the competition was now held at a distance and all participants competed with the same rover. The task was not to design the best possible design solution for the robot, the team members focused more on the competition disciplines simulating the geological exploration of Mars and the creation of software for the platform provided by the organizers.
How did the competition go?
Competition points are earned during the year from the registration, which closes at the end of March. The application will be evaluated in terms of content and the first points will be added to the team. They receive additional points from the preliminary report in May, from the video documentation in July and from the final report in August. These points are then added to the points earned during the competition itself in September. In previous years, the competition was always held in Poland and the teams performed four tasks with a rover (mobile robot), which they brought to Poland, and one presentation task within three competition days. This year, however, due to Covid-19, there were necessary changes in the rules and course of the competition.
How did the organizers of the competition deal with the global pandemic?
The organizers of the competition decided not to cancel the whole event and adapted to the constantly changing situation. In the summer, they announced that they were working on a remote version of the competition, and during the two months before the competition, they specified how the competition would take place in the new version. There were really a lot of changes. Instead of teams preparing their own rover and traveling with him to Poland, each team controlled robots from their own country. For these needs, the organizers provided Leo Rover mobile robots, UR3 robotic arms and the Freedomrobotics software platform. Members of the RoverOva team at the Department of Robotics were facing completely new tasks. Work on the rover's own stopped, and preparations began to control the robot hundreds of miles away.
How did remote robot control work?
For this purpose, we used the platform freedomrobotics.ai (FR), thanks to which it is possible to connect to any robot with installed Robot Operating System (ROS) and FR agent. Then all you have to do is have the robot turned on and connected to the Internet, and in the FR online platform you can see the view from the cameras, data from the sensors and other information from the robot. At the same time, the robot can be controlled using a virtual or real joystick. However, the connection is not smooth, we often received poor quality video at about one frame per second. However, the platform has a lot of tweaks and it is not difficult to set it up. It also provides a simple bridge for SSH, so we controlled the robot on two computers, one operator controlled the robot in front of the FR platform and the other ran functions via SSH.
What did the competition tasks look like?
Of the original five competition tasks (presentation, navigation, manipulation, collection, science), only the presentation, which just took place via a video call, remained unchanged. The collection task was completely eliminated from the competition. The manipulation task, which in the past consisted of driving the rover to the control panel and manipulating the controls on the panel, was performed at a fixed location with an industrial collaborative robot UR3. Using an Xbox controller, we controlled the UR robot via the FR platform to toggle several switches on the panel, lift the adapter off the ground and plug it into a standard plug, and lift the Ethernet cable and plug it into the panel. Switching the buttons was not a problem, but it was very difficult to hit with a plug in the socket or with a small Ethernet connector in the socket and we only got to the touch. The navigation task and the science task were combined into one. The navigation part was very similar to previous years. Basically, it was about passing the entered points on the map. To do this, each team received the coordinates of checkpoints in meters from the starting point. The accuracy with which the robot reaches the control points and the degree of autonomy, ie whether the robot is controlled by a human or alone, is evaluated. At the same time, a surface survey was incorporated in this task. Before the competition, the teams received a 3d terrain model and photos from the drone, which were to describe and create a hypothesis about the age of geological phenomena on the surface. During the ride, they then had to verify the hypothesis, take photos of the evidence and evaluate it after the ride.
How did the team prepare for the competition?
During August, one test ride with Leo Rover took place in Poland, during this ride we tested the connection and control of the robot. After the test drive, the organizers provided us with a rosbag record, which is actually a record of everything that happens in the robot during the ride, videos from the cameras, data from the sensors, control commands, all of which can then be replayed. At the beginning of September, another test drive with the Leo rover and the UR3 arm control test took place. We also had records of these tests. The organizers of the competition also provided a simulation environment with a rover model in Gazebo. The simulation also included a terrain model that matched the real terrain in the competition. Based on the records and simulations, we prepared our own ROS package, which we installed in the Docker container and sent to the competition organizers before the start of the rides. Then it was enough for the organizers to load and run the prepared container in the robot and we joined.