Skip to content

v0.2.0

Compare
Choose a tag to compare
@aclegg3 aclegg3 released this 30 Jun 06:55
bfafd79

Major features and improvements:

  • Introducing ArticulatedObject API via Bullet physics including: URDF file import, Revolute|Prismatic|Spherical joints with joint position/velocity/torque control, JointMotor control interface. (#1300, #1312, #1326, #1309, #1228, #1254)
  • Rigid point-to-point and fixed frame constraints between objects. (#1328)
  • Query detailed contact point information from previous collision detection pass (#1257).
  • Customize collision groups and masks for objects with the CollisionGroupHelper. (#1280)
  • New, user-friendly ManagedObject interface deprecates previous ID-based interface through Simulator class. Now apply commands and set/query properties directly on objects. (#1189, #1246, #1286, #1288)
  • RobotWrapper for defining high-level robot interface on top of ArticulatedObject API w/ initial Fetch robot platform example. (#1341)
  • Option to enable asynchronous rendering via background thread for improved end-to-end performance in simulation heavy scenarios by overlapping CPU-side simulation and GPU-side rendering. (#1229)
  • SceneDataset improvements:
    • Automated scene instancing loads stage, rigid and articulated objects, lights, navmesh, etc... from scene config handle. (#1034, #1274)
    • Support for glob wildcards '*' in config paths. (#1152)
    • User defined custom fields in JSON now passed through to programmatic structures. Cache your own metadata! (#1302)
    • CSV information report output. See your full config system at a glance. (#1331)
    • Reference assets (e.g., .glb) directly by filepath in configuration. (#1255)
  • New utility habitat_sim/utils/datasets_download.py with versioning and custom data paths simplifies the asset download and setup process significantly. (#1198)
  • Hierarchical Sensor Framework re-design (#1064, #1098, #1090, #1117, #1138, #1118, #1159):
    • Decouple sensors from agents.
    • SensorFactory and VisualSensor hierarchy.
    • Extensible design enables straightforward contribution of custom sensors.
  • New spherical sensors with RGB, depth, and semantic rendering:
  • Integrated VHACD to produce convex decompositions of mesh assets after import into Habitat-sim with .obj export. Optimize collision detection for your assets with a utility for configuring parameters and visualizing output. (#1055, #1294)
  • New VoxelField data-structures supporting multiple layered data types and a variety of features, including (#1140, #1154, #1172):
    • Automated boundary voxelization of stages and objects via VHACD.
    • Scalar gradient vector field computation.
    • Signed Distance Field (SDF) computation on boundary fields.
    • Visualization of boundary voxels, heat maps, vector fields in object local frames.
  • Frustum culling on inserted and physically simulated objects for faster rendering of staged and dynamic scenes. (#1095)
  • Added a pre-process utility tool for basis compression of asset textures resulting in faster load and render times. (#1290)

Other improvements and bug fixes:

  • Stand-alone MetaDataMediator can be configured outside of a Simulator instance and provided during construction for more control + improvements. (#1099, #1243, #1265)

  • Option to specify shader_type for assets in configuration. (#1183)

  • Option to scale all lights in a scene uniformly brighten or dim. (#1339)

  • Stages default to falt shading. (#1307)

  • Allow custom primitives to be re-constructed from their unique string key enabling de-serialization of procedural assets. (#1314)

  • Added a variety of automated code formatters and style checks to pre-commit, linters, and CI. (#1075, #1094, #1102, #1108, #1200, #1219, #1220, #1222, #1240, #1241, #1250, #1249, #1259, #1267, #1275, #1301, #1303, #1313, #1337)

  • Optimize CI testing and conda build with parallel execution (~6x test speedup). (#1238, #1239)

  • Add custom background clear color for VisualSensorSpec. (#1153)

  • Physics simulation benchmarking example utility (#1048)

  • Setup pytest-benchmark CI integration. (#1323)

  • Better logging paradigm (ESP_CHECK) for C++ assertions which propagate failure message and stack trace to python. (#1111)

  • WebVR examples replaced with WebXR and improved controls (#1139)

  • Added some object instancing and physics functionality to JavaScript bindings (#1146, #1271)

  • Improved Viewer application features including:

    • Depth and Semantic sensor visualization options. (#1066, #1207)
    • Add interactive mouse mode with RigidConstraints and removed old-style interactive key-binds + default lighting override. (#1351)
    • Serialization and loading of agent and sensor transforms. (#1180)
    • Bullet debug draw toggle with ','.
  • Added XML parsing support via tinyxml2. (#1137)

  • PrettyWriter and precision JSON export. (#1340)

  • Added Colab tutorial for easily visualizing asset turn-tables in Habitat-sim. (#1318)

  • Upgraded Magnum version to include a variety of new features and optimizations.

  • Upgraded Recast submodule. (#1194)

  • Change default lighting to better support PBR materials. (#1351)

  • Set render buffer properly based on sensor type to speed up rendering. (#1104)

  • Optimize PBR shader to improve speed. (#1320, #1317)

  • Various bug fixes, including:

    • Set bounds correctly for programmatically recomputed NavMeshes. (#1192)
    • Fix Mac driver bug for depth display (#1181)
    • Correctly support vertex-colors for flat shaded assets. (#1289)
    • De-duplicate sequential points in trajectory visualization. (#1316)
    • Fixed and improved some doc-string issues. (#1281, #1204)

Corresponding Habitat-Lab v0.2.0 release.

Kudos to our community contributors: @vauduong @ScottCSteinhauser @ldcWV @Ram81 @naokiyokoyama @BlaiseRitchie