具身智能赛事

HICOOL 2026 全球创业大赛开发者挑战赛

具身智能赛道赛题、参赛条件与复赛环境说明

进行中 主办:HICOOL × 摩尔线程

赛事介绍

HICOOL 2026 全球创业大赛开发者挑战赛面向全球高校团队、企业 / 创业团队、科研机构团队开放报名。赛事设置具身智能和 AI 智能体两大赛道,本页整理具身智能赛道的信息,帮助参赛者快速判断赛题方向、提交内容、推荐工具和复赛环境。

具身智能赛道面向仿真训练、Sim-to-Real、应用落地和模型创新,参赛项目可以围绕机器狗动作训练、舞台表演控制、具身应用移植、行业解决方案、VLA / WAM / BFM 类具身大模型训练 / 微调 / 移植等方向展开。

赛事官网:HICOOL 2026 全球创业大赛开发者挑战赛

环境说明

进入复赛后,赛方统一提供已配置好的摩尔适配镜像测试环境,选手应以该环境开展 S5000 / MUSA 适配、训练与评测。

官网推荐具身智能赛道参赛者关注 MT Lambda-Sim 高保真物理仿真与渲染平台、Lambda-Lab 具身策略开发与训练平台、清华 RLinf 训练框架、RoboTwin 标准评测集。

赛题方向

赛道赛题目标
Track A · 仿真模拟本体动作训练 Sim2Real在 MT Lambda Sim / MT Lambda Lab 训练机器狗(或选手自备轻量本体)完成一个单技能动作,并完成 Sim → Real 迁移和真机演示。
Track A · 场景应用机器狗舞台表演控制策略在赛方指定展会舞台仿真场景中开发 ≥ 60 秒机器狗(或选手自备轻量本体)自主表演控制策略,最终 Sim + 真机双端复现。
Track B · 应用移植具身应用 MT Lambda 底座移植将已有或开源具身智能应用移植至摩尔 MT Lambda 技术底座,达成功能完整 + 性能可量化对比。
Track B · 产业应用基于 MT Lambda 的具身行业解决方案基于 MT Lambda 技术底座构建特定行业具身 demo,方向可包括工业拣选、物流装载、工厂巡检、服装制造、农业、消费服务、无人机等。
Track B · 模型创新基于摩尔设备训练 / 微调 / 移植具身大模型基于 S5000 完成 VLA / WAM / BFM 类具身大模型的训练、微调或移植。

参赛条件摘要

  • 个人或团队均可报名;团队不超过 5 人,并设置 1 名项目主要负责人。
  • 每人仅限参加 1 支队伍,不得重复参赛。
  • 参赛项目需围绕具身智能场景或 AI 智能体开发方向中的任意一项;本页面仅展开具身智能赛道。
  • 参赛成员需保证项目原创性,提交材料真实有效,并接受资格审查。
  • 项目应拥有合法知识产权或使用权,不侵犯第三方知识产权,具备一定创新性和商业化潜力。

赛程安排

阶段时间
报名审核6 月
赛前培训7 月上旬
预选赛评审7 月中下旬
巅峰赛8 月中旬
结果公布 / 收官8 月底

赛事安排如因实际情况需进行调整,将另行发布通知,最终以实际开展情况为准。

赛题说明

进入复赛后,赛方统一提供已配置好的摩尔适配镜像测试环境,选手应以该环境开展 S5000 / MUSA 适配、训练与评测。

Track A · 仿真模拟:本体动作训练 Sim2Real

在 MT Lambda Sim / MT Lambda Lab 训练机器狗(或选手自备轻量本体)完成一个单技能动作(坐立 / 握手 / 翻身 / 跨障 / 上下台阶等),完成 Sim → Real 迁移并真机演示。

第一阶段(方案 · 线上) — 提交《训练方案设计书》,包括动作选型与可行性论证、Reward Function 设计、Domain Randomization 策略、训练资源预估、Sim → Real 迁移路径、风险预案与备选方案。

评审关注:技术路线可行性、Reward / DR 设计合理性、资源使用经济性、Sim2Real 策略完备性、报告质量。

第二阶段(落地 · 线下) — 提交训练代码、策略权重、Sim2Real 部署脚本和真机现场演示。

评审关注:真机动作成功率(≥ 3 次重复)、动作稳定性(失稳次数)、训练样本效率(达标所需 env steps)、Sim-Real 性能 gap、现场表现。

通过第一阶段获得:MT Lambda Sim 在线训练配额 + 复赛期 S5000 1 卡 × 1–2 周 + 真机预约权。

Track A · 场景应用:机器狗舞台表演控制策略

在赛方指定展会舞台仿真场景中开发 ≥ 60 秒机器狗(或选手自备轻量本体)自主表演控制策略,最终 Sim + 真机双端复现。

第一阶段(方案 · 线上) — 提交《表演方案设计书》,包括场景理解与表演脚本、动作组合与编排逻辑、路径规划与场景交互设计、控制策略选型、Sim → Real 风险分析、音乐节拍同步设计(可选)。

评审关注:创意性、表演脚本丰富度、场景契合度、技术可行性、报告质量。

第二阶段(落地 · 线下) — 提交策略代码、Sim 场景配置、≥ 60 秒完整演示视频,并参加复赛 / 决赛现场演示。

评审关注:表演流畅度、Sim → Real 迁移完成度、动作组合丰富度。

通过第一阶段获得:MT Lambda Sim 在线 + Sim 场景资产包 + S5000 1 卡 × 1–2 周 + 真机预约权。

Track B · 应用移植:具身应用 MT Lambda 底座移植

将已有或开源具身智能应用(控制 / 感知 / 操作 / 导航 / 规划)移植至摩尔 MT Lambda 技术底座,达成功能完整 + 性能可量化对比。

第一阶段(方案 · 线上) — 提交《移植方案设计书》,包括应用基础与原平台栈描述、IP 合法性证明、移植模块边界、算子覆盖与缺失分析、性能对齐目标、预期资源需求(包括但不限于算力需求)、风险与备选路径。

评审关注:移植路径合理性、性能对齐目标设定、对 MT Lambda 生态贡献度、IP 合规性、报告深度。

第二阶段(落地 · 线下) — 提交移植后完整工程代码、部署文档、MT Lambda vs 原平台对比 benchmark 报告(latency / 吞吐 / 显存 / 精度对齐数据)。

评审关注:功能完整度(vs 原版)、性能对齐度、移植工程量、可复现性、文档质量。

通过第一阶段获得:S5000 共享池 1–2 卡 × 1–2 周 + MUSA 算子答疑通道。

Track B · 产业应用:基于 MT Lambda 的具身行业解决方案

基于 MT Lambda 技术底座(Omniverse 兼容渲染 / 模拟数据生成 / 数采工厂 / 合成数据 pipeline 等)构建特定行业具身 demo,方向建议:工业拣选、物流装载、工厂巡检、服装制造、农业、消费服务、无人机等。

本赛题同时接受“行业任务 / 场景与数据构建”和“完整行业解决方案”两类成果。选手可任选其一提交。行业任务 / 场景与数据构建类不要求完成数据合成 → 训练 → 推理 → 演示完整闭环。

完整行业解决方案 — 第一阶段提交《产业应用方案设计书》,至少包括行业场景与商业价值论证、技术架构与 MT Lambda 组件使用清单、数据合成 → 训练 → 推理 → 演示闭环设计、商业化路径、预期资源需求(包括但不限于算力需求)和合作客户背书(可选)。第二阶段提交完整 demo 工程(含数据合成 → 训练 → 推理 → 演示)、行业价值分析报告,并参加复赛 / 决赛现场演示。

行业任务 / 场景与数据构建 — 第一阶段提交《行业任务与数据构建方案说明》,至少包括行业问题与任务价值、场景 / 本体 / 资产范围、任务状态与成功 / 失败条件、专家轨迹或合成数据生成方案、评测协议、资源预估及 IP / 数据合规。第二阶段提交可运行行业任务 / 场景、场景 / 对象 / 本体资产清单、数据生成脚本、评测脚本、示例数据 / 运行日志及复现文档,不要求提交模型训练结果或完成完整 demo 闭环。

评审关注:场景闭环度、技术完整度、MT Lambda 组件使用深度、商业化潜力、行业洞察、demo 现场表现、解决方案完整度、MT Lambda 平台契合度。行业任务 / 场景与数据构建类重点看行业代表性、任务定义完整性、数据生成方案、评测设计、可执行性、任务可运行与可复现性、合成数据有效生成率、任务难度与区分度、评测完整性及数据 / IP 合规。合成数据有效生成率指通过格式、完整性和任务约束检查的有效轨迹数 / 总生成轨迹数,不等同于模型任务成功率。

通过第一阶段获得:S5000 共享池;合作伙伴可自备训练资源。行业任务 / 场景与数据构建类同样使用赛方提供的摩尔适配镜像测试环境,具体测试资源与开放时间以赛方通知为准。

Track B · 模型创新:基于摩尔设备训练 / 微调 / 移植具身大模型

基于 S5000 完成 VLA / WAM / BFM 类具身大模型的训练 / 微调 / 移植,推荐以 RoboTwin 标准评测集作客观基线,或采纳其他权威评测标准。

本赛题同时接受“任务定义 / 数据构建”和“模型训练 / 微调 / 移植”两类成果。选手可任选其一提交,不要求同一项目同时完成。

模型训练 / 微调 / 移植 — 第一阶段提交《模型训练方案设计书》,包括起点模型选型、训练 / 微调 / 移植策略、训练数据来源与合规性、训练资源预估(含 GPU 卡数 × 时长)、RoboTwin(或其他主流 benchmark)目标分数。第二阶段提交训练 / 微调代码、模型权重、RoboTwin(或其他主流 benchmark)跑分日志、完整技术报告(含训练曲线、消耗资源、收敛 step 数)。

任务定义 / 数据构建 — 第一阶段提交《任务定义与数据构建方案说明》,至少包括任务价值与难度、对象 / 场景 / 本体及资产说明、任务状态与成功 / 失败条件、专家轨迹或合成数据生成方案、评测协议、资源预估及 IP / 数据合规。第二阶段提交可运行任务代码、场景 / 对象 / 本体资产清单、数据生成脚本、评测脚本、示例数据 / 运行日志及复现文档,不要求提交模型权重或训练结果。

评审关注:技术路线创新性、训练策略可行性、资源经济性(每 GPU-小时预期收益)、RoboTwin(或其他主流 benchmark)目标合理性、报告质量、RoboTwin(或其他主流 benchmark)子任务通过率、训练 / 微调效率、技术方案落地深度、可复现性。任务定义 / 数据构建类重点看任务定义完整性、数据生成方案、评测设计、可执行性、任务可运行与可复现性、合成数据有效生成率、任务难度与区分度、评测完整性及数据 / IP 合规。合成数据有效生成率指通过格式、完整性和任务约束检查的有效轨迹数 / 总生成轨迹数,不等同于模型任务成功率。

通过第一阶段获得:常规通过 → S5000 训练专项池权限。任务定义 / 数据构建类同样使用赛方提供的摩尔适配镜像测试环境,具体测试资源与开放时间以赛方通知为准。

技能培训材料

比赛形式

参考 RoboTwin 2.0 的任务定义,一共定义了 50 个任务:RoboTwin

只要能在 RoboTwin 3.0 中,定义出足够复杂的任务,即可形成有效的任务定义成果。完成任务的方式不限于 VLA、RL。

任务的定义和任务的成功率,分别代表了 AI 领域数据和算法 2 个方向的工作,这两个维度的工作同样重要。所以比赛中,不存在算法重要性大于数据本身。二者优秀的工作都值得尊重。


MT 具身软件栈

Lambda Sim

提供 example code:

  • 柔性体仿真
  • 刚体仿真 (mujoco)
  • 流体仿真
  • RayTracing 渲染
  • URDF Example

USD Work Flow
  • USDRenderWorkFlow.py
  • 材质、灯光调整
  • Domain Randomization

Factory-Demo

提供 Lambda Sim 使用参考:

  • USD 场景组装,使用 Lambda Render 渲染
  • Lambda Render 分布式渲染参考
  • 在 Lambda Sim 中使用 cuRobo 的 MUSA 版本
  • 在 Lambda Sim 中使用 PathFlow
  • 多物理场 Solver 使用参考
  • 抓夹 ABD
  • 机器人运动学:mujoco ektro

RoboTwin 3.0

可以先熟悉 RoboTwin 2.0。未来 1 个月会持续更新 15 个新 Task。

RL: RoboTwin 3.0 × RLinf

RoboTwin 3.0 合成数据生成 × Benchmark。

访问方式:VS Code 直连 S5000 服务器

训练计算结果回放 viszer

S5000 服务器训练,仿真可视化结果回放。

Lambda Lab (mj lab 兼容)

提供 8 个运控 example 代码,可参考,包括 4 足、2 足人形。

Ektro LANG

基于 Python 开发 GPU 物理仿真,支持 MTT S5000 MUSA 和 NV Vulkan。自带 Viewport。提供 IK 动力学 DEMO。


运控训练参考

以下为 BPX 机器狗在 mjlab 上的运控训练配置,适用于 Track A 仿真模拟赛道。

环境要求
  • Mjlab 选择 1.2.0
  • warp 1.12.1
  • mujoco warp 3.6
模型文件

BPX 模型文件:github.com/mirrormerobotics/BPX

创建 bpx_constants.py
"""Black Panther X constants."""

from pathlib import Path

import mujoco

from mjlab import MJLAB_SRC_PATH
from mjlab.actuator import BuiltinPositionActuatorCfg
from mjlab.entity import EntityArticulationInfoCfg, EntityCfg
from mjlab.utils.os import update_assets
from mjlab.utils.spec_config import CollisionCfg

##
# MJCF and assets.
##

BPX_XML: Path = MJLAB_SRC_PATH / "asset_zoo" / "robots" / "bpx" / "xmls" / "bpx.xml"
assert BPX_XML.exists()


def get_assets(meshdir: str) -> dict[str, bytes]:
  assets: dict[str, bytes] = {}
  update_assets(assets, BPX_XML.parent / "assets", meshdir)
  return assets


def get_spec() -> mujoco.MjSpec:
  spec = mujoco.MjSpec.from_file(str(BPX_XML))
  spec.assets = get_assets(spec.meshdir)
  # BPX's source MJCF includes a demo floor. Tasks add their own terrain, so
  # keeping this plane creates overlapping ground geoms in rendered scenes.
  spec.delete(spec.geom("floor"))
  # BPX ships torque motor actuators in MJCF. Delete them so mjlab owns the
  # actuator model and action space, matching the Go2 tracking setup.
  while spec.actuators:
    spec.delete(spec.actuators[0])
  return spec


##
# Actuator config.
##
BPX_ACTUATOR_CFG = BuiltinPositionActuatorCfg(
  target_names_expr=(".*_hip_roll_joint", ".*_hip_pitch_joint", ".*_knee_joint"),
  stiffness=30.0,
  damping=1.0,
  effort_limit=30.0,
  armature=0.01,
)

##
# Keyframes.
##

INIT_STATE = EntityCfg.InitialStateCfg(
  pos=(0.0, 0.0, 0.42),
  joint_pos={
    ".*_hip_roll_joint": 0.0,
    ".*_hip_pitch_joint": 0.6,
    ".*_knee_joint": -0.9,
  },
  joint_vel={".*": 0.0},
)

##
# Collision config.
##

_toe_regex = r"^(fl|fr|hl|hr)_toe_link_collision_0$"

FULL_COLLISION = CollisionCfg(
  geom_names_expr=(".*_collision.*",),
  condim={_toe_regex: 3, ".*_collision.*": 1},
  priority={_toe_regex: 1},
  friction={_toe_regex: (0.6,)},
  contype=1,
  conaffinity=1,
)

##
# Final config.
##

BPX_ARTICULATION = EntityArticulationInfoCfg(
  actuators=(
    BPX_ACTUATOR_CFG,
  ),
  soft_joint_pos_limit_factor=0.9,
)


def get_bpx_robot_cfg() -> EntityCfg:
  """Get a fresh BPX robot configuration instance."""
  return EntityCfg(
    init_state=INIT_STATE,
    collisions=(FULL_COLLISION,),
    spec_fn=get_spec,
    articulation=BPX_ARTICULATION,
  )


BPX_ACTION_SCALE: dict[str, float] = {}
for a in BPX_ARTICULATION.actuators:
  assert isinstance(a, BuiltinPositionActuatorCfg)
  e = a.effort_limit
  s = a.stiffness
  names = a.target_names_expr
  assert e is not None
  for n in names:
    BPX_ACTION_SCALE[n] = 0.25 * e / s


if __name__ == "__main__":
  import mujoco.viewer as viewer

  from mjlab.entity.entity import Entity

  robot = Entity(get_bpx_robot_cfg())

  viewer.launch(robot.spec.compile())

接着就可以按照 mjlab 当中运控的方式在 task 当中添加对应任务。

训练后的 Sim2Real 的实际部署 SDK 在 github.com/mirrormerobotics/bpx_sdk_open


参考资料

资料内容链接
MUSA 课程MUSA 基础课程(前四章)academy.mthreads.com/my/course/158
Musify 课程Musify 相关课程资料academy.mthreads.com/my/course/13
MUSA SDKGPU 编程与运行时基础docs.mthreads.com/musa-sdk
Torch-MUSAPyTorch 模型迁移与训练docs.mthreads.com/torchmusa
MTNN端侧推理部署docs.mthreads.com/mtnn
E300端侧硬件开发docs.mthreads.com/e300
公开 / 开源工具入口MT 公开工具、开源工具、驱动、SDK 下载与更多文档developer.mthreads.com / github.com/MooreThreads

遇到问题