|
1 | | -# OceanSim: A GPU-Accelerated Underwater Robot Perception Simulation Framework |
| 1 | +# OceanSim: ROS2 Bridge # |
2 | 2 |
|
3 | | -<!-- website link to https://umfieldrobotics.github.io/OceanSim/ --> |
4 | | -<!-- arxiv https://arxiv.org/abs/2503.01074 --> |
5 | | -<!-- subscription form https://docs.google.com/forms/d/e/1FAIpQLSfKWMhE4L6R4jjvEw_bfMtLigXbv5WZeijDah5vk2SpQZW1hA/viewform --> |
6 | | -[](https://umfieldrobotics.github.io/OceanSim/) |
7 | | -[](https://docs.google.com/forms/d/e/1FAIpQLSfKWMhE4L6R4jjvEw_bfMtLigXbv5WZeijDah5vk2SpQZW1hA/viewform) |
8 | | -[](https://arxiv.org/abs/2503.01074) |
9 | | -[](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html) |
10 | | -<!-- add and scale media/oceansim_demo.gif to full width--> |
11 | | -<!--  \ --> |
12 | | -<a href="https://umfieldrobotics.github.io/OceanSim/"> |
13 | | - <img src="../media/oceansim_demo.gif" alt="OceanSim Demo" style="width:100%;"> |
14 | | -</a> |
| 3 | +## Instructions: |
| 4 | +This is the ROS2 version of OceanSim which requires user to set up their ROS2 workspace with Isaac Sim following their official [tutorial](https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/install_ros.html). |
15 | 5 |
|
16 | | -OceanSim is a high-fidelity underwater simulation framework designed to accelerate the development of robust underwater perception solutions. Leveraging GPU-accelerated rendering and advanced physics-based techniques, OceanSim accurately models both visual and acoustic sensors, significantly reducing the simulation-to-real gap. |
| 6 | +Note --[PR14](https://github.com/umfieldrobotics/OceanSim/pull/14#issue-3190565204): |
17 | 7 |
|
18 | | -## Highlights |
19 | | - |
20 | | -<!-- GPU-accelerated, physics-based underwater sensor rendering, highly effetcive 3D workflows, open-source --> |
21 | | -<!-- use emoji --> |
22 | | -🚀 **GPU-accelerated**: OceanSim fully leverages the power of GPU-based parallel computing. OceanSim is built on top of [NVIDIA Isaac Sim](https://developer.nvidia.com/isaac/sim) and is part of [NVIDIA Omniverse](https://www.nvidia.com/en-us/omniverse/) ecosystem, which provide high performance and real-time rendering. \ |
23 | | -🌊 **Physics-based underwater sensor rendering**: Experience realistic simulations with advanced physics models that accurately replicate underwater sensor data under varied conditions. \ |
24 | | -🎨 **Efficient 3D workflows**: Users of OceanSim can enjoy efficient 3D workflows empowered by [OpenUSD](https://openusd.org/release/index.html). \ |
25 | | -🤝 **Built by the community, for the community**: OceanSim is an open-source project and we invite the community to join us to keep improving it! |
26 | | -<!-- include figure media/oceansim_overall_framework.svg --> |
27 | | - |
| 8 | +Before OceanSim extension being activated, the extension isaacsim.ros2.bridge should be activated, otherwise rclpy will fail to be loaded. |
28 | 9 |
|
| 10 | +We suggest that make sure the extension isaacsim.ros2.bridge is being setup to "AUTOLOADED" in Window->Extension. |
29 | 11 |
|
30 | 12 |
|
| 13 | +## Usage: |
| 14 | +We provided an exmaple util located at `isaacsim/oceansim/utils/ros2_control.py` for user to consult and develop on. |
31 | 15 |
|
32 | | -## Latest Updates |
33 | | -- `[2025/4]` OceanSim is featured by [NVIDIA Robotics](https://www.linkedin.com/posts/nvidiarobotics_robotics-underwaterrobotics-simulation-activity-7313986055894880257-Dfmq?utm_source=share&utm_medium=member_desktop&rcm=ACoAACB8Y7sB7ikB6wVGPL5NrxYkNwk8RTEJ-3Y)! |
34 | | -- `[2025/4]` 🔥 Beta version of OceanSim is released! |
35 | | -- `[2025/3]` 🎉 OceanSim will be presented at [AQ²UASIM](https://sites.google.com/view/aq2uasim/home?authuser=0) and the late-breaking poster session at [ICRA 2025](https://2025.ieee-icra.org/)! |
36 | | -- `[2025/3]` OceanSim paper is available on arXiv. Check it out [here](https://arxiv.org/abs/2503.01074). |
| 16 | +This util extends the control mode to ros control in the **sensor_example** extension. |
37 | 17 |
|
38 | | -## TODO |
39 | | -- [x] Documentation for OceanSim provided example |
40 | | -- [x] Built your own digital twin documentation |
41 | | -- [x] Code release |
42 | | -- [ ] ROS bridge release |
43 | | - |
44 | | -## Documentation |
45 | | -<!-- installation, running examples, building your own digital twins--> |
46 | | -We divide the documentation into three parts: |
47 | | -- [Installation](subsections/installation.md) |
48 | | -- [Running OceanSim](subsections/running_example.md) |
49 | | -- [Building Your Own Digital Twins with OceanSim](subsections/building_own_digital_twin.md) |
50 | | - |
51 | | -## Support and Contributing |
52 | | -We welcome contributions and discussions from the community! |
53 | | -- Use [Discussions](https://github.com/umfieldrobotics/OceanSim/discussions) to share your ideas and discuss with other users. |
54 | | -- Report bugs or request features by opening an issue in [Issues](https://github.com/umfieldrobotics/OceanSim/issues). |
55 | | -- Submit a pull request if you want to contribute to the codebase. Please include the description of your changes and the motivation behind them in the pull request. You can check more details in [CONTRIBUTING.md](./subsections/contribution_guide.md). |
56 | | - |
57 | | -## Contributors |
58 | | -OceanSim is an open-source project initiated by the [Field Robotics Group](https://fieldrobotics.engin.umich.edu/) (FRoG) at the University of Michigan. We hope to build a vibrant community around OceanSim and invite contributions from researchers and developers around the world! A big shoutout to our contributors: |
59 | | - |
60 | | -[Jingyu Song](https://song-jingyu.github.io/), [Haoyu Ma](https://haoyuma2002814.github.io/), [Onur Bagoren](https://www.obagoren.com/), [Advaith V. Sethuraman](https://www.advaiths.com/), [Yiting Zhang](https://sites.google.com/umich.edu/yitingzhang/), and [Katherine A. Skinner](https://fieldrobotics.engin.umich.edu/). |
61 | | -<!-- - [Jingyu Song](https://song-jingyu.github.io/) |
62 | | -- [Haoyu Ma](https://haoyuma2002814.github.io/) |
63 | | -- [Onur Bagoren](https://www.obagoren.com/) |
64 | | -- [Advaith V. Sethuraman](https://www.advaiths.com/) |
65 | | -- [Yiting Zhang](https://sites.google.com/umich.edu/yitingzhang/) |
66 | | -- [Katherine A. Skinner](https://fieldrobotics.engin.umich.edu/) --> |
67 | | - |
68 | | - |
69 | | - |
70 | | -## Citation |
71 | | -**If you find OceanSim useful for your research, we would appreciate that you cite our paper:** |
72 | | -``` |
73 | | -@misc{song2025oceansim, |
74 | | - title={OceanSim: A GPU-Accelerated Underwater Robot Perception Simulation Framework}, |
75 | | - author={Jingyu Song and Haoyu Ma and Onur Bagoren and Advaith V. Sethuraman and Yiting Zhang and Katherine A. Skinner}, |
76 | | - year={2025}, |
77 | | - eprint={2503.01074}, |
78 | | - archivePrefix={arXiv}, |
79 | | - primaryClass={cs.RO}, |
80 | | - url={https://arxiv.org/abs/2503.01074}, |
81 | | -} |
82 | | -``` |
83 | | -If you use the sonar model in OceanSim, please also cite the HoloOcean paper as the HoloOcean sonar model inspires our sonar model implementation: |
84 | | -``` |
85 | | -@inproceedings{Potokar22iros, |
86 | | - author = {E. Potokar and K. Lay and K. Norman and D. Benham and T. Neilsen and M. Kaess and J. Mangelson}, |
87 | | - title = {Holo{O}cean: Realistic Sonar Simulation}, |
88 | | - booktitle = {Proc. IEEE/RSJ Intl. Conf. Intelligent Robots and Systems, IROS}, |
89 | | - address = {Kyoto, Japan}, |
90 | | - month = {Oct}, |
91 | | - year = {2022} |
92 | | -} |
93 | | -``` |
94 | | - |
95 | | ---- |
96 | | - |
97 | | -*OceanSim - A GPU-Accelerated Underwater Robot Perception Simulation Framework* |
| 18 | +## Acknowledgement: |
| 19 | +Great appreciation to [Tang-JingWei](https://github.com/Tang-JingWei) for contributng the ros bridge example for OceanSim. |
98 | 20 |
|
0 commit comments