This release is linked to the IEEE ICRA 2025 conference that took place in Atlanta (USA), and the related publication of an article about the newest functionalities of Stonefish. The developments included in this release have mostly focused on new vision-based sensors that should aid in the development of machine learning algorithms for underwater robotics. Apart from sensors, the suite of available devices was extended for an optical modem. Moreover, communication devices were extended to allow for actual exchange of data. An important bug in drag calculation was fixed, which was resulting in drag forces being erroneously dependent on body orientation (for compound bodies). Finally, I have changed the implementation of the application classes to allow for manual stepping of the simulation, facilitating integration of Stonefish in the reinforcement learning research.
The full list of changes can be seen below. The breaking changes were marked in italics.
- Implemented an event-based camera
- Implemented an optical flow sensor
- Implemented a segmentation camera
- Implemented a thermal camera
- Implemented an optical modem
- Improved processing of messages of all communication devices
- Extended look definition to support temperature maps
- Extended application classes to enable manual stepping of simulation
- Added water temperature
- Added air temperature, pressure, and humidity
- Added a test application for all camera types
- Added a test application that shows how to use the library in a reinforcement learning setting
- Updated marine snow rendering to use the same particle system for vision sensors attached to the same body
- Removed failing frame rate limiting and added option to enable vertical synchronization
- Fixed application of hydrodynamic drag coefficients to compound bodies
- Fixed problems with vision sensor frame rate not consistent with settings
- Fixed switching on/off lights