Source code for metasim.cfg.robots.base_robot_metacfg

from __future__ import annotations

from dataclasses import MISSING

from metasim.cfg.objects import ArticulationObjMetaCfg
from metasim.utils import configclass


@configclass
class BaseActuatorMetaCfg:
    velocity_limit: float | None = None  # TODO: None means use the default value (USD joint prim value) or no limit?
    is_ee: bool = False
    damping: float = 40.0
    stiffness: float = 400.0


[docs] @configclass class BaseRobotMetaCfg(ArticulationObjMetaCfg): """Base MetaCfg class for robots.""" # Articulation num_joints: int = MISSING actuators: dict[str, BaseActuatorMetaCfg] = {} ee_prim_path: str | None = None fix_base_link: bool = True joint_limits: dict[str, tuple[float, float]] = {} default_joint_positions: dict[str, float] = {} default_position: tuple[float, float, float] = (0.0, 0.0, 0.0) """ Joint limits in the format of `{joint_name: (lower_limit, upper_limit)}`. Note that different simulators may have different order of joints, so you should not use the order in this dict! """ gripper_release_q: list[float] = MISSING gripper_actuate_q: list[float] = MISSING # cuRobo Configs curobo_ref_cfg_name: str = MISSING curobo_tcp_rel_pos: tuple[float, float, float] = MISSING curobo_tcp_rel_rot: tuple[float, float, float] = MISSING # Simulation enabled_gravity: bool = True """Whether to enable gravity in the simulation.""" enabled_self_collisions: bool = True isaacgym_flip_visual_attachments: bool = True