Math 将四旋翼导向航路点

Math 将四旋翼导向航路点,math,language-agnostic,vector,robotics,Math,Language Agnostic,Vector,Robotics,我在研究一个四转子,我知道它的位置(a)我知道我想去哪里(b),所以我要做的是计算一个向量c c = b - a c = normalize(c) 这给了我一个单位向量,它会把我带到目标。但是四旋翼可以在任何方向上移动而不旋转,所以我试着通过机器人偏航角旋转矢量c,然后将其分解为x y分量,并将其作为横滚角和俯仰角传递给机器人。问题是偏航角为0度(+5)时这是可行的,但当偏航为+90或-90时,它会失败并转向错误的方向。我的问题是我是否遗漏了一些显而易见的东西?没有做所有的研究来100%确定这

我在研究一个四转子,我知道它的位置(a)我知道我想去哪里(b),所以我要做的是计算一个向量c

c = b - a
c = normalize(c)

这给了我一个单位向量,它会把我带到目标。但是四旋翼可以在任何方向上移动而不旋转,所以我试着通过机器人偏航角旋转矢量c,然后将其分解为x y分量,并将其作为横滚角和俯仰角传递给机器人。问题是偏航角为0度(+5)时这是可行的,但当偏航为+90或-90时,它会失败并转向错误的方向。我的问题是我是否遗漏了一些显而易见的东西?

没有做所有的研究来100%确定这个答案,但听起来你得到了一个(某种程度的?)。解决这个问题的一个方法是使用万向节锁。

搜索“Euler angle”或“quaternion”或“rotation matrix”(旋转矩阵),这是同一问题的三种解决方案。各有所长。