AIRBORNE CONTROL / MuJoCo 3.15
同一个控制器,
接住不同的初态。
车辆腾空后,持续读取姿态、角速度、高度、速度与气量。目标可以是直接回正落地,也可以是完成一圈 kickflip 后落地。
水平喷力目标始终为零。记录实际水平速度变化,允许轮胎沿车头方向继续滚动。
读取训练记录与最新着色车模…
这是可控性实验。车重、12 个喷口、气量、重心和接触参数均未经过 Tesla 实车标定。外观使用最新 Meshy · Kimi + Codex 车模,碰撞体仍是几何近似。
01 / SAME INITIAL STATE
把训练前后放在一起
训练前已具备同一套 PD、能力约束与刹降预测,训练只调整参数。收益以相同初态的接触冲击、水平扰动和留出评估为准。
每次选择参数都重新积分。黄色箭头为推力,雾迹沿相反的排气方向扩散,强弱跟随实际喷力。网格每格 1 m。拖动旋转视角,滚轮缩放。
02 / A NEW PHYSICAL TEST
改变初态,再试一次
直接从空中接管,无需选择倒置专用控制器。kickflip 必须完整转过一圈才算完成;低高度、低气量或失效喷口可能让目标无法实现。
最新车模 · 自由物理场景等待运行
修改数值立即更新车身姿态、重心高度和箭头。直箭头表示速度,弧箭头表示车体角速度。车体 X 指向车头;世界 Z 竖直向上。编辑初态会结束当前试验。
运行后显示本机实测耗时。
20 ms 是控制周期。绘图、通信和模型加载不计入控制或积分耗时;超时会拖慢模拟,不构成硬实时保证。
04 / PRESERVED RECORDS
失败和旧版本都保留
本轮重新设计目标路径并重新训练。旧的 100 代、倒置修复和发布前失败保留原记录,结构修复与调参收益分别说明。
03 / ONE FEEDBACK LOOP
训练进展、算法与技术栈
每一代留下了什么
未参加选参的初态
查看参数变化与评分
同一组 14 个参数用于两种动作。CEM 采样候选、实际仿真、保留高分候选后更新分布。每代训练初态不同,跨代比较看固定开发集;留出集只在冻结参数后评估。
渲染:Three.js · Meshy 曲面修整版,沿用 Kimi + Codex 材质分区。物理:MuJoCo 3.15 WASM。计算:Web Worker。训练:Python / CEM。页面:原生 JavaScript ES modules,无构建依赖。
- 读取当前状态每 20 ms 读姿态、速度、角速度、高度、气量与接触。当前使用理想传感器真值。
- 跟随动作目标同一个四元数 PD 跟随姿态路径,按实际转动推进。圈数是用户命令,不另换控制器。
- 检查剩余能力估算刹转角、空中时间和竖直刹降距离。气压降低后重新计算可用力矩与升力。
- 分配并积分先保姿态力矩,再分配竖直喷力。12 个阀门有滞后,MuJoCo 每 2 ms 推进接触与运动。
训练什么
训练 14 个反馈与动作预算参数,没有训练神经网络。初态提供目标路径与起始水平速度,每个控制周期依据当前测量重新计算。这不是全程预先求解的轨迹,也不是完整六自由度 MPC。
基本姿态控制含比例 P、角速度阻尼 D 和陀螺补偿,积分 I 为零。完整一圈经过中间姿态路点,避免四元数把 360°误当成 0°。
水平速度为什么仍会变
世界水平喷力目标恒为零,没有水平速度伺服。阀门延迟、喷口饱和、风扇排气及轮胎接触仍会改变速度。评分扣除实际变化,回放显示腾空阶段最大变化和末态变化。
平稳落地的标准
完成动作、车身不触地、接触闭合速度不超过 1.6 m/s、法向力不超过 7 倍车重。至少三轮连续接触 1 秒,同时倾角小于 8°、角速小于 0.2 rad/s、竖直与侧向速度小于 0.3 m/s,轮胎接触滑移小于 0.5 m/s。允许向前或向后滚动。
物理假设
重心平地离地 0.50 m。压力按剩余气量比例的 1.2 次方下降。风扇近地吸力与排气推力共用功率。腾空时关闭,落稳阶段固定 9.5% 命令,本轮不搜索风扇功率。没有自由飞行气动阻力、真实 IMU 噪声、融合算法或独立悬架。