基于多Agent机器人系统的图书归类解决方案
中还可以会遇到其他不可预知的障碍,这里改进BUG 算法考虑到了这些因素,具体算法如下:
S=起始点,T=终点
设M 为空矩阵,i=1; V(1)为空集
MAP_R 为与矩阵M 对应的二维位图,Pi 为机器人在地图中的即时位置
While(T>Pi) //当T==Pi 表示机器人到达终点
{ V(i--由EPC 方式采集的数据) // EPC 为端点采集法
M--M∪V(i)
位图MAP_R 随之不断更新
IF(线段Pi T 和障碍物边界相交) THEN
由COD 计算出方向 // COD 为最近方向判决
ELSE
机器人沿方向移动到点Pi+1
i++;}
3.3 动作选择
根据内部状态的变化,动作Agent 指导机器人该采取什么样的动作,具体流程如下:
IF(传感器感知到有书到来)THEN 触发机械手拿书
ELSE
IF(图书归类完成) THEN
{ 触发机器手将书放置在推车格子中,并将临时库中的已满格子数加1;
IF(已满格子数==总格子数) THEN 机器人不再接收其他图书,触发机器人根据智能策略Agent
提供的路线推动推车向各个目的地前进。}
FOR(i=1;i=临时库中的总目的地数;i++)
{ IF(到达临时库中记录的第i 个目的地)THEN
{ 机器人停止行走,触发机械手将对应图书摆在相关的柜子上
摆书动作完成,停止机械手动作,触发机器人推车向着新目的地前行 }
ELSE 继续根据路径前行 }
3.4 多Agent 之间的通信
当环境变化的时候,环境感知Agent 会自动检测到环境状态,比如有新书到时,环境感知Agent 获取图书信息,并向图书识别Agent 提出合作请求,且将图书信息传递给它,环境感知Agent 继续检测环境变化。Agent 之间的合作提高了工作效率和准确度,且保证了库中信息的有效共享,避免资源浪费。
Agent 之间的交互与合作是多Agent 系统中核心问题之一,而Agent 通信语言是实现交互与合作的基础。根据目前Agent 的应用环境, KQML 是主流的通信语言之一。因KQML 既是一种通信语言,又是一种通信协议和标准,故每个Agent 只要遵守该协议,即可受到它所提供的通信支持,若要遵守协议,每个Agent 必须添加一个KQML 语言解释器。
概念上,可以把一条KQML 消息分为三层:内容层、通信层和消息层。内容层由关键词:content 标志;:reply-with, : sender, and : receiver 关键词标志了通信层; :performative 与:language, : ontology 形成消息层。全部技术通信参数都在通信层规定,消息层规定与消息有关的言语行为的类型,内容层规定消息内容。以环境感知Agent 与图书识别Agent 之间的沟通为例说明KQML通信语言的方法。
(tell
: sender 环境感知Agent
: receiver 图书识别Agent
: reply-with information storehouse
: content (new book's information)
: language java
: ontology bar code of book)
4 结语
本文中我们在图书馆管理系统中引入人工智能的概念,并给出了基于多Agent 的机器人系统在图书归类中的模型。智能机器人能自动识别图书条形码,且结合中国图书馆图书分类法给出归类算法。根据此算法可计算出图书的具体位置,将所有推车中同类书籍进行关联,机器人就可以一次性摆放所有同类书籍,而不需要多次折回,实现对图书的归类。改进BUG 算法给出了路径规划方案,指导机器人沿着路径正确、快捷地找到各个目的地。通过机器人和多Agent 技术的结合,极大地提高了图书管理的效率,减轻了工作人员繁重的整理工作,对将人工智能技术引入日常生活中产生深远的现实意义。
- 基于黑板的多Agent智能决策支持系统的Agent实现(08-26)
- 双轴微机械陀螺仪的移动机器人运动检测系统(11-14)
- 智能救援机器人的设计(12-03)
- 机器人在锂电池生产中的作用(07-05)
- MEMS传感器加快机器人智能化步伐(05-03)
- EDMA在实时图像处理系统中的应用(09-15)