The Robotics olympics is an international contest where students from all around the globe compete and cooperate to solve world’s problems like global warming , recycling or 2019’s challenge: ocean cleaning, using their knowledge in robotics.
For the 2019’s edition, we developed an app ecosystem in order to help referees and assistants to report the score of the match in real time. Also, the platform did the tournament setup and progression. Solving challenges like a really crowded place where wifi networks won’t be realiable (despite of being in our own private network), we implemented a minimum communication system to minimize the latency of the network.
Since this was a one time event, we didn’t have much times to test and deploy new versions of the software, so we coupled to the implementation team and iterated with them on the firsts rounds of the tournament, to implement the changes that arised with the first experience of the platform usage.
The system has four components: the server that manages all the data and state of the tournament and feeds the big screens of the stadium, the operation room desktop app where we can switch the content of the screens and advance the tournament, and two mobile apps: the referee app and the assistant app.
When a match is played, a cooperation between operator, referee and assistant is required in order to report the score in real time for each time and also validate this score, so we solved that interaction with apps.
Details on how the platform works
Going deeper on the architecture, the system has four components:
- operation room desktop app ,
- referee app
- assistant app.
Since the server directly feeds the screens compositing a video with overlays and a real time video feed, we used Unity3D to do the composition and overlay placing & animation. For the operator app, we used Angular and Electron to get a desktop build of our web app, since we wanted to give the user a desktop experience and do not depend on browsers. Finally, for the mobile apps we used Ionic, and did a responsive design that works for both tablets and cellphones, since this was a key point: if any device failed, needed to provide a backup device, which could be from tablets to any cellphone.
Assistant app (one instance for each team)