uzh-rpg / rpg_esim

ESIM: an Open Event Camera Simulator
MIT License
580 stars 124 forks source link

ESIM: an Open Event Camera Simulator

ESIM: an Open Event Camera Simulator

This is the code for the 2018 CoRL paper ESIM: an Open Event Camera Simulator by Henri Rebecq, Daniel Gehrig and Davide Scaramuzza:

@Article{Rebecq18corl,
  author        = {Henri Rebecq and Daniel Gehrig and Davide Scaramuzza},
  title         = {{ESIM}: an Open Event Camera Simulator},
  journal       = {Conf. on Robotics Learning (CoRL)},
  year          = 2018,
  month         = oct
}

You can find a pdf of the paper here. If you use any of this code, please cite this publication.

Python Bindings

Python bindings for the event camera simulator can be found here. We now also support GPU support for fully parallel event generation!

Features

Install

Installation instructions can be found in our wiki.

Run

Specific instructions to run the simulator depending on the chosen rendering engine can be found in our wiki.

Acknowledgements

We thank Raffael Theiler and Dario Brescianini for their contributions to ESIM. This research was supported by by Swiss National Center of Competence Research Robotics (NCCR), Qualcomm (through the Qualcomm Innovation Fellowship Award 2018), the SNSF-ERC Starting Grant and DARPA FLA.

A significant part of ESIM uses components (spline trajectories, inertial measurement unit simulation, various utility functions) from the ze_oss project. ESIM depends on UnrealCV for the photorealistic rendering engine. We also reused some code samples from the excellent Lean OpenGL tutorial in our OpenGL rendering engine. Finally, ESIM depends on the Open Asset Import Library (assimp) to load 3D models and Blender scenes within the OpenGL rendering engine.