Simple Demo (Genesis)#

本章通过 examples/demo1 中的完整示例,演示如何使用Robonix OS框架开发具身应用应用。

环境配置#

运行示例前,需要完成以下环境配置步骤:

系统要求

  • Python 3.12

  • NVIDIA 显卡驱动和 CUDA 工具包

  • OpenGL 支持

安装系统依赖

# 安装 OpenGL 相关依赖
sudo apt-get install freeglut3 freeglut3-dev mesa-utils

# 配置 NVIDIA 作为 OpenGL 渲染后端(重要!)
export __GLX_VENDOR_LIBRARY_NAME=nvidia

创建 Python 环境

# 创建并激活 conda 环境
conda create -n genesis python=3.12
conda activate genesis

安装依赖包

# 首先根据 https://pytorch.org/get-started/locally/ 安装 PyTorch
# 例如:pip3 install torch torchvision(Linux CUDA 12.8)

# 安装其他依赖包
pip install rich loguru mcp pyyaml argparse grpcio grpcio-tools ultraimport \
            ultralytics genesis-world pynput openai python-dotenv opencv-python

Genesis 模拟器启动#

1. 配置模拟器连接

在运行示例前,需要修改模拟器连接配置。编辑 driver/sim_genesis_ranger/driver.py 文件,将 TARGET_SERVER_IP 修改为模拟器运行的 IP 地址:

  • 本地运行:使用 localhost127.0.0.1

  • 远程服务器:使用服务器的实际 IP 地址

2. 启动模拟器

# 在 robonix 根目录下启动 Genesis 模拟器
python start_genesis.py

等待模拟器启动完成,直到出现渲染窗口。

3. 导出技能系统

# 在 robonix 根目录下导出技能系统配置(模拟器模式)
python manager/eaios_decorators.py --config config/include/simulator.yml

此命令会生成 skill/__init__.py 文件,用于技能系统的初始化。

Note

如果要在物理小车上运行,请使用 config/include/ranger_test.yml 配置文件。

4. 下载视觉模型

为了使用视觉相关技能,需要下载 YOLO 模型:

# 在 robonix 根目录下执行
mkdir -p skill/sim_vision/models
wget -P skill/sim_vision/models https://github.com/ultralytics/assets/releases/download/v8.3.0/yoloe-11l-seg-pf.pt

示例概述#

simple_demo.py 展示了一个完整的具身应用应用开发流程,包括系统初始化、实体图构建、技能绑定和动作执行。该示例支持两种运行模式,适合不同的使用场景。

运行示例#

完成环境配置和模拟器启动后,可以运行示例程序。

其中加载的 action 程序为 examples/demo1/simple.action

手动模式

# 在 robonix 根目录下运行
python examples/demo1/simple_demo.py --mode manual

手动模式下,用户需要手动指定目标物体和动作参数。

自动模式

# 在 robonix 根目录下运行
python examples/demo1/simple_demo.py --mode auto

自动模式下,系统会:

  • 使用 YOLO 模型自动识别场景中的物体

  • 自动生成实体图

  • 自动绑定动作参数

  • 让小车自动移动到识别到的物体位置

导出场景信息

# 在 robonix 根目录下运行
python examples/demo1/simple_demo.py --mode manual --export-scene scene_info.json

此命令可以将当前场景信息导出为 JSON 文件,便于后续分析和调试。