(1)当机器人的机械手拿一本图书时,机器手上的自动识别系统即带有传感器的环境识别Agent 立即感知环境变化,且获取图书条形码信息,并将这些信息传递给图书识别Agent.这一过程主要是实现从环境状态(E)到感知(Per)的映射(函数see 的输出是一种感知,即感知的输入):see : E--》 Per.
(2)信息库包括了图书信息的集合和图书馆的电子地图,存储着所有图书条形码的信息、书名及其图书标签和图书馆电子地图。通过传感器识别出条形码,图书识别Agent 接收条形码信息,将信息分解,并跟信息库中已有的条形码进行模式匹配,找到符合的样本,返回图书的基本信息,用函数book(馆号,条形码,条形码号,书名,标签)表示,其中标签指的是在图书馆里的位置编码,分为2 大部分,前一部分字母遵循中国图书馆图书分类法,指出图书的类别,而后一部分则为每个图书馆各自的编码方式,存储着每本图书在馆内的具体位置。并将这个函数传递给图书归类Agent.
(3)规则库是规则的集合,存储着中国图书馆图书分类法及本地图书馆子规则。
图书归类Agent 接收函数book,将对应的标签跟规则库中的规则进行比较得到图书在馆中的位置,并将其分解为某类图书的某个具体书柜,用函数position(编码号,书柜号)将位置函数传递给动作Agent.
(4)动作选择函数获得推理结果实现从内部状态到动作(Ac)的映射:action:I--》 Ac.动作Agent将图书放入推车的空格子中,并在临时库中记录每本书的书柜号和推车格号,同一书柜号的图书可以记录在一条记录中,在原先记录尾部追加其推车格号即可,那么机器人可将推车中同一个书柜的图书一次性摆放,不需下次折回。临时库见表1 所示。
表1 临时库表一
(5)当推车上的格子都摆满后,动作Agent 传递消息给智能决策Agent 图书已摆满,则智能决策Agent查看临时库中的各个书柜号,根据信息库中已存储的图书馆的电子地图即各个书柜的摆放次序利用改进BUG 算法计算出各个目的地的优先次序和机器人的行走路径,并指导动作Agent 到各个目的地完成摆书操作,最后回到还书处等待下一次的摆书动作。
3 关键算法分析
3.1 图书归类
依据图书馆给图书分类编码的标准,参照中国图书馆图书分类法,因为国家图书馆图书分类法,从首字符可以分出大的图书所属类别,从一级类别中再细分,部分首字符,例如:E、U、V 就代表一类,不需要再细分,而有些要细分出来,则需要首四位字符的判断才能分析出来,更特别的是审计类编码规则,要有前六位才可以分辨出来。据此我们设计图书分类编码,共12 位,由26 个大写字母和十个数字0~9 组成,前四位代表图书的类别,如果按照中国图书馆分类法,字符不足四位的用通用字符*补足,例如:U 代表交通运输类,一本书的分类编码前四位可以设计为U***;TP1 代表自动化基础理论,该类别一本书的分类编码前四位可以设计为:TP1*,后8 位按照各个不同图书馆的不同要求进行编码,从而根据类别和后八位的编码确定某本书所在的码段,接着确定具体的位置和所在柜。
我们根据该编码规则来设计图书分类规则库。我们设计四个子规则库:
唯一字符规则库:
r1: IF 第一个字符是U/E/P/Q/R/V THEN 该本书是所对应的某一大类。
两个字符规则库:
r1: IF 第一个字符是某个字母 THEN 该本书是某种一级类;
r2: IF 第二个字符是某个字母或数字 THEN 该本书是二级类;
三个字符规则库:
r1: IF 第一个字符是某个字母 THEN 该本书是某种一级类;
r2: IF 第二个字符是某个字母或数字 THEN该本书是某二级类;
r3: IF 第三个字符是某个字母或数字 THEN该本书是某三级类;
四个字符规则库:
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 号柜。
评论
查看更多