背景技术
近年来,随着科学技术的发展需要,机器人技术不断进步。面临任务的日益复杂化,单机器人在很多环境下已经无法满足生产要求,于是国内外科研工作者对多机器人技术投入了大量关注,提出了利用多机器人协作来代替单机器人工作。
多机器人协作的研究并不是通常意义上的将各单机器人的功能相互叠加,而是通过系统中各子机器人协同合作,起到一加一大于二的效果。简易的将各机器人功能相互叠加,非但无法凸显多机器人系统的优势,反而当多机器人系统遇到复杂情况时,会导致各机器人间发生冲突,乃至停滞或死锁,降低任务的执行效率。
基本的任务模式
从上面可以看到有串行,有并行,有串并联合,马上让我们想到多线程里的回调CompletableFuture
CompletableFuture
CompletableFuture
主要用于异步执行任务并返回结果,实现异步计算和操作组合。它提供了一种灵活、可组合的方式来实现异步计算,同时也提供了异常处理、取消、超时等特性。在CompletableFuture中,我们可以通过回调函数来处理任务的结果,也可以使用其它方法来组合多个CompletableFuture对象,以构建更复杂的异步操作流水线。
机器人之间如何判断上一个机器人任务结束?
这时我们可以试着去使用监听者设计模式,简单回顾一下这个模式
- 事件-监听机制
事件源经过事件的封装传给监听器,当事件源触发事件后,监听器接收到事件对象可以回调事件的方法。
以上是一些设计思路,具体实现方法需要更多的实践验证。