Automated Mesh Generation Toolchain & New SDF Worlds#24
Closed
thippeswammy wants to merge 22 commits intonaturerobots:mainfrom
Closed
Automated Mesh Generation Toolchain & New SDF Worlds#24thippeswammy wants to merge 22 commits intonaturerobots:mainfrom
thippeswammy wants to merge 22 commits intonaturerobots:mainfrom
Conversation
… path, need to fix the gap
… path, need to fix the gap, addin all the cmd and files required for running.
…cript - Added `--single-layer` flag to automatically configure density, flattening, and filtering for high-quality navigation meshes. - Implemented `clean_mesh_iterative` for robust topological repair (removing duplicates, degenerate faces, and non-manifold edges). - Added `--exclude` argument to filter out specific models (e.g., ceilings) by name. - Added `Stopwatch` class for precise timing of generation stages. - Improved memory management with explicit garbage collection and smart subdivision limits to prevent OOM errors. - Enhanced `find_lvr2_tool` to search more common workspace paths. - Exposed new parameters as ROS 2 launch arguments.
…h files, and refactor the mesh generation script for handeling the polyline geometry type.
…utilizing mesh and polyline geometries.
Collaborator
|
Hi @thippeswammy , Am I correct to assume your PR #25 is replacing this one? |
Author
Collaborator
|
Alright, thanks for the clarification! Then I will go to the other PR now |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a comprehensive toolchain to automate the generation of navigation meshes from Gazebo SDF world files. It streamlines the workflow for creating complex terrains for
mesh_navigation, allowing for direct conversion of SDF geometries (including primitives and includes) into high-quality PLY and H5 map files.Key Changes
1. New Tool:
generate_mesh_env.pyA new Python script located in
mesh_navigation_tutorials/launch/that handles the entire pipeline:<include>models and geometric primitives (Box, Cylinder, Sphere, Plane, Polyline).--single-layerflag that optimizes meshes for navigation by:.h5files usinglvr2tools if available.2. World Files
uneven_terrain.sdfanduneven_terrain_big.sdfto test and run the pipeline.3. Documentation
How to Test
Once you have cloned the repository, you can directly build and launch the simulation.
1. Build the Workspace
Rebuild the packages to ensure the new maps and models are installed correctly.
2. Launch the Simulation
Launch the tutorial to see the result.
Optional: Test Mesh Generation Tool
If you want to regenerate the mesh or test the tool manually: