犯傻记录
大约 1 分钟
犯傻记录
我写代码光想着赶紧写完拉倒,导致产生一堆低级错误,最后被这些低级错误绊了个大趔趄。
1. 把加速度数据错读成速度数据
2024.11.30,现在要做 UUV 的模型辨识,需要对加速度数据进行坐标变换,从世界坐标系变换到局部机体坐标系。因为我对这个变换没有学过,我的注意力全在如何写这个变换矩阵上,但是不管这个变换矩阵怎么写,变换出来的加速度始终和真值匹配不上。
修了整整一天,找了整整一天的资料,最后发现和变换矩阵相乘的数不是全局坐标系下的加速度,而是速度,因为最开始的时候用 pd 数据读错列了……
2. 分不清正负号
2024.12.20-2025.1.2,是为了跑 UUV 的前向动力学方程推理,需要用到 UUV 的附加质量等真值。
师兄给我的附加质量真值是:
added_mass = np.array([
[1.7182,0,0,0,0,0],
[0,0,0,0,0,0],
[0,0,5.468,0,0,0],
[0,0,0,0,0,0],
[0,0,0,0,1.2481,0],
[0,0,0,0,0,0.4006],
])
然后论文上说,这个附加矩阵的表达式应该写成:
于是我在代码里写:
X_udot = 1.7182
Y_vdot = 0
Z_wdot = 5.468
K_pdot = 0
M_qdot = 1.2481
N_rdot = 0.4006
然后也是前向动力学推导跑不出来,结果查了 10 天都没查出结果,后面突然发现是因为——
合着负号给你吃了是吧 oyh。。。。。