Genesis 物理引擎

Genesis 是面向机器人与具身智能的通用物理引擎,支持 CPU/GPU 与大规模并行仿真。

为什么要用仿真引擎?

分析动力学环境适合快速验证算法;Genesis 用 URDF 描述真实几何与关节, 更接近机器人仿真工作流,也方便以后换成更复杂机构。

本 Demo 的场景

角度约定(易踩坑)

URDF 里 θ_sim = 0 通常是竖直向下;控制教材里 θ = 0 是竖直向上。 环境中做了转换:θ_ctrl = wrap(θ_sim − π),reset 时按控制约定写入。

初始化片段

import genesis as gs
gs.init(backend=gs.cpu)  # 无 GPU 时用 CPU

scene = gs.Scene(...)
robot = scene.add_entity(gs.morphs.URDF(file="assets/cart_pole.urdf"))
scene.build(n_envs=32)

# 每步:
robot.control_dofs_force(force, cart_dof_idx)
scene.step()

双后端对照

analyticalgenesis
速度极快,适合调试算法更慢(尤其 CPU)
真实性理想化方程刚体约束 / 碰撞 / URDF
接口同构 reset/step同构 reset/step