LambdaEngine GUI 编辑器
LambdaEngine 是一个基于 LambdaSim + USD Workflow 的可视化场景编辑器,面向机器人与仿真开发者,将场景查看、对象编辑、资产管理和时间控制集中在一个界面中。开发者可以通过 Python 脚本创建场景、加载机器人,再打开编辑器进行交互查看和参数调整。最后 ,可将编辑后的场景保存为 USD 文件,保留场景属性及相关组件的自定义数据,便于后续加载和继续编辑。

如图(上): 展示的是电动车电池 PACK 装配中,“模组装入箱体+机械固定”这一产线点位在 LambdaEngine 中进行布局设计和仿真。 这一站的任务是:把侧线送来的电池模组装进 PACK 箱体,再拧紧安装螺栓,完成机械固定。其中电池的抓取,用到了LambdaSim 自带的 MuJoCo Ektro Solver 的刚体动力学仿真,和 AlphaCore -Ektro 的约束动力学仿真

如图(上):展示的是由货架、货箱和多台 AGV 组成的仓储物流场景。开发者可以在 LambdaEngine 中查看仓库通道布局、车辆位置以及 AGV 与货架之间的空间关系,通过左侧场景大纲定位车辆或零件节点,再调整选中对象的位置和姿态。图中使用 LambdaRender 呈现仓库的材质、灯光与阴影效果,右侧 Render Parameter 面板可调整采样数、光线反弹次数和环境光强度,便于在同一编辑器中检查场景布局与渲染效果。
界面布局介绍
-
大纲:查看场景中的对象及节点层级,选择需要编辑的对象。
在机器人抓取场景中,可以展开机器人层级,定位机械臂连杆、末端夹爪,也可以选择料箱等目标物体,再配合参数面板查看节点变换、配置组件或标定抓取位姿。
-
参数面板:查看和修改当前选中对象的变换、材质及组件(Component)参数。
-
Asset Manager(资产管理器):浏览材质和收藏目录中的资产,将资产拖入视口使用。
-
Timeline(时间轴):控制播放、暂停和当前帧,查看场景随时间的变化。
例如,播放机械臂抓取过程,在关键时刻暂停,检查末端姿态与目标物体的位置关系。以及调试回放,便于复查仿真过程、定位异常发生的时刻。
快速开始
本节通过 examples/user_manuel/101_quick_start.py,演示如何加载一个 G1-D 机器人,并在 LambdaEngine 编辑器中查看和编辑。
示例使用仓库自带的 URDF 及配套模型,资产路径为:
tests/assets/urdf/G1D/g1_d_with_dex1_1.urdf
运行示例
在已配置好 GUI 依赖的 Python 环境中,从 LambdaSim 仓库根目录执行:
python examples/user_manuel/101_quick_start.py

启动后,将出现标题为 LambdaEngine Quick Start 的编辑器窗口。机器人以实体表面显示在三维视口中,视角会自动对准机器人。
完整代码
"""加载 G1-D 并打开 LambdaEngine。Load G1-D in LambdaEngine.
从仓库根目录运行 / Run from the repository root:
uv run --extra gui python "examples/user_manuel/101_quick_start.py"
"""
from lambda_engine.app import create_application
from lambda_engine.ui import ViewportManager, create_main_window
from lambdasim.scene.scene import Scene
from lambdasim.scene.scene_object import VisualizationSetting
def main() -> int:
# 启动 LambdaEngine 应用。Start the LambdaEngine application.
application = create_application()
# 加载仓库内的 G1-D URDF。Load the G1-D URDF from this repository.
scene = Scene()
robot = scene.add_urdf__ektro(
"tests/assets/urdf/G1D/g1_d_with_dex1_1.urdf",
name="g1_d",
)
robot.visualization = VisualizationSetting(mode="surface")
# 使用 OpenGL 显示场景,自动对准机器人。Display with OpenGL and frame the robot.
viewport = ViewportManager.get_instance().create_viewport(
viewport_id="lambda_engine_101",
scene=scene,
render_mode="opengl",
)
viewport.viewport.frame_scene()
# 打开编辑器窗口并进入事件循环。Show the editor and enter the event loop.
window = create_main_window(viewport_id=viewport.viewport_id)
window.setWindowTitle("LambdaEngine Quick Start")
window.show()
return application.exec()
# 直接运行此文件时启动示例。Start the example when this file is run directly.
if __name__ == "__main__":
raise SystemExit(main())
示例代码详解
示例依次完成以下操作:
- 启动应用:调用
create_application(),初始化编辑器运行环境。 - 创建场景并加载机器人:创建
Scene,调用scene.add_urdf__ektro()加载 G1-D,并将场景中的对象命名为g1_d。 - 设置显示方式:通过
VisualizationSetting(mode="surface"),将机器人设置为实体表面显示。 - 创建视口:通过
ViewportManager.create_viewport()将场景交给 OpenGL 视口显示,再调用frame_scene()自动调整观察位置。 - 打开编辑器:创建并显示主窗口,调用
application.exec()进入事件循环,接收鼠标、键盘和界面操作。
其中,加载机器人只需要:
scene = Scene()
robot = scene.add_urdf__ektro(
"tests/assets/urdf/G1D/g1_d_with_dex1_1.urdf",
name="g1_d",
)
robot.visualization = VisualizationSetting(mode="surface")
开始操作
进入编辑器后,可以先尝试以下操作:
- 在三维视口中旋转、平移和缩放视角,观察机器人。
- 展开场景大纲中的
g1_d,查看机器人内部的节点层级。 - 在视口或大纲中选择对象,在参数面板中查看和调整变换参数。
- 复制参数面板中的完整 Path,用于后续 Python 脚本中的对象定位。
完成编辑后,可以通过 File → Save As 将当前场景保存为 USD 文件。
设置 Favourite 资产路径标签

Favourite(收藏)用于将常用的本地资产目录集中显示在 Asset Manager 中,方便浏览和复用。收藏只记录目录位置,不会复制或移动原始资产文件。
使用方式
在创建编辑器窗口前,调用 add_favourite_asset_path() 添加本地目录:
def main() -> int:
application = create_application()
# 将本地资产目录加入收藏,启动后可在 Asset Manager 的 Favourite 下浏览。
application.get_system_module().add_favourite_asset_path(
"/home/user/StudioWorks/asset/Factory/TempCollect/lambda_ready/"
...
启动后,该目录会显示在 Asset Manager → Asset → Favourite 下。

