摘 要:现代图书馆的藏书量已成为衡量一个图书馆水平的重要指标之一,而藏书量的增多也意味着图书馆日常管理任务的加重,图书管理人员要耗费巨大的精力去归类、整理图书。移动机器人和多Agent 技术的迅猛发展给这个亟待解决的问题带来了一种新的、可能的解决途径。我们提出一种基于多Agent 技术的机器人软件实现模型,该机器人能自动识别、归类图书,并通过改进BUG 算法导航适宜的行走路线,快速、准确地完成图书馆大量书籍的分类整理工作,极大地简化了传统的人工操作,减轻了管理人员繁重的重复性劳动。
随着科学的进步,现代图书馆的藏书量和报刊杂志的种类急剧增加。随之而来的日益繁重的管理任务,仅凭传统的人工操作,不仅耗费越来越多的人力、物力、财力,也降低了图书管理工作的可靠性,特别是有些读者借了多本书后隔天就马上归还,这无形中加重了图书馆理人员的劳动量,因而,让机器代替人类实现图书馆管理的工作是图书馆管理的必然发展趋势。
智能机器人是一类能够通过传感器感知环境和自身状态,实现在有障碍物的环境中面向目标的自主运动,从而完成一定作业功能的机器人系统。近年来,机器人技术在工业、农业、航天及空间探测等许多领域都起到了重要的作用,同时又显示了广泛的应用前景,成为人工智能学术界研究和关注的热点问题。而Agent 是处在某个环境中的计算机系统,该系统有能力在这个环境中自主行动以实现其设计目标。多Agent 系统是多个可运作的Agent 的有机结合,通过多Agent 之间的交互将一个复杂的问题简单化。
将多Agent 技术应用于移动机器人中使得机器人具有更高的智能性,实现自动感知环境变化、智能识别、归类、传送图书,让机器完成重复、繁重的体力劳动,减轻了图书馆工作人员的工作压力,实现图书馆的智能化。
1 Agent与多Agent的机器人系统基本理论
1.1 Agent 理论
在人工智能研究的进程中,研究者们逐渐认识到应该把人工智能各个领域的研究成果集成为一个具有智能行为概念的“人”,更重要的是人们认识到了人类智能的本质是一种社会性的智能,人类绝大部分的活动都涉及多个人构成的社会团体,大型复杂问题的求解需要多个专业人员或组织协作完成。人最重要的和最多的智能是在由众多个体构成的社会中进行各种活动时体现出来的。“协作”、“竞争”、“谈判”等等是人类智能行为的主要表现形式。要对社会性的智能进行研究,构成社会的基本构件“人”的对应物“Agent”理所当然地就成为人工智能研究的基本对象。
一般认为,Agent 是一种处于一定环境下包装的计算机系统,为了实现设计目的,它能在那种环境下灵活地、自主地活动。虽然目前还没有一个大家都能接受的关于Agent 的定义,但几乎所有被称为Agent的软件或硬件系统都具有以下的特征: 自治性(Autonomy ) 、社会性(Social Ability) 、反应性(Reactivity)、主动性(Proactivity)、智能性(Intelligence )、合作性(Collaboration)。
1.2 基于多Agent 的机器人系统及其任务模型
多机器人系统并非一个简单的多机器人组合系统,而是一个以分布式人工智能为指导,结合计算机、分布式控制、多传感器技术和理论,将多个机器人组织而成的分布式智能系统。多机器人系统在系统功能、并行性、柔性、稳定性以及容错性等方面具有单机器人系统不可比拟的优势,其正得到深入研究和广泛应用。多个机器人在共同的复杂环境中协同工作时,不仅和环境之间有复杂的交互作用,而且相互之间既有分工又有协作,既有合作又有竞争。多机器人系统的研究存在许多与单机器人系统所不同的问题:(1)如何在各机器人间表达、描述问题,分解和分配任务;(2)如何使机器人间相互通讯和相互作用;(3)如何保证各机器人行为协调一致;(4)机器人间如何识别和解决冲突等等。
这些问题主要涉及分布式问题的求解,用传统的集中控制理论和机器人理论已难以解决。当前MAS理论的发展及其在分布式系统中的应用给多机器人系统的研究带来了新的思路,并已在一些试验系统的开发中得到了验证。
1.3 机器人Agent 的任务模型
机器人的行为总是带有一定目的性,即与一定的任务或任务目标相联系任务目标。根据其是抽象的还是具体的,可分为隐式任务和显式任务两类:隐式任务一般是指可用自然语言描述的,没有明确数学形式的“抽象”任务,例如,“将图书放到书柜上”,或“放到推车”。显式任务则一般是具有精确的数学形式描述或量化指标的“具体”任务,如“移动到目标点(3, 7)”,或“保持加工精度为土0. 003mm ”。可以看到,隐式任务一般是高层任务指令,而显式任务一般是底层具体任务。隐式任务需要结合环境信息以及机器人的自身状态,转化为显示任务序列加以实现。以机器人取书为例,假设机器人位置为(5, 8},书位置为(32, 36),推车位置为(67, 57)。“将书放入推车”为隐式任务目标,其可分解为显示任务目标序列:“移动到位置点(32,36)”,“夹持位置点在(32, 36)的书”,“移动到位置点(67,57)”,“放置书到位置点在(67, 57)的推车”。一般而言,机器人Agent 的任务可用下式表示:
Task=(Goal,Precondition,Body,Effects,Setting)
其中Goal 表示任务task 的目标,一般可用自然语言描述;Precondition 表示任务task 实现所需的前提条件;Body 表示任务task 的子任务序列或显式目标序列;Setting 表示任务task 的附加约束条件集;Effects 表示任务task 实现后对环境的效果集。
隐式任务在分解转化为显式任务时,也可能生成某些中间隐式任务,从而形成机器人任务分解的一种与/或树结构。其中“与”表示上层任务目标通过实现所有下层任务目标才能完成,“或”表示上层任务目标可通过选择实现下层的某个任务目标加以完成。一般而言,树状结构的最底层分支的端点都是机器人可直接执行的显式任务目标,并且是“与”树结构,即显示任务目标序列。
2 基于多Agent的机器人系统的体系设计
2.1 环境设置
本系统为了便于机器人识别,将图书馆中所有的书柜用阿拉伯数字进行编号,即每一书柜对应相应的标签编码段,跟图书馆中每个柜上设置放置的图书数目一致,并将其存入规则库中。推车设计成具有若干个格子,且设定每个格子只放一本书,便于机器人区分某本书的在推车上的具体位置,推车上的格子也以阿拉伯数字标识,便于机器人存储、记忆。
2.2 系统结构
本系统利用多Agent 系统减轻人工分类、摆放图书的工作量,其工作流程如图1 所示:
图1 系统体系结构。
评论
查看更多