WEEK 14(11.08.2025-15.08.2025)

2025.08.11

Task: LCP -> QP

  1. 关于LCP和QP问题的转化是否是近似的?

LCP -> QP

详细回答了这个问题。

2025.08.12

Task: 步长问题

在探讨步长问题时,我在思考 外部时间步 ℎ(物理/积分层)来自RBDClusterLagrangeMultipliers 及上层, 和APGD求解器中的步长更新是否是一个值,内部是指的迭代步长。

我现在去重新理解伪代码,从而来解决这个问题:

APGD伪代码

两个“步长”其实是两个不同层面的概念,一个是外部仿真时间步长,一个是APGD 算法内部的迭代步长

  1. 外部时间步长(simulation time step, Δt)
  1. 内部迭代步长(APGD 的梯度步长,t 或 tk)
  1. 它们的关系

📌 直观类比

这段迭代的目的,就是在一次物理时间步内,通过多轮更新和步长调整,让 APGD 收敛到一个稳定、可行、下降充分的解,确保数值稳定性和收敛速度。

关于步长问题总结

外部也就是我们在UI界面设置,RBDscene中传进来的外部时间步长,是固定的,而内部时间步长和这个完全不一样。

也就是每个外部的时间步长,我都需要从头去计算一次最优解,而内部时间步长的意义是为了不断调节每步的大小,更快, 更准的找到最优解。

2025.08.13

task:测试chrono demo 用来验证步长是否发生了变化

实验详解:

Chrono 小实验总结:APGD 求解器在接触场景中的表现

  1. 实验目的
  1. 场景搭建
  1. 关键观测

接触未发生时

接触发生后

外部步长 vs 内部步长

最终效果图:

Apgd Dt T Test

2025.08.14

task: chrono src

2025.08.15

task:右端项 𝑟(即 Chrono 的 𝑏schur)的构造

改了一天,改崩了,现在还原版本,周一在继续尝试。