> After researching the problem we decided to request help and engaged into a small project we funded with [Open Robotics](https://www.openrobotics.org/). The project named Gazebo4AI aimed at improving the overall dynamics of Gazebo. Details of the original project can be found at [https://docs.google.com/document/d/1SJYgvSpjMjl4HMfhiR0FsGhja-9z5ifas4ZUvMFFuWE/edit](https://docs.google.com/document/d/1SJYgvSpjMjl4HMfhiR0FsGhja-9z5ifas4ZUvMFFuWE/edit#). Of particular interest was the problem statement at the time:
>> *Many of the interesting problems in RL for robotics involve some sort of collision detection. Currently, in gym-gazebo, using Gazebo, we are able to detect collisions between different elements/links in the world. For the simplest environments where collisions can represent the end of the training process (e.g.: learning to navigate without colliding), existing wirings with the physic engines are enough and allow us to reset the environment and re-start the training.*
>> *For more complicated problems where collisions happen dynamically and often, we need the robot simulation to preserve its integrity (e.g.: not deformate, penetrate or drift away from its configuration). Currently this is not happening. We have approached the problem with ODE in detail and also tried briefly to reproduce it with other physic engines which derived into another limitation.*
> Gazebo4AI successfully finished and the support of Open Robotics was crucial for the improvement of our toolkit. The result of such collaboration is freely available at https://github.com/erlerobot/gazebo4AI. We'd like to thank Open Robotics for their help and support throughout the process.