二、设计思路
题图中是我搭的一个初步验证模型,非常粗糙,但已经展现出了不错的效果,因为电路一团糊,基本看不清,所以这里只讲设计思路。
(这是电路,能看懂的话说明你真不是一般人~)
-
主要思路:
赛博蜜蜂有多种产物,选择其中生产速度最快的油作为判断依据,油产得多的,说明总生产速度快,即为我们的挑选目标;
-
(重点!)使用物品传送器的计数功能设置阈值(在右上物品栏里放特定数目的油),当油积累到一定数目时,将油转移至fu的单格存储器,并用物品存储检测器(capacity sensor)发出信号,开始迭代下一代蜂后;
-
(筛选阈值设置,当油产生超过65个时,开始下一轮迭代)
-
迭代信号发出后,执行以下动作:
---1.删除单格存储器里的油;
---2.将优势蜂箱中两条幼虫提取出来,放入暂存箱;
---3. 延时一秒后,清空所有蜂箱里的产物(蜂后和幼虫全删,物品保留一个,以免油的位置变化)。延时一秒是为了保证清空动作在提取幼虫之后进行,避免误杀;
-
幼虫转移到暂存箱后,再次通过物品存储检测器发出信号,将幼虫放入显微镜;
-
显微镜通过自身生产状态信号(最上方红圈)连接一个延时两秒的信号,将检测好的幼虫均分到上下两个单格存储器中。延时是由于显微镜工作结束后,幼虫并不会立即出现在输出格,需要稍等一下;
-
(重点!)存放幼虫的单格存储器是必要的,不能直接把检测好的幼虫放入蜂箱,需要同步放入,避免各个蜂箱开始生产的时间不同,产生误差;
-
通过与门判断,当所有存放幼虫的单格存储器都填满后,触发一个1秒的脉冲信号,该信号执行以下动作:
---1. 统一将幼虫放入各个蜂箱,此时开始新的工蜂开始产生;
---2.延时5秒后,删除旧的工蜂;
---3.延时6秒后,把新工蜂放到原本旧工蜂的位置上,以便在下一轮中删除;
---4.延时6秒后,删除单格存储器或显微镜里可能残留的其他幼虫(正常情况下应该不会有残留,在下节:模块稳健性分析中详述);
-------------------------------------
至此,新的优势蜂后已经开始在蜂箱中进行新一轮繁殖,由它产生的幼虫将重复上述过程,逐渐提高产能,完成进化循环。