曹兆元,刘惠义,杨战军,2,郑 源
(1.河海大学 计算机与信息学院,江苏 南京 210098;2.中国人民解放军92995部队,山东 青岛266100;3.河海大学 能源与电气学院,江苏 南京 210098)
虚拟装配是虚拟现实技术在制造业的典型应用[1]。然而,现有虚拟装配系统普遍缺乏对复杂情境的分析能力,难以根据上下文准确预测用户的意图,导致系统智能性低下,用户认知负荷较重。
目前,智能虚拟装配已成为一个研究热点,科研人员开展了深入的研究。文献[2]将感知机制引入到虚拟装配,给出了虚拟交互的感知模式和感知算法;文献[3-5]将语义引入虚拟装配,实现了装配工程语义的虚拟表示,并通过语义的推理和识别来捕捉装配过程中用户的操作意图;文献[6]提出建立虚拟装配环境约束信息模型的方法,引入了约束元素包围盒的概念,将约束元素包围盒的相交测试作为装配意图捕捉算法的入口;文献[7]给出了一种面向虚拟装配的框架数据模型,将过程性知识封装到过程框架中,将零件模型中的工程信息封装到特征框架中,将框架实例对象与产品层、显示层中的数据对象一起构成框架数据模型。然而,这些方法都只是从零件配合和操作真实性的角度对交互进行完善,没有充分运用情境上下文信息,用户的认知负荷依然较重。文献[8-9]将情境上下文引入了虚拟装配,给出了基于本体的情境感知体系结构框架,对智能装配的情境信息本体建模及其感知机制进行了较为深入的研究,但模型中基于本体的装配语义推理显得比较抽象和复杂。
本文提出一种基于情境上下文的智能虚拟装配动作预测模型。该模型运用了情境上下文信息,有效降低了用户的认知负荷;通过实例进行用户动作意图预测,简化了推理过程的复杂性;并结合水轮发电机组的转轮体装配实例,给出了模型的实现框架。最后通过实验验证了模型的正确性。
情境上下文(Context)为智能虚拟装配提供信息支持,包括三类上下文:环境上下文(Environment Context,EC)、任务上下文(Task Context,TC)和用户上下文(User Context,UC),形式化表示为
Context=〈EC,TC,UC〉
EC涉及虚拟装配仿真的领域(domain),界面上可显示的零部件(presentation)以及交互设备(device)等,形式化描述为
EC=〈domain,presentation,device〉
TC包括系统所要完成的装配任务(task),任务中涉及的零部件(parts)以及一系列的原子动作(包括动作的类型(type)、名称(name)和描述(description)),形式化定义为
TC=〈task,parts,type,name,description〉
UC用于刻画正在进行虚拟装配的用户,形式化表示为
UC=〈user〉,user∈UserSet
UserSet为所有使用本系统的用户集合。
Context中,EC中的装配领域知识为TC 定义虚拟装配的任务以及任务中的一系列装配动作提供了依据;TC 中装配动作的定义是UC 中记录用户经验的基础。三者关系如图1所示。
图1 EC、TC、UC之间的关系
根据Context的定义,基于情境上下文的智能虚拟装配动作预测模型(An Intelligent Action Prediction Model of Virtual Assembly Based on Context Awareness,IAPMVACA)的组成元素包括:环境模型(Environment Model,EM)、任务模型(Task Model,TM)、用 户模型(User Model,UM),形式化定义为
IAPMVACA=〈EM,TM,UM〉
EM 描述了系统中的零部件实体对象(Entity)、对象之间的装配关系(Assembly Relationship,ARS)、界面上的可视零部件(Visual Components,VCP)以及系统所使用的交互设备(Device),形式化表示为
EM=〈{Entity},{ARS},{VCP},{Device}〉
TM 描述了虚拟装配所能完成的任务编号(TaskID)和名称(TaskName)以及具体的交互过程({Action}),形式化描述为
式中:ActionID——动作编号,ActionName——动作名称,ObjectID——动作作用零部件的编号,Time——动作发生的时间,Description——动作的描述。例如平移(Translate)操作时,Description=〈start,end〉,start表示起始位置,end 表示终点位置;旋转(Rotate)操作时,Description=〈axis,direction,angle〉,axis表示旋转所绕的轴线,direction表示旋转的方向,有顺时针和逆时针两种,angle表示旋转的角度。
UM 描述了用户编号(UserID)和角色(Role)以及用户经验(Experience),形式化定义为
基于情境上下文的动作预测重点就是通过研究用户经验,发现装配过程中存在的动作模式,再结合当前的情境上下文对将来的动作进行预测。参照文献[10]中基于经验感知的自适应用户界面的动作预测方法,给出基于情境上下文的智能虚拟装配动作预测方法,分为3个步骤:①构建动作模式;②动作预测;③决策与反馈。
构建动作模式的总体思想如下:在完成一个装配任务的情况下,针对一个动作序列,如果是第一次出现则作为预动作模式,再次出现后就作为动作模式添加到模式库。假设某个零部件正在执行当前装配任务的最后一个动作a,定义零部件已经执行过的动作集合为C,新动作的集合为E,则算法过程如下:
(1)若a∈E,则执行(2);否则,若a∈C,则执行(6),否则执行(3)。
(2)从用户经验中取出以a为结束项的动作序列作为预动作模式Spre,将a从E 中取出,转向(5)。
(3)将当前以a为结束项的动作序列与Spre进行比较,其中相同的动作部分即为以a为结束项的动作模式S。
(4)把S 加入到模式库中,若a瓟C,将a加入到C 中。
(5)继续执行下一个装配任务,转向(1)。
(6)对于以a为结束项的用户经验动作序列,如果在模式库中存在与它局部匹配的动作模式,则产生一个新的动作模式S,转向(4);否则,该动作序列中存在一个新的动作模式,转向(2)。
假设需要动作预测的零部件的动作模式最大长度为L,则算法步骤如下:
(1)取长度l=1的动作序列S,将模式库中所有的动作模式与S 比较,找出所有匹配序列的下一个动作,得到初始预测集C={〈Ci,i〉|i∈[1,l]}。
(2)若l>L,转向(4),否则转向(3)。
(3)令l=l+1,将当前的动作序列反向向前读取一个动作,则当前动作序列达到新的长度l,依次从C 中取出预测Ci,加到当前动作序列之后,产生了新的长度为l+1的动作序列Si,查找模式库,如果存在i∈[1,l],则更新C的序列长度,转(2)。
(4)令Clong=Ci作为最终的预测候选。
若最终有多个预测候选,则需要决策器进行决策。可以统计每个预测候选在所有成功用户经验中的发生概率,由概率的大小来决定执行哪个预测。
假设当前共有成功用户经验N 条,某个预测候选共执行过n次,则发生概率
将所有预测候选按P 由大到小排列,选择P 最大的动作推荐给系统。如果最终没有预测推荐,则首先用户手动完成此次装配任务,再通过评价器反馈回来,提醒系统进行模式库的更新。
以轴流式水轮发电机组的转轮体(组织结构如图2所示,装配关系如图3所示)装配为例,假设矩形框中的零部件已参与过装配,形成了部件2(unit2),下面将进行活塞(piston)的装配。按照装配工艺,是将unit2装配到piston上。
图2 转轮体组织结构
图3 转轮体装配关系
(2){ARS}通过XML(Extensible Markup Language)文档定义如下:
(3){VCP}主要根据系统需要,在界面中设置零部件为隐藏/显示。可以在定义零部件属性时设置一个visible变量,visible=0表示隐藏;visible=1表示显示。
(4)本系统为桌面式虚拟装配系统,{Device}={keyboard,mouse,computer}。
UM:UserID=1,Role=student,该模型重点是记录用户经验,由系统在使用过程中自动完成。
假设系统通过对用户经验的挖掘,发现装配活塞有如下三种动作模式:
假设前11次装配活塞全部成功,在第12次进行装配时,动作的发生顺序是Select、Translate,则排除Mode1,预测结果有Rotate和Translate 两种。根据成功用户经验统计,前11次的第3步操作中,Rotate出现4次,Translate出现2次,PRotate=4/11,PTranslate=2/11,PRotate>PTranslate,则最后系统反馈的就是Mode2中的Rotate操作。
基于文献[9]中本体情境感知框架的情境感知层、情境服务层和情境应用层的分层思想,参照文献[10]中自适应用户界面数据层、模型层、自适应层和用户界面层的四层体系架构,通过对体系架构层次和推理引擎部分的改进,给出基于情境上下文的智能虚拟装配动作预测模型的实现框架,如图4所示。
图4 IAPMVACA 实现框架
该框架一共分为5层:底层为数据层,中间层为模型层、感知层、服务层,上层为表现层。
数据层中以数据库表格保存着任务模型、用户模型的数据信息以及整个智能装配系统所涉及的零部件的属性信息。模型层描述了系统进行动作预测所需要的信息集合,分为环境模型、任务模型和用户模型三部分。感知层主要负责情境上下文的采集,作为用户动作意图推理的基础。服务层由知识库、模式库以及推理模块和决策模块组成,知识库以XML文档保存着装配关系;模式库是系统数据库的一部分,保存从用户经验中挖掘出得用户动作模式;推理引擎通过系统事件消息处理机制捕捉事件,对相关零部件进行识别,进一步识别出当前正在进行的动作,将识别结果传入动作模式识别模块,再结合知识库和模式库对动作意图进行推理;决策器基于传入的预测候选,结合用户经验进行决策。表现层的系统界面上呈现最终的结果。
框架以通信的方式实现各层之间的关联:感知层获得的消息通过消息事件引擎转换成用户经验,并为系统提供情境上下文。推理引擎模块通过不间断的分析用户经验和当前情境上下文,再依据知识库以及模式库中的内容,为系统提供智能虚拟装配的动作预测功能。总之,服务层通过连续不断的与上下各层进行通信,实现了智能虚拟装配的动作预测功能。
基于模型的实现框架,通过3DMax 三维建模,采用Visual Studio 2005开发工具和OpenSceneGraph渲染引擎,利用SQL Server 2000数据库以及XML 技术开发了一个轴流式水轮发电机组转轮体装配的原型系统。其中某次装配活塞的过程如图5所示。
初始场景(a)中,unit2 处于(0,0,0)位置,piston处于(100,100,0)位置;(b)中用户手动选中unit2,将其平移到(0,0,62);(c)中令unit2沿x轴顺时针旋转180度,根据3.2中的分析,此时系统已经推断出unit2将执行Mode2,于是自动先平移至(100,100,62),再平移至(100,100,6),成功实现活塞的装配,如(d)、(e)所示。图5证明了用户意图推理的合理性,进而验证了基于情境上下文的智能虚拟装配动作预测模型的正确性。
本文将情境上下文的理论应用到虚拟装配中,建立了基于情境上下文的智能虚拟装配动作预测模型,结合实例分析,给出了模型的实现框架。实验结果表明,该模型能够准确预测用户的动作意图,实时调整零部件的动作以自动完成装配。
相较于前人所做的工作,本文的创新如下:①记录了虚拟装配中的情境上下文,为智能虚拟装配奠定了基础;②进行基于实例的装配动作预测,使推理更加直观、清晰;③给出了动作预测模型的实现框架,为应用提供了方便。进一步的工作将从任务模型中独立出交互模型,将环境模型细化成领域模型和表示模型,使模型层中的层次更丰富。
图5 装配活塞的过程
[1]XIA Pingjun,CHEN Peng,LANG Yuedong,et al.Study on virtual assembly technology:A survey[J].Journal of System Simulation,2009,21(8):2267-2272(in Chinese).[夏平均,陈朋,郎跃东,等.虚拟装配技术的研究综述[J].系统仿真学报,2009,21(8):2267-2272.]
[2]CHENG Cheng.Research on construction of mating perception in virtual assembly[J].Journal of Computer Research and Development,2002,39(10):1331-1336(inChinese).[程成.虚拟装配中面贴合感知构造研究[J].计算机研究与发展,2002,39(10):1331-1336.]
[3]WANG Hui,XIANG Dong,DUAN Guanghong,et al.Assembly planning based on semantic modeling approach[J].Computers in Industry,2007,58(3):227-239.
[4]CHENG Cheng,XU Zhenling,LI Yan.Semantic space construction for virtual assembly[C]//International Conference on Computer Science and Software Engineering.Washington DC:IEEE Computer Society,2008:1110-1113.
[5]XIA Zhixiang,ZHU Hongmin,WU Dianliang,et al.Reasoning method based on semantics for virtual assembly operation[J].Computer Integrated Manufacturing Systems,2009,15(8):1606-1613(in Chinese).[夏之祥,朱洪敏,武殿梁,等.虚拟装配操作中基于语义的推理方法研究[J].计算机集成制造系统,2009,15(8):1606-1613.]
[6]ZHANG Dan,ZUO Dunwen,JIAO Guangming,et al.Constraint modeling and assembly intention capturing technology for virtual assembly[J].Computer Integrated Manufacturing Systems,2010,18(6):1208-1214(in Chinese).[张丹,左敦稳,焦光明,等.面向虚拟装配的约束建模与装配意图捕捉技术[J].计算机集成制造系统,2010,18(6):1208-1214.]
[7]WU Changsheng,WANG Daiyong,DAI Yingming,et al.Data model of virtual assembly based on framework theory[J].Journal of System Simulation,2011,23(10):2163-2168(in Chinese).[吴昌盛,汪代勇,代英明,等.面向虚拟装配的框架数据模型研究[J].系统仿真学报,2011,23(10):2163-2168.]
[8]LI Tiemeng,HOU Wenjun,PAN Hao.Put context-aware in virtual assembly:A study of ontology-based architecture and an arithmetic[C]//The 4th International Conference on Pervasive Computing and Applications.Taiwan:Tamkang University,2009:503-506.
[9]HOU Wenjun.Study on intelligent virtual assembly system and the related key technologies based on context-aware[D].Beijing:Beijing University of Posts and Telecommunications,2010(in Chinese).[侯文君.基于情境感知的智能虚拟装配系统若干关键技术研究[D].北京:北京邮电大学,2010.]
[10]FAN Yinting,TENG Dongxing,YANG Haiyan,et al.An adaptive user interface model based on experience awareness[J].Chinese Journal of Computers,2011,31(11):2211-2223(in Chinese).[樊银亭,滕东兴,杨海燕,等.基于经验感知的自适应用户界面模型[J].计算机学报,2011,31(11):2211-2223.]