[发明专利]一种可重构的虚拟图形建模方法在审
申请号: | 201811494764.5 | 申请日: | 2018-12-07 |
公开(公告)号: | CN109366489A | 公开(公告)日: | 2019-02-22 |
发明(设计)人: | 蒋再男;刘大翔;李重阳;刘宏 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | B25J9/16 | 分类号: | B25J9/16 |
代理公司: | 哈尔滨市阳光惠远知识产权代理有限公司 23211 | 代理人: | 孙莉莉 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 机械臂 图形场景 建模 虚拟图形 可重构 源代码 动态内存分配 仿真平台 几何变换 删除 场景 移动 创建 应用 | ||
1.一种可重构的虚拟图形建模方法,其特征在于:包括以下步骤:
步骤一:对机械臂进行建模,将机械臂模型导入到机械臂工作的图形场景中,并在所述图形场景中基于Open Inventor建立机械臂节点的连接;
步骤二:建立机械臂模型和图形场景所用的坐标系;
步骤三:基于vector进行动态内存分配以实现模型的添加与删除以及通过定义几何变换节点进行模型的移动。
2.根据权利要求1所述的方法,其特征在于:所述并在所述图形场景中基于OpenInventor建立机械臂节点的连接,具体为:组合体主体位置的机械臂大臂肩部末端执行器首先与组合体模型主体上的机械臂适配器相连,然后依次为:大臂肩部回转关节、大臂肩部偏航关节、大臂肩部俯仰关节、大臂肘部俯仰关节、大臂腕部俯仰关节、大臂腕部偏航关节、大臂腕部回转关节和大臂腕部末端执行器;在与其他位置辅助用的机械臂小臂连接时,需要通过一个转接件将大臂腕部末端执行器和小臂肩部末端执行器相连,然后依次为:小臂肩部回转关节、小臂肩部偏航关节、小臂肩部俯仰关节、小臂肘部俯仰关节、小臂腕部俯仰关节、小臂腕部偏航关节、小臂腕部回转关节和小臂腕部末端执行器;连接操作使用addChild()命令完成。
3.根据权利要求2所述的方法,其特征在于:图形场景中的模型是在三维建模软件Creo中绘制,在Creo中绘制模型时的坐标系等同于Inventor中的世界坐标系;图形场景中的模型包括机械臂和其他组合体,在组合体模型中选择连接机械臂大臂的部分模型作为整体的核心部分,即把所有其他组合体看作都是在核心部分的基础上扩展出来的,同时在组合体核心位置定义本体坐标系;模型核心部分的象限定义为沿组合体的纵向几何轴向前看,按顺时针方向依次为I、II、III、IV,象限间隔90°,I象限线对地;模型核心部分几何坐标系原点O0d定义在核心模型上将要执行添加的连接端面中心点上,定义O0dX0d轴沿组合体纵轴,正方向根据实际需要选定,O0dZ0d轴指向核心模型IV象限线,O0dY0d轴垂直于O0dX0d、O0dZ0d轴,指向核心部分的III象限线,
4.根据权利要求3所述的方法,其特征在于:所述基于vector进行动态内存分配以实现模型的添加与删除,具体为:定义读取模型Inventor文件返回的隔离节点为a节点,读取的所述模型的属性描述放入一个隔离节点,该隔离节点称之为b节点;
当需要添加模型时,选择模型iv文件,并将其加入a节点,将a节点及其描述放入b节点,将b节点放入可动态分配内存的空间,即vector容器,将b节点添加到图形场景根节点;
当需要删除模型时,选用removeChild()移除相应节点。
5.根据权利要求4所述的方法,其特征在于:所述vector容器存放SoSeparator指针。
6.根据权利要求5所述的方法,其特征在于:所述通过定义几何变换节点进行模型的移动,具体为:为模型定义几何变换节点,如下:
SoTransform*testTranslation=new SoTransform;
testTranslation→translation.setValue(x,y,z);
SoTransform*testRotationX=new SoTransform;
testRotationX→rotation.setValue(SbVec3f(1,0,0),alpha*JTOH);
SoTransform*testRotationY=new SoTransform;
testRotationY→rotation.setValue(SbVec3f(0,1,0),beta*JTOH);
SoTransform*testRotationZ=new SoTransform;
testRotationZ→rotation.setValue(SbVec3f(0,0,1),gamma*JTOH);
其中x、y、z表示模型沿世界坐标系的OX、OY和OZ轴的位移,alpha、beta、gamma表示模型绕其自身的局部坐标系的O’X’、O’Y’和O’Z’轴旋转的角度;
几何变换的变换矩阵如式(1)~(4)所示,其中Tran(x,y,z)是平移变换矩阵,所述平移变换矩阵为绝对变换;R(x,α)、R(y,β)、R(z,γ)是旋转变换矩阵,所述旋转变换矩阵是相对变换;
式中c、s是cos和sin的缩写形式,α、β和γ指的是绕x,y,z轴的转角;
将所述几何变换节点作为模型的描述,同读取模型Inventor文件后返回的a节点一起放入b节点中,为了使几何变换作用到a节点中的模型上,需要按照从上到下、从左到右的顺序添加节点;进行移动操作时,直接在软件窗口选择模型中的移动命令,然后在弹出的“移动模型”对话框中选择要移动的场景中的模型序号,所述序号是在将b节点装入vector容器中的时候确定的;之后根据实际需要,设置几何变换的x、y、z、alpha、beta、gamma的数值;最后选择对应的移动命令,即可将模型移动到期望的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811494764.5/1.html,转载请声明来源钻瓜专利网。