Math 当矢量速度和检测点之间的角度为90时,绕开/避开障碍物

Math 当矢量速度和检测点之间的角度为90时,绕开/避开障碍物,math,vector,rotation,point,angle,Math,Vector,Rotation,Point,Angle,我有传感器检测到的点,我有速度向量,传感器位置,无人机位置,传感器和检测点之间的距离。 我尝试了几天没有解决方案。 如何以90度绕过障碍物?与障碍物平行 我试图找到速度和检测点之间的角度,并将矢量速度旋转这个角度,但没有成功。或者物体点和探测点,乘以速度的幅值 请提供任何解决方案 点数 单次测量无法做到这一点沿途至少需要采样3个点/距离。然后将它们转换为全局世界坐标(或任何公共参考坐标系),让我们调用它们p0、p1、p2 墙 首先检查3点是否在同一条线上 u = p1-p0 v = p2-p1

我有传感器检测到的点,我有速度向量,传感器位置,无人机位置,传感器和检测点之间的距离。 我尝试了几天没有解决方案。 如何以90度绕过障碍物?与障碍物平行

我试图找到速度和检测点之间的角度,并将矢量速度旋转这个角度,但没有成功。或者物体点和探测点,乘以速度的幅值

请提供任何解决方案

  • 点数

    单次测量无法做到这一点沿途至少需要采样3个点/距离。然后将它们转换为全局世界坐标(或任何公共参考坐标系),让我们调用它们
    p0、p1、p2

  • 首先检查3点是否在同一条线上

    u = p1-p0
    v = p2-p1
    | u/|u| - v/|v| | <= zero_threshold
    
    悬挂的符号由距离决定

    if (d0>d1>d2) turn away
    if (d0<d1<d2) turn in
    if (d0~=d1~=d2) no turn as you are parallel
    
    如果(d0>d1>d2)转向别处
    如果(d0
    
    if (d0>d1>d2) turn away
    if (d0<d1<d2) turn in
    if (d0~=d1~=d2) no turn as you are parallel