Public API for module isaacsim.replicator.experimental.mobility_gen:#

Classes#

  • class Buffer

    • def init(self, value: object | None = None, tags: list[str] | None = None)

    • def get_value(self) -> object

    • def set_value(self, value: object)

    • def includes_tags(self, tags: list[str]) -> bool

    • def excludes_tags(self, tags: list[str]) -> bool

  • class CameraConfig

    • name: str

    • sensor_prim_path: str

    • width_px: int

    • height_px: int

    • frame_id: str

    • class def from_dict(cls, data: dict) -> CameraConfig

  • class Config

    • scenario_type: str

    • robot_type: str

    • scene_usd: str

    • def to_json(self) -> str

    • static def from_json(data: str) -> Config

  • class Gamepad(Module)

    • def init(self)

    • def update_state(self)

  • class GamepadDriver(object)

    • def init(self)

    • static def connect() -> GamepadDriver

    • static def disconnect()

    • static def instance() -> GamepadDriver

    • def get_axis_values(self) -> np.ndarray

    • def get_button_values(self) -> np.ndarray

  • class GridPoseSampler(PoseSampler)

    • grid_size_meters: float

    • def init(self, grid_size_meters: float)

    • def sample_px(self, occupancy_map: OccupancyMap) -> Pose2d

  • class Keyboard(Module)

    • def init(self)

    • def update_state(self)

  • class KeyboardDriver(object)

    • def init(self)

    • static def connect() -> KeyboardDriver

    • static def disconnect()

    • static def instance() -> KeyboardDriver

    • def get_button_values(self) -> np.ndarray

  • class MobilityGenCamera(Module)

    • def init(self, prim_path: str, resolution: tuple[int, int])

    • def enable_rendering(self)

    • def finalize_rendering(self)

    • def disable_rendering(self)

    • def enable_rgb_rendering(self)

    • def enable_segmentation_rendering(self)

    • def enable_instance_id_segmentation_rendering(self)

    • def enable_depth_rendering(self)

    • def enable_normals_rendering(self)

    • def update_state(self)

  • class MobilityGenMultiSensorRobot(MobilityGenRobot)

    • robot_config_path: str

    • sensor_configs: list[SensorConfig]

    • [property] def front_camera(self)

    • [front_camera.setter] def front_camera(self, _value: object)

    • def init(self, prim_path: str, articulation: Articulation, sensor_rig: Module | None = None)

    • class def build_sensor_rig(cls, prim_path: str) -> Module | None

  • class MobilityGenReader

    • def init(self, recording_path: str)

    • def read_config(self) -> Config

    • def read_occupancy_map(self) -> OccupancyMap

    • def read_rgb(self, name: str, index: int) -> np.ndarray

    • def read_state_dict_rgb(self, index: int) -> dict

    • def read_segmentation(self, name: str, index: int) -> np.ndarray

    • def read_normals(self, name: str, index: int) -> np.ndarray

    • def read_state_dict_segmentation(self, index: int) -> dict

    • def read_depth(self, name: str, index: int, eps: float = 1e-06) -> np.ndarray

    • def read_state_dict_depth(self, index: int) -> dict

    • def read_state_dict_normals(self, index: int) -> dict

    • def read_state_dict_common(self, index: int) -> dict

    • def read_state_dict(self, index: int) -> dict

  • class MobilityGenRobot(Module, ABC)

    • physics_dt: float

    • z_offset: float

    • chase_camera_base_path: str

    • chase_camera_x_offset: float

    • chase_camera_z_offset: float

    • chase_camera_tilt_angle: float

    • occupancy_map_radius: float

    • occupancy_map_collision_radius: float

    • front_camera_type: type[Module]

    • front_camera_base_path: str

    • front_camera_rotation: tuple[float, float, float]

    • front_camera_translation: tuple[float, float, float]

    • keyboard_linear_velocity_gain: float

    • keyboard_angular_velocity_gain: float

    • gamepad_linear_velocity_gain: float

    • gamepad_angular_velocity_gain: float

    • random_action_linear_velocity_range: tuple[float, float]

    • random_action_angular_velocity_range: tuple[float, float]

    • random_action_linear_acceleration_std: float

    • random_action_angular_acceleration_std: float

    • random_action_grid_pose_sampler_grid_size: float

    • path_following_speed: float

    • path_following_angular_gain: float

    • path_following_stop_distance_threshold: float

    • path_following_forward_angle_threshold: Unknown

    • path_following_target_point_offset_meters: float

    • def init(self, prim_path: str, articulation: Articulation, front_camera: Module)

    • class def build_front_camera(cls, prim_path: str) -> Module

    • def build_chase_camera(self) -> str

    • class def build(cls, prim_path: str) -> MobilityGenRobot

    • def write_action(self, step_size: float)

    • def is_physics_ready(self) -> bool

    • def update_state(self)

    • def write_replay_data(self)

    • def set_pose_2d(self, pose: Pose2d)

    • def get_pose_2d(self) -> Pose2d

  • class MobilityGenScenario(Module, ABC)

    • def init(self, robot: MobilityGenRobot, occupancy_map: OccupancyMap)

    • class def from_robot_occupancy_map(cls, robot: MobilityGenRobot, occupancy_map: OccupancyMap) -> MobilityGenScenario

    • def reset(self)

    • def step(self, step_size: float) -> bool

    • def get_visualization_image(self) -> Image.Image

  • class MobilityGenSensorRig(Module)

    • class def from_sensor_configs(cls, configs: list[SensorConfig], robot_root_path: str) -> MobilityGenSensorRig

  • class MobilityGenWriter

    • def init(self, path: str, async_write: bool = True, max_pending: int = 8)

    • def flush(self)

    • def close(self)

    • def write_state_dict_common(self, state_dict: dict, step: int)

    • def write_state_dict_rgb(self, state_rgb: dict, step: int)

    • def write_state_dict_segmentation(self, state_segmentation: dict, step: int)

    • def write_state_dict_depth(self, state_np: dict, step: int)

    • def write_state_dict_normals(self, state_np: dict, step: int)

    • def copy_stage(self, input_path: str)

    • def write_config(self, config: Config)

    • def write_occupancy_map(self, occupancy_map: OccupancyMap)

    • def copy_init(self, other_path: str)

  • class Module

    • def children(self) -> dict[str, Module]

    • def buffers(self) -> dict[str, Buffer]

    • def named_modules(self, prefix: str = ‘’) -> dict[str, Module]

    • def named_buffers(self, prefix: str = ‘’, include_tags: list[str] | None = None, exclude_tags: list[str] | None = None) -> dict[str, Buffer]

    • def state_dict(self, prefix: str = ‘’, include_tags: list[str] | None = None, exclude_tags: list[str] | None = None) -> dict[str, object]

    • def state_dict_common(self, prefix: str = ‘’) -> dict[str, object]

    • def state_dict_rgb(self, prefix: str = ‘’) -> dict[str, object]

    • def state_dict_segmentation(self, prefix: str = ‘’) -> dict[str, object]

    • def state_dict_depth(self, prefix: str = ‘’) -> dict[str, object]

    • def state_dict_normals(self, prefix: str = ‘’) -> dict[str, object]

    • def enable_rgb_rendering(self)

    • def enable_segmentation_rendering(self)

    • def enable_depth_rendering(self)

    • def enable_instance_id_segmentation_rendering(self)

    • def enable_normals_rendering(self)

    • def finalize_rendering(self)

    • def disable_rendering(self)

    • def write_replay_data(self)

    • def update_state(self)

    • def load_state_dict(self, state_dict: dict)

  • class OccupancyMap

    • ROS_IMAGE_FILENAME: str

    • ROS_YAML_FILENAME: str

    • ROS_YAML_TEMPLATE: str

    • def init(self, data: np.ndarray, resolution: int, origin: tuple[int, int, int])

    • def freespace_mask(self) -> np.ndarray

    • def unknown_mask(self) -> np.ndarray

    • def occupied_mask(self) -> np.ndarray

    • def ros_image(self, negate: bool = False) -> PIL.Image.Image

    • def ros_yaml(self, negate: bool = False) -> str

    • def save_ros(self, path: str)

    • static def from_ros_yaml(ros_yaml_path: str) -> OccupancyMap

    • static def from_ros_image(ros_image: PIL.Image.Image, resolution: int, origin: tuple[float, float, float], negate: bool = False, occupied_thresh: float = ROS_OCCUPIED_THRESH_DEFAULT, free_thresh: float = ROS_FREESPACE_THRESH_DEFAULT) -> OccupancyMap

    • static def from_masks(freespace_mask: np.ndarray, occupied_mask: np.ndarray, resolution: int, origin: tuple[float, float, float]) -> OccupancyMap

    • def width_pixels(self) -> int

    • def height_pixels(self) -> int

    • def width_meters(self) -> float

    • def height_meters(self) -> float

    • def bottom_left_pixel_world_coords(self) -> tuple[float, float]

    • def top_left_pixel_world_coords(self) -> tuple[float, float]

    • def bottom_right_pixel_world_coords(self) -> tuple[float, float]

    • def top_right_pixel_world_coords(self) -> tuple[float, float]

    • def buffered(self, buffer_distance_pixels: int) -> OccupancyMap

    • def buffered_meters(self, buffer_distance_meters: float) -> OccupancyMap

    • def pixel_to_world(self, point: Point2d) -> Point2d

    • def pixel_to_world_numpy(self, points: np.ndarray) -> np.ndarray

    • def world_to_pixel_numpy(self, points: np.ndarray) -> np.ndarray

    • def check_world_point_in_bounds(self, point: Point2d) -> bool

    • def check_world_point_in_freespace(self, point: Point2d) -> bool

  • class PathHelper

    • def init(self, points: np.ndarray)

    • def get_path_length(self) -> float

    • def get_point_by_distance(self, distance: float) -> np.ndarray

    • def find_nearest(self, point: np.ndarray) -> tuple[np.ndarray, float, tuple[int, int], float]

  • class Pose2d(Point2d)

    • theta: float

  • class RecordingSession

    • def init(self)

    • def build(self, robot_type: type, scenario_type: type, occupancy_map: OccupancyMap) -> MobilityGenScenario

    • def initialize(self)

    • def reset(self)

    • def step(self, step_size: float) -> bool

    • def enable_recording(self)

    • def disable_recording(self)

    • def clear_recording(self)

    • def clear(self)

    • def close(self)

  • class UniformPoseSampler(PoseSampler)

    • def sample_px(self, occupancy_map: OccupancyMap) -> Pose2d

Functions#

  • def apply_nurec_replay_overrides(args: argparse.Namespace, stage: Usd.Stage | None) -> bool

  • def apply_sensor_overrides(robot_prim_path: str, recording_path: str, stage: Usd.Stage | None = None)

  • async def collect_input(input_path: str, dest_dir: str) -> str

  • def compress_path(path: np.ndarray, eps: float = 0.001) -> tuple[np.ndarray, np.ndarray]

  • def generate_paths(start: tuple[int, int], freespace: np.ndarray) -> GeneratePathsOutput

  • def is_complete(output_path: str, expected_config: dict[str, Any]) -> bool

  • def is_nurec_stage(stage: Usd.Stage | None) -> bool

  • def load_scenario(path: str) -> MobilityGenScenario

  • def log_camera_properties(stage: Usd.Stage, robot_prim_path: str)

  • def mark_replay_complete(output_path: str, frames_rendered: int)

  • def replay_config_from_args(source_recording: str, args: argparse.Namespace) -> dict[str, Any]

  • def save_sensor_overrides(robot_prim_path: str, output_dir: str, root_layer: Sdf.Layer | None = None, stage: Usd.Stage | None = None)

  • def write_replay_config(output_path: str, replay_config: dict[str, Any])

Variables#

  • COMPLETE_MARKER_NAME: str

  • REPLAY_CONFIG_NAME: str

  • ROBOTS: Unknown

  • SCENARIOS: Unknown

  • SensorConfig: CameraConfig