在我的工程课上,我们编写了一个“非平凡的”捕食者/猎物追捕问题。
以下是情况的要点: 有一个猎物试图逃脱捕食者。每个都可以建模为可以在MATLAB中制作动画的粒子(我们必须使用这种编码语言)。
猎物: 可以比捕食者更容易操纵(转弯) 捕食者: 可以比猎物更快地移动
我必须为捕食者和猎物创建代码,这将用于课堂比赛。
这基本上是最终产品的样子: http://www.brown.edu/Departments/Engineering/Courses/En4/Projects/pred_prey.gif
目标是在最短的时间内抓住另一支球队的猎物,并让我的猎物变得对其他球队的捕食者不可捕捉(或者至少逃脱很长一段时间)。
以下是具体的设计约束: 3.设计约束: 捕食者和猎物只能在x-y平面上移动 模拟将运行250秒的时间段。 捕食者和猎物都将受到三种力量:(a)推进力; (b)粘性阻力 力; (c)随机时变力。 (给出所有方程式) 1.推进力将由两个竞争团体提供的功能决定 如果捕食者和猎物之间的距离低于1米,捕食者将被捕获。 你可能不会使用rand()函数计算捕食者/猎物的力量 - 唯一的随机力量 应该是由提供的脚本生成的那些。 (随机力量的EOM是不可能的 ODE求解器进行集成,最终以无限循环结束)。 对于比赛,我们将提供MATLAB代码,用于计算和动画轨迹 竞争对手,并将确定每场比赛的获胜者。测试代码将以SI单位运行。
我正在寻找可能能够帮助我制定一些策略的任何资源。我已经看过基本的追踪曲线了,但是我想看看猎物不是直线移动的一些例子。任何其他编码建议或策略将不胜感激!
答案 0 :(得分:3)
从任何领域的基础知识开始都是一个好主意,你不能超越Issacs(Differential Games: A mathematical theory with applications to warfare and pursuit, control and optimization)的工作。这几乎肯定会成为你最后可能写的任何学术研究项目的参考。
Steven Lavalle的优秀书籍Motion Planning有许多方面可能会引起关注,包括基于可见度的pursuit evasion部分。
对于许多数学主题,Wolfram Mathworld有一些很好的图表和链接可能会让你思考正确的方向(例如Pursuit Curves)。
如果您想了解一个很好理解的区域中的一个奇怪的问题,请尝试Homicidal chauffeur problem - 这至少可以为您提供一些比较不同技术的复杂性/效率的理由。特别是,这可能是一种了解水平集方法的好方法(Patsko和Turova的论文Homicidal Chaueur Game. Computation of Level Sets of the Value Function似乎有许多可能有用的图像)