Isaac Lab 學習筆記:概述

wghou09發表於2024-09-07

Isaac Lab 主要用於機器人模擬,其對 Isaac Sim 進行了簡化封裝,並提供了 RL 所需的 Eviromnent 介面/基類等,相較於 Isaac Sim 而言,更加簡潔、易於上手。Isaac Lab 的專案在 GitHub - isaac-sim/IsaacLab,提供了原始碼及 Documents。

這篇文章簡要梳理了 isaac lab 的程式碼架構及各模組的功能、相互關係,一定程度上幫助更好理解、使用 isaac lab。


1. 各模組簡介

isaac lab 的核心程式碼位於 github/IsaacLab/source/extensions/isaac.lab/omni/isaac/lab 中,主要包括了 actuators、app、assets、controllers、devices、envs、managers、markers、scene、sensors、sim、terrains、utils幾個部分。各模組的功能簡述如下:

actuators 關節驅動器

actuator 是關節驅動器模型,給定關節的期望位置/速度/力矩等,可透過 actuator 計算得到應施加到關節上的位置/速度/力矩等。該模型的目的是,將真實世界中的關節控制對應到模擬環境中。例如,真實世界中,給定某個環節控制量,在模擬環境中施加什麼樣的控制量,才能使真實世界和虛擬環境中的關節運動實現一樣的效果呢?這個就是驅動器需要做的事。

Actuator models augment the simulated articulation joints with an external drive dynamics model. The model is used to convert the user-provided joint commands (positions, velocities and efforts) into the desired joint positions, velocities and efforts that are applied to the simulated articulation.
The base class provides the interface for the actuator models. It is responsible for parsing the actuator parameters from the configuration and storing them as buffers. It also provides the interface for resetting the actuator state and computing the desired joint commands for the simulation.
For each actuator model, a corresponding configuration class is provided. The configuration class is used to parse the actuator parameters from the configuration. It also specifies the joint names for which the actuator model is applied. These names can be specified as regular expressions, which are matched against the joint names in the articulation.

相關文章