首页> 中国专利> 基于产品全语义模型的自然交互式虚拟装配系统

基于产品全语义模型的自然交互式虚拟装配系统

摘要

一种制造业领域的基于产品全语义模型的自然交互式虚拟装配系统,本发明中,产品全语义模型交互式生成模块执行从产品CAD装配模型中提取产品信息,交互式生成产品全语义模型;装配数据预处理模块,处理产品零件的碰撞模型建立显示模型、碰撞模型、产品全语义模型之间的对应关系;虚拟装配仿真模块利用VR交互外设驱动虚拟环境中的虚拟手,实现双手与利用工具的交互式虚拟装配;产品全语义模型处理模块主要负责产品全语义模型各模型的检测,约束的识别、解算;装配工具管理模块将用户选择的工具导入虚拟装配仿真模块的虚拟环境,并随时处理工具的驱动。本发明增加了虚拟装配的真实性与沉浸感,能够为装配工艺规划与分析提供有力支持。

著录项

  • 公开/公告号CN101441677A

    专利类型发明专利

  • 公开/公告日2009-05-27

    原文格式PDF

  • 申请/专利权人 上海交通大学;

    申请/专利号CN200810207773.1

  • 发明设计人 朱洪敏;武殿梁;范秀敏;

    申请日2008-12-25

  • 分类号G06F17/50(20060101);

  • 代理机构31201 上海交达专利事务所;

  • 代理人王锡麟;王桂忠

  • 地址 200240 上海市闵行区东川路800号

  • 入库时间 2023-12-17 22:01:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-17

    未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20110504 终止日期:20141225 申请日:20081225

    专利权的终止

  • 2011-05-04

    授权

    授权

  • 2009-07-22

    实质审查的生效

    实质审查的生效

  • 2009-05-27

    公开

    公开

说明书

技术领域

本发明涉及一种制造业领域的仿真系统,具体是一种基于产品全语义模型的自然交互式虚拟装配系统。

背景技术

装配是产品的设计实现过程中关键的一步。基于虚拟现实技术的交互式虚拟装配能够在虚拟环境中实现接近真实的产品装配,并可以在此基础上进行可装配验证、装配效率计算,装配工艺规划、装配线设计以及人机工效评价等。在产品开发过程中使用交互式虚拟装配系统,对减少重复劳动、降低开发成本、缩短开发周期等具有重要意义。在交互式虚拟装配系统中,交互操作越自然、越接近实际操作,则虚拟装配越接近于真实装配,由此得到的分析结果越可靠。

经对现有技术文献的检索发现,Antonino Gomes等在《Computer and Graphics》(计算机与图形学)(1999年)389~403页上发表的“Virtual reality as a toolfor verification of assembly and maintenance processes”(面向装配检查和维修过程的虚拟现实工具)中提出了基于“碰撞检测”和“位姿近似捕捉”的虚拟装配定位,该技术中待装配零件在装配体中的最终位姿是已知的。在虚拟装配中,实时地检测零件的位姿和定位点位姿的偏差,当偏差达到给定的误差范围内时,系统自动将零件的位姿调整到最终的装配位姿。但该方法与CAD软件中的装配类似,都无法体现零件的装配过程。

经检索还发现,杨润党等人在《计算机集成制造系统》(2006)413~419页上发表的“基于约束的虚拟装配技术研究”中提出了基于约束处理的交互式虚拟装配,首先在装配过程中自动识别约束,并对识别的约束进行求解,以最小的位姿调整量满足新约束,然后对已经确认约束进行运动自由度的规约,采用基于广义坐标系的运动导航方法进行交互式装配。该方法在实际操作过程中容易发生误操作,且需要经常发信号进行约束确认,操作比较繁琐。

发明内容

本发明的目的在于针对上述现有技术中的不足,提出了一种基于产品全语义模型的自然交互式虚拟装配系统,将徒手操作和用工具的交互式虚拟装配相结合,增加了虚拟装配的真实性与沉浸感,为装配工艺规划与分析提供有力支持。

本发明是通过以下技术方案实现的,本发明包括:产品全语义模型交互式生成模块、装配数据预处理模块、虚拟装配仿真模块、产品全语义模型处理模块、装配工具管理模块、虚拟装配数据管理模块、虚拟装配数据库,其中:

产品全语义模型交互式生成模块从产品CAD(计算机辅助设计)装配模型中提取产品信息,交互式生成产品全语义模型,对生成的模型进行检测、修改、输入输出操作,并将生成的产品全语义模型存入虚拟装配数据库;

装配数据预处理模块负责处理产品零件的碰撞模型以及查找模型信息,从虚拟装配数据库中提取产品零件信息,在用户指定的目录下查找零件显示模型、碰撞模型,建立显示模型、产品全语义模型之间的对应关系,将显示模型、碰撞模型存入与产品全语义模型对应的虚拟装配数据库中;

虚拟装配仿真模块从虚拟装配数据库中提取虚拟装配所需的数据,包括产品全语义模型、显示模型、碰撞模型,建立虚拟装配仿真场景,利用VR(虚拟现实)交互外设驱动虚拟环境中的虚拟手,并调用装配工具管理模块以及产品全语义模型处理模块,实现双手与利用工具的交互式虚拟装配;

产品全语义模型处理模块负责产品全语义模型各模型的检测,将语义映射为其包含的基本约束,按照约束进行语义识别、确认、导航与解算处理,辅助虚拟装配仿真模块进行虚拟装配,并从虚拟装配仿真模块获取抓取对象信息,处理结束后获得抓取对象的位姿矩阵,并将结果返回给虚拟装配仿真模块,以用于移动虚拟对象;

装配工具管理模块从虚拟装配数据库中提取工具信息供用户选择,用户选择工具后将工具模型、工具部件模型、工具约束模型等导入虚拟装配仿真模块的虚拟环境,并随时为工具的驱动进行处理,供用户在装配操作过程中使用;

虚拟装配数据管理模块执行数据维护任务,负责管理各模块与虚拟装配数据库之间的通信,以及对数据进行添加、插入、删除、检测操作;

虚拟装配数据库负责储存上述模块的中间数据信息,包括:零件碰撞模型信息、零件显示模型信息、产品全语义模型信息、工具模型信息等。

所述虚拟装配数据库,其通过ODBC(开放式数据接口)标准接口与产品全语义模型交互式生成模块、装配数据预处理模块、虚拟装配仿真模块、装配工具管理模块、虚拟装配数据管理模块相连。

所述产品全语义模型交互式生成模块,在三维建模软件环境下打开已完成的产品装配模型,并据此生成产品的零件模型、装配体模型、约束模型,在生成这些模型的基础上,用户进行交互式的产品装配语义定义,生成产品语义模型,产品的全语义模型包括:产品的零件模型、装配体模型、约束模型、语义模型,并将最终生成的产品全语义模型存入虚拟装配数据库,以由虚拟装配仿真模块调用。

所述产品全语义模型交互式生成模块,其建立的产品装配语义,是对装配零部件间装配关系的抽象表达,包括了装配零部件间的约束个数和类型、约束顺序、以及工程约束和两个装配对象(零件或部件),根据功能特征将装配语义从顶层划分为螺纹联接语义、轴孔配合语义、传动语义、键槽配合语义、平面定位语义和特殊装配语义等,而每一个顶层语义根据约束特性和工程约束还可细分,其中:螺纹联接语义包括螺钉联接、螺柱联接、螺母联接以及本身螺纹联接;轴孔配合语义包括直轴装配、曲轴装配、周向导向面定位、轴向导向面定位;传动语义包括带传动、链转动、齿轮传动和凸轮传动等;特殊装配语义由用户根据具体应用,进行定义和扩充,以自定义语义的形式进行表达,如应用在发动机装配的活塞连杆总成装配语义和中心装配语义。

所述装配数据预处理模块,利用BVCD(基于层次包围盒的碰撞检测开发包)的碰撞模型生成工具,根据产品各零件的面片模型生成对应的碰撞模型,并保存入用户指定的模型目录,从虚拟装配数据库中读取产品的零件名称信息,在用户指定的模型目录下查找对应的显示模型、碰撞模型,并将查找结果存入与产品全语义模型对应的虚拟装配数据库中。

所述虚拟装配仿真模块,根据用户指定的产品从虚拟装配数据库中提取所需要的产品信息,应用图形系统建立虚拟装配场景,通过鼠标、键盘、数据手套和位姿跟踪器等控制虚拟手对零部件进行抓取、移动、释放等操作,在操作过程中,利用碰撞检测来避免穿透,调用产品全语义模型处理模块完成语义处理进行装配计算,调用装配工具管理模块进行工具的选择、定位计算与使用,处理在双手操作情况下的冲突,实现双手以及使用工具的交互式虚拟装配仿真。

所述产品全语义模型处理模块,包括:识别模块、确认和导航模块、解算模块,其中,

识别模块负责将语义映射为基本约束,并对约束进行识别,一个语义包含多个约束,将第一个约束的识别作为语义识别的基本条件,将第二个约束的识别作为语义识别的校核条件,语义只有同时满足识别的基本条件和校核条件后,语义才算识别成功,将语义的所有约束都高亮显示;

确认和导航负责在语义识别成功后对语义的第一个约束进行解算,并根据解算矩阵获取操作对象的位姿矩阵,语义确认后,根据语义的已确认约束控制操作对象在虚拟环境中的运动;

解算模块是指在语义确认后根据语义导航过程,依次对语义中可解算而未解算的约束进行自动解算。

所述装配工具管理模块,根据用户需求从装配工具数据库中提取工具信息,将工具添加虚拟装配场景中虚拟手所在的位置,通过BVCD碰撞检测包进行工具与场景中其他对象之间的碰撞检测,沿场景的垂直方向移动工具,直到工具与场景中的任何对象都不发生碰撞为止,在操作过程中,处理工具操作对象的动态交互式选择、工具与操作对象的导航式固联、工具部件及操作对象的驱动等计算,将计算结果返回虚拟装配仿真模块,协助其完成利用工具的交互式虚拟装配。

本发明工作时,各模块存在一定的依赖关系:虚拟装配数据管理模块在最顶层,管理、维护各模块产生的数据;产品全语义模型交互式生成模块通过虚拟装配数据管理模块对产品全语义模型在虚拟装配数据库进行检测、读取、写入操作;装配数据预处理模型通过虚拟装配数据管理模块在虚拟装配数据库中提取产品信息,并将预处理结束后的结果通过虚拟装配数据管理模块存入虚拟装配数据库;虚拟装配仿真模块通过虚拟装配数据管理模块从虚拟装配数据库中提取产品模型信息以及产品全语义模型进行场景初始化,然后才能进行交互式的虚拟装配;产品全语义模型处理模块是被虚拟装配仿真模块调用的,将语义的处理结果返回给虚拟装配仿真模块,并辅助其进行交互式装配操作;装配工具管理模块也是被虚拟装配仿真模块调用的,通过虚拟装配数据管理模块从虚拟装配数据库中提取工具信息,并将对工具的处理结果返回虚拟装配仿真模块,辅助其进行基于工具的交互式虚拟装配。

与现有技术相比,本发明具有以下有益效果:

(1)本发明采用全语义模型对产品进行描述,在交互操作中能够更好的捕捉用户的交互意图;(2)本发明采用基于装配语义处理的交互装配操作,使得虚拟装配过程变得更简单,操作更方便;(3)本发明实现了双手装配和利用工具的装配,使得虚拟装配操作更贴近于现实;(4)本发明建立了产品面向装配的全语义模型,使得对产品的描述更完整,为以后的装配效率计算、装配工艺规划、人机功效评价等提供了方便。

附图说明

图1为本发明的系统结构框图;

图2为本发明中产品全语义模型信息示意图;

图3为本发明中工具查找条件示意图;

图4为本发明整体工作流程图。

具体实施方式

下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1所示,本实施例包括:产品全语义模型交互式生成模块、装配数据预处理模块、虚拟装配仿真模块、产品全语义模型处理模块、装配工具管理模块、虚拟装配数据管理模块、虚拟装配数据库,其中:

产品全语义模型交互式生成模块从产品CAD装配模型中提取产品信息,交互式生成产品全语义模型,对生成的模型进行检测、修改、输入输出操作,并将生成的产品全语义模型存入虚拟装配数据库。

装配数据预处理模块负责处理产品零件的碰撞模型以及查找模型信息,从虚拟装配数据库中提取产品零件信息,在用户指定的目录下查找零件显示模型、碰撞模型,建立显示模型、碰撞模型、产品全语义模型之间的对应关系,将显示模型、碰撞模型存入与产品全语义模型对应的虚拟装配数据库中;

虚拟装配仿真模块从虚拟装配数据库中提取虚拟装配所需的数据,包括产品全语义模型、显示模型、碰撞模型,建立虚拟装配仿真场景,利用VR交互外设驱动虚拟环境中的虚拟手,并调用装配工具管理模块以及产品全语义模型处理模块,实现双手与利用工具的交互式虚拟装配;

产品全语义模型处理模块负责产品全语义模型各模型的检测,将语义映射为其包含的基本约束,按照约束进行语义识别、确认、导航与解算处理,辅助虚拟装配仿真模块进行虚拟装配,并从虚拟装配仿真模块获取抓取对象信息,处理结束后获得抓取对象的位姿矩阵,并将结果返回给虚拟装配仿真模块,以用于移动虚拟对象;

装配工具管理模块从虚拟装配数据库中提取工具信息供用户选择,用户选择工具后将工具模型、工具部件模型、工具约束模型等导入虚拟装配仿真模块的虚拟环境,并随时为工具的驱动提供计算,供用户在装配操作过程中使用;

虚拟装配数据管理模块执行数据维护任务,管理各模块与虚拟装配数据库之间的通信,以及对数据进行添加、插入、删除、检测操作;

虚拟装配数据库负责储存上述模块的中间数据信息,包括:零件碰撞模型信息、零件显示模型信息、产品全语义模型信息、工具模型信息等。

所述虚拟装配数据库,其通过ODBC(开放式数据接口)标准接口与产品全语义模型交互式生成模块、装配数据预处理模块、虚拟装配仿真模块、装配工具管理模块、虚拟装配数据管理模块相连。

所述的产品全语义模型交互式生成模块,通过图形化界面与用户交互,在三维建模软件Pro/Engineer环境下打开已完成的产品装配模型,在此环境下本模块通过交互式选择装配对象来定义对象之间的装配语义,并输入对应的参数信息,生成完整的产品信息,并输出模型文件,具体为:

在Pro/Engineer环境下打开已经装配好的产品装配模型;用户可以读入已定义好的产品全语义模型,或者根据打开的产品生成产品的零件信息、装配体信息、约束信息等;在Pro/Engineer装配树上选择互相有装配关系的两个对象,根据对象之间的约束情况在虚拟装配数据库中自动查找有可能匹配的语义,并提示用户确认语义类型;用户确认后,提示输入语义工程参数信息,如几何特征的直径、长度等,并最终生成一个完整的装配语义模型;用户定义完所有的装配语义后,本模块将生成完整的产品全语义信息,并输出为产品信息文件;用户也可以对已定义的语义信息进行查询与修改等操作。如图2所示,产品全语义模型信息包括零件模型、装配树模型、约束模型、语义模型,零件模型包括:名称、位姿、装配层次、约束元素、几何信息等信息,装配树模型包括:名称、位姿、装配层次、下属部件信息、约束信息等信息,约束模型包括:类型、状态、约束部件、约束元素信息、约束参数等信息,语义模型包括类型、状态、约束信息、关联部件、装配层次、工程参数等信息。

所述装配数据预处理模块,由用户输入碰撞检测包围盒直径,并导入零件几何模型进行计算,获取零件碰撞模型。本实施例中采用现有技术进行碰撞模型生成,并根据实际需要调整碰撞模型精度。

所述装配数据预处理模块,其生成产品的显示模型、碰撞模型、产品全语义信息的对应关系,并存入虚拟装配数据库,具体为:首先根据产品全语义信息中的零件模型信息获取所有零件的名称;然后,由用户指定模型路径,在指定的路径下查找与零件模型相同的显示模型与碰撞模型,并建立对应关系;最后,按照对应关系,将显示模型、碰撞模型、产品全语义信息存入虚拟装配数据库。

所述虚拟装配仿真模块,通过图形化界面与用户交互,用户选择产品以及产品模型放置方式、环境模型等,产品模型放置方式为:默认位姿、自动摆放、手动添加,从虚拟装配数据库中根据用户选择结果提取产品的显示模型、碰撞模型以及全语义模型,并初始化虚拟装配场景,用户通过鼠标、键盘、数据手套、FOB等外设控制虚拟场景中的虚拟手进行抓取、移动、释放等操作。在移动过程中,调用全语义模型处理模块进行语义的识别、确认、导航、解算等计算,并根据计算结果移动虚拟场景中的虚拟手与抓取对象,从而完成虚拟装配。在双手交互装配过程中,根据冲突处理原则对双手虚拟装配过程中出现的冲突进行处理,实现双手交互式装配操作。在装配过程中,用户可以调用装配工具管理模块弹出工具选择界面,用户选择工具并将工具导入虚拟场景,通过虚拟手对工具进行抓取,通过调用装配工具管理模块进行工具操作对象选择、工具与操作对象固联以及工具的操作,从而实现利用工具的交互式虚拟装配。

所述虚拟装配仿真模块,其对于双手交互操作进行冲突处理,具体为:一个对象只能被一只手抓取;任何一个语义、约束的确认意图只能由一只手来表征;右手优先准则,即优先处理右手的操作,并根据右手的处理结果更新左手以及抓取对象的状态,然后再处理左手动作。在具体实现中,采用优先处理右手操作,再处理左手操作的方法。

所述产品全语义模型处理模块,包括:识别模块、确认和导航模块、解算模块,其中,

语义识别模块对互相靠近的两个对象之间的装配语义进行匹配检测,然后对满足匹配检测的对象进行识别校验检测,只有通过上述两个检测的对象才能进行装配。匹配检测是指:搜索两个对象所包含的语义,查找其中互相匹配的语义。这里互相匹配的语义是指语义关联对象、约束数目、约束类型、约束顺序、约束参数完全一致,工程约束参数互相匹配的语义。只要至少查找到一个互相匹配的语义,这两个对象就可以相互装配。识别校验是指:在语义完全匹配后对装配元件的姿态进行校验。具体实现中,只需检测语义的所有约束是否都满足识别条件(约束元素距离较近,且方向一致)即可;

确认和导航模块负责检测已识别的语义的第一个约束是否满足解算条件,对满足解算条件的语义进行解算,获取抓取对象位姿矩阵;将约束状态设置为已解算,语义状态设置为已确认,并向虚拟装配仿真模块返回位姿矩阵;进行语义导航时,获取语义下属全部已解算约束,并用自由度表示,对自由度进行规约,获取总的自由度;将抓取对象的位姿增量向自由度方向上投影,根据投影计算自由度方向上的位姿增量,并获得操作对象位姿矩阵,将矩阵返回给虚拟装配仿真模块。具体实现上,约束的自由度表示方法以及自由度规约均采用现有技术进行。

解算模块按照语义所包含的约束顺序依次进行约束的解算,直到所有约束解算完为止。具体为:获取语义中的第一个未解算约束;检测该约束元素的距离是否小于设定的较小距离,是则进行约束解算;获取解算矩阵,并获取抓取对象的位姿矩阵,将该矩阵返回给虚拟装配仿真模块。重复上述过程直到语义的所有约束都解算完为止。

所述装配工具管理模块,用户在虚拟装配仿真模块的仿真环境中调用装配工具管理模块,采用图形化界面与虚拟装配数据库进行交互。如图3所示,为工具在数据库中的查找条件,查找条件包括:功用类型、自动类型、工作头类型、工作头尺寸、工作头数目、工具工作空间,用户可以通过图形化界面设置这些条件,在虚拟装配数据库中查找工具。本模块查找到工具信息,将工具导入虚拟环境,并通过一定的摆放规则将工具摆放到虚拟环境中。在具体实现上,摆放规则为:将工具初始位置设置为虚拟手所在位置,工具与场景中的对象进行碰撞检测,并将工具沿场景+Z方向进行平移,直到工具不发生碰撞为止。在虚拟装配操作模块的操作过程中,虚拟手抓取工具对象,并调用装配工具管理模块对工具操作对象交互式动态选择、工具与操作对象交互式固联、工具驱动与操作对象驱动进行处理,辅助虚拟装配仿真模块进行使用工具的虚拟装配。

所述的装配工具管理模块中工具操作对象交互式动态选择,具体为:首先,进行工具碰撞检测,将与工具发生碰撞的对象作为用户选择意图;然后,对工具对象进行检测,只有未装配完,且有一个装配约束未解算的对象才可以作为工具操作对象;将工具对象添加到工具中。

所述的装配工具管理模块中工具与操作对象交互式固联,具体为:根据工具信息的约束信息,在操作对象的几何信息中查找对应的约束元素;将工具与操作对象作为互相装配的两个元件进行处理,将工具与操作对象之间的约束看作一个语义内部的约束,借用语义的确认、导航、解算等方法实现工具与操作对象之间的固联。

所述的装配工具管理模块中工具部件驱动,具体为:在工具信息中添加工具部件信息以及部件的运动信息,如运动类型(平移、旋转、边旋转边平移)、运动方向、运动参数(速度、角速度等),工具驱动时利用各个部件的运动信息对各部件驱动。

所述的装配工具管理模块中工具操作对象驱动,具体为:在工具信息中还包含工作部件信息,在工具部件驱动时获取工作部件的运动增量,同时获取操作对象的运动自由度,将运动增量向自由度方向上投影,获取自由度方向上的运动增量,根据这个运动增量驱动操作对象以及工具整体运动。

如图4所示,本实施例工作过程如下:本实施例各模块的执行存在一定的顺序关系,虚拟装配数据管理模块在最顶层,管理、维护各模块产生的数据;产品全语义模型交互式生成模块通过虚拟装配数据管理模块对产品全语义模型在虚拟装配数据库进行检测、读取、写入操作;装配数据预处理模型通过虚拟装配数据管理模块在虚拟装配数据库中提取产品信息,并将预处理结束后的结果通过虚拟装配数据管理模块存入虚拟装配数据库;虚拟装配仿真模块通过虚拟装配数据管理模块从虚拟装配数据库中提取产品模型信息以及产品全语义模型进行场景初始化,然后才能进行交互式的虚拟装配;产品全语义模型处理模块是被虚拟装配仿真模块调用的,将语义的处理结果返回给虚拟装配仿真模块,并辅助其进行交互式装配操作;装配工具管理模块也是被虚拟装配仿真模块调用的,通过虚拟装配数据管理模块从虚拟装配数据库中提取工具信息,并将对工具的处理结果返回虚拟装配仿真模块,辅助其进行基于工具的交互式虚拟装配。

实施例效果说明:

本实施例构造了产品的全语义模型,借助鼠标、键盘、数据手套、位姿跟踪器等硬件设备与虚拟环境中的虚拟手进行交互,通过对全语义模型中产品语义的识别、确认、导航、解算等的处理以及建立双手操作冲突处理方法,实现了双手徒手的自然交互式虚拟装配。本实施例建立了装配中常用的工具库,并借助语义的处理方法处理工具与操作对象之间的约束识别与固联,采用参数化方法对工具进行驱动,实现了利用工具的自然交互式虚拟装配。

本实施例在实现过程中采用良好的windows界面,实现了C++、MFC、Pro/Engineer、OpenGL Performer图形系统的集成,完成了本系统各功能模块,实现了基于语义的交互式虚拟装配,为在虚拟环境中进行工艺规划、路径与序列规划等提供了良好的工具,对知道实际装配生产线的设计有重要意义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号