From 02cade04408230ef52e8fe34a85be66bcf76dd50 Mon Sep 17 00:00:00 2001 From: Sébastien Crozet Date: Sun, 26 May 2024 18:18:38 +0200 Subject: feat: more urdf parser fixes + stl parser --- Cargo.toml | 2 +- assets/3d/T12/README.md | 3 + assets/3d/T12/meshes/Ankle1.STL | Bin 0 -> 37484 bytes assets/3d/T12/meshes/Ankle2.STL | Bin 0 -> 37484 bytes assets/3d/T12/meshes/Ankle3.STL | Bin 0 -> 37484 bytes assets/3d/T12/meshes/Ankle4.STL | Bin 0 -> 37484 bytes assets/3d/T12/meshes/Ankle5.STL | Bin 0 -> 37484 bytes assets/3d/T12/meshes/Ankle6.STL | Bin 0 -> 37484 bytes assets/3d/T12/meshes/Body.STL | Bin 0 -> 30284 bytes assets/3d/T12/meshes/Foot1.STL | Bin 0 -> 41684 bytes assets/3d/T12/meshes/Foot2.STL | Bin 0 -> 41684 bytes assets/3d/T12/meshes/Foot3.STL | Bin 0 -> 41684 bytes assets/3d/T12/meshes/Foot4.STL | Bin 0 -> 41684 bytes assets/3d/T12/meshes/Foot5.STL | Bin 0 -> 41684 bytes assets/3d/T12/meshes/Foot6.STL | Bin 0 -> 41684 bytes assets/3d/T12/meshes/Hip1.STL | Bin 0 -> 44384 bytes assets/3d/T12/meshes/Hip2.STL | Bin 0 -> 44384 bytes assets/3d/T12/meshes/Hip3.STL | Bin 0 -> 44384 bytes assets/3d/T12/meshes/Hip4.STL | Bin 0 -> 44384 bytes assets/3d/T12/meshes/Hip5.STL | Bin 0 -> 44384 bytes assets/3d/T12/meshes/Hip6.STL | Bin 0 -> 44384 bytes assets/3d/T12/meshes/Knee1.STL | Bin 0 -> 18484 bytes assets/3d/T12/meshes/Knee2.STL | Bin 0 -> 18484 bytes assets/3d/T12/meshes/Knee3.STL | Bin 0 -> 18484 bytes assets/3d/T12/meshes/Knee4.STL | Bin 0 -> 18484 bytes assets/3d/T12/meshes/Knee5.STL | Bin 0 -> 18484 bytes assets/3d/T12/meshes/Knee6.STL | Bin 0 -> 18484 bytes assets/3d/T12/meshes/Shin1.STL | Bin 0 -> 27284 bytes assets/3d/T12/meshes/Shin2.STL | Bin 0 -> 27284 bytes assets/3d/T12/meshes/Shin3.STL | Bin 0 -> 27284 bytes assets/3d/T12/meshes/Shin4.STL | Bin 0 -> 27284 bytes assets/3d/T12/meshes/Shin5.STL | Bin 0 -> 27284 bytes assets/3d/T12/meshes/Shin6.STL | Bin 0 -> 27284 bytes assets/3d/T12/meshes/Thigh1.STL | Bin 0 -> 37584 bytes assets/3d/T12/meshes/Thigh2.STL | Bin 0 -> 37584 bytes assets/3d/T12/meshes/Thigh3.STL | Bin 0 -> 37584 bytes assets/3d/T12/meshes/Thigh4.STL | Bin 0 -> 37584 bytes assets/3d/T12/meshes/Thigh5.STL | Bin 0 -> 37584 bytes assets/3d/T12/meshes/Thigh6.STL | Bin 0 -> 37584 bytes assets/3d/T12/urdf/T12.URDF | 2131 +++++++++++++++++++++++++++ assets/3d/T12/urdf/T12_flipped.URDF | 2131 +++++++++++++++++++++++++++ assets/3d/T12/urdf/T12_wrong_axes.orig.URDF | 2131 +++++++++++++++++++++++++++ assets/3d/sample.urdf | 132 -- crates/rapier-stl/Cargo.toml | 10 + crates/rapier-stl/src/lib.rs | 72 + crates/rapier-urdf/Cargo.toml | 14 +- crates/rapier-urdf/src/lib.rs | 304 ++-- examples3d/Cargo.toml | 1 + examples3d/urdf3.rs | 22 +- 49 files changed, 6703 insertions(+), 250 deletions(-) create mode 100644 assets/3d/T12/README.md create mode 100644 assets/3d/T12/meshes/Ankle1.STL create mode 100644 assets/3d/T12/meshes/Ankle2.STL create mode 100644 assets/3d/T12/meshes/Ankle3.STL create mode 100644 assets/3d/T12/meshes/Ankle4.STL create mode 100644 assets/3d/T12/meshes/Ankle5.STL create mode 100644 assets/3d/T12/meshes/Ankle6.STL create mode 100644 assets/3d/T12/meshes/Body.STL create mode 100644 assets/3d/T12/meshes/Foot1.STL create mode 100644 assets/3d/T12/meshes/Foot2.STL create mode 100644 assets/3d/T12/meshes/Foot3.STL create mode 100644 assets/3d/T12/meshes/Foot4.STL create mode 100644 assets/3d/T12/meshes/Foot5.STL create mode 100644 assets/3d/T12/meshes/Foot6.STL create mode 100644 assets/3d/T12/meshes/Hip1.STL create mode 100644 assets/3d/T12/meshes/Hip2.STL create mode 100644 assets/3d/T12/meshes/Hip3.STL create mode 100644 assets/3d/T12/meshes/Hip4.STL create mode 100644 assets/3d/T12/meshes/Hip5.STL create mode 100644 assets/3d/T12/meshes/Hip6.STL create mode 100644 assets/3d/T12/meshes/Knee1.STL create mode 100644 assets/3d/T12/meshes/Knee2.STL create mode 100644 assets/3d/T12/meshes/Knee3.STL create mode 100644 assets/3d/T12/meshes/Knee4.STL create mode 100644 assets/3d/T12/meshes/Knee5.STL create mode 100644 assets/3d/T12/meshes/Knee6.STL create mode 100644 assets/3d/T12/meshes/Shin1.STL create mode 100644 assets/3d/T12/meshes/Shin2.STL create mode 100644 assets/3d/T12/meshes/Shin3.STL create mode 100644 assets/3d/T12/meshes/Shin4.STL create mode 100644 assets/3d/T12/meshes/Shin5.STL create mode 100644 assets/3d/T12/meshes/Shin6.STL create mode 100644 assets/3d/T12/meshes/Thigh1.STL create mode 100644 assets/3d/T12/meshes/Thigh2.STL create mode 100644 assets/3d/T12/meshes/Thigh3.STL create mode 100644 assets/3d/T12/meshes/Thigh4.STL create mode 100644 assets/3d/T12/meshes/Thigh5.STL create mode 100644 assets/3d/T12/meshes/Thigh6.STL create mode 100644 assets/3d/T12/urdf/T12.URDF create mode 100644 assets/3d/T12/urdf/T12_flipped.URDF create mode 100644 assets/3d/T12/urdf/T12_wrong_axes.orig.URDF delete mode 100644 assets/3d/sample.urdf create mode 100644 crates/rapier-stl/Cargo.toml create mode 100644 crates/rapier-stl/src/lib.rs diff --git a/Cargo.toml b/Cargo.toml index 36b49f1..f176685 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace] members = ["crates/rapier2d", "crates/rapier2d-f64", "crates/rapier_testbed2d", "crates/rapier_testbed2d-f64", "examples2d", "benchmarks2d", - "crates/rapier3d", "crates/rapier3d-f64", "crates/rapier_testbed3d", "crates/rapier_testbed3d-f64", "examples3d", "examples3d-f64", "benchmarks3d", "crates/rapier-urdf"] + "crates/rapier3d", "crates/rapier3d-f64", "crates/rapier_testbed3d", "crates/rapier_testbed3d-f64", "examples3d", "examples3d-f64", "benchmarks3d", "crates/rapier-urdf", "crates/rapier-stl"] resolver = "2" [patch.crates-io] diff --git a/assets/3d/T12/README.md b/assets/3d/T12/README.md new file mode 100644 index 0000000..011d8e5 --- /dev/null +++ b/assets/3d/T12/README.md @@ -0,0 +1,3 @@ +These samples files originate from the repository +[gkjohnson/urdf-loaders](https://github.com/gkjohnson/urdf-loaders/tree/b67f5de98f6222e2d921ce24f46a6725dad9704e/urdf/T12) +(Apache 2.0 license). \ No newline at end of file diff --git a/assets/3d/T12/meshes/Ankle1.STL b/assets/3d/T12/meshes/Ankle1.STL new file mode 100644 index 0000000..0aa9ec5 Binary files /dev/null and b/assets/3d/T12/meshes/Ankle1.STL differ diff --git a/assets/3d/T12/meshes/Ankle2.STL b/assets/3d/T12/meshes/Ankle2.STL new file mode 100644 index 0000000..0aa9ec5 Binary files /dev/null and b/assets/3d/T12/meshes/Ankle2.STL differ diff --git a/assets/3d/T12/meshes/Ankle3.STL b/assets/3d/T12/meshes/Ankle3.STL new file mode 100644 index 0000000..0aa9ec5 Binary files /dev/null and b/assets/3d/T12/meshes/Ankle3.STL differ diff --git a/assets/3d/T12/meshes/Ankle4.STL b/assets/3d/T12/meshes/Ankle4.STL new file mode 100644 index 0000000..0aa9ec5 Binary files /dev/null and b/assets/3d/T12/meshes/Ankle4.STL differ diff --git a/assets/3d/T12/meshes/Ankle5.STL b/assets/3d/T12/meshes/Ankle5.STL new file mode 100644 index 0000000..0aa9ec5 Binary files /dev/null and b/assets/3d/T12/meshes/Ankle5.STL differ diff --git a/assets/3d/T12/meshes/Ankle6.STL b/assets/3d/T12/meshes/Ankle6.STL new file mode 100644 index 0000000..0aa9ec5 Binary files /dev/null and b/assets/3d/T12/meshes/Ankle6.STL differ diff --git a/assets/3d/T12/meshes/Body.STL b/assets/3d/T12/meshes/Body.STL new file mode 100644 index 0000000..3379440 Binary files /dev/null and b/assets/3d/T12/meshes/Body.STL differ diff --git a/assets/3d/T12/meshes/Foot1.STL b/assets/3d/T12/meshes/Foot1.STL new file mode 100644 index 0000000..67da40c Binary files /dev/null and b/assets/3d/T12/meshes/Foot1.STL differ diff --git a/assets/3d/T12/meshes/Foot2.STL b/assets/3d/T12/meshes/Foot2.STL new file mode 100644 index 0000000..67da40c Binary files /dev/null and b/assets/3d/T12/meshes/Foot2.STL differ diff --git a/assets/3d/T12/meshes/Foot3.STL b/assets/3d/T12/meshes/Foot3.STL new file mode 100644 index 0000000..67da40c Binary files /dev/null and b/assets/3d/T12/meshes/Foot3.STL differ diff --git a/assets/3d/T12/meshes/Foot4.STL b/assets/3d/T12/meshes/Foot4.STL new file mode 100644 index 0000000..67da40c Binary files /dev/null and b/assets/3d/T12/meshes/Foot4.STL differ diff --git a/assets/3d/T12/meshes/Foot5.STL b/assets/3d/T12/meshes/Foot5.STL new file mode 100644 index 0000000..67da40c Binary files /dev/null and b/assets/3d/T12/meshes/Foot5.STL differ diff --git a/assets/3d/T12/meshes/Foot6.STL b/assets/3d/T12/meshes/Foot6.STL new file mode 100644 index 0000000..67da40c Binary files /dev/null and b/assets/3d/T12/meshes/Foot6.STL differ diff --git a/assets/3d/T12/meshes/Hip1.STL b/assets/3d/T12/meshes/Hip1.STL new file mode 100644 index 0000000..9a7df1a Binary files /dev/null and b/assets/3d/T12/meshes/Hip1.STL differ diff --git a/assets/3d/T12/meshes/Hip2.STL b/assets/3d/T12/meshes/Hip2.STL new file mode 100644 index 0000000..9a7df1a Binary files /dev/null and b/assets/3d/T12/meshes/Hip2.STL differ diff --git a/assets/3d/T12/meshes/Hip3.STL b/assets/3d/T12/meshes/Hip3.STL new file mode 100644 index 0000000..9a7df1a Binary files /dev/null and b/assets/3d/T12/meshes/Hip3.STL differ diff --git a/assets/3d/T12/meshes/Hip4.STL b/assets/3d/T12/meshes/Hip4.STL new file mode 100644 index 0000000..9a7df1a Binary files /dev/null and b/assets/3d/T12/meshes/Hip4.STL differ diff --git a/assets/3d/T12/meshes/Hip5.STL b/assets/3d/T12/meshes/Hip5.STL new file mode 100644 index 0000000..9a7df1a Binary files /dev/null and b/assets/3d/T12/meshes/Hip5.STL differ diff --git a/assets/3d/T12/meshes/Hip6.STL b/assets/3d/T12/meshes/Hip6.STL new file mode 100644 index 0000000..9a7df1a Binary files /dev/null and b/assets/3d/T12/meshes/Hip6.STL differ diff --git a/assets/3d/T12/meshes/Knee1.STL b/assets/3d/T12/meshes/Knee1.STL new file mode 100644 index 0000000..9057da7 Binary files /dev/null and b/assets/3d/T12/meshes/Knee1.STL differ diff --git a/assets/3d/T12/meshes/Knee2.STL b/assets/3d/T12/meshes/Knee2.STL new file mode 100644 index 0000000..9057da7 Binary files /dev/null and b/assets/3d/T12/meshes/Knee2.STL differ diff --git a/assets/3d/T12/meshes/Knee3.STL b/assets/3d/T12/meshes/Knee3.STL new file mode 100644 index 0000000..9057da7 Binary files /dev/null and b/assets/3d/T12/meshes/Knee3.STL differ diff --git a/assets/3d/T12/meshes/Knee4.STL b/assets/3d/T12/meshes/Knee4.STL new file mode 100644 index 0000000..9057da7 Binary files /dev/null and b/assets/3d/T12/meshes/Knee4.STL differ diff --git a/assets/3d/T12/meshes/Knee5.STL b/assets/3d/T12/meshes/Knee5.STL new file mode 100644 index 0000000..9057da7 Binary files /dev/null and b/assets/3d/T12/meshes/Knee5.STL differ diff --git a/assets/3d/T12/meshes/Knee6.STL b/assets/3d/T12/meshes/Knee6.STL new file mode 100644 index 0000000..9057da7 Binary files /dev/null and b/assets/3d/T12/meshes/Knee6.STL differ diff --git a/assets/3d/T12/meshes/Shin1.STL b/assets/3d/T12/meshes/Shin1.STL new file mode 100644 index 0000000..e515e76 Binary files /dev/null and b/assets/3d/T12/meshes/Shin1.STL differ diff --git a/assets/3d/T12/meshes/Shin2.STL b/assets/3d/T12/meshes/Shin2.STL new file mode 100644 index 0000000..e515e76 Binary files /dev/null and b/assets/3d/T12/meshes/Shin2.STL differ diff --git a/assets/3d/T12/meshes/Shin3.STL b/assets/3d/T12/meshes/Shin3.STL new file mode 100644 index 0000000..e515e76 Binary files /dev/null and b/assets/3d/T12/meshes/Shin3.STL differ diff --git a/assets/3d/T12/meshes/Shin4.STL b/assets/3d/T12/meshes/Shin4.STL new file mode 100644 index 0000000..e515e76 Binary files /dev/null and b/assets/3d/T12/meshes/Shin4.STL differ diff --git a/assets/3d/T12/meshes/Shin5.STL b/assets/3d/T12/meshes/Shin5.STL new file mode 100644 index 0000000..e515e76 Binary files /dev/null and b/assets/3d/T12/meshes/Shin5.STL differ diff --git a/assets/3d/T12/meshes/Shin6.STL b/assets/3d/T12/meshes/Shin6.STL new file mode 100644 index 0000000..e515e76 Binary files /dev/null and b/assets/3d/T12/meshes/Shin6.STL differ diff --git a/assets/3d/T12/meshes/Thigh1.STL b/assets/3d/T12/meshes/Thigh1.STL new file mode 100644 index 0000000..d134267 Binary files /dev/null and b/assets/3d/T12/meshes/Thigh1.STL differ diff --git a/assets/3d/T12/meshes/Thigh2.STL b/assets/3d/T12/meshes/Thigh2.STL new file mode 100644 index 0000000..d134267 Binary files /dev/null and b/assets/3d/T12/meshes/Thigh2.STL differ diff --git a/assets/3d/T12/meshes/Thigh3.STL b/assets/3d/T12/meshes/Thigh3.STL new file mode 100644 index 0000000..d134267 Binary files /dev/null and b/assets/3d/T12/meshes/Thigh3.STL differ diff --git a/assets/3d/T12/meshes/Thigh4.STL b/assets/3d/T12/meshes/Thigh4.STL new file mode 100644 index 0000000..d134267 Binary files /dev/null and b/assets/3d/T12/meshes/Thigh4.STL differ diff --git a/assets/3d/T12/meshes/Thigh5.STL b/assets/3d/T12/meshes/Thigh5.STL new file mode 100644 index 0000000..d134267 Binary files /dev/null and b/assets/3d/T12/meshes/Thigh5.STL differ diff --git a/assets/3d/T12/meshes/Thigh6.STL b/assets/3d/T12/meshes/Thigh6.STL new file mode 100644 index 0000000..d134267 Binary files /dev/null and b/assets/3d/T12/meshes/Thigh6.STL differ diff --git a/assets/3d/T12/urdf/T12.URDF b/assets/3d/T12/urdf/T12.URDF new file mode 100644 index 0000000..364b0cf --- /dev/null +++ b/assets/3d/T12/urdf/T12.URDF @@ -0,0 +1,2131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/3d/T12/urdf/T12_flipped.URDF b/assets/3d/T12/urdf/T12_flipped.URDF new file mode 100644 index 0000000..fcfe7e8 --- /dev/null +++ b/assets/3d/T12/urdf/T12_flipped.URDF @@ -0,0 +1,2131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +