Web 控制台

fastsim launch_web 在启动仿真的同时,提供一个可从浏览器访问的 Web 控制台。它在 server 扩展的 REST API 基础上内置了一个轻量 Dashboard,无需额外配置即可在浏览器中查看仿真状态、预览相机画面并调用控制接口。

注意:Web 控制台功能尚在开发中,部分能力可能与此处描述略有差异。

启动

bash
fastsim launch_web --config path/to/config.yaml --port 8080
参数默认值说明
--config配置文件路径(YAML 或 JSON)
--port8080Web 控制台监听端口
--host0.0.0.0监听地址,0.0.0.0 表示允许外部访问

启动后,在浏览器中打开:

text
http://localhost:8080

配置要求

launch_web 会自动在配置中注入 server 扩展。若配置文件中已手动声明 server,以配置文件中的 host/port 为准。

若需要相机画面预览,确保仿真后端启用了相机渲染:

yaml
simulation:
  stereotype: isaaclab
  launch_config:
    enable_cameras: true   # ← 必须启用

Dashboard 功能

Web 控制台包含以下面板:

仿真状态

实时显示当前仿真步数、运行时间与各扩展的启用状态。提供「暂停 / 继续 / 终止」控制按钮,通过调用 REST API 发送对应指令。

相机预览

自动枚举配置中所有 camera 类型传感器,逐一渲染并以 JPEG 流的形式在浏览器中实时显示。支持多路相机并列预览。

对应 API 端点:

text
GET /camera/{sensor_name}/stream   # MJPEG 流
GET /camera/{sensor_name}/snapshot # 单帧 JPEG

API 浏览器

列出所有通过 @apiclass 注册的控制器方法(与 fastsim show_static_api 输出一致),并提供可直接在浏览器中填写参数、发送请求的交互表单。

等价于在浏览器中调用:

bash
curl -X POST http://localhost:8080/robot/move_robot_to_ee_pose \
  -H "Content-Type: application/json" \
  -d '{"robot_name": "arm", "target_pose": [...]}'

响应格式统一为 Result 的 JSON 序列化:

json
{ "success": true, "msg": "", "data": {...} }

配置查看器

以树形结构展示当前加载的完整配置(含默认值展开),等价于 fastsim show_config 的浏览器版本。

与 server 扩展的关系

launch_web 是对 server 扩展 + Web Dashboard 的一体化封装。如果只需要纯 REST API 而不需要 Dashboard 界面,直接在配置中启用 server 扩展并使用 fastsim launch_simulation 启动即可:

yaml
extension:
  extension_cfg_dict:
    my_server:
      stereotype: server
      enable: true
      host: 0.0.0.0
      port: 5000
      debug: false

详见扩展功能配置 - server