VGR Olfaction Dataset

A dataset of simulated airflows and gas dispersion in detailed 3D models of real houses. Made with robotics in mind, fully integrated with ROS.

What is this…?

It’s a dataset designed to make robotic olfaction experiments easy and quick.

Stream trace of the airflow through a house.

We have taken the environments from RobotAtVirtualHome (30 detailed 3D models of real houses) and run several simulations of airflow and gas dispersion in each of them. Currently, we have a total of 120 simulations (4 configurations per environment), but we may add more in the future. The gas simulations are avaliable in GADEN format, so everything can easily be used in ROS.

We also include the preprocessed 3D models, the OpenFOAM project files and results, and the GADEN configuration files, in case you want to modify something and run the simulation yourself with different parameters.

Each simulation has been carefully set up to make sure the gas source is placed where there is an object that actually may release that type of smell (e.g. sewage comes from toilets and sinks, smoke from ovens and burners). This is specially relevant if you want to use the original RobotAtVirtualHome dataset at the same time to also gather visual data and identify possible source locations.

Since this dataset is based on the environments of RobotAtVirtualHome, you can easily synchronise both for multi-sensor fun.

Skip to downloads

…and why?

Robotic olfaction is a promising application of gas-sensing technologies to solve real-world problems through the use of autonomous mobile robots. Theoretically, robots could be used to substitute trained animals and handheld gas sensors to carry out these tasks in day-to-day applications, and specially in cases where environmental conditions are dangerous (e.g. rescue missions) or the monitored gas is toxic or explosive.

However, we are not quite there yet.

Developing algorithms to let robots do these things is challenging, because proposed solutions must be able to deal with limited sensory information (gas sensors and anemometers usually only offer single-point measurements), and because the dispersion of gas under uncontrolled airflow is a very complex phenomenon that cannot easily be described by analytical models –specially when dealing with incomplete information.

All of this means we need to do a lot of experiments. However, setting up experiments for olfaction is far from trivial. In the real world, unless we are willing to compromise with a very simplified environment (i.e. a wind tunnel), there is no way to make the experiments reproduceable, as airflow cannot be controlled. Since we also want to test algorithms under more challenging conditions, in complex environments, simulation is often the way to go.

However, setting up simulations of gas dispersion with CFD (computational fluid dynamics) tools is also not easy. There is a lot of set-up required, from getting airtight 3D models of the interior volume of the desired environments, cleanly separating potential inlets and outlets, configuring the model parameters, to post-processing the data. Even then, the results obtained need to somehow be made available to the simulated robotic agent, which is a challenging integration task.

Luckily for you, this dataset exists!

How do I use it?

You can start by downloading it from this page. If you don’t mean to create your own simulations, only to use the existing ones, then you don’t need to download the OpenFOAM side of things, only the GADEN files. If you actually plan to run your own OpenFOAM simulations, I imagine you already know what you are doing, so I’ll leave you to it.

You can find GADEN itself here. Once you have it installed, playing back a simulation is as easy as launching the GADEN_player.launch file that corresponds to it (the entire project organized by environments and simulations, so finding your way through it should be fairly straightforward).

Each of the environments has a certain number of possible inlets and outlets, wich have been separated into their own 3D models and numbered. The name of the simulations corresponds to the inlets and outlets used. For example, simulation 1,3,5-2,10 has models 1,3 and 5 acting as airflow inlets, and models 2 and 10 acting as outlets.

If you need to get the gas concentration data in the entire environment in a format that you can work with, the “Utils” package below includes a tool for generating CSV files with the wind vector and gas concentration in each cell of the environment. It takes a long while to get through the entire 1000s simulation, and the resulting CSV files will take a lot of space, so you might want to consider being conservative with its use. The readme file has more detailed instructions.


Click here. The readme file in the folder contains further instructions.

Similar Posts