项目背景与目标
移动机器人全身操作需要协调移动底盘、机械臂与夹爪,并处理关节限位、环境碰撞和任务约束。相比单独规划机械臂或移动底盘,全身移动操作具有更高的状态维度和更复杂的运动约束。
本项目支持 MuJoCo 和 Isaac Lab 两条仿真实现路线,学生可以任选其一。学生可以使用仿真平台已有的场景和任务,也可以自行设计抓取、搬运、放置、开关抽屉或柜门等移动操作任务。
学生首先需要使用一种传统规划或控制方法生成任务轨迹。方法不作统一限制,可以采用模型预测控制、轨迹优化、采样规划、全身逆运动学或多种方法的组合。学生也可以通过脚本控制或遥操作等方式采集示范轨迹。在此基础上,学生需要采集机器人状态、动作和视觉观测等数据,构建任务示范数据集。
随后,学生需要使用一种基于行为克隆的学习方法对示范数据进行训练,例如 Diffusion Policy、3D Diffusion Policy(DP3)或 Action Chunking with Transformers(ACT),并在仿真环境中进行推理和任务验证。
本项目的目标是构建一套完整的移动机器人全身操作流程,包括任务设计、轨迹生成、示范数据采集、行为克隆训练以及仿真验证,并比较不同方法在任务成功率、执行效率和泛化能力等方面的表现。
核心任务设计
任务一:安装并测试仿真环境(10分)
学生可从以下两条路线中任选其一。
MuJoCo 路线:
打开 RoboCasa 项目网站,下载并安装。RoboCasa 基于 robosuite 和 MuJoCo,按照项目提供的安装说明配置环境即可。
安装完成后,运行 RoboCasa 提供的移动操作示例,并进行截图记录。
Isaac Lab 路线:
打开 LW-BenchHub 项目网站,下载并安装。LW-BenchHub 基于 Isaac Lab–Arena 和 Isaac Sim,提供了厨房场景、机器人和操作任务。
安装完成后,运行 LW-BenchHub 提供的移动操作示例,并进行截图记录。
运行示例时,应确认能够正常加载机器人、场景和交互物体,并能够读取机器人状态、相机图像以及向移动底盘、机械臂和夹爪发送控制指令。
期望产出:仿真环境测试代码和运行截图。
任务二:安装并测试轨迹生成与模仿学习算法(20分)
学生可以根据所选任务,自行选择轨迹和示范数据的生成方法,包括模型预测控制、轨迹优化、采样规划、全身逆运动学、脚本控制或遥操作等。
可参考以下机器人规划与建模代码库:
随后,从以下行为克隆方法中任选一种,下载并安装对应的代码库:
安装完成后,学生可以按照代码库提供的说明下载示例数据,使用项目提供的专家策略或脚本生成示范数据,也可以自行生成数据或通过遥操作采集数据。
学生需要生成或采集至少一条可以在仿真环境中回放的示例轨迹,并使用示例数据运行一次训练和推理。
期望产出:示例轨迹、轨迹生成或遥操作代码、轨迹回放视频,以及模仿学习算法的训练和推理截图。
任务三:在仿真环境中构建任务,采集移动机器人的运动轨迹和视频(30分)
目标是在所选仿真平台中搭建任务环境,生成或采集移动机器人的全身操作轨迹,同时采集视频数据。场景既可从 RoboCasa 或 LW-BenchHub 提供的已有任务中选取并进行修改,也可由学生自行构建。
任务由学生自定义,例如简单的“抓取—放置”任务,明确物体的初始状态和目标状态即可。任务应同时使用移动底盘、机械臂和夹爪。
本任务主要分为两个步骤:生成或采集轨迹,与采集轨迹对应的视频。
在轨迹生成阶段,学生可以使用模型预测控制、轨迹优化、采样规划、全身逆运动学等方法,根据自己定义的物体初始状态和目标状态,控制移动机器人完成任务。学生也可以使用键盘、手柄、SpaceMouse 或 VR 设备,通过遥操作采集轨迹。物体的抓取姿态可手动指定,不必自动生成。本阶段成功的话,应该可以在图形界面中观察机器人完成抓取、移动和放置过程。
在视频采集阶段,学生需要使用仿真环境提供的 camera 功能,采集轨迹对应的 RGB、RGB-D 或点云数据。采集的数据格式应与任务二中选择的模仿学习算法相匹配。
期望产出:
- 场景与任务定义:构建一个仿真场景,在场景中设计机器人需要执行的具体任务,明确交互物体、物体的初始状态以及目标状态。
- 生成或采集的轨迹:针对上述场景与任务定义,生成或采集机器人完成任务的全身操作轨迹。
- 采集的轨迹视频:根据采集到的轨迹,录制仿真环境下的动作视频或图像序列。
加分项:构建多个场景和任务,统计和报告每个场景的几何特征,包括障碍物数量、类型、尺寸和位置等,并在这些场景上进行数据采集。(最多额外10分)
加分项2(难度非常大):尝试完成开门任务并采集轨迹和视频。(最多额外30分)
任务四:使用采集的数据进行行为克隆训练和推理,测试效果(20分)
本任务的目标是使用任务三采集的数据进行模型训练和推理,并验证结果。本任务分为两个步骤:模型训练,推理仿真验证。
模型训练阶段,学生需要将采集的机器人状态、动作和视觉观测数据转换为任务二所选行为克隆算法使用的数据格式,并使用 Diffusion Policy、3D Diffusion Policy 或 ACT 进行训练。
推理仿真验证阶段,学生需要在仿真环境中运行训练得到的模型,根据机器人状态和视觉观测预测动作,控制移动机器人完成所定义的任务。
学生需要更改训练轨迹数量、观测数据类型、图像预处理方式或网络参数等变量,分析这些因素对训练和推理结果的影响。
期望产出:
- 训练得到的模型:使用任务三采集的数据完成训练。
- 任务验证代码:使用训练模型在仿真环境中进行推理和控制的代码。
- 任务验证实验结果:记录任务成功率,并对不同训练设置的结果进行比较。
加分项:增加使用另一种行为克隆算法,并比较不同算法的实验结果。(最多额外10分)
任务五:撰写报告,总结轨迹生成、数据采集、训练和推理过程中的主要问题(20分)
基于以上已完成的工作,总结轨迹生成和数据采集阶段的问题(比如:轨迹生成速度慢、遥操作数据质量不稳定、视频质量不好等),以及训练和推理过程中的各种问题(如:训练效果差、推理轨迹不稳定、任务成功率低等),结合相关文献调研,撰写一份报告。
报告应包括:
- 仿真环境和算法示例的运行截图;
- 场景和任务的具体定义;
- 轨迹生成或遥操作数据采集使用的具体方法;
- 采集的数据数量、数据格式和数据质量;
- 模型训练及验证阶段使用的参数;
- 轨迹生成、数据采集和模型推理阶段的主要瓶颈;
- 不同实验设置的结果对比;
- 潜在的改进思路。
期望产出:一份完整的项目报告,以及能够说明任务执行效果的成功和失败视频。
预期交付物
- 代码库:任务环境、轨迹生成或遥操作、数据采集、训练和推理流程的可复现代码。
- 数据:任务三采集的机器人状态、动作和视觉观测数据。
- 模型:任务四训练得到的模型及相关配置。
- 视频:轨迹生成、模型推理成功和失败的代表性视频。
- 报告:按照任务五要求撰写的项目报告。
最终评分将根据各环节完成情况打分。任务一至任务五共100分,额外加分计入总分,如果总分超过100分取100分。