QiuQiu

Robotics

CAD

画图用

step? 是cad 文件

rebot制造的钣金件, 成本比较高,

RL

必须定义的五件事(MDP 本体)

  1. 状态/观测空间 S —— “策略能看见什么” → ObservationsCfg

这里选了:关节位置、关节速度、目标位姿、上一步动作。这是设计决策,不是天然给定的——比如故意用关节空间而不给末端位置(逼策略自己学 FK),故意加 ±0.01 噪声(模拟真实编码器)。观测选错,任务可能直接不可学。

  1. 动作空间 A —— “策略能做什么” → ActionsCfg + joint_pos_env_cfg.py

这里是 5 个关节的目标位置增量(joint position target),由 PD 执行器转成力矩。这也是设计决策:同一个任务可以选关节力矩、关节位置、末端笛卡尔速度……选位置控制是因为跟真机 SO-ARM 的舵机接口一致,方便 sim2real。

  1. 转移动态 P(s’|s,a) —— “世界怎么响应” → 你不写,物理引擎提供

这是 sim-RL 最爽的一点:PhysX 就是 P。你只定义“世界里有什么”(ReachSceneCfg:地面、桌子、机器人 URDF/USD、执行器的 stiffness/damping)。但注意——sim2real gap 全部来自这一项,所以你 roadmap 里的动力学标定就是在校准 P。

  1. 奖励 R(s,a) —— “什么算好” → RewardsCfg

上一轮讲过了。这是 RL 里最费工的工程项,行话叫 reward shaping:纯粹的目标(“到达=1,否则=0”)梯度信号太稀疏学不动,所以拆成稠密的距离惩罚 + 精细 tanh 项 + 平滑正则。

  1. 初始分布 + 终止条件 —— “每局怎么开始、怎么结束” → EventCfg + TerminationsCfg

reset 时关节位置随机 scale 0.5–1.5(保证策略见过各种起始姿态,不然只会从固定姿态出发),12 秒超时终止。终止条件也是设计:摔倒即终止 vs 只超时,学出来的行为完全不同。

这个任务多出来的一项

  1. 目标/命令分布 → CommandsCfg

reach 是 goal-conditioned 任务:目标位姿不是环境的一部分,而是被采样后塞进观测里。pos_x=(-0.1,0.1)… 这个采样范围就定义了“策略要泛化到的目标集合”——训练时没采过的区域,策略到不了。

on policy

off policy

model based

offline rl

online rl

PPO

Pi 0

pi 0.5

FK

IK

进展