一、文件夹功能解析
全文件夹如下
其中,核心文件作用为:
diffusion_policy:扩散策略核心文件夹,包含了众多模型及基础库
example:标定及配置文件
scripts/scripts_real:测试脚本文件,区别在于前者倾向于单体运行,后者为整体运行
scripts_slam_pipeline:orb_slam3运行全部文件
umi:核心交互文件夹,作用在于构建真实世界与diffusion policy的连接
eval_real.py:双臂(单臂在scripts_real中)运行主函数
run_slam_pipeline.py:调用scripts_slam_pipeline文件夹运行视觉处理,结果作为diffusion policy的训练输入
train.py:训练主程序,训练为什么模型,生成的cpkt添加了索引,eval运行的时候会自动调用,可以单卡或多卡accelerate训练
二、eval_real.py运行更改及效果
修改click.option中required=True的参数,在pycharm中直接运行,修改后如下图
运行效果如下图,会产生多个相机窗口,以及print参数
三、eval_real.py代码解析
1. 定义预防与桌面碰撞的函数
def solve_table_collision(ee_pose, gripper_width, height_threshold):
2. 定义解决机器人之间球形碰撞的函数
def solve_sphere_collision(ee_poses, robots_config):
此函数在单机器人时并不会调用。
3. 人类控制循环,基本没什么用
========= human control loop ==========
4. 策略控制循环,核心
========== policy control loop ==============