Algorithm AI:查找使总和{扭矩}=0的力(用于无人机机动) 有一个无人机,中间有一个“钩子”(黑色圆圈)。
下图显示了无人机的俯视图。Algorithm AI:查找使总和{扭矩}=0的力(用于无人机机动) 有一个无人机,中间有一个“钩子”(黑色圆圈)。,algorithm,artificial-intelligence,least-squares,Algorithm,Artificial Intelligence,Least Squares,下图显示了无人机的俯视图。 钩子使无人机无法移动,但无人机仍可以在空中旋转 每个方向 我知道无人机在每个轴上的惯性 在无人机上施加了许多力:-abcde。 (全部在z方向,可以是负数) 我可以控制一些力:abcd 我无法控制e,但我知道它的价值 每个力都会影响扭矩的总和,如扭矩=r x f, r已知所有力 我的目标 查找算法以计算abcd使和{torque}=0,同时最小化力的平方和(a^2+b^2+c^2+d^2) 只要近似就足够了,即返回结果不必是真正的最小值 在实际情况中,我可以控制
- 钩子使无人机无法移动,但无人机仍可以在空中旋转 每个方向
- 我知道无人机在每个轴上的惯性
- 在无人机上施加了许多力:-
a
b
c
d
。 (全部在z方向,可以是负数)e
- 我可以控制一些力:
a
b
c
d
- 我无法控制
,但我知道它的价值e
- 每个力都会影响扭矩的总和,如
,扭矩=r x f
已知所有力r
a
b
c
d
使和{torque}=0
,同时最小化力的平方和(a^2+b^2+c^2+d^2
)
只要近似就足够了,即返回结果不必是真正的最小值
在实际情况中,我可以控制4种以上的力。该算法将用于游戏中的无人机自动机动系统 我的尝试 我可以把方程分成三个轴:-
torqueX = k1*a + k2*b + k3*c + k4*d + k5 *e = 0 ....(1)
torqueY = k6*a + k7*b + k8*c + k9*d + k10*e = 0 ....(2)
torqueZ = k11*a + k12*b + k13*c + k14*d + k15*e = 0 ....(3)
所有k
的值都是已知的。我还有一个目标函数
minimize(a^2+b^2+c^2+d^2) ....(4)
在谷歌搜索之后,我发现这是线性约束最小二乘问题,并找到了一种使用矩阵表示法找到精确解的方法。([Ref1]至[Ref3])
我对这类问题很陌生,但略读一下之后,我觉得这种方法需要逆矩阵计算
我认为应该避免逆矩阵的计算,因为除法器接近0时存在风险
因此,我倾向于逐渐调整力a
b
c
d
问题
- 这个问题应该通过“迭代”方法来解决吗李>
- 如果我坚持,如何使用“迭代”方法解决它?
我发现了[参考文献4],但对于这样一个简单的(?)问题来说,这似乎很难,太难了
[参考文献2](幻灯片5)
[参考文献3]
[Ref4]您还可以迭代优化逆矩阵,搜索排名1更新(例如),或使用@BeyelerStudios漂亮的主意!我忘记了这种技术的存在。感谢您提供了有用的链接和一本好的数学书。您还可以迭代优化您的逆矩阵,搜索秩1更新(例如),或使用@BeyelerStudios好主意!我忘记了这种技术的存在。感谢您提供的有用链接和一本好的数学书。