一种基于虚拟现实的汽车起重机吊装仿真方法

文档序号:6365105阅读:214来源:国知局
专利名称:一种基于虚拟现实的汽车起重机吊装仿真方法
技术领域
本发明涉及一种基于虚拟现实的汽车起重机吊装仿真方法。
背景技术
随着我国综合国力的增强,工业规模正在向特大型化发展,新的模块式建设和整体式装配等建设模式的发展,促使了吊装行业中吊装设备数量与组件重量的增大,吊装距离增加,必将对吊装行业提出更高要求,为了能够适应更加复杂的工作环境,安全顺利地进行吊装作业,并且合理统筹安排起重机资源,各建设公司对吊装方案设计的精确性、合理性、高效性和可靠性都提出了更高的要求。因此,为了在保证安全的前提下大大降低吊装作业的工作量和成本,制定安全、可靠、合理、高效的吊装方案就显得尤为重要。目前,我国吊装方案的制定主要是以人工方式进行,由于吊装方案制定非常复杂,往往难以兼顾高效和安全,且方案制定后只能通过手工计算和经验来分析方案实施的可行性和效果,这种分析方法存在很大的误差,同时也很难预知吊装方案实施的效果,从而严重影响到吊装作业的效率、成本及安全性等。所以,吊装行业迫切需要一套三维模拟的仿真方法。

发明内容
本发明所要解决的技术问题是提供一种基于虚拟现实的汽车起重机吊装仿真方法,该基于虚拟现实的汽车起重机吊装仿真方法易于实施、能准确地模拟起重机吊装作业过程。发明的技术解决方案如下一种基于虚拟现实的汽车起重机吊装仿真方法,包括以下步骤步骤I :新建工程并为新工程设定一个工程名;步骤2 :建立起重机模型;步骤3 :添加吊装物和障碍物;步骤4 :设置吊装目标点;步骤5:通过键盘操作来实现吊装模拟操作,直到吊装物到达吊装目标点到达目的点会有提示,会在工作参数显示(就是屏幕的左上部分),然后字体是红色的,误差跟挠度的精度有关,竖直方向上的误差是O到+0. 3米,水平方向的误差是O到O. I米,吊装结束,保存从吊装起始点到吊装目标点的操作过程。步骤2中,通过自定义配置模式建立起重机模型设定以下参数倍率、配重、回转角度、起重机支腿跨距、副臂角度、副臂臂长、第二节至第六节臂伸出比例、起重机主臂臂长、起重机幅度幅度是指起重机的作业半径,比如说幅度是10米,那么就是说吊装物离起重机中心最远的距离就是10米,如果多了,就会倾覆。;并根据以上设定的参数建立起重机模型。步骤2中,采用基于工况查询并添加的模式建立起重机模型根据操作者设定的、工况查询条件,在起重机工况表中进行查询,以获取符合条件的工况,通过工况建立起重机模型。工况表储存着以下信息在相应幅度、相应配重、相应臂长的情况下,能最大吊多重的物体。步骤3中,添加吊装物或障碍物的实现方法为利用VC调用OpenGL的函数进行绘制;对于简单吊装物或简单障碍物,吊装物或障碍物模型的数据直接存在绘制函数中,在绘制时调用绘制函数直接读取数据完成绘制。或者,对于复杂的吊装物或障碍物,吊装物或障碍物模型的数据从外文件读入先通过pro/e软件进行绘制出吊装物或障碍物模型,然后将模型保存为cpp格式文件(cpp格式文件存的就是吊装物或障碍物模型的数据),设置吊装物或障碍物的参数参数是在之后设置,cpp文件的数据是原始数据,这些参数就是对这些数据进行操作,打个比方啊,比如说设置大小是2,那就是原始大小的2倍,然后利用VC读取cpp格式文件,调用OpenGL函数在场景中进行重绘,完成吊装物或障碍物绘制。吊装物和障碍物模型建立方法是一样的,但是添加到场景中不一样,障碍物是添加到场景这个主节点中,而吊装物是添加到吊钩的子节点中,将各个障碍物模型节点作为 场景总根节点下独立的子节点,各自的驱动互不干扰,利用glTranlate函数实现对障碍物进行各个方向上的平移。OpenGL函数的最终目的就是为了进行重绘,对于复杂障碍物和复杂吊装物,将cpp文件的数据读进来然后进行重绘,简单障碍物和吊装物不用读cpp文件数据,它们的数据直接在绘制函数里面加就行了,不用读外部文件。步骤2中,根据设定的参数建立起重机模型的过程为将预设机型起重机三维模型文件.prt文件原本数据格式是prt的,vc不能直接使用,需要进行转化后才能使用包络后保存成.CPP文件,此.cpp文件中包含了 5方面的数据,face_indicies> material_ref> materials、normalst 和 vertices 共 5 部分,将这5部分数据分别存入5个txt文件中,分别为face_indicies. txt、material_ref. txt、materials, txt、normals, txt 和 vertices, txt ;其中(l)face_indicies. txt中存储的是起重机的各部分数据索引信息,指向顶点三维空间坐标数据起重机模型导出来的数据是由很多个三角形构成的,这个顶点的意思就是三角形的三个顶点,包括底盘、4个支腿、转台、主臂和副臂的对应数据;(2)material_ref. txt储存材质的索引信息,用来指向材质数据信息;face_indicies. txt是储存材质的位置,材质信息放在一个大的数组里面,比如说顶点5的材质信息在这个数组的第10个位置,那么face_indicies. txt里面就会存着一个指针指向材质信息中的10号位置。(3)materials. txt储存有材质信息,材质在本软件中就包含颜色信息,比如说如果没有材质信息,画出的一个长方体就是没有颜色的,比如加了红色的材质信息,长方体画出来后就会是红色;(4)normals, txt储存的是顶点起重机模型导出来的数据是由很多个三角形构成的,这个顶点的意思就是三角形的三个顶点的法线信息,vert ices, txt储存的是顶点数据信息数据为三维空间坐标数据;然后将这5个txt文件放到步骤I新建的工程所在目录下;然后,为起重机模型的底盘、油缸、支腿、转台、主臂、副臂和吊钩建立GraphicalObject类,在GraphicalObject: : draw ()函数中访问上述5个txt文件,获取起重机模型每部分的数据,利用 OpenGL 中的 glBegin (GL_TRIANGLES)、glEnd()、glNormal3f、glTexC00rd2f和glVerteX3f函数将获得的数据进行操作;其次,设置起重机模型各部分节点从属信息从属信息就是指节点的顺序,比如说,创建了两个节点A和B,其中A节点是B节点的从属节点。设置从属信息就是把A节点利用一个函数设置成B节点的子节点,按照各节点的从属关系进行设置每个节点这个是OpenGL里面的一个东西,相当链条中的一环,整个节点的信息通过设置从属关系后连起来就是相当于一个链条。包含两部分,一部分是它的子节点,另外一部分是它的形体节点,形体节点用来完成这个节点所代表的起重机模型各部分的实际绘制工作;子节点也是节点,它包含的信息就是节点需要包含的信息。所有的节点信息设置完成后,进行函数绘制VC从最上面的节点开始搜索,搜索到一个组节点,就找出它的形体节点,然后从形体节点找到与之匹配的Gr ap h i c a I Ob j e c t类,利用GraphicalObject的draw函数进行实体的绘制;当完成所有节点的绘图,则起重机的完整图形被绘制出来并显示在场景中。在步骤5中,考虑在吊装物影响下起重机的吊臂中每一节臂的挠度及转角,即将该计算得到的挠度及转角加载到建立的起重机模型中;并利用求得的每节臂的转角,驱动所建起重机模型中与转角对应的每节臂,每节臂的子节点产生联动,并在图形界面中实时显示整个吊臂的挠度形变量。所述的挠度计算方法如下起重机的吊臂第i节臂的挠度
权利要求
1.一种基于虚拟现实的汽车起重机吊装仿真方法,其特征在于,包括以下步骤 步骤I:新建工程并为新工程设定一个工程名; 步骤2 :建立起重机模型; 步骤3:添加吊装物和障碍物; 步骤4:设置吊装目标点; 步骤5 :通过键盘操作来实现吊装模拟操作,直到吊装物到达吊装目标点,吊装结束,保存从吊装起始点到吊装目标点的操作过程。
2.根据权利要求I所述的基于虚拟现实的汽车起重机吊装仿真方法,其特征在于,步骤2中,通过自定义配置模式建立起重机模型 设定以下参数倍率、配重、回转角度、起重机支腿跨距、副臂角度、副臂臂长、第二节至第六节臂伸出比例、起重机主臂臂长、起重机幅度;并根据以上设定的参数建立起重机模型。
3.根据权利要求I所述的基于虚拟现实的汽车起重机吊装仿真方法,其特征在于,步骤2中,采用基于工况查询并添加的模式建立起重机模型根据操作者设定的工况查询条件,在起重机工况表中进行查询,以获取符合条件的工况,通过工况建立起重机模型。
4.根据权利要求I所述的基于虚拟现实的汽车起重机吊装仿真方法,其特征在于,步骤3中,添加吊装物或障碍物的实现方法为利用VC调用OpenGL的函数进行绘制;吊装物或障碍物模型的数据直接存在绘制函数中,在绘制时调用绘制函数直接读取数据完成绘制; 或者,吊装物或障碍物模型的数据从外文件读入先通过pro/e软件进行绘制出吊装物或障碍物模型,然后将模型保存为cpp格式文件,设置吊装物或障碍物的参数,然后利用VC读取cpp格式文件,调用OpenGL函数在场景中进行重绘,完成吊装物或障碍物绘制。
5.根据权利要求2所述的基于虚拟现实的汽车起重机吊装仿真方法,其特征在于,步骤2中,根据设定的参数建立起重机模型的过程为 将预设机型起重机三维模型文件 prt文件包络后保存成 cpp文件,此 cpp文件中包含了 5 方面的数据,face_indicies>material_ref>materials>normalst 和 vertices 共 5部分,将这5部分数据分别存入5个txt文件中,分别为face_indicies. txt、material—ref. txt、materials, txt、normals, txt 和 vertices, txt ;其中 (1)face_indicies.txt中存储的是起重机的各部分数据索引信息,指向顶点三维空间坐标数据,包括底盘、4个支腿、转台、主臂和副臂的对应数据; (2)material_ref.txt储存材质的索引信息,用来指向材质数据信息; (3)materials,txt储存有材质信息; (4)normals,txt储存的是顶点的法线信息,vertices, txt储存的是顶点数据信息; 然后将这5个txt文件放到步骤I新建的工程所在目录下; 然后,为起重机模型的底盘、油缸、支腿、转台、主臂、副臂和吊钩建立GraphicalObject类,在GraphicalObject: : draw ()函数中访问上述5个txt文件,获取起重机模型每部分的数据,利用 OpenGL 中的 glBegin (GL_TRIANGLES)、glEnd ()、glNormal3f > glTexCoord2f 和glVertex3f函数将获得的数据进行操作;其次,设置起重机模型各部分节点从属信息,按照各节点的从属关系进行设置每个节点包含两部分,一部分是它的子节点,另外一部分是它的形体节点,形体节点用 来完成这个节点所代表的起重机模型各部分的实际绘制工作;所有的节点信息设置完成后,进行函数绘制VC从最上面的节点开始搜索,捜索到一 个组节点,就找出它的形体节点,然后从形体节点找到与之匹配的Gr aph i ca I Ob j e c t类,利 用GraphicalObject的draw函数进行实体的绘制;当完成所有节点的绘图,则起重机的完 整图形被绘制出来并显示在场景中。
6.根据权利要求1-5任一项所述的基于虚拟现实的汽车起重机吊装仿真方法,其特征 在于,在步骤5中,考虑在吊装物影响下起重机的吊臂中每ー节臂的挠度及转角,即将该计 算得到的挠度及转角加载到建立的起重机模型中;并利用求得的每节臂的转角,驱动所建 起重机模型中与转角对应的每节臂,每节臂的子节点产生联动,并在图形界面中实时显示 整个吊臂的挠度形变量。
7.根据权利要求6任一项所述的基于虚拟现实的汽车起重机吊装仿真方法,其特征在 于,所述的挠度计算方法如下起重机的吊臂第i节臂的挠度
8.根据权利要求7任一项所述的基于虚拟现实的汽车起重机吊装仿真方法,其特 征在于,所述吊臂轴线方向的受カPy的计算方法为
全文摘要
本发明公开了一种基于虚拟现实的汽车起重机吊装仿真方法,其特征在于,包括以下步骤步骤1新建工程并为新工程设定一个工程名;步骤2建立起重机模型;步骤3添加吊装物和障碍物;步骤4设置吊装目标点;步骤5通过键盘操作来实现吊装模拟操作,直到吊装物到达吊装目标点,吊装结束,保存从吊装起始点到吊装目标点的操作过程。吊装模型的建立采用自定义配置模式或基于工况查询并添加的模式。该基于虚拟现实的汽车起重机吊装仿真方法易于实施、能准确地模拟起重机吊装作业过程。
文档编号G06F17/50GK102663196SQ20121011310
公开日2012年9月12日 申请日期2012年4月17日 优先权日2012年4月17日
发明者吴敏, 唐修俊, 安剑奇, 曹卫华, 熊永华, 王令, 龚源 申请人:中南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1