依赖安装:
pip install pandas matplotlib openpyxl numpy scipy plotly
进行紧急制动的过程中由于「牵引切断时延」和「制动建立时延」会导致存在三个阶段:
- 牵引延时:加速度为 牵引加速度,持续
$t_0$ - 制动延时:加速度为
$0$ ,持续$t_1$ - 制动:加速度为 紧急/常用制动率
首先有一个直观的理解:前面的位置的速度,由后面的位置的速度要求决定。
- 如果后面没有限速,那前面就可以“放飞自我”
- 如果后面存在限速,那前面就要“有所收敛”
- 如果一路踩着刹车到后面,刚好卡在限速上,那前面无论如何都不能再快
所以使用逆向递推的方式来求解曲线。
在实际实现上,数据是离散的采样点,而非连续的曲线,计算机也没有两条曲线取最小的直觉,只能比较同一
假设对于
这里可以将每一次“捋”到头的操作优化合并为只“捋”一个单位长度,因为从“捋”过的地方再捋的效果可以覆盖。
假设对于
用这个式子逆着再递推一遍就好了。
假设对于
用这个式子逆着再递推一遍就好了。
由运行速度积分可以得到时间: $$ t = \int_{start}^{end} \frac{dx}{v(x)} $$ 然后就完事了。