简短说明:
有 5 个机器人,每个机器人运行一个名为“Planner”的程序。每个机器人都有一个帖子,他们必须根据那个帖子做一个任务(从许多任务中选择它)。主循环是(伪代码):
while(true)
{
/*1*/ WorldModel::getSingelton()->update();
/*2*/ Post post = selectAPost();
/*3*/ Task task = selectATask(&post);
/*4*/ task.run();
}
而且,一个任务可能会运行另一个任务。事实上,在任务内部有一个决策树。
我有很多组件,例如:HardwareInterface、VisionInterface、WorldModel、Configuration、NetworkInterface,...。他们都做这个系统的一部分。
我的问题不是关于算法,而是关于 C++ (或 Java)中多代理和机器人系统的设计模式。
这些系统*(多代理和机器人系统)* 是否有任何设计模式?还是我的问题是错误的?
注意:我当前的设计模式是 Singleton 用于管理我的组件