# 机器人软件设计
## 智能决策
:-: ![](https://img.kancloud.cn/93/7d/937d8ff4fa7916c0f7ad3ecaee56a8ca_995x804.png)
1. 我们使用的智能决策系统是行为数,它是从根开始(父节点就像选择器一样),每个子节点从左到右进行评估。子节点根据其优先级进行排序。如果满足所有子节点的条件,则会启动其行为。当节点启动某个行为时,该节点将设置为“running”,并返回该行为。下次对树进行评估时,它会再次检查优先级最高的节点,然后当它到达“running”的节点时,它会知道它从中断的位置。在到达结束状态之前,节点可以具有一系列动作和条件。如果任何条件失败,遍历将返回到父级。然后父选择器移动到下一个优先级子项。行为树相较于决策树更复杂,可以控制行为,而决策树只能用于决策。
在程序中,我们使用Black Board来分享机器人的状态数据,例如裁判系统状态、机器人状态和自身位置状态、地方信息状态等,获取感知信息作为决策层的输入。在行为树中,机器人通过判断先决条件。我们在行为树中使用三种类型的节点:选择节点、前置条件节点和操作节点。
1.当我们机器人有弹丸时,进入巡逻节点,在场地上寻找对方机器人。
3. 当我们机器人没有弹丸时,进入逃跑节点,并在场地寻找加成区域。
5. 当目标的前提节点满足时,进入丢失的目标选择节点。当目标的前提条件节点满足时,进入追逐动作节点,否则进入目标动作节点。
7. 在出现惩罚区时,直接将坐标发送到路径规划模板,在机器人执行过程中绕过相应的区域。
9.在特定范围内射击时,在追逐动作中会设计腰部扭动功能。在逃逸行动中,通过改变探测敌方的条件来检测装甲板的损伤位置,从而确定敌方的位置,从而更有效地规划逃生路径。