背景
我正在做一个小组项目来模拟一组独立机器人在二维平面上形成任意形状的一致算法。机器人被建模为单位磁盘,所有运行相同的算法。基本上,每个机器人都可以随时移动、等待或观察其本地环境,但无法与其他机器人进行明确的通信。我们想要找到一个模拟,甚至2d图形库,以帮助我们不写太多从零开始。
问题
有人能推荐一个符合以下要求的仿真库,它可以用于多机器人2D仿真吗?
我以前从未编写过模拟代码,所以很多现有的库都可以很容易地解决我的一些问题。然而,到目前为止,梅森项目是我发现的唯一有希望的资源。不幸的是,我们的一些团队成员不太精通Java,所以如果可能的话,我想找一些适合不同语言的东西。
需求
*语言偏好(降序):python,c++,(可能) java
*仅开放源码/自由和开放源码软件建议
*禁用模拟的选项/标志:我们计划针对每种算法对随机生成的形状进行数千次试验,因此在大部分试验中,我们不关心任何视觉表示,只关心数据。因此,如果这有意义的话,模拟逻辑必须与图形组件解耦。
*碰撞检测
*可定制的视觉表示:在模拟中,我们希望有几个视图(或一个视图的切换)来显示关于每个机器人的附加信息,如当前状态、当前正在观察的区域等。
发布于 2014-02-23 04:51:10
对于这样简单的图形,您肯定可以不使用pyqt或wxpython。
仿真本身应该是自己的python模块;GUI只需加载模块,然后定期调用它的“时间步长”功能(定时器、GUI空闲回调等);step函数应该用一个小的时间步来进化机器人系统。
GUI应该只显示仿真状态。避免将所有东西(显示和模拟)混合在一个模块中,它会变得非常混乱,另外,如果您的模拟引擎是一个单独的模块,那么您也可以直接从命令行运行它,并查看输出文件。
编写一个python脚本非常容易,它读取这样的输出文件并生成命令,使用win32com在excel或powerpoint中以图形方式表示它,在这种情况下,您甚至不需要pyqt或wxpython。
对于碰撞检测,请看pybox2d。
https://stackoverflow.com/questions/21961188
复制相似问题