Clone wiki

subt / tutorials / qual

Tunnel Circuit Qualification Guide

A submission for the Tunnel Circuit Qualification requires a single zip file that contains two log files and a narrative markdown file. The first log file is a text file that contains scoring and communication information. The second log file contains simulation state information. Refer to the SubT Qualification Guide for information about the narrative markdown file.

There are sixteen artifacts in the tunnel qualification world. In order to pass qualifications, you will need to find at least half of these artifacts. Each artifact found will increase your score by 1. Therefore, in order to pass qualifications you will need to score at least 8 points in the 20 minute time period.


1. Scoring and Communication log file

A new log file will appear in your home directory with the name subt_tunnel_qual_<timestamp>.log after each time the tunnel qualification environment is run. Make sure you submit the correct subt_tunnel_qual_<timestamp>.log file along with your simulation state log file.

2. Simulation state log file

You need to add the parameter extra_gazebo_args:="-r" to roslaunch to enable simulation state logging. When you're ready to start your SubT Tunnel Qualification run with logging enabled type:

roslaunch subt_gazebo competition.launch scenario:=tunnel_qual extra_gazebo_args:="-r"

A log file is written at ~/.gazebo/log/<timestamp>/gzserver/state.log . You can verify that your log file has been properly generated by loading it into Gazebo. It's highly recommended to playback your log files before submission. You can do this as follows:

roscore & rosrun gazebo_ros gazebo -p ~/.gazebo/log/<timestamp>/gzserver/state.log 

The size of a log file can be quite large. For submission, we'll reduce the size of the log file by sampling at lower rate and filtering some of the information. Run the following command to reduce the log file size. This process can take many minutes.

gz log -f ~/.gazebo/log/<timestamp>/gzserver/state.log --filter *.pose/*.pose -z 60 -o ~/.gazebo/log/<timestamp>/gzserver/subt_tunnel_qual_sim_state.log

3. Create the final zip file

The final step, after completing your qualification run and filtering the simulation state log file, is to create a zip file that contains both log files. Use the following command:

tar czvf  ~/.gazebo/log/<timestamp>/gzserver/subt_tunnel_qual_sim.log ~/subt_tunnel_qual_<timestamp>.log

Submit this compressed file as your solution to the Tunnel Qualification.

Example Submission

This example assumes you have installed the SubT software.

  1. Run simulation in one terminal

    roslaunch subt_gazebo competition.launch scenario:=tunnel_qual extra_gazebo_args:="-r"

  2. In another terminal(s), run your solution. For example purposes we'll just run the example team.

    roslaunch subt_example team.launch

  3. Let simulation know when you're done with your run

    rosservice call /subt/finish true

  4. Shutdown simulation.

  5. Filter the simulation state. Use your own timestamp in the following command. This process can take many minutes.

    gz log -f ~/.gazebo/log/2018-10-31T090103.904507/gzserver/state.log --filter *.pose/*.pose -z 60 -o ~/.gazebo/log/2018-10-31T090103.904507/gzserver/subt_tunnel_qual_sim_state.log

  6. Test the filtered simulation state log file.

    roscore & rosrun gazebo_ros gazebo -p ~/.gazebo/log/2018-10-31T090103.904507/gzserver/subt_tunnel_qual_sim_state.log

  7. Create the final zip file.

    tar czvf tunnel_qual.tar.gz ~/.gazebo/log/2018-10-31T090103.904507/gzserver/subt_tunnel_qual_sim_state.log ~/subt_tunnel_qual_2018-10-31T09\:01\:03.914081.log

  8. Submit the zip file at the Portal. You'll need to Register before submitting your log file.