Skip to content

SDF -> USD conversion support #845

@adlarkin

Description

@adlarkin

This issue is meant to track the progress of converting SDF to USD, which is currently a work in progress.

@ahcorde if there's anything I'm missing in the feature list below (or if anything seems incorrect/out of date), feel free to modify the feature list directly.

Supported

  • World's gravity information
  • Lights
    • //light/direction is currently ignored (USD lights will point down by default)
    • //light/diffuse and //light/specular are currently ignored, but a potential workaround for these elements is to apply a material to the USD light

In Progress

  • Links (sdf -> usd Parse links and ground planes #828)
    • static/non-static
    • mass, inertia, center of mass
    • basic ground plane support (USD doesn’t have a plane geometry yet, so the workaround is to make a wide, thin box that represents a place)
    • lights attached to links
    • visual
      • Box, cylinder, sphere, mesh, capsule, plane, ellipsoid geometries
        • Mesh geometry support is limited to points, lines, and triangles submesh primitive types
    • collisions
      • Limited support. Currently, a collision is created for every visual, with the collision geometry matching the link’s visual geometry. SDF supports setting collisions that can differ from link geometries (perhaps users want a simpler collision shape, for example)
  • Sensors (sdf -> usd: Added sensor #830)
    • Camera, lidar, imu are supported
      • //lidar/scan/horizontal/samples and //lidar/scan/vertical/samples currently aren’t being parsed to the USD lidar sensor
  • Materials (sdf -> usd: Materials #831)
    • Ignition fuel resources are searched for ($HOME/.ignition/fuel)
  • Joints (sdf -> usd converter: add joints #837)
    • Support for revolute, ball, fixed, and prismatic joint types
  • USD-specific error codes (Add USDError class #836)

Not Supported

  • SDF files with multiple worlds (the sdf2usd parser executable only supports SDF files with exactly one world)
  • Nested models
  • Plugins

Additional context

Here are past PRs related to this work that have been merged:

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions