VCATS Development


Virtual Competition Arena Testing System (VCATS) is a direct way to test the performance of our autonomous agents. Although the gap between real-life environment and simulation environment is huge, due to lack of resources (robots, funding and space), VCATS is our best option for development and basic testing.

The original platform for simulation that provided by DJI was “Stage”, a ROS simulator with limited functions and similarity with real world. During the development in previous years, the team has developed a “Gazebo” based simulator, which significantly increase the accuracy on the physical model, including gravity, inertia and camera vision. However, the Gazebo simulator consumes extremely high computing power and is not flexible enough to model the competition rules, which means Gazebo simulator can only serve for the navigation testing and single agent testing.

Therefore, in the next phase of the development, team aims to create a simulator that can model the complete competition arena. Unity 3D is chosen as it can provide necessary physical engineering with reasonable computing power, and it also can communicate with ROS through A bridge server. In order to model the complete competition arena, the VCATS should model: the robot (including sensors) and reference system. Furthermore, as a potential development direction, it would be more flexible if VCATS system can be run on a server and communication with other machine through internet connection. So that, we can invite different agents to participant in one match.


Real Robot Model

  • URDF file for real robot 3D model
  • Mimic collision boxes to reduce computation consumption


  • Receive data from sensors in VCATS 
  • Publish data to VCATS
simulation cover pic

Unity 3D

  • OS: Linux Ubuntu 18.04
  • Tools: ROS bridge server
  • Programming language: C#


  • Each essential parts of the robot should be imported by the format of URDF files.
  • The robot body link in Unity 3D should be able to move according to received velocity information.
  • The robot is expected to shoot projectiles when the shooting message is received.
  • The robot gimbal link should be able to move according to the received gimbal relative angle (on yaw and pitch axis).
  • The lidar link should move with the robot body and return scanned information following the same protocol as ROS message.
  • The camera link should move with the robot gimbal (yaw axis) and return capture picture stream following the same protocol as ROS message.
  • This project is more suitable for a software development project. However, once those basic requirements are fulfilled, we can run comparison experiments between Gazebo and Unity 3D to make it a research project (survey paper).

Referee system

  • Referee System should communicate with ROS following the protocol provided by AI Challenge Committee 
  • The Referee system should include each armor board on every robots to reflect hits by collision detector with the projectiles shot from robots. 
  • The referee system should control each phase of the match, such as start, end, buff refresh and robot power down.
  • The project is only suitable for a software development project.

GO Online

  • The first challenge is to explore how to make this Unity 3D simulator running without GUI.
  • The second step would be to record all the information that needed to replay/recreate the match with GUI
  • The third step would be to deploy this on a server.
  • The last step would be to establish the connection and interface for connection.

If interested, what's next?

If you are interested to choose one of the above projects are your capstone project, please click this link. Otherwise, please read the following points:

  1. Most of these projects are recommended to be developed and explored as a Team since the scale for each topic is pretty big. Please fill in the form that we sent through email after the induction section, so that it would be easy for us to manage different teams with different projects.
  2. All projects related with VCATS are expected to be development in a Ubuntu OS (ideally 18.04) with ROS and Unity 3D installed, there are some instruction for install ROS available on this link and Unity 3D with this link.
  3. Please contact Guang ( by email if you have any question about VCATS Projects.