大二/机器人/isaac sim

Api

World

World is the core class that enables you to interact with the simulator in an easy and modular way. It takes care of many time-related events such as adding callbacks, stepping physics, resetting the scene, adding tasks, etc. The World class is a Singleton which means ==only one World can exist== while running Omniverse Isaac Sim. Query the World for information about the simulation from different extensions.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from omni.isaac.examples.base_sample import BaseSample #boiler plate of a robotics extension application

class HelloWorld(BaseSample):
def __init__(self) -> None:
super().__init__()
return

# This function is called to setup the assets in the scene for the first time
# Class variables should not be assigned here, since this function is not called
# after a hot-reload, its only called to load the world starting from an EMPTY stage
def setup_scene(self):
# A world is defined in the BaseSample, can be accessed everywhere EXCEPT __init__
world = self.get_world()
return

Dynamic Control

The Dynamic Control extension is a set of utilities to control physics objects. It provides opaque handles for different physics objects that remain valid between PhysX scene resets, which occur whenever play or stop is pressed.

用于运动控制

Scene

A world contains an instance of a Scene, think about it as a scene management class that manages the assets of interest in the USD stage. It provides an easy api to add, manipulate and inspect different USD assets in the stage as well as setting its default reset states. Many of the object classes available which could be added to a Scene usually takes an already existing USD prim in stage or creates a new USD prim, thus providing an easy way to set/ get its common properties.

1
world.scene.add_default_ground_plane() # adds a default ground plane to the scene

Task

The Task class in omni.isaac.core provides a way to ==modularize== the scene creation, information retrieval, calculating metrics and creating more complex scenes with more involved logic.

GPU并行仿真

BaseTask

This class provides a way to set up a task in a scene and modularize adding objects to stage, getting observations needed for the behavioral layer, calculating metrics needed about the task, calling certain things pre-stepping, creating multiple tasks at the same time and much more.

Articulation

一堆关节构成

An articulated robot is ==a robot with rotary joints== (e.g: a legged robot, a manipulator or a wheeled robot). In omni.isaac.core extension in Omniverse Isaac Sim there exists an Articulation class which enables the interaction with articulations that exists in a USD stage in an easy way.

Robots are constructed of physically accurate articulated joints.

ArticulationView

High-level wrapper to deal with prims (==one or many==) that have the Root Articulation API applied and their attributes/properties

This class wraps all matching articulations found at the regex provided at the prim_paths_expr argument

匹配多个

Shiwei Pan wechat