声明:本文思路持续更新,不收取任何费用哦~

这是一个关于平面上两架无人机协同避障航迹规划的问题。两架无人机从不同位置同时出发,分别朝对方的位置飞行执行任务,期间需要避开一个半径为500米的障碍圆,同时保持彼此不碰面的状态。无人机的速率是10 m/s,且转弯半径不小于30米。

23深圳杯的A、C题目配套论文代码已经出啦!需要的朋友们可以私信我获取相关~

深圳杯资源共享

第一问

解决这个问题需要考虑两个方面:

  • 找到两架无人机的最优飞行航迹,以确保它们能够避开障碍圆且不相撞;
  • 确定第一个到达目的站点的无人机。

思路如下:

寻找最优航迹:可以使用避障路径规划算法来找到两架无人机避开障碍圆的最优航迹。常见的方法包括人工势场法、A*算法、RRT(Rapidly-Exploring Random Trees)等。这些算法能够帮助无人机在避免障碍物的同时,寻找较短的路径到达目标站点。

第一个到达目的站点的判定:通过对两架无人机的航迹进行模拟或数学分析,可以计算出每架无人机到达目的站点的时间。比较两个到达时间,找出第一个到达的无人机。

考虑飞行速率和转弯半径:在规划航迹时,需要考虑无人机的飞行速率和转弯半径。这两个因素将影响飞行的时间和航迹选择。

下面是采用人工势场法进行的思路模拟具体步骤与代码参考后续论文持续更新

初始化:

设定两架无人机的初始位置,即A站和B站的位置。

确定目标站点,即A站飞向B站和B站飞向A站的目标位置。

设置迭代次数或终止条件。

构建势能场:

将障碍圆视为斥力场,可以采用反比例函数来表示斥力场。障碍物离无人机越近,斥力越大。

将目标站点视为引力场,无人机离目标站点越近,引力越大。

迭代规划航迹:

在每次迭代中,对两架无人机进行如下操作:

计算当前位置的势能场,包括障碍物斥力和目标站点引力。

确定当前位置的势能梯度,即势能场下降最快的方向,作为无人机的飞行方向。

更新无人机的位置,使其朝势能下降最快的方向前进。

检查更新后的位置是否会碰撞或离开安全区域(比如规定的半径范围内),如果是,则调整位置或速度,确保无人机不与障碍物碰撞,也不偏离任务区域。

重复以上迭代,直到两架无人机分别到达对方目标站点,或者达到设定的迭代次数或终止条件。

比较用时:

计算两架无人机到达目标站点的用时,找出第一个到达的无人机。

第二问

在第一问中,我们要求两架无人机中第一个到达目的站点的用时最少。因此,在规划航迹时,我们主要关注第一个无人机的路径规划,确保它能尽快到达目标站点,并且避开障碍物。

而在第二问中,我们要求两架无人机中第二个到达目的站点的用时最少。在这种情况下,我们需要考虑第一个无人机的位置作为障碍物,对第二个无人机进行航迹规划,以避开第一个无人机的位置,确保它能尽快到达目标站点。

因此,两个问题的区别在于规划航迹的对象不同。在第一问中,我们重点规划第一个无人机的航迹,而在第二问中,我们需要同时考虑第一个无人机的位置,将其作为障碍物,对第二个无人机进行航迹规划。这样可以确保第二个无人机在避开第一个无人机的同时,尽快到达目标站点。

初始化:

假设A站的初始位置为A0,B站的初始位置为B0,A站的目标站点位置为Bt,B站的目标站点位置为At。

设置迭代次数或终止条件,比如最大迭代次数为N。

构建势能场:

将障碍圆视为斥力场,可以采用反比例函数来表示斥力场。假设障碍圆的半径为R,A站与B站的连线与障碍圆的交点为P1和P2,无人机距离交点P1和P2的距离分别为d1和d2,则斥力可以表示为F_rep = k / d,其中k为斥力常数。

将目标站点视为引力场,无人机离目标站点越近,引力越大。假设目标引力可以表示为F_attr = m * (At - Pt),其中m为引力常数,Pt为无人机当前位置。

迭代规划航迹:

        在每次迭代中,对两架无人机进行如下操作:

计算当前位置的势能场,包括障碍物斥力和目标站点引力。

确定当前位置的势能梯度,即势能场下降最快的方向,作为无人机的飞行方向。

更新无人机的位置,使其朝势能下降最快的方向前进。

检查更新后的位置是否会碰撞或离开安全区域(比如规定的半径范围内),如果是,则调整位置或速度,确保无人机不与障碍物碰撞,也不偏离任务区域。

每次迭代后,检查两架无人机是否已经到达各自的目标站点。如果有任何一架无人机到达目标站点,则结束迭代。

如果达到最大迭代次数N后,仍有无人机未到达目标站点,可以根据当前位置与目标站点的距离来判断哪架无人机较接近目标站点,将该无人机的位置设为障碍物,然后继续迭代规划另一架无人机的航迹,直到所有无人机都到达目标站点为止。

第三问

问题1中的最优航迹变化:

如果B站点到圆心的距离增加,也就是B站点离障碍物更远,那么问题1中第一个无人机的最优航迹可能会变得更直接,因为较大的距离可以提供更多的飞行空间,使得避障路径更加灵活。

相反地,如果B站点到圆心的距离减小,B站点离障碍物更近,那么问题1中第一个无人机的最优航迹可能会变得更加曲折,因为需要绕过更近的障碍物。

问题2中的最优航迹变化:

在问题2中,第二个无人机需要考虑第一个无人机的位置作为障碍物。如果B站点到圆心的距离增加,也就是B站点离障碍物更远,第二个无人机的航迹规划可能会更容易,因为可以有更多的空间避开第一个无人机。

相反地,如果B站点到圆心的距离减小,B站点离障碍物更近,第二个无人机的航迹规划可能会变得更加困难,因为需要更小的空间来规避第一个无人机。

具体的思路及做法:

问题1中的航迹规划:

对于问题1,主要关注第一个无人机的航迹规划。使用人工势场法来规划第一个无人机的航迹,以确保它能尽快到达目标站点,并且避开障碍物。

当B站点到圆心的距离发生变化时,需要重新构建势能场,并进行迭代规划航迹。根据B站点到圆心的距离,调整斥力和引力的参数,以适应新的场景。

通过对多个B站点到圆心距离进行实验和比较,找到最优的B站点位置,使得第一个无人机的航迹用时最少。

问题2中的航迹规划:

对于问题2,需要同时考虑第一个无人机的位置作为障碍物,规划第二个无人机的航迹。

当B站点到圆心的距离发生变化时,同样需要重新构建势能场,并进行迭代规划航迹。此时,除了考虑障碍圆,还需要考虑第一个无人机的位置作为障碍物,调整斥力和引力的参数。

通过对多个B站点到圆心距离进行实验和比较,找到最优的B站点位置,使得第二个无人机的航迹用时最少。

对比结果:

比较问题1和问题2中的最优航迹结果,分析B站点到圆心距离变化对两种问题的影响。

观察第一个和第二个无人机的航迹路径的变化情况,以及它们到达目标站点的用时差异。

第四问

问题1中的最优航迹变化:

当B机的恒定速率增加时,即速率在[10,30] m/s范围内向上调整,问题1中第一个无人机的最优航迹可能会更直接。较高的速率使得第一个无人机更快到达目标站点,并且更容易避开障碍物。

相反地,当B机的恒定速率减小时,即速率在[10,30] m/s范围内向下调整,问题1中第一个无人机的最优航迹可能会变得更曲折。较低的速率导致第一个无人机到达目标站点的时间增加,可能需要更多绕行以避开障碍物。

问题2中的最优航迹变化:

在问题2中,第二个无人机需要考虑第一个无人机的位置作为障碍物。当B机的恒定速率增加时,第二个无人机的航迹规划可能会更加挑战,因为它需要更快地飞行以尽量缩短与第一个无人机的距离,并且避开障碍物。

相反地,当B机的恒定速率减小时,第二个无人机的航迹规划可能会相对简单,因为它有更多时间来规避第一个无人机和障碍物。

第五问

问题2中的最优航迹变化:

首先,B机的恒定速率的增加会使得第二个无人机更快到达目标站点。较高的速率能够缩短第二个无人机的飞行时间,使其更早到达目标站点。

其次,B站点到圆心的距离的变化会影响问题2中的航迹规划。较远的距离可能会提供更多的避障空间,使得第二个无人机能够更灵活地规避障碍物,找到更优的飞行路径。

另外,当B站点到圆心的距离较近时,第二个无人机的航迹规划可能会更具挑战性,因为需要更小的空间来规避第一个无人机和障碍物。

Logo

一座年轻的奋斗人之城,一个温馨的开发者之家。在这里,代码改变人生,开发创造未来!

更多推荐