基于语义分解的人机任务快速规划及仿真自动生成方法
2015-12-05吴珍发赵皇进郑国磊
吴珍发, 赵皇进, 郑国磊
(1. 莆田学院信息工程学院,福建 莆田 351100;2. 北京航空航天大学机械工程及自动化学院,北京 100191)
基于语义分解的人机任务快速规划及仿真自动生成方法
吴珍发1, 赵皇进2, 郑国磊2
(1. 莆田学院信息工程学院,福建 莆田 351100;2. 北京航空航天大学机械工程及自动化学院,北京 100191)
人机任务仿真规划是人机系统应用的基础性工作,也是任务仿真制作过程中最具专业性和复杂性的工作之一,研究人机任务仿真快速规划方法对提高人机系统的应用水平具有重要的意义。针对现有人机系统中人机任务仿真交互量大、仿真进程不能自动生成以及仿真结果重用性差等问题,提出一种基于语义分解的人机任务快速规划及仿真自动生成方法。首先,采用分层模式,对人机任务的自然语义进行逐层分解和细化,直至最终可由计算机系统直接实现和执行的动作来描述为止;然后,引入任务路径、轨迹和进程等概念,对复杂人机任务过程进行结构化定义和表示,提出相应的图形化人机任务过程图形化规划方法,并在此基础上建立人机任务仿真自动生成方法。开发支持这种方法的程序原型,并以飞机装配中卡板打开操作为例,对这种方法进行测试和验证。
语义分解;人机仿真;过程规划;自动生成
人机任务仿真是利用计算机的高性能图形处理能力并结合现有的CAD技术,把虚拟人放入设计人员构建的虚拟产品设计制造环境和任务中进行动态仿真和评价。首先,根据人机工程任务和分析的需要,通过计算机程序对虚拟人的姿态和动作进行控制,使虚拟人较真实地模仿人的姿态和动作;然后,利用人机工程评价方法对虚拟人当前的姿态和动作进行分析;最后,根据人机分析结果对产品及任务设计进行相应的评价和改进。
国外在 90年代初就开展了工程领域内人机仿真及评价方面的应用研究,比如 Mavrikios等[1]、Chilton和 Smith[2]都进行了各具特色的应用,主要侧重于航空航天工业和汽车制造业领域内的虚拟样机装配和虚拟维修中的人机仿真与分析。国内在这方面的应用研究起步较晚,王小强等[3]、郭庆和马超[4]、王长元和樊军[5]、李博等[6]在飞机维修、飞行仪表仿真以及载人潜器等领域,开展了人机仿真与分析的应用研究。目前已被广泛采用的如Jack等人机工程仿真软件系统[7],可以及时发现和修正工程活动中的各种问题,对提升这些领域的工程质量发挥了重要的作用。但是,这些软件系统的应用和运行需要大量的人机交互操作,制作整个人机任务仿真的过程需要耗费大量的时间,人机任务仿真结果不具有可编辑性和重用性。一旦仿真环境(产品设计尺寸、虚拟人交互对象位置等)发生改变时,整个人机任务过程仿真必须重新制作。
智能规划系统在一定程度上可以克服这些问题。这些系统一般采用的是状态转移系统模型,以状态空间搜索方法来实现系统的智能规划[8]。在机器人任务规划领域,大量采用Petri Nets来实现机器人任务自动规划[9]。但是,不同于智能动画、智能规划以及机器人任务规划等,人机仿真中的虚拟人行为控制通常具有明确的目标,其运动过程是事先确定的,亦即整个虚拟人的动作或操作流程均是由专业设计人员预先规划和定义的。为此,本文提出以人机任务的自然语义分解为基础,来建立人机任务仿真过程快速规划以及仿真自动生成方法,下面即详细阐述这些技术方法。首先,给出人机交互任务的自然语义分解模式,并在此基础上提出和建立人机任务的结构化定义与表示模型及其图形化规划方法;然后,构建人机任务仿真自动生成流程,并简要介绍其中的关键步骤和方法;最后,针对人机任务仿真过程快速规划和仿真自动生成实现的需要,自行开发其支持程序原型,并以飞机装配中卡板打开操作为例,对所提出的方法进行测试和验证。
本文是对已结题的国家自然科学基金项目《飞机装配工艺姿态自适应计算和工效数值评估模型研究》(基金编号:60873157)中涉及的部分内容进行进一步研究和总结。
1 人机交互任务规划
人机交互任务规划是对人机任务仿真中虚拟人的运动过程及相关动作或操作序列进行设计,其中包括任务自然语义描述、任务过程表示及如何直观地建立任务过程等。
1.1 任务描述模式
如图1所示,采用分层模式、亦即树结构来定义和描述由一个虚拟人或智能对象完成的人机交互任务的自然语义。其中:
(1) 结点。即为任务或行为的描述,其结构用BNF定义为:
其中,“主体”为负责行为执行的对象,“行为”即为“主体”的执行过程。
(2) 结点列。在同一层上,用一个结点序列、亦即结点存在先后链接关系来定义一个行为过程。在此过程中,第一个结点与上一层的某个结点相关联,称后者为这一结点列的父结点,前者为此父结点的子结点(列)。一个子结点列是其父结点语义描述的进一步分解和细化。
图1 任务自然语义的描述模式
根据结点在分层模式中的位置,将图1中结点分为以下3类:
(1) 根结点。将图1中的最顶层“层0”结点,称其任务(命名)结点。其内容为,根据式(1),对任务的功能、目标及完成方法等语义进行总体描述,如“虚拟人手工铆接”,其中“虚拟人”为“主体”,“手工铆接”为“行为”。
(2) 叶结点。是不具有子结点列的结点。用这类结点来描述可由计算机系统直接定义、表示、执行或实现的最小行为单元(简称动作),如虚拟人“抓取”和“行走”等。由叶结点构成的子结点列是其父结点的最详尽描述,也是这一父结点的最终分解结果。
(3) 中间结点。亦即除了根和叶结点外的其他所有结点。
在人机交互任务仿真中,常用动作见表1所示。在参考、研究和分析人的基本行为动作的基础上,根据工程领域内人机仿真的需要,定义了4类虚拟人基本动作,即抓取、行走、放开和作业,这4类基本动作具有一般性和通用性。基本动作的组合可以用来描述比较复杂的虚拟人行为活动,并能够用于不同目的的虚拟人仿真。每个基本动作都需要定义其动作属性即执行该动作所必需的信息或前提条件,动作属性的类型一般有:①虚拟人及其动作执行末端,即虚拟人执行动作时使用的肢体,并包含虚拟人本身。这是所有基本动作的必要属性,因为每个基本动作都需要由指定的虚拟人完成;②虚拟人当前位姿,包括当前虚拟人的位置和姿态;③交互对象,指与虚拟人发生交互的高级智能对象(advanced smart object, ASO);④对象交互部位,即虚拟人与ASO进行交互的具体部位;⑤对象动作,描述交互过程(包括对象间交互、虚拟人与对象间的交互)中对象的行为动作(或反应),包括对象或对象部位的变化(材质、颜色、大小等)和运动(平移、旋转等),一个对象可以拥有多个对象动作。对象的动作往往引起虚拟人的运动,比如电梯升降带动人的上下运动,打开笔记本电脑翻盖时人的手随翻盖一起作旋转运动等。这种虚拟人的反应运动由对象动作引起,虚拟人的运动具有被动性。对象动作的组成属性主要包括:对象动作部位、运动形式(平移及平移方向、旋转及旋转轴线等)、运动范围(平移距离、旋转角度等)以及虚拟人的驱动部位(手、脚、全身)等。
表1 常用动作的必要属性及其定义方法
虚拟人的基本动作和 ASO的对象动作是人机交互任务自然语义的最小描述单元。如对于“虚拟人手工铆接”任务,根据飞机装配知识及实际操作要求,其自然语义分层表示如图2(a)所示,其中各行标号为:0,虚拟人手工铆接;1,拿起铆枪;2,进行铆接;11,走进工具台;12,拿起铆枪;21,走近铆接孔;22,进行铆接。从图2(a)中可见,在对“虚拟人手工铆接”任务进行语义解释和描述时,首先将其以分解为虚拟人“拿起铆枪”和“进行铆接”等作业行为过程。由于目前计算机系统还不能直接执行这两种行为,需要对它们进行进一步细分为虚拟人“走近工具台”与“拿起铆枪”和“走近铆接孔”与“进行铆接”等更为具体的行为。这四种行为依次对应于表1中所定义的“行走”、“抓取”、“行走”和“作业”等动作,因此均可直接实现和执行,无需再行细分。上述任务语义细化过程也可用统一建模语言(unified modeling language, UML)的活动图来直观表示,如图2(b)所示。
图2 虚拟人手工铆接
1.2 任务过程
在特定的时间范围内,一项任务往往需要多个虚拟人或智能对象来共同完成,其过程称为一个任务过程。任务过程的结构化定义和表示如图3所示。其中:
(3) 任务进程。 q = ( t1,t2, … ,tk)为任务过程中所有任务轨迹 ti(i =1 ,2,… ,m )组成的序列,称为一个任务进程。一个任务进程完整地描述了由动作构成的一项人机任务交互任务仿真的全过程,因而构建任务进程是人机交互任务规划的最终目标。
图3 任务过程
1.3 任务规划方法
以图1所示的语义分解模式为基础,给出如图4所示的人机交互任务图形化规划方法。其中:
(1) 每行对应于由一个虚拟人或智能对象完成的一条任务路径,路径上每个语义动作“Semantic”均为被解释为表1中一个相应的动作“Action”。任务路径上各动作间的执行顺序可方便和直观地进行交互调整。多任务路径代表着由多个虚拟人或虚拟对象完成的人机任务过程。
(2) 每列、即泳道“Swimlane”为任务轨迹。不同泳道将执行动作序列隔开,以表达单个或多个动作执行时序关系。处在同一个泳道中的语义动作将在同一时间段内被执行。同一个泳道中允许存在同一虚拟人执行两个或两个以上的动作,这意味着一个虚拟人可以在同一时间段内完成多个并列动作,如“Action4”和“Action5”为同一虚拟人在同一时刻并列执行的两个动作。
综合采用图1和图4所示的图形化方式,设计人员可非常直观和方便地设计、修改、调整和控制人机交互任务过程,从而大大降低了任务规划的难度和复杂性,并为人机交互任务仿真的自动生成提供有力的支持。
图4 任务规划的图形化表示
2 任务仿真自动生成
所谓人机交互任务过程仿真的自动生成,是指根据已经规划好的任务进程自动计算仿真过程中所有运动物体每一时刻的环境状态,包括虚拟人的位置和姿态、虚拟对象的方位等。任务仿真生成后,得到的是一系列有序的环境状态,环境状态随时间的推移进行连续播放,以形成直观的仿真动画效果。
2.1 环境状态表示及计算
仿真过程中运动物体的环境状态包括虚拟人的位姿PH和虚拟对象的方位PO两部分。虚拟人的位姿由虚拟人根节点的位置和虚拟人姿态等组成,其中根节点位置由位置变换矩阵 TH表示,姿态由关节角向量θ表示,因此虚拟人位姿 PH可表示为虚拟对象的方位 PO由对象在三维空间中的位置变换矩阵 TO表示,即有。如表2所示,仿真过程中某一时刻的所有运动物体环境状态Si用集合的形式表示为:
表2 运动物体的环境状态
仿真过程中运动物体的环境状态计算,包括相应位置变换矩阵和虚拟人关节角向量的计算,通常采用如下3种计算方法:
(1) 状态插值计算。在始末状态已知的条件下,中间状态可由始末状态插值生成。比如虚拟人抓取物体的中间姿态可由虚拟人初始站立姿态和最终手抓取到物体的姿态插值生成。插值的方法有多种,其中最常用的方法是线性插值法。
(2) 利用经验数据。虚拟人行走的过程是一个比较复杂的全身运动过程,难以用一般计算方法进行计算,而通常是根据已有的虚拟人行走经验数据进行匹配计算。经验数据计算方法多用于虚拟人规律性或习惯性动作的姿态计算,比如行走、上台阶、起立、坐下等动作姿态的计算。
(3) 数学精确计算。若可用数学函数精确描述的环境状态,通常采用这种计算方法。如对于旋转动作,可由旋转轴线、旋转角度等精确描述,并可建立精确的计算式,因此可直接运用该计算式计算对象旋转过程中的各个中间状态。
2.2 动作仿真生成
动作的仿真生成是人机交互任务过程仿真自动生成中的最小单元,每种动作根据自身的特点需采用不同的环境状态计算方法。其中:
(1) 平移动作和旋转动作。根据设置的动作步长,采用数学精确计算方法计算动作过程中动作对象的各个中间状态。
(2) 插值动作。由给定的始末状态线性插值来计算动作过程中动作对象各个中间位置的变换矩阵。
(3) 行走动作。首先根据虚拟人行走的始末位置以及行走步长插值计算行走过程中虚拟人根节点的中间位置,然后利用现有虚拟人的行走经验数据,给每个中间位置赋一个相应的行走姿态,使其形成完整的行走动作。
(4) 抓取动作。首先,根据抓取目标利用虚拟人的IK计算[10]等姿态控制方法自动计算虚拟人抓取到物体的最终状态;然后,采用状态插值计算方法,计算虚拟人抓取物体过程中的所有中间姿态。
(5) 放开动作。与抓取动作类似,首先,利用虚拟人的IK计算[10]等方法自动计算虚拟人把物体放到目标位置的最终状态;然后,采用状态插值计算方法,计算虚拟人放开物体过程中的所有中间姿态。
(6) 作业动作。作业动作一般由对象动作定义,首先,生成对象动作过程中虚拟对象的所有中间状态;然后,利用对象驱动方法生成与对象动作过程中的中间状态相对应的虚拟人中间姿态。
各动作仿真自动计算结果是表2中所示的一系列动作中运动物体的环境状态序列 SA,即SA= ( S1,S2,… ,SK) 。
2.3 任务进程仿真生成
在动作仿真自动生成的基础上,按照任务过程将所生成的动作仿真按次序拼接起来,以形成完整的任务进程仿真,并最终获得由一系列动作仿真组成的环境状态序列S,即如表3所示。任务进程仿真演示就是将任务进程中的所有环境状态按时间顺序依次进行显示,连续动态地展现出整个人机交互任务的动画过程。调整两个环境状态(或动作帧)之间切换的时间间隔,就能控制仿真演示的速度。
表3 运动物体的环境状态序列
3 任务仿真实现及测试
采用C++编程语言、OpenGL图形编程语言以及MFC界面类库,在VC6.0集成开发环境中,通过COM组件开发了支持上述所提出和建立的人机交互任务仿真规划及自动生成方法的程序原型。以飞机装配中卡板的打开操作过程仿真为例,对这些方法进行测试和验证,如图5所示。具体验证过程如下:
(1) 创建仿真环境。如图 5(a)所示。首先,创建装配型架 ASO,导入装配型架及卡板的三维模型,在进行打开操作的2个卡板模型上分别定义旋转动作和抓取点的交互元素,并定义虚拟人与卡板对象间的交互特征;其次,创建执行交互任务的虚拟人Jack和Jeny,其中Jack是百分位为90的男性人体模型,而Jeny是百分位为80的女性人体模型;最后,在人机仿真文档中导入装配型架ASO、虚拟人Jack和Jeny以及其他环境模型(包括环境地板、工作台等)。
(2) 建立卡板打开操作步骤。首先由虚拟人Jeny走到装配型架左卡板附近的合适位置,接着虚拟人Jack走近装配型架的右卡板,然后Jeny和Jack分别先后用右手和左手抓取左右卡板,最后同时打开左右卡板。整个卡板打开操作的基本执行动作如图5(b)所示。
图5 卡板打开操作仿真规划及自动生成
(3) 定义虚拟装配工人必要的基本动作。根据卡板打开操作动作,分别定义Jeny和Jack完成人机交互过程所需要的基本动作,其中定义Jeny的基本动作包括行走、抓取以及作业,Jack与Jeny拥有相同的基本动作定义,但两者基本动作的定义属性完全不同。Jeny和Jack的基本动作定义交互界面及其定义结果如图6所示,基本动作定义的先后次序可以与交互过程描述的不一致。
图6 基本动作定义交互界面
(4) 规划任务进程。定义Jeny和Jack的基本动作完成后,需要对基本动作之间的执行先后顺序进行规划,使其符合实际的人机交互过程,卡板打开操作任务过程的规划结果如图5(c)所示。
(5) 自动生成仿真。任务进程规划完毕后,可以自动生成卡板打开操作的人机交互仿真过程并进行播放,图5(d)所示为虚拟人打开卡板操作过程中的关键几帧。如果人机交互环境发生变化,比如型架的摆放位置发生变化等,只要将人机交互仿真过程重新生成一遍就行,而不需要对人机交互任务过程进行修改。
(6) 仿真效果分析。用本文方法制作“卡板打开”任务过程仿真及动画,包括模型定位、基本动作定义以及ASO定义等,大概需要3个小时;当仿真环境发生变化,比如卡板位置发生改变,不需要对任务过程进行修改,重新生成过程仿真动画几乎不需要时间,可编辑性和重用性好。而用Jack软件[7]实现相同的过程仿真及动画,至少需要6个小时,而且当仿真环境发生变化后,无法重复使用已经建立的仿真及动画,可编辑性和重用性差。由此可见,应用本文方法可节省仿真过程及动画的制作时间,实现仿真动画重复生成,为后续虚拟人作业效率计算及进行人机工效评价奠定了良好的基础。
4 结 束 语
针对当前人机交互任务仿真规划以手工方式为主,以及仿真结果不具可编辑性和重用性等问题,本文研究并提出了采用人机交互任务语义分层分解模式来进行人机交互任务快速规划,并在此基础上建立了人机交互任务仿真自动生成方法。不同于通过低层直接交互的方法来实现人机交互任务仿真的生成和采用状态转移模型来实现人机任务智能规划,这种方法是以一系列执行动作序列来描述人机交互任务过程,并实现仿真的自动生成,此过程更贴近用户的习惯性思维,同时具备较高程度的智能化水平。应用自行开发的原型程序,对这种方法进行测试和验证。结果表明,应用这种方法,减少了仿真动画制作所需的交互工作量,仿真生成结果具备良好的重用性,可根据需要对其进行编辑和修改,并直接生成修改后的仿真动画。不过,在这种方法的应用过程中,人机交互任务的自然语义分解仍依靠技术人员来完成,语义分解过程的智能化和自动化水平低。因此,如何实现人机交互任务自然语义的自动分解,将是下一步人机交互任务自动化仿真技术的研究重点。
[1] Mavrikios D, Karabatsou V, Alexopoulos K, et al. A virtual reality based paradigm for Human-Oriented design for maintainability in aircraft development [C]// Proceedings of the 7th Aviation Technology, Integration and Operations Conference (AIAA). Belfast, Northern Ireland, 2007: 18-20.
[2] Chilton J, Smith D A. Concept of operations visualization for Ares I production [R]. NASA Technical Reports Server (NTRS). Huntsville, Alabama USA, MSFC-2103-1, 2008.
[3] 王小强, 王金利, 冯 恒. 基于DELMIA的虚拟维修过程建模及应用[J]. 航空科学技术, 2014, 25(12): 73-76.
[4] 郭 庆, 马 超. 基于JACK的民机维修任务仿真及人机工效评估[J]. 计算机与现代化, 2014, (11): 82-85.
[5] 王长元, 樊 军. 仿真飞行仪表的人机工效评价[J]. 计算机与数字工程, 2015, 43(3): 428-432.
[6] 李 博, 吉晓民, 陈登凯, 等. 多约束下的载人潜器舱内计算机辅助工效设计系统研究[J]. 图学学报, 2014, 35(4): 553-562.
[7] Siemens. Jack product website [EB/OL]. [2015-02-08]. http://www.plm.automation.siemens.com/en_us/products/tecnom atix/manufacturing-simulation/human-ergonomics/jack.shtml.
[8] Ghallab M, Nau D, Traverso P. 自动规划: 理论和实践[M].姜云飞, 杨 强, 等译. 北京: 清华大学出版社, 2008: 5-8, 493-496.
[9] Costelha H, Lima P. Modelling, analysis and execution of robotic tasks using petri nets [C]//Intelligent Robots and Systems, 2007. IROS 2007. IEEE/RSJ International Conference on. San Diego, CA, 2007: 1449-1454.
[10] 赵皇进, 郑国磊. 具有避障能力的虚拟人姿态优化算法[J].计算机辅助设计与图形学学报, 2010, 22(7): 1145-1149.
Methods for Rapidly Planning Task Simulation and Automatically Generating Simulating Steps According to Division of Task Semantics
Wu Zhenfa1, Zhao Huangjin2, Zheng Guolei2
(1. College of Information Engineering, Putian University, Putian Fujian 351100, China; 2. School of Mechanical Engineering and Automation, Beijing University of Aeronautics and Astronautics, Beijing 100191, China)
Generally, the simulation of a human task with a computer-aided ergonomic system is always required in all the modern engineering activities, and it is one of most specialized and complicated works. So it is of importance to research and set up the procedure for rapidly planning a task simulation. But a great deal of interactions is needed during the application of current ergonomic systems so far, and the simulation steps cannot be created automatically. This paper proposes methods for rapidly planning the task simulation and automatically generating the simulating steps according to the division of the task semantics. Firstly, with the structure of hierarchical scheme, the natural semantics of an ergonomic task are divided into layers, in which all the leaf nodes are defined as the actions which can be performed or implemented with an ergonomic system at present. Secondly, the new concepts of task path, task trace and task process are defined, and the complex task is structurally modeled with the application of a proposed graphic scheme. The procedure of automatic generation of a task simulation steps is constructed. Finally, the program is developed, which is required to support the implementationof the established methods for planning the task simulation and automatically producing the simulation data. Taking the opening of a board of fixture during the aircraft assembly, these proposed methods are tested and verified.
semantic division; ergonomic simulation; process planning; automatically generating
TP 391
A
2095-302X(2015)05-0795-07
2015-02-09;定稿日期:2015-04-16
吴珍发(1964-),男,福建莆田人,副教授,硕士。主要研究方向为计算机辅助人机仿真、dotNET技术、单片机及嵌入式技术。E-mail:wuzhenfa@126.com