Isaacsim文檔簡(jiǎn)記

Isaacsim

名詞介紹

  • c-space:描述機(jī)器人姿態(tài)的多維空間,每個(gè)維度是機(jī)器人的一個(gè)自由度DoF。
  • frame:某個(gè)部件的位置(坐標(biāo)系原點(diǎn))姿態(tài)(xyz軸方向,四元數(shù))。常見的如world/base/joint/link frame等
  • Articulation:多關(guān)節(jié)連接的物體,如機(jī)器人、機(jī)械臂等,其結(jié)構(gòu)通常為多關(guān)節(jié)(joint)連接多個(gè)連桿 (link),封裝了關(guān)節(jié)約束、質(zhì)量、慣性等參數(shù)。能夠讀取各關(guān)節(jié)位置、速度、受力,使用ArticulationAction控制關(guān)節(jié)運(yùn)動(dòng)的位置、速度、扭矩,獲取整體或局部位姿。

Assets

實(shí)體對(duì)象,基于USD的復(fù)合數(shù)據(jù)格式,包括以下部分:

  • 幾何 Geometry:包括1. Mesh,即多邊形模型;2. Collision Shape,碰撞檢測(cè),通常比mesh簡(jiǎn)單以簡(jiǎn)化計(jì)算。
  • Transform Hiearchy:以父子關(guān)系組織的坐標(biāo)變換,形成骨架結(jié)構(gòu),例如關(guān)節(jié)的子節(jié)點(diǎn)為連桿
  • Physics Properties:定義物理引擎中的行為,包括Mass/Inertia/Collision Group/動(dòng)力學(xué)類型(static/dynamic/kinematic)
  • Material:視覺材質(zhì)(UsdShade)包括顏色、粗糙度、金屬度、透明度、自發(fā)光。物理材質(zhì)(UsdPhysics)包括靜摩擦系數(shù)、動(dòng)摩擦系數(shù)、恢復(fù)系數(shù)(Restitution)、密度。
  • Joints:針對(duì)可運(yùn)動(dòng)的asset。包括關(guān)節(jié)類型,運(yùn)動(dòng)限位、阻尼、剛度等。
  • Sensors:傳感器及其參數(shù)
  • Metadata:額外信息如名稱、作者、版本、標(biāo)簽等

Physics

Motion Generation(extension)

Kinematics Solver (KS)

負(fù)責(zé)前向和逆向動(dòng)力學(xué)計(jì)算,其對(duì)機(jī)器人模型有其內(nèi)在表示。主要屬性如下:所有關(guān)節(jié)名、所有frame name、base pose、避障。

  • Articulation Kinematics Solver:將Articulation映射至KS,包含前向和逆向的映射方法
  • Lula Kinematics Solver: 不包含避障,但可以set/get內(nèi)部設(shè)置,需要機(jī)器人的URDF和YAML(關(guān)節(jié)列表及默認(rèn)c-space)。
Trajectory Generation

用于定義c-space和task-space的軌跡。

  • Trajectory Interface:連續(xù)時(shí)間軌跡。包括起始和終止時(shí)間、活動(dòng)關(guān)節(jié)及其目標(biāo)位置或角度(關(guān)于時(shí)間的函數(shù))
  • Articulation Trajectory:用軌跡映射(控制)Articulation。兩個(gè)方法:1. 獲得指定時(shí)間點(diǎn)的ArticulationAction;2. 間隔timestep的ArticulationAction采樣點(diǎn)列表。
  • Lula Trajectory Generator:用于通過c-space或task-space的waypoints生成軌跡(插值),兩個(gè)class分別為LulaCSpaceTrajectoryGeneratorLulaTaskSpaceTrajectoryGenerator。同樣需要提供URDF和YAML(加速和扭轉(zhuǎn)限制)。
  • LulaCSpaceTrajectoryGenerator:起止速度均為0,加速均最大以使總軌跡時(shí)間最短。
  • LulaTaskSpaceTrajectoryGenerator:一系列的task-space targets和end effector frame name。
Path Planner Algorithm

用于在c-space的起止位姿之間,或?yàn)檫_(dá)到task-space的目標(biāo)位姿,生成一條避障路線。其對(duì)機(jī)器人也有內(nèi)部表達(dá),不同于USD。

  • Active and Watched Joints: 為從usd映射到pathplanner內(nèi)部表達(dá),需要fullfill .get_activate_joint().get_watched_joints()。前者要控制,后者要觀測(cè)以規(guī)劃。
  • Inputs: World State: 通過pathplanner.add_sphere()可以將world中的移動(dòng)障礙物加入計(jì)算,目前(4.5.0)僅支持sphere和cone。
  • Inputs: Robot State:通過PathPlanner.set_robot_base_pose()設(shè)置base pose;通過PathPlanner.get_active_joints()PathPlanner.get_watched_joints()指定的順序獲得關(guān)節(jié)位置。
  • Outputs: Path:compute_path返回一系列waypoints,可以插值形成避障路線。
  • Path Planner Visualizer:可視化規(guī)劃路徑,匹配機(jī)器人關(guān)節(jié)與規(guī)劃器關(guān)節(jié),核心函數(shù)PathPlannerVisualizer.compute_plan_as_articulation_actions(max_c-space_dist)可將規(guī)劃結(jié)果轉(zhuǎn)換為機(jī)器人可直接執(zhí)行的ArticulationAction指令,并通過插值保證平滑,參數(shù)max_c-space_dist控制路徑精細(xì)度。
Lula RRT

用于PathPlanner,其中c-space用RRT-Connect,task-space用Jacobian transpose RRT。RRT當(dāng)前不支持目標(biāo)方向。
文件需要URDF、YAML描述文件、YAML配置文件(RRT參數(shù)如終止條件、探索權(quán)重、step size)

Motion Policy Algorithm

Motion Policy接受機(jī)器人的狀態(tài),輸出一個(gè)期望的狀態(tài)變化量,過程中考慮單或多目標(biāo)、約束、環(huán)境狀態(tài)。

  • Active and Watched Joints:同上
  • Input:World States:同上
  • Inputs: Robot State:同上
  • Outputs: Robot Joint Targets:控制目標(biāo)關(guān)節(jié)
  • Articulation Motion Policy:其需要一個(gè)Articulation和一個(gè)MotionPolicy初始化,目標(biāo)是映射兩者的關(guān)節(jié),其核心函數(shù)ArticulationMotionPolicy.get_next_articulation_action()根據(jù)當(dāng)前狀態(tài)和MotionPolicy獲得可執(zhí)行的關(guān)節(jié)控制指令。
  • Motion Policy Controller:將一個(gè)MotionPolicy包裝為一個(gè)BaseController
RMPFlow

利用黎曼幾何中的度量張量(metric tensor),離障礙物越近的地方將度量張量放得越大,因此通過最短路徑尋找即可實(shí)現(xiàn)在c-space中實(shí)現(xiàn)智能避障。需要一個(gè)URDF、YAML描述文件(包括球形障礙)以及RMP配置文件。

RMPFlow Tuning Guide

通常使用example configuration即可,根據(jù)實(shí)際機(jī)器人的關(guān)節(jié)數(shù)以及尺寸大小對(duì)其做相應(yīng)修改。如果還需要繼續(xù)調(diào)整,則關(guān)閉所有RMP及慣量,依次重啟RMP以微調(diào)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容