Isaac Sim知识小解(4):Transformation

1. 三维刚体的空间表示

假设空间中的一个物体是刚体。换句话来说,这个物体在空间中不会因为任何的力的作用而产生任何的形变,这使得我们可以简单地将这个物体拆分成两个部分,一个是物体的形状信息,一个是物体的位置信息

形状信息 :在 Isaac Sim 里面通常以 Prim 进行表示,并且以 Mesh 的方式进行储存,即一些通过一系列的点,以及一些多元组表示的面组成的信息。

作为一个例子,在大多数的 Mesh 中,面均以三角形存储,如一个 Mesh 可以被表示为 [(0, 0, 0), (1, 1, 0), (1, 1, 1)] 以及 [(0, 1, 2)] 来表示,前者表示这个 Mesh 的三个顶点在空间中的坐标,而后者则表示仅存在一个面,这个面由序号 0, 1, 2 的三个顶点组成。

位置信息 :通过两个变量来组成,即 position 和 orientation。

  • 平移

  • 旋转:欧拉角、旋转矩阵、四元数

对于四元数,在 Isaac Sim 中,默认使用的是 scalar_first 的形式,也就是 [w, x, y, z] 的形式,而我们最常使用的旋转库,scipy.spatial.transform.Rotation 默认使用的是 vector_first 的形式,也就是 [x, y, z, w] 的形式。

博客:欧拉角、quat四元组和旋转矩阵的关系

2. World Frame

  • World Frame

一般来说,任何一个坐标系都可以通过关于另一个坐标系的平移和旋转来表示。事实上这种通过相对关系来进行的表示并不方便,而是存在一个绝对的基准,这样只维护不同坐标系相对于这个绝对的基准的变换关系。

这里合理的,因此给出定义,World Frame,为世界坐标系,是某个空间内绝对的静止的坐标系。

在 Isaac Sim 中,我们认为 Root,即 get_prim_at_path("/") 所获得的 Prim 表示的坐标系为世界坐标系

  • Local Frame

同时,我们也存在另一种需求,诸如我们想要将一个 Camera 和 Franka hand 进行固连,即让 Camera 随着 Franka hand 而运动,似乎我们只能定义一个 Camera 相对于 Franka hand 的变换,从而使得这个变换为固定值。实际中,我们只需要将 Camera 放置在 Franka hand 的 prim_path 下方,就可以确保 franka hand 在变换的过程中使得 Camera 一起变换。

因此在计算 World Frame 的变换的过程中,事实上是通过链式进行传播,将若干 Local Frame 的变换组合在一起而得到的。

3. Isaac Sim 的 API

Isaac Sim 在提供了仿真平台的同时,大概还是给出了一些比较不错的接口的,即之前事实上提到过的,Isaac Sim XFormPrim。在这里给出程序示例:

python 复制代码
from omni.isaac.core.prims import XFormPrim
from scipy.spatial.transform import Rotation as R

object_xform = XFormPrim("/World/object")
position, orientation = object_xform.get_world_pose()

position[2] += 2.0

orientation_R = R.from_quat(orientation[[1, 2, 3, 0]]) * R.from_euler("xyz", np.array([90,0,0]), degrees=True)
orientation = orientation_R.as_quat()[[3, 0, 1, 2]]

object_xform.set_world_pose(position=position, orientation=orientation)
相关推荐
硅谷秋水13 小时前
ABot-M0.5:统一的移动-与-操作世界动作模型
人工智能·深度学习·机器学习·计算机视觉·语言模型·机器人
计算机魔术师14 小时前
宇树发布轮足机器人 As2-W:6m/s速度、IP54防水、30km续航
网络·机器人
our_times17 小时前
【硬核实战】当机器人走进厨房:Java后端如何重构物联网并发与状态一致性`。
java·重构·机器人
我送炭你添花18 小时前
HART协议详解:00 为什么工业世界仍然需要HART?
网络·机器人·自动化·智能工厂
四方云19 小时前
以芒格多元思维破局营销内卷:用机制与工具实现收支稳态
人工智能·机器人·外呼系统·销售成长·拓客
AI探索先锋1 天前
AMD 2nm 芯片炸裂、欧洲首家人形机器人独角兽诞生、AI Agent 互联标准打响:10 条信号看懂产业变局|今日科技 AI 机器人快讯
大数据·人工智能·深度学习·搜索引擎·机器人
QYRdata1 天前
50.6%高增速!2026-2032年人形机器人大脑控制器赛道驶入高速成长通道
人工智能·机器人
最好一梦2 天前
佳维视工控一体机在 AGV 机器人中的应用
机器人·工业显示器
机器人落地派2 天前
机器人项目小改动影响分析:6 个问题和一份最小变更记录模板
机器人·模板方法模式·人形机器人·方案评审·机器人落地
明志数科2 天前
人形机器人硬件降价背后的数据基础设施瓶颈分析
人工智能·机器人