全局配置
general 块控制 FastSim 的两项全局行为:项目扫描(用于自动注册用户定义的 stereotype)和资产根路径映射(用于解析配置文件中所有 root_key:// 形式的路径)。
源码:fastsim/configs/general_cfg.py(GeneralConfig)
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
scan_project | bool | 启动时是否扫描用户项目,自动收集并注册自定义 stereotype(通过 ProjectLoader.scan_project) |
root_paths | dict[str, str] | 资产根路径映射表,键名即 root_key:// 协议中的协议头,值为本地绝对路径 |
校验规则:root_paths 中每个路径值必须是已存在的本地目录,否则 GeneralConfig.validate_root_paths() 将在启动时抛出校验错误。
资产路径解析
配置文件中的 asset_path、hdf5_path、backend_root_path 等路径字段均通过 Asset.resolve_url_path() 统一解析(源码:fastsim/utils/asset.py)。支持四种格式:
| 格式 | 示例 | 说明 |
|---|---|---|
| 绝对路径 | /data/robots/ur5.usd | 直接使用,不做任何转换 |
| 相对路径 | ./assets/cube.usd | 相对于当前工作目录展开 |
root_key:// 协议 | assets://robots/ur5.usd | assets 映射到 root_paths["assets"],拼接后得到完整路径 |
| 远端 URL | https://example.com/ur5.usd | 自动下载并缓存到本地后使用 |
root_key:// 是最推荐的用法——它将具体机器路径集中在 general.root_paths 中管理,其余配置文件只使用逻辑路径,便于在不同机器和用户间共享配置。
配置示例
yaml
general:
scan_project: true
root_paths:
assets: /home/user/robot_assets
datasets: /home/user/datasets
使用效果:
yaml
# assets://robots/ur5.usd → /home/user/robot_assets/robots/ur5.usd
# datasets://runs/run001 → /home/user/datasets/runs/run001
robot_cfg_dict:
arm:
asset_path: assets://robots/ur5.usd
extension:
extension_cfg_dict:
record:
backend_root_path: datasets://runs/run001