Roborescue新手入门

2 篇文章 0 订阅
1 篇文章 0 订阅

Author:盒子先生

2020.10.26

知乎主页:https://www.zhihu.com/people/he-zi-xian-sheng-30

First Step:

对于rcrs来说,其实一共有六种智能体:AT、FB、PF、AmbulanceCentre、FireStation、PoliceOffice。对于无中心策略来说,一般只考虑前三种智能体的策略,对于有中心策略,需要考虑到六种智能体(救援智能体+中心智能体)。我们校队目前采用的是无中心策略。

为了对平台有个整体认识,首先需要读读下面代码:

在这里插入图片描述

其中,think函数中表示了每类智能体的思考过程,即代码调用过程。

然后,需要弄明白几乎每个类的入口参数含义,包含了什么数据,以及如何加入自己的数据、如何对其中预计算

在这里插入图片描述

然后需要学学怎么重写自己的文件,这里可以参考平台手册,以及自己读读config文件:

在这里插入图片描述

明白文件的调用流程。

最后翻翻其它文件夹下的代码,比如log日志存在哪了之类的,不要只看src里的代码。

Second Step:

知道了平台的大致运行流程,我们就可以仔细看看核心代码部分。

在这里插入图片描述

三个文件夹分别表示:算法部分、中心智能体决策部分、救援智能体决策部分。

其中,算法部分只提供了简单的A*路径规划,可以在此基础上改进路径规划算法。也需要增加其它算法,比如分区算法Kmeans(将整个地图划分成不同区块,将智能体分配到不同区域)、找到获取的外边缘凸包算法(找到外边缘从外到内灭火可以很大程度抑制火势的扩张)。

中心智能体决策部分暂时不管,校赛跑的命令其实是没有开的。(-1表示挂在挂载所有智能体,0表示不挂载)

救援智能体决策部分 FB > PF > AT:

如何最高效的灭火是整个比赛的关键,需要综合考虑到火势的扩张、距离加油站(避难所等)的距离、火区中心或是周边,当然,还要考虑到FB去往火区是需要消耗时间的,如何预估火区的走向从而抑制扩散也是需要考虑的问题。重点修改SearchForFire、Buildingdetector.

PF部分需要查看一些论文,可以尝试给不同街道分等级,主干道优先清障(清一条路还是全清完等需要考虑),次干道怎么分配人手。

AT如何分配人手,何时以世界为单位救援,何时以分区为单位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值