Skip to content

URDF Export Error and Collision Object Error with Left-Handed Rotation Matrix #1562

@1270645409

Description

@1270645409

Description

version:

  • phobos==2.0.0
  • blender v3.3 LTS
  • scipy==1.13.1

I have created mutiple .obj files in blender, then composite them to a urdf
I encountered two issues when exporting Blender models to URDF using Phobos.

PLEASE NOTE THAT No transformation has been applied to the origin .obj mesh

Issue 1: Rotation Matrix Error

Error Message:

Rot.from_matrix(R).as euler(EULER CONVENTION)
Non-positive determinant (left-handed or null coordinate frame) in rotation matrix 

Also, I meet this error when creating collision object

Context:

  • This occurs when exporting a URDF containing multiple objects assembled as links.
  • Temporary Fix: Flipping/mirroring the problematic object sometimes resolves the error, but this approach is unreliable.
    Image

Issue 2: Collision Object Pose Mismatch

Problem:

When creating a collision object (mesh), its pose differs from the original visual object. Specifically, the collision mesh requires an additional 90-degree rotation around the X-axis to align with the visual geometry.
Sometimes, the same problem occurs as the issue 1.

I don't know whether it is normal

Phobos Version

2.0.0

Conditions to reproduce

No response

INI code

Steps to reproduce

  • import two obj(body and lid)
  • set them to visual
  • create link for them
  • set the body link to root
  • set bone relative for the two link
  • select one visual, create collision, then error occurs
  • also, when i try to export the whole urdf, the same error occurs

Expected behaviour

for issue 1, I want to export urdf successfully
I want to know why the rotation matrix is left-handed

for issue 2, I want to know why the created collision obj pose is not the same as visual one.

Actual behaviour

for issue 1, when exporting urdf, ERROR: Non-positive determinant (left-handed or null coordinate frame) in rotation matrix
for issue 2, When creating a collision object (mesh), its pose differs from the original visual object. Specifically, the collision mesh requires an additional 90-degree rotation around the X-axis to align with the visual geometry.

Additional context

No response

Checklist

  • The issue happens on the latest official version of Phobos and wasn't fixed yet.
  • I agree to elaborate the details if requested and provide thorough testing if the bugfix is implemented.
  • I added a very descriptive title to this issue.
  • I used the GitHub search and read the issue list to find a similar issue and didn't find it.
  • I have attached as much information as possible (screenshots, gifs, videos, debug and exception logs, etc).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions