在我的工程课上,我们正在编写一个“非平凡的”捕食者/猎物追踪问题。
情况的要点是:有一只猎物试图躲避捕食者。每个粒子都可以建模为一个粒子,可以在MATLAB中设置动画(我们必须使用这种编码语言)。
猎物:比捕食者更容易机动(转身)捕食者:能比猎物移动得更快
我必须为捕食者和猎物创建代码,这将在班级比赛中使用。
这基本上就是最终产品的样子:http://www.brown.edu/Departments/Engineering/Courses/En4/Projects/pred_prey.gif
我们的目标是在最短的时间内抓住对方的猎物,并且让我的猎物对另一队的捕食者来说变得不可捕获(或者至少在很长一段时间内逃脱)。
以下是具体的设计约束: 3.设计约束:捕食者和猎物只能在x-y平面上移动模拟将运行250秒的时间。捕食者和猎物都会受到三种力的作用:(a)推进力;(b)粘性阻力;(c)随机时变力。(给出所有方程) 1.推进力将由两个相互竞争的群体提供的函数确定。如果捕食者和猎物之间的距离降到1m以下,则假设捕食者捕获猎物。您不能使用rand()函数来计算您的捕食者/猎物力-唯一的随机力应该是由提供的脚本生成的力。(对于ODE解算器来说,具有随机力的EOM是不可能集成的,并且它最终会进入无限循环)。对于比赛,我们将提供计算和动画参赛者轨迹的MATLAB代码,并确定每场比赛的获胜者。测试代码将以SI为单位工作。
我正在寻找任何资源,可能能够帮助我的一些战略。我已经看过基本的追逐曲线,但我想看看猎物不是在直线上移动的一些例子。任何其他的编码建议或策略都将非常感谢!
发布于 2013-03-24 20:33:17
从任何领域的基础知识开始都是一个好主意,并且您不能超越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似乎有一些图像可能会有帮助)
https://stackoverflow.com/questions/15287158
复制相似问题