我正在尝试两个解决一组两个非线性三角方程。它是2link机械手的简单逆运动学。我的代码看起来像这样,该函数给了我正确的解决方案。但这套有两种可能的解决方案。如何修改fsolve以便返回所有真正的解决方案?:
def equations(p):
theta2, theta3 = p
f1 = L[1]*math.cos(math.radians(theta2))+L[2]*math.cos(math.radians(theta2+theta3))-(x3-2*Pos1[0][i])
f2 = L[1]*math.sin(math.radians(theta2))+L[2]*math.sin(math.radians(theta2+theta3))-(y3-2*Pos1[1][i])
return (f1,f2)
theta2, theta3 = fsolve(equations,(1,1))