Source code for isaaclab.assets.articulation.articulation_cfg
# Copyright (c) 2022-2025, The Isaac Lab Project Developers.
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
from dataclasses import MISSING
from isaaclab.actuators import ActuatorBaseCfg
from isaaclab.utils import configclass
from ..asset_base_cfg import AssetBaseCfg
from .articulation import Articulation
[docs]@configclass
class ArticulationCfg(AssetBaseCfg):
"""Configuration parameters for an articulation."""
[docs] @configclass
class InitialStateCfg(AssetBaseCfg.InitialStateCfg):
"""Initial state of the articulation."""
# root velocity
lin_vel: tuple[float, float, float] = (0.0, 0.0, 0.0)
"""Linear velocity of the root in simulation world frame. Defaults to (0.0, 0.0, 0.0)."""
ang_vel: tuple[float, float, float] = (0.0, 0.0, 0.0)
"""Angular velocity of the root in simulation world frame. Defaults to (0.0, 0.0, 0.0)."""
# joint state
joint_pos: dict[str, float] = {".*": 0.0}
"""Joint positions of the joints. Defaults to 0.0 for all joints."""
joint_vel: dict[str, float] = {".*": 0.0}
"""Joint velocities of the joints. Defaults to 0.0 for all joints."""
##
# Initialize configurations.
##
class_type: type = Articulation
init_state: InitialStateCfg = InitialStateCfg()
"""Initial state of the articulated object. Defaults to identity pose with zero velocity and zero joint state."""
soft_joint_pos_limit_factor: float = 1.0
"""Fraction specifying the range of joint position limits (parsed from the asset) to use. Defaults to 1.0.
The soft joint position limits are scaled by this factor to specify a safety region within the simulated
joint position limits. This isn't used by the simulation, but is useful for learning agents to prevent the joint
positions from violating the limits, such as for termination conditions.
The soft joint position limits are accessible through the :attr:`ArticulationData.soft_joint_pos_limits` attribute.
"""
actuators: dict[str, ActuatorBaseCfg] = MISSING
"""Actuators for the robot with corresponding joint names."""