Skip to content

v0.3.0

Compare
Choose a tag to compare
@Mayankm96 Mayankm96 released this 17 Apr 20:01
· 83 commits to main since this release
f71340e

πŸ‘€ Overview

This release includes various fixes and improvements to the framework. It additionally includes many new features, as listed below.

Full Changelog: v0.2.0...v0.3.0

✨ New Features

πŸ”§ Improvements

  • Adds a runner script to execute all tests in the source directory by @jsmith-bdai
  • Allows loading of initialized configs in load_cfg_from_registry by @nikitardn
  • Checks default joint states are configured within limits by @Dhoeller19
  • Expands on unit tests for rigid object asset and terrain importer classes by @jsmith-bdai
  • Adds unit tests for contact sensor class by @fyu-bdai
  • Adds signal interrupt handle to AppLauncher by @Mayankm96
  • Adds ROS2 Humble to Dockerfile by @hhansen-bdai
  • Improved usage instructions for cluster deployment by @pascal-roth
  • Removes unnecessary future imports for Python 3.10 by @Mayankm96

πŸ› Bug Fixes

  • Fixes running environments with a single instance by @Dhoeller19
  • Fixes source frame indexing in FrameTransfomer sensor by @jsmith-bdai
  • Fixes handling of time-out signal in RSL-RL and RL-Games wrapper by @Mayankm96
  • Fixes unwanted squeeze in Articulation class for 1-joint assets by @Mayankm96
  • Fixes shape argument ordering in hf_terrains.random_uniform_terrain by @nikitardn
  • Fixes joint and body sub-indexing for observations and rewards by @Dhoeller19
  • Fixes camera sensor for Isaac Sim 2023.1 update by @hhansen-bdai
  • Fixes imitation learning workflow for lift environment by @jsmith-bdai
  • Fixes apply actions method in the NonHolonomicAction action term class by @KyleM73
  • Fixes the tensor shape for the contact sensor's force matrix data by @abmoRobotics
  • Fixes missing max raycast distance in RayCaster sensor by @renezurbruegg
  • Fixes rendering of RTX sensors within the environment stepping by @Dhoeller19

πŸ’” Breaking Changes

✈️ Migration Guide

Renaming of Randomization Manager to Event Manager

While the randomization manager referred to all possible " randomizations " in the environment, many users felt that the triggering
of the terms was not apparent. Additionally, for non-RL use-cases, randomization seemed like a misnomer. Hence, we renamed the class to be called event manager.

Replace the following import and usage:

from omni.isaac.orbit.managers import RandomizationTermCfg as RandTerm

@configclass
class RandomizationCfg:
    """Configuration for randomization."""

    reset_base = RandTerm(
        func=mdp.reset_root_state_uniform,
        mode="reset",
        params={"pose_range": {}, "velocity_range": {}},
    )

@configclass
class MyEnvCfg:

     randomization: RandomizationCfg = RandomizationCfg()

with the following:

from omni.isaac.orbit.managers import EventTermCfg as EventTerm

@configclass
class EventCfg:
    """Configuration for events."""

    reset_base = EventTerm(
        func=mdp.reset_root_state_uniform,
        mode="reset",
        params={"pose_range": {}, "velocity_range": {}},
    )

@configclass
class MyEnvCfg:

     events: EventCfg = EventCfg()

Renaming of MDP terms

We observed that several of the MDP terms had close to overlapping names, such as the reward term joint_pos_limits and termination term joint_pos_limit. To avoid errors, we decided to make the term names clearer.

Please note the following changes in MDP terms:

  • Observation: joint_pos_norm -> joint_pos_limit_normalized
  • Event: add_body_mass -> randomize_rigid_body_mass
  • Termination: base_height -> root_height_below_minimum
  • Termination: joint_pos_limit -> joint_pos_out_of_limit
  • Termination: joint_pos_manual_limit -> joint_pos_out_of_manual_limit
  • Termination: joint_vel_limit -> joint_vel_out_of_limit
  • Termination: joint_vel_manual_limit -> joint_vel_out_of_manual_limit
  • Termination: joint_torque_limit -> joint_effort_out_of_limit

Removal of omni.isaac.contrib_tasks

Initially, we intended to have the contrib_tasksmodule for developers to send their environment implementations. However, many users preferred a more isolated development environment for their projects. Hence, we removed the contrib_tasks and now provide a separate template repository for building projects that use Orbit.

However, we encourage the community to provide their environment implementations directly to the orbit_tasks extension. This allows us to ensure the environments are maintained during future releases of the framework.

For more details, please check: https://github.com/isaac-orbit/orbit.ext_template

πŸ€— New Contributors