新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于多Agent机器人系统的图书归类解决方案

基于多Agent机器人系统的图书归类解决方案

作者:时间:2012-09-27来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/185707.htm

  四个字符规则库:

  r41: IF 第一个字符是某个字母 THEN 该本书是某种一级类;

  r42: IF 第二个字符是某个字母或数字 THEN该本书是某二级类;

  r43: IF 第三个字符是某个字母或数字 THEN该本书是某三级类;

  r44: IF 第四个字符是某个字母或数字 THEN该本书是某四级类;

  r45: IF 第五字符是点 THEN 根据前四位已判断类别和后8 位字符的范围找到该书相应的柜子的编码 AND 跳出规则库;

  ELSE 第五个字符是某个字母或数字 THEN该S 本书是某五级类;

  r46: IF 第6 个字符是点 THEN 根据前五位已判断类别和后7 字符的范围找到该书相应的柜子的编码 AND 跳出规则库;

  根据上述规则库我们给出编码和对应书柜编号的识别通用算法如下:

  If(第二个字符=*)

  { 转入唯一字符规则库;

  根据该类别和后8 位字符的范围找到该书相应书柜的编码;}

  Else if(第三个字符=*)

  { 转入两个字符规则库;

  根据该类别和后8 位字符的范围找到该书相应书柜的编码 ;}

  Else if(第四个字符=*)

  { 转入三个字符规则库

  根据该类别和后8 位字符的范围找到该书相应书柜的编码 ;}

  Else 转入四个字符规则库;

  我们以一个例子具体说明编码规则:

  假设某一高校图书馆给出非审计类8 位的编码规则是,对于U 类书籍,编码范围U***00000000-U***00000200 内的书籍放在1 号柜。我们对一本编码为U***00000023 使用本文所述的分类算法进行分类。首先,判断第二位字符,根据算法第二位是*,转入唯一字符规则库,首先根据规则r11,判断出该本书是交通运输类,结合后八位0000023,该编码在U***0000000-U***0000200 范围内,判断出该书所在的位置为1 号柜。

3.2 智能寻线导航

  所谓路径规划是指移动按照某一性能指标(如距离、时间、能量等)搜索一条从起始状态到目标状态的最优或次优路径。路径规划主要涉及的问题包括:

  利用获得的移动环境信息建立较为合理的模型,再用某种算法寻找一条从起始状态到目标状态的最优或近似最优的无碰撞路径;能够处理环境模型中的不确定因素和路径跟踪中出现的误差,使外界物体对的影响降到最小;如何利用已知的所有信息来引导机器人的动作,从而得到相对更优的行为决策。

  路径规划是移动机器人研究中的一个基本且重要的问题。路径规划的第一步是确定地图的表示方法,其目的是将机器人和障碍物所在的物理空间的显著特征描述出来,使之更适合于规划。本文中将地图置于信息库中,智能决策 根据临时库中的各个目的地在电子地图中的位置,确定物体或自身的位姿(位置和姿态),制订出他们的优先次序。

  由于机器人工作的环境是动态变化的,环境中的障碍物不全是已知的、静止的。这就要求机器人要不断地对周围环境进行探测,并对探测到的障碍物进行实时处理,即要求机器人具备局部规划的能力。机器人在运行过程中,通常会发生如下几种类型的冲突:

  碰撞、拥塞以及死锁。

  碰撞:一个运动物体在另一个运动物体运行路线上的相同位置同时出现。拥塞:其它运动物体妨碍当前运动物体按要求到达目标。死锁:运动物体无法进行各自的下一步动作。这些冲突的产生主要是由于机器人对环境信息缺乏详细了解造成的。因此,当环境动态变化时,往往采用依赖传感器的局部路径规划方法进行冲突消解。

  由于本文中设计的机器人个数比较少,就将环境中其他机器人视为环境中的障碍物,而且环境比较简单,因而采用无通讯的避碰力一法的机器人,不需要与其他机器人的通讯,完全依靠机器人的传感器获取其他机器人的运动信息。

  本文采用改进BUG 算法计算两点间的最短路径,即计算出离当前点路径最短的目标点,具体算法如下:

  根据电子地图,智能策略 初步给出各个目的点的优先次序及其行走路线,但是实际行走中还可以会遇到其他不可预知的障碍,这里改进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 动作选择

  根据内部状态的变化,动作 指导机器人该采取什么样的动作,具体流程如下:

  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 技术的结合,极大地提高了图书管理的效率,减轻了工作人员繁重的整理工作,对将人工智能技术引入日常生活中产生深远的现实意义。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭