Skip to content

Added support for parsing the unit tag in mesh (DAE) files referenced by URDF.#266

Open
Michi-Tsubaki wants to merge 2 commits intojsk-ros-pkg:masterfrom
Michi-Tsubaki:parse-mesh-unit
Open

Added support for parsing the unit tag in mesh (DAE) files referenced by URDF.#266
Michi-Tsubaki wants to merge 2 commits intojsk-ros-pkg:masterfrom
Michi-Tsubaki:parse-mesh-unit

Conversation

@Michi-Tsubaki
Copy link
Copy Markdown

close #265

Summary

Problems

Currently euscollada does not read unit tag in dae files, and use hardcoded "1000" constant value to convert meter(default unit
of .dae) to milimeter(default unit of euslisp). However, in case of mycobot280, the unit of the mesh file of base is Milimeter while others are Meter.
image

Changes

  • Adds getDaeUnitMeter() that reads from a .dae file using raw string search.
  • Replaces hardcoded 1000 multiplier with unit_scale = getDaeUnitMeter(filename) * 1000.0.
image2

Backward-compatible

non-DAE or DAE without both return 1.0 → unit_scale = 1000.0 (same as before).

Note that

I intentionally parse the tag via string search rather than using Assimp because the version of Assimp currently used here does not support unit value. Thus directly reading the raw file content is more robust and ensures backward compatibility.

@Michi-Tsubaki
Copy link
Copy Markdown
Author

Michi-Tsubaki commented Mar 18, 2026

The size issue has been resolved. However, as for mycobot 280, it is necessary to fix the issue where joint1_lk is not included in the joint list. Without resolving this, the IK solver cannot compute a valid solution .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[euscolalda] mycobot280のurdfからeuscolladaを用いてmycobot.lを作成したが,ベースしかIRTVIWERで描画されない.

1 participant