<aside> 📘

POSIM — Platform for Ocean Simulation · documentation checked 2026-10-01

Target: ROS 2 Lyrical / Gazebo Jetty. Current source. Compatibility names such as dave_* are intentional. Start with POSIM Installation and POSIM Quickstart & Backend Support.

Source documentation and inherited illustrations do not certify every runtime configuration. Published Docker candidates, development main, and experimental WGPU are distinct states.

</aside>

Add a robot descriptor

This is a source-layout reference, not a newly executed end-to-end tutorial. Start from the nearest installed POSIM descriptor rather than copying obsolete Gazebo Classic plugins.

1. Choose a reference

2. Keep the package layout

Put the descriptor at models/dave_robot_models/description/YOUR_MODEL/model.sdf. Place companion meshes/configuration in the package and update resource URIs, link names, joint names and bridge mappings together. YOUR_MODEL is a placeholder for your chosen directory name, not an existing tested model.

The package already installs description, launch, meshes and config and provides a resource hook. Do not add a duplicate hook or edit generated install/ files. Inspect CMakeLists.txt before extending it.

3. Build and inspect the installed copy

Use POSIM Native Installation to build the workspace. Check that the installed descriptor resolves its assets from outside the source checkout. Use ros2 launch dave_demos dave_robot.launch.py --show-args before selecting your new descriptor with namespace.

4. Validate the added model

Check model spawn, world clock, expected topics and frames, control connections and clean Ctrl+C shutdown. Test GUI/control separately from headless execution. A CUDA-equipped descriptor additionally needs a working sonar backend. Save source revision, launch command and received payloads; do not count an added descriptor as one of the already tested candidate paths.