梁剑斌,周志豪,曾秋玮
(广东工业大学机电工程学院,广州 510006)
从工作流程的角度,人机交互技术可分为用户输入和系统输出两部分。对于系统输出,大多增强现实装配辅助(augmented reality assembly supporting,ARAS)系统都会采用已有的商业设备呈现结果,例如显示屏、平板电脑、头戴式显示器(Head Mounted Display,HMD)、音箱、耳机等,所以面向ARAS的交互技术研究重点都集中在用户输入上。对于用户输入,现有的ARAS交互研究大多集中在如何实现装配工序展示,从交互方式上大体分为两类:面向装配工序控制的交互技术和基于流程检测的隐式交互技术。前者主要实现流程单步展示,后者主要实现流程自动展示。
装配是一项流程化的工作,展示装配工序是ARAS交互技术的基础功能。最简易的工序展示方法是单步展示,其执行方式为每次接受输入指令,触发下一步工序展示。虽然单步流程展示是一项简易的交互功能,但功能实用,能满足基本的使用需求。而且为了迎合各种交互需求,用于指令输入的交互方式可以是多样的,例如:基于键鼠的人机交互、基于触摸屏的人机交互[1]、语音交互[2]、手势交互[3]等。
单步流程展示固然能满足展示流程的需求,但其操作繁琐,给装配操作者造成额外的任务负担,因此有研究者考虑如何自动化检测装配工序以减轻ARAS系统使用者的疲劳感[4-5]。检测的依据主要有选择安装的零部件是否正确、安装的位置是否正确等。检测的方法大多为基于图像的匹配算法,但与基于图像特征的注册技术不同,流程检测算法仅需识别流程或零部件是否正确,并不需要求解装配基体或零部件的三维位姿,因此流程检测算法大多采用固定视角采集图像以降低计算资源消耗。
针对流程展示的交互技术主要考虑的是流程如何执行,对每一步操作过程中的执行状态如何执行并没详细要求。但每一种装配操作都有相应的工艺要求,文字或三维动画提示都只能起到提示作用,不能让操作者理解每一时刻的操作状态,这在AR虚拟装配操作应用中尤为明显。针对以上问题,本文从机械装配操作实际需求出发,提出了一种增强现实细小零件虚拟装配交互方式。在此基础上,构建了细小零件装配操作状态视觉反馈模型。最后设计了应用实例,通过实验,对细小零件装配操作状态视觉反馈模型的可行性进行了验证。
基于视觉的AR交互场景设计关键在于摄像头的摆放,合理的摆放可以减少摄像头的使用与处理算法复杂度。图1展示了一个常见机械装配情景,操作者站立在零部件前面,双眼的观察方式是以一种俯视的角度观察手部和零部件。
图1 实际机械装配环境
为了贴近机械装配操作者的观察方式,提出一个面向徒手交互的AR虚拟装配空间的交互场景,如图2所示。
图2 面向装配操作的AR交互场景设计图
场景在离地面2.4 m处架设深度摄像头,从俯视的视角采集整个场景的深度图像。在操作者面前架设了显示屏,用于呈现AR图像。本文使用KinectV2作为具体的深度摄像头型号,KinectV2可以同时提供深度图像和彩色图像,本文研究的交互模型使用深度图像作为数据源。受制于深度摄像头的采集范围,该场景的交互空间呈四角锥台形状,顶面离摄像头0.5 m,底面离摄像头2.4 m,相对的两组斜面夹角分别为70°和60°。图3展示了场景的实际环境与摄像机采集到的场景图像。
图3 面向装配操作的AR交互实际场景图
作者针对本文提出交互场景进行了一定研究[6],已实现了手部信息提取和手部与虚拟物体之间的虚实融合。本文将直接引用手部信息中的手掌掌心坐标、手部区域图和手部表面曲面作为本文算法计算基础,部分手部信息结果如图4所示。
图4 手部信息结果
从运动特性上看,实际机械装配操作中的细小零件装配通常为操作者抓取并放置正确位置即可完成。
从图像处理的角度看,手部动作是手部形态变化的序列,但图像只记录静态信息。因此需要识别每个图像内的手部静止状态,再根据静止状态的变化识别抓取动作。图5展示了张手和握拳两种手部静止状态。
图5 手部静止状态
从图5可以看出手指区域发生了较大的变化,根据这个特点设计的手部静止状态识别算法如公式(1)所示。
其中,t为时间序列标记,h ts为手部静止状态,0为张手,1为握拳,α为手部闭合参数,Sf为手指区域面积,Sp为手掌区域面积。
由于细小零件的几何尺寸较少,可以将其简化为三维空间内的一点。因此,操作者手部与细小零件的交互关系转换为手与点的交互关系,如公式(2)所示。
其中,kp ts为细小零件的被抓取状态,0代表被释放,1代表被抓取;C t0为手部掌心三维坐标;K P t为细小零件三维坐标。
对于细小零件的反馈需求,有以下3点分析:①细小零件相对于操作者手部比较细小,在交互过程容易被遮挡,因此抓取点的反馈需要穿透手部表面模型;②徒手交互缺少力觉反馈,操作者并不能准确感知掌心与细小零件的相互位置关系,因此细小零件应根据掌心与其自身距离的远近做出反馈;③细小零件自身是否已被抓取也应被感知。
从细小零件的反馈需求分析可知,细小零件的反馈本质是视觉元素呈现状态的变化,可以使用有限状态机(finite state machine,FSM)对这些需求进行建模描述。FSM是一种描述系统离散输入输出的数学模型[7]。其具有以下特点:一个FSM系统具有有限系统状态,根据系统设计需求,系统可以在各个状态下完成指定的任务;系统从一个状态跳转到另一个状态需要有特定的触发条件;所有的系统状态和转台跳转条件都可以汇集在一个状态表内,系统设计者可以通过状态表了解系统设计是否合理;所有FSM系统都会有一个初始状态。
一个FSM可以定义为一个六元组,如公式(3)所示。
其中,Q={q1,q2,…,q n}为状态的非空有限集合;Σ={α0,α1,…,αn}为状态跳转的触发条件集合,系统在同一时刻只接受一个αi;A={β0,β1,…,βn}是一个有穷字母表,记录了状态跳转时可触发的事件;δ为系统状态跳转规则,δ:Q×Σ→Q;q0为系统的初始状态;F为系统的终止状态,F∈Q。
根据细小零件的反馈需求分析,设计细小零件反馈FSM:Mg={Qg,Σg,Ag,δg,qg0,Fg}。Mg的状态迁移图如图6所示。Mg中每个元素的含义如表1所示。其中,H为手部表面曲面,为细小零件原点,为装配操作完成状态,0为未完成,1为完成。
表1 细小零件的状态迁移表
图6 细小零件视觉反馈的状态迁移图
Mg的功能包括:反映手部是否从观察视角的方向覆盖细小零件,是否到达可以抓取的位置并做出抓取动作,是否被抓取并完成当前操作。为了扩展细小零件的可识别状态,需要添加射线lg,lg原点与细小零件原点共点,lg延伸方向为原点指向摄像头光心。
图7为细小零件各个反馈状态的效果图。当操作者手部未遮挡零件时,零件显示为等比例三维模型,如图7(a)所示。当操作手部遮挡零件时,零件显示为绿色圆环并穿透手部呈现,如图7(b)所示。当手部接近零件时,零件显示为蓝色圆环,如图7(c)所示。当手部抓取到零件时,零件变为红色圆环,如图7(d)所示。
图7 细小零件视觉反馈效果
图8呈现了一个螺钉的放置操作过程,可以看到操作者根据视觉反馈提示抓取并移动螺钉到指定位置。整个过程操作状态反馈清晰,操作者可自然地完成操作。
图8 细小零件装配操作效果
本文针对增强现实虚拟装配中细小零件难以装配的问题,提出了一个基于有限状态机的视觉反馈模型。该模型以增强现实细小零件虚拟装配方法为基础,对装配中的细小零件的各种反馈需求都给出了对应的视觉反馈方案。最后,设计了一个螺钉放置实验验证了理论的有效性。