CloudSim/VRCUserGuide


 * 1) CloudSim VRC User Guide

CloudSim is an open source web application that launches pre-configured cloud-hosted machines designed to run many of the most common open source robotic tools, especially the open source robotics simulator Gazebo.

In this user guide, we'll explain the basics of using CloudSim, with a specific focus on how you'll be using it in the Virtual Robotics Challenge (June 2013).

OSRF will provide technical support for the VRC Practice and VRC Competition. There are two ways to get in touch with OSRF support staff during these times.
 * 1) Support

For questions that can be seen by other teams, use the Internet Relay Chat (IRC) client of your choice to access the Freenode network. The support team will be on the #drcsim-support channel. Please use IRC to ask questions that may be of use to other teams.

For private support, the OSRF support team will be available at [mailto:drcsim-support@osrfoundation.org drcsim-support@osrfoundation.org]. Please send your questions from a Gmail account so that the support team can use the Google chat feature if necessary


 * 1) Background


 * 1) Constellation makeup

Each team will be provided a set of cloud-hosted machines that are physically located in a data center in Dallas, Texas, USA, and operated by SoftLayer. We refer to this set of machines as a *constellation*. Each team's constellation comprises 5 machines:


 * **Simulation** (sim, private IP: 10.0.0.51) : GPU-equipped powerful machine where the simulator will run
 * **Field Computer 1** (fc1, private IP: 10.0.0.52) : GPU-equipped powerful machine where teams can run their own code
 * **Field Computer 2** (fc2, private IP: 10.0.0.53) : non-GPU-equipped powerful machine where teams can run their own code
 * **Router** (router, private IP: 10.0.0.50, public IP: varies) : small machine that is the entry point for teams to connect to sim, fc1, and fc2; responsible for VPN server, packet routing, and communication measurement and manipulation
 * **CloudSim** (cs, public IP: varies) : small machine that runs CloudSim, providing the web console where teams will start and stop tasks during competition

Another machine of interest is:


 * **VRC Portal** (portal; http://vrcportal.osrfoundation.org) : The Portal is the team's initial entry point; you get to your CloudSim machine from here. The Portal hosts score files, log files, and videos, and offers a dashboard with results. Authentication is required to access the Portal. Officers may attach an existing CloudSim to their Team Portal during practice. Scores and data from the practice sessions will appear on the VRC 2013 Practice tab, and scores for the final competition will appear on the VRC 2013 Final tab.

There are also computers on your end, in your lab, your house, your garage, the cloud, wherever. We will refer to all of these computers collectively as the **OCU** (Operator Control Unit), and treat them as a single computer. If your OCU comprises multiple machines, network configuration is your responsibility.

Logfiles will be generated after a task run. These logfiles can be downloaded individually once a task has been completed. The files will be accessible both to the teams and to the DARPA team.


 * 1) Authentication

Authentication is done in three places:


 * **On the Portal, via web interface.** Each team has an account on the Portal, accessed via OpenID using a Google-hosted email address.  We have loaded the Portal with the email addresses supplied to DARPA by teams.  The Portal was used by teams to upload log files and videos during Qualification.  If you have trouble accessing your Portal account or need to change or add an authorized email address (you can have multiple addresses authorized for a single team), contact us at [mailto:drcsim-support@osrfoundation.org drcsim-support@osrfoundation.org].  Once logged into the Portal, you'll be given a link to your CloudSim (cs) machine.
 * **On CloudSim, via web interface.** Like the Portal, access to your cs machine is done via OpenID using a Google-hosted email address. We will preload your cs machine with the same address(es) authorized for your team in the Portal.  Note that the user databases for the Portal and the cs machines are independent.  Once logged into your cs machine, you'll be given access to OpenVPN and SSH keys for the machines in your constellation.
 * **On each constellation machine, via OpenVPN and SSH.** The first step in connecting to your machines is to use the CloudSim-provided OpenVPN key to connect your OCU to the router. Then you can use the CloudSim-provided SSH keys to access the other machines.  Which machines you can access depends on whether it is Practice or Competition (see below for a list of differences).

CloudSim provides three levels of privileges based on roles: User, Officer, and Administrator, as described below.
 * 1) Roles and Privileges

User Role (Contestant privileges)

CloudSim Users can:
 * start and abort tasks on running constellations
 * monitor constellation latency
 * monitor information about the currently running task
 * task name, world, launch file, and latency parameters
 * real time score for the task
 * obtain the OpenVPN key to connect to the constellation
 * obtain the SSH key to log into the Field machines (not the Simulator, Router, or CloudSim machines)

Officer Role (Simulation configuration privileges)

CloudSim Officers can:
 * perform all tasks allowable by the “User” role
 * add/change/remove access for all non-admin members on a CloudSim instance and change their role
 * launch a new constellation
 * obtain SSH keys for the Simulator and Router machines (not the CloudSim machine)
 * terminate a running constellation
 * manage simulation tasks for a constellation:
 * create / delete a simulation task
 * set simulation world, launch file, and traffic shaping parameters

Administrator Role (Full privileges)

CloudSim Administrators can:
 * perform all tasks allowable by the “Officer” and “User” roles
 * add/change/remove access for all team members on a CloudSim instance and change their role
 * configure and launch another CloudSim
 * obtain SSH keys for the CloudSim machine

For the VRC Practice, team members will have Officer privileges. With Officer privileges, teams may load the provided Qualification and Practice worlds, and also whatever worlds (and launch files) they choose to test (after first installing their own world and launch files on the Simulation computer). Officers can also run the Gazebo user interface (`gzclient`) on their OCU computer, giving them the “god’s eye view” that will not be available for teams during the VRC Competition.

During the VRC Competition, teams will access CloudSim exclusively with the User role.

Computers on the CloudSim constellation connect locally over a common backplane. Teams may assume that the data transfer speeds between these machines will be at or above 7 Gbps.
 * 1) Connectivity

The traffic shaper implementation will preserve fairness between teams around the world. It requires a baseline latency value from the team, which is then fed into the traffic shaper to bring the latency to a total of 500 ms round trip time (RTT). If a team’s RTT latency is already greater than 500 ms, no additional latency will be added. To determine how much latency to add, the router periodically estimates the latency to the OCU. Processes running on the router monitor and inject latency.

CloudSim will automatically create logfiles during runs of the various tasks, which can be accessed via the VRC Portal. During the practice period, a maximum of 15 log files will be stored on the Portal for each team. These log files are stored by name, according to which arena (1, 2, or 3) and which run within that arena (1, 2, 3, 4, or 5) is being performed. New log files for the same arena/run combination will overwrite old ones; it is important that teams wishing to archive these logfiles do so via the VRC Portal before doing another run with the same arena/run combination.
 * 1) Logging


 * 1) Browser support

For best results, please use Google Chrome when accessing the Portal and CloudSim web interfaces. Other browsers should work, but can have layout problems.


 * 1) Termination, reloading, deployment, and rebooting


 * Warnings:**


 * If you click "Terminate," you'll lose all data on your constellation machines.
 * The process initiated by "Terminate" usually takes 60-90 minutes, but it can get stuck in a way that requires intervention by someone in the datacenter where the machines are hosted, increasing the time to a few hours.
 * We recommend that you not click "Terminate" except when you've lost contact with one of of the machines in your constellation.
 * If you do click "Terminate," please email us at [mailto:drcsim-support@osrfoundation.org drcsim-support@osrfoundation.org] to let us know when you started the operation, what problem precipitated it, and also the number of your constellation (a two-digit value shown to you in the CloudSim web interface).

During Practice, when logged into CloudSim as an officer, you'll see a "Terminate" button. This button is provided as a last-resort recovery mechanism in case you lose contact with one or more machines in your constellation. Clicking "Terminate" will initiate a reload operation, which will wipe the disks clean and start from scratch. This reload operation usually take about 60 minutes to complete. While it's in progress, you can click the "Deploy" button to queue up the next step, which is to configure the network and install the DRC software. The deploy step usually take about 15 minutes to complete.

Rebooting, which you can execute per machine via `sudo reboot`, works as you would expect: it simply reboots the machine. Data on disk are preserved.


 * 1) Installation

The CloudSim constellations come preinstalled and ready to use.

Before using CloudSim, users should have installed on their OCU machine(s) DRCSim, along with Open VPN (on Ubuntu Linux: `sudo apt-get install openvpn`).


 * 1) Differences between Practice and post-Practice (Extended Practice, Dress Rehearsal, and Competition)

Distinctions between the VRC Practice and the later stages of the VRC include the following:
 * Change in available roles. For the VRC Competition, the Officer and Administrator roles will be performed by OSRF. So, for example, teams cannot create their own tasks.
 * No access to Gazebo user interface (UI). Teams will only have User access for the VRC Competition, meaning they will not have the SSH key to the DRC Simulator machine. They will therefore not be able to view the Gazebo world from an arbitrary camera angle during the VRC, and will also not be able to reset poses, pause the simulation, or attempt to manually adjust any settings through the Gazebo UI. Teams will only be provided access to the ROS topics coming out of the simulation machine, along with provisional score information.
 * No access to Router. Teams will be given only User privileges for the VRC Competition, meaning that they will not be able to adjust the Router in any way. During a run, the traffic shaper will be running at all times to adjust latency values, as well as count bits up and down to the OCU from the Field Computers.


 * 1) Notes on Extended Practice

Extended Practice is a period beginning June 8th/9th and running until the beginning of Dress Rehearsal. The conversion from Practice to Extended Practice was done like so:

* Existing officers were demoted to users and existing users were removed. If you would like to add more users, send a list to [mailto:drcsim-support@osrfoundation.org drcsim-support@osrfoundation.org]. * **Note**: on the variation tasks (wherein the robot starts somewhere other than the starting pen), scoring, uplink/downlink limiting, and time reporting will not work (because the robot has not crossed the first gate); these variations are provided to allow teams to more efficiently practice different parts of the tasks. * If you run out of tasks during Extended Practice, send email to [mailto:drcsim-support@osrfoundation.org drcsim-support@osrfoundation.org] and we will load more tasks for you. * gazebo 1.8.6 * drcsim 2.6.5 * sandia-hand 5.1.16 * osrf-common 1.0.6 * One exception: except for those teams that reported that they require use of the GPU on fc1, we uninstalled the NVidia driver on fc1. This was done to reduce the chance of that machine hanging during competition because of a problem with the GPU. If you do need the GPU on fc1, send email to [mailto:drcsim-support@osrfoundation.org drcsim-support@osrfoundation.org] and we'll help you set it back up.
 * Update all CloudSim instances to 1.5.4.
 * Load a set of tasks into each CloudSim instance. Because teams cannot create their own tasks, we loaded each CloudSim instance with a repeating sequence of tasks that covers the the [vrc_task_* launch files included with drcsim](https://bitbucket.org/osrf/drcsim/src/drcsim_2.6/ros/atlas_utils/launch).  These launch files are the familiar practice arenas, plus some variations on them that start the robot in different parts of the worlds.
 * Reload and reprovision all Simulation and Router machines. Among other things, this process starts those machines from a fresh Ubuntu installation, with new passwords and SSH keys.  It also installs the latest versions of the DRC Simulator software, which at the time of writing are:
 * The Field Computers were not changed. Teams' existing code and configuration on those machines are as they were at the end of Practice.
 * **Note**: We strongly recommend that you upgrade the DRC Simulator software on your Field Computers to agree with the versions installed on the Simulator machine.

This section will explain how to use the Portal and CloudSim during the practice session of the VRC. Please be aware of the differences between Practice and Competition.
 * 1) VRC Practice Instructions

CloudSim allows multiple tasks to be assigned to a constellation, but only one task can be active at a given time. Furthermore, a task can only be run a single time once added to the list; teams may not abort and restart a run to increase their score. To re-run a particular task, only team members with the appropriate role can reload a task into the list. Tasks can be terminated manually once the task is completed or if the user chooses to abort the run, or automatically if a timeout occurs. Details about the tasks (ROS packages, network configuration, etc.) can only be inspected once the task is activated.

During VRC Practice, teams will have sufficient privileges in CloudSim to create and customize their list of tasks. As part of this, teams will be able to modify traffic shaping via the task configuration panel on CloudSim. In addition, they will have access to the SSH keys of every machine in the constellation, and will be able to access the graphical interface of Gazebo for a “god’s eye view” of the run, as well as load worlds and model files to the simulation environment.


 * 1) Step 1: Get access to your CloudSim

Log into the VRC Portal, and go to the VRC 2013 Practice tab of your team page.

The upper block of the page will display the link to your current CloudSim. Follow the link and log into your CloudSim. All the accounts valid for your VRC Portal are also valid for your CloudSim. Click on the Console link and you will be forwarded to the main CloudSim page.


 * 1) Step 2: Setup the private network on the OCU

Connection between the OCU and a cloud constellation is done using a Virtual Private Network. The OCU acts as an OpenVPN client that connects to a server running inside the router.

Download the router's zip file (by pressing the Download keys button from the router section of CloudSim) and start the VPN. Below, you can find an example assuming that your constellation number is 01.

mkdir vrc_credentials cd vrc_credentials unzip ~/Downloads/router.zip cd router_OSRF_VRC_Constellation_01 sudo ./start_vpn.bash

You should see an output similar to this: Killing other openvpn connections... tun0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 POINTOPOINT NOARP MULTICAST MTU:1500  Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Adding route to 10.0.0.0/24 network VPN ready. To kill it: sudo killall openvpn

Verify that you have established the private connection with your constellation:

ping 10.0.0.50
 * 1) ping the router

ping 10.0.0.51
 * 1) ping the simulator

ping 10.0.0.52
 * 1) ping field computer 1

ping 10.0.0.53
 * 1) ping field computer 2


 * Note:** Before running any ROS software on the OCU, you'll want to source both `/usr/share/drcsim/setup.sh` and the auto-generated `ros.bash` file, which configures your environment appropriately, e.g.:

. /usr/share/drcsim/setup.sh   cd router_OSRF_VRC_Constellation_01 . ros.bash # Now my ROS environment is configured, so things like `rostopic` will work, once a simulation task is running. # Make sure you do not have a ROS_HOSTNAME environment variable set, since it has precedence over the ROS_IP unset ROS_HOSTNAME

Do this in every shell you use.

Click on the Download Keys buttons for Field Computer 1 and Field Computer 2. Unzip each machine's keys and execute the SSH script to log on to the machine. For example, for logging on to Field Computer 1:
 * 1) Step 3: Connect to the Field Computer machines via SSH/SCP

unzip ~/Downloads/fc1_OSRF_VRC_Constellation_01.zip cd fc1_OSRF_VRC_Constellation_01 ./ssh-fc1.bash

You will be logged into the Field Computer machine using the ubuntu user account. Feel free to install all the software you need for your practice. Use the sudo command to execute a command as a superuser.

To put files on a field computer, use scp, e.g.:

unzip ~/Downloads/fc1_OSRF_VRC_Constellation_01.zip cd fc1_OSRF_VRC_Constellation_01 scp -i key-fc1.pem myfiles ubuntu@10.0.0.52:


 * Note:** Before running any ROS software on a Field Computer, you'll want to source the auto-generated `ros.bash` file, which configures your environment appropriately. There's one provided on each Field Computer, e.g.:

cd fc1_OSRF_VRC_Constellation_01 ./ssh-fc1.bash . cloudsim/ros.bash # Now my ROS environment is configured, so things like `rostopic` and `rviz` will work, once a simulation task is running.

Do this in every shell you use.


 * 1) Step 4: Create a Practice task

You will be logged into your CloudSim as an officer, which allows you to create simulation tasks.

Click on the Create task button of the Simulation tasks block. Fill in the dialog window:

* **Task title**: The title of your task. * **ROS package**: In which ROS package the desired launch file is found. Use `atlas_utils` to practice with the provided Qualification and/or Practice arenas (e.g., `qual_task_1.launch`, `vrc_task_1.launch`). * **Launch file**: Which launch file to use; usually `vrc_task_1.launch`, `qual_task_1.launch`, or similar. * **Maximum time (sec)**: This value sets the maximum number of simulation time seconds allowed for your task. When the maximum time is reached, your task will be automatically stopped. * **Arguments**: Not used. * **Minimum latency**: Set the latency between the OCU and the Field Computer and Simulator machines. * **Uplink data cap**: Maximum number of uplink bits allotted for the task. * **Downlink data cap**: Maximum number of downlink bits allotted for the task. * **Valid from**: Do not modify this value during Practice. * **Valid until**: Do not modify this value during Practice. * **Run**: Valid values are 1, 2, 3, 4, or 5. * **Task**: Valid values are 1, 2, 3.

Note 1: Your Run/Task combination will be used to display your practice data in the appropriate tab on your Portal, and will determine the name of the resulting log files. If you run two tasks with the same Run/Task combination, the second one will overwrite log files from the first one.

Note 2: Your uplink/downlink network connections will be disabled if you reach your cap limits. The network connectivity will be restored for every task. The byte usage counter is activated when your robot crosses the first gate.

Press the Create button and your new task will appear in the Simulation Tasks block.


 * 1) Step 5: Start a task

Press the start button of the task you want to launch. The task status icon should start flashing yellow, until the simulator is started on the Cloud. Once the simulator is running (as indicated by the blue status on the simulator machine), the task status icon will flash blue, until the task is stopped.

The scoring information will be displayed in the Simulation Tasks block during task execution.


 * 1) Step 6: Do a task

Now that your task is running, you're ready to actually achieve it. Start your software on the Field Computers and/or your OCU and get to it.


 * 1) Step 7: Stop a task

To stop the currently-running task, press the Stop current task button (above the tasks). The task status indicator will start flashing red and turn to solid red once the simulator has shut down. During this phase, your log files will be uploaded into your Portal. This operation may take some minutes if your log file is large.


 * 1) Step 6: Download your log files

The VRC 2013 Practice tab of your VRC Portal team page will show score information for your finished tasks. In addition, you will be able to download a single zip file with the simulation and network usage logs.

This section provides a set of tips and tricks, primarily of use during Practice. Feel free to contribute your own!
 * 1) Tips and tricks

During Practice, with Officer privileges, you can directly access the Simulation machine. You might do this to install your own custom practice arenas, to upgrade software, enable cheats, etc.
 * 1) How to ssh to the Simulation machine

To do this, starting at the OCU, and assuming that you've already set up the VPN connection (see above):

1. Login to CloudSim with Officer privileges. 1. Download the keys for the Simulation machine from CloudSim. 1. Unzip the keys file and connect via ssh to the Simulation machine, e.g.:

unzip ~/Downloads/simulator.zip cd sim_OSRF_VRC_Constellation_01 ./ssh-sim.bash

During Practice, with Officer privileges, you can directly access the Router machine.
 * 1) How to ssh to the Router machine

To do this, starting at the OCU, and assuming that you've already set up the VPN connection (see above):

1. Login to CloudSim with Officer privileges. 1. Download the keys for the Router machine from CloudSim. 1. Unzip the keys file and connect via ssh to the Router machine, e.g.:

unzip ~/Downloads/router.zip cd router_OSRF_VRC_Constellation_01 ./ssh-router.bash

By default, cheats (aka "development aids"), such as teleporting the robot and magically pressing on the pedals in the utility vehicle, are disabled. And they will be disabled during Competition. If you want to use them during Practice, you need to set the VRC_CHEATS_ENABLED environment variable. This must be done on the Simulation machine, which is where Gazebo will be launched.
 * 1) How to enable cheats

To do this:

1. ssh to the Simulation machine. 1. Open `~/cloudsim/start_sim.bash` in an editor (e.g., `vim start_sim.bash`) 1. Find the roslaunch line, which should look like this:

roslaunch $1 $2 $3 gzname:=gzserver &

Prefix that line with `VRC_CHEATS_ENABLED=1`, so that it looks like this:

VRC_CHEATS_ENABLED=1 roslaunch $1 $2 $3 gzname:=gzserver &

1. Save the file.

All future simulation launches performed via CloudSim will have cheats enabled.

During Competition, Gazebo will be configured to not accept connections from anywhere other than the Simulation machine. So you will not be able to run the `gzclient` GUI (or tools like `gztopic` or `gzstats`). During Practice, you can enable `gzclient` access by adding your OCU's IP address to the whitelist that is used for access control. This must be done on the Simulation machine, which is where Gazebo will be launched.
 * 1) How to enable OCU gzclient access

To do this:

1. ssh to the Simulation machine. 1. Open `start_sim.bash` in an editor (e.g., `vim start_sim.bash`) 1. Find the line that sets `GAZEBO_IP_WHITE_LIST`, which should look like this:

export GAZEBO_IP_WHITE_LIST=127.0.0.1

Append, with a comma separator, the IP address of your OCU's VPN connection, which is 11.8.0.2, so that is looks like this:

export GAZEBO_IP_WHITE_LIST=127.0.0.1,11.8.0.2

1. Save the file.

All future simulation launches performed via CloudSim will allow `gzclient` (and other `gz` tools) to access Gazebo from the OCU machine.

During Practice, you can install your own custom environments for testing purposes. To do this, you need to create a new ROS package containing your world and launch files, put that ROS package on the Simulation machine, then adjust the `ROS_PACKAGE_PATH` that will be used when launching simulation to include your new ROS package.
 * 1) How to install custom worlds for testing

Here's one way to do this:

1. On your OCU, create a ROS package with a dependency on `atlas_utils`:

. /usr/share/drcsim/setup.sh       roscreate-pkg my_custom_worlds atlas_utils

1. In your new package, create a `.world` file, say, `myworld.world`, that defines the environment that you want to test in. You'll probably want to start by copying one of the official Practice worlds, such as `/usr/share/drsim-2.6/worlds/vrc_task_1.world`.

**Note:** The VRC Scoring Plugin determines what world is being used by the name of the world, specified in the `world` tag in the `.world` file. For scoring to work, the world should be named `vrc_task_1`, `vrc_task_2`, or `vrc_task_3`.

1. Also in your new package, create a `.launch` file, say, `mylaunch.launch`, that will use your new `.world` file. You'll probably want to start by copying one of the official Practice launches, such as `/usr/share/drcsim-2.6/ros/atlas_utils/launch/vrc_task_1.launch`. Change the default value of the `gzworld` argument to point to your `.world` file, e.g.:



1. Put your new package on the Simulation computer. You can do this via `scp`, using the Simulation key, e.g.:

scp -r -i ~/Downloads/sim_OSRF_VRC_Constellation_01/key-sim.pem my_custom_worlds ubuntu@10.0.0.51:

1. ssh to the Simulation machine and open `start_sim.bash` in an editor (e.g., `vim start_sim.bash`). Just before the `roslaunch` line, add a line that appends the path to your package to `ROS_PACKAGE_PATH`, e.g.:

eval export ROS_PACKAGE_PATH=~/my_custom_worlds:\$ROS_PACKAGE_PATH

Save the file.

Now you can create tasks that refer to your custom world. E.g., in the task creation dialog box, you would specify the **ROS package** as `my_custom_worlds` and the **Launch file** as `mylaunch.launch`.

To give maximum flexibility to teams during Practice, we will not be forcibly upgrading any software. But we do expect to be making patch releases with bug fixes and/or performance improvements. If you wish to upgrade the versions of the software that you're using in your constellation, you need to ssh into all 4 machines (Router, Simulation, Field 1 and 2), and use `apt-get` to install newer versions. To avoid potential version mismatches, be sure to update all 4 machines at the same time.
 * 1) How to upgrade software

To do this:

1. ssh to the Simulation machine. 1. Perform the upgrade:

sudo apt-get update sudo apt-get install -y drcsim gazebo sandia-hand osrf-common

Repeat the above steps for the Router and the field computers.


 * 1) How to switch to the nightly binary packages


 * Warning:** nightly binary packages are less reliable than official releases. You should normally be using the official releases, switching only to the nightly builds to try out a fix that hasn't been officially released yet.

If you wish to switch to the nightly builds of the software that you're using in your constellation, you need to ssh into all 4 machines (Router, Simulation, Field 1 and 2), and use `apt-get` to install newer versions. To avoid potential version mismatches, be sure to update all 4 machines at the same time.

To do this:

1. ssh to the Simulation machine. 1. Perform the switch:

sudo apt-get update sudo apt-get install -y drcsim-nightly gazebo-nightly sandia-hand-nightly osrf-common-nightly

Repeat the above steps for the Router and the field computers.

To switch back to the official releases, just do a normal upgrade.


 * 1) How to disable logging during Practice runs


 * Note: If you're seeing large delays (say, greater than 10 minutes) at the end of a run, when the task light is blinking red, please let us know about it at [mailto:drcsim-support@osrfoundation.org drcsim-support@osrfoundation.org]. What's provided here is a workaround.**

Logging simulation state can in some situations add extra time to the end of a run, when the log is flushed to disk and then transferred to the Portal. You can disable logging of simulation state by modifying the arguments that are passed to gazebo on launch.

1. The best way to do this is to create and install a custom ROS package on the Simulation machine. In your custom launch file in that package, you would omit the following line, which appears in the provided Qualification and Practice launch files (`qual_task_[1-4].launch` and `vrc_task_[1-3].launch`):



That line tells gazebo to log state (`-r`), sets the log compression type (`--record_encoding`) and the log destination (`--record_path`). It also tells gazebo to be quiet (`-q`) to reduce console output (you could leave that option in there, as it doesn't affect logging).

1. If you want to change logging behavior directly in one of the provided Qualification or Practice arenas, then a somewhat inelegant hack is to edit the installed launch file (e.g., `/usr/share/drcsim-2.6/ros/atlas_utils/launch/vrc_task_1.launch`) on the Simulation machine. Look for the `extra_gazebo_args` mentioned above and remove it.


 * 1) Known Issues


 * 1) Reloading the constellation

When reloading a constellation, you should press the Terminate button first, and then wait for the constellation to disappear from the browser window before pressing the reload button. This can take a few seconds, and will insure that the cleanup procedure is finished before the launching process begins.