![cover](https://img-blog.csdnimg.cn/5d0e35e99fa54cb792a9035770e2e0b1.gif#pic_center)
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级
(保姆级)【Labview-3D虚拟平台】在labview中实现对机械臂的仿真与控制。详细讲解父级与子级的关系和影响,以及将整个solidworks装配体导入labview并实现控制的具体步骤和过程。
🎉欢迎来到Labview专栏~Labview-3D虚拟平台(下)
- ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹
- ✨博客主页:小夏与酒的博客
- 🎈该系列文章专栏:Labview-3D虚拟平台
- 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
- 📜 欢迎大家关注! ❤️
🎉【Labview-3D虚拟平台】- 装配体、父级与子级-目录
一、前言
🥝效果展示
实现效果:
经典案例展示效果:
上述演示的VI可以通过该链接进行下载:Labview与Solidworks-机械臂的仿真与控制(包括“经典案例”和“自制案例”),
或者三连本文章联系我免费领取❤️。
🥝软件版本说明
SOLIDWORKS 2022;LabVIEW 2021。
软件 | 版本 |
---|---|
SOLIDWORKS | 2022 |
NI LabVIEW | 2021 (32位) |
LabVIEW 2021(32位)和LabVIEW 详细课程获取:三易电子工作室;也可以搜索并关注微信公众号【易小时课堂】或者【三易电子工作室】了解更多内容。
🥝前文回顾
第一篇文章(上):
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(上)在Labview中使用Solidworks的3D模型——零件模型导入
第二篇文章(中):
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(中)在Labview中使用Solidworks的3D模型——3D模型的变换操作
二、父级与子级
🍊介绍
关于父级和子级的讲解,我们通过Labview自带的vi范例来理解——太阳系三维模型:
太阳系场景图由四个对象构成:
1.太阳-顶层对象(该对象用于渲染场景,通过将其引用连入场景图控件或连入场景窗口的“场景”属性实现)。该对象仅与几何体相关联。
2. “变换对象”-该对象用于为子对象提供一组一致的变换,另外子对象还可以拥有各自独特的变换,不会影响到同辈对象,比如地球和月球都需要这样的变换。该对象是太阳对象唯一的直接子对象。
3.地球-直接继承“变换对象”,且包含地球的几何信息,以及地球本身特定的变换信息(即绕轴自转)。
4.月球-直接继承“变换对象”,且包含月球的几何信息,以及月球本身特定的变换信息,即绕地球旋转并相对于地球发生偏移(变换)。
✨在较早版本的Labview中,关于三维模型之间关系的描述为父级和子级的关系,在最近的版本中,更改为了顶层对象和子对象的关系。
关于太阳系的范例:太阳是父级,地球和月球是同级,它们两个都是太阳的子级。
如果让我来改写该vi的话,我会这么安排对应关系:
太阳是地球的父级,地球是月球的父级;地球是太阳的子级,月球是地球的子级。为了方便描述,我们把月球称为太阳的第二子级(只是为了方便我进行描述,所以起了这个称呼)。
以此类推:地球是太阳的第一子级;月球是地球的第一子级。
可以打开范例认真研究一下范例vi:
🍊父级和子级的作用与影响
🍊.1 宏观上下级关系
首先看一下对应的关系指示图:
单路支配关系:
多路支配关系:
由上图指示:
- 第一子级1和第一子级2称为 同级 ;同样,第二子级1和第二子级2也称为 同级 。
- 子级对象自身的变换操作不会影响到同级对象。
关于父级和子级的作用与相互影响:
父级处于主导地位,影响着其下的各个子级,对子级起支配作用;子级只对其下的子级起支配作用,完全不会对父级造成影响,也不会对同级造成影响。
哈哈哈!上述结论是我自己归纳总结的,如果有误或者存在不足可以在评论区中指出!
根据父级和子级的关系以及相互影响,说明我们可以通过改变父级的属性来达到改变子级属性的目的!
关于多路支配关系是如何在labview中实现的,还是参考labview自带范例vi 太阳系 :通过创建多个三维对象,并将它们按照对应关系嵌套在一起来实现多路支配:
文中关于机械臂的仿真与控制,使用的是单路支配关系。
🍊.2 内部对应参照关系
如果只是单独分析模型中的一部分,从 父级和子级的内部对应关系(一个子级和它的下一个子级的关系) 来说,这个子级可以被称为该部分的父级,而它的下一个子级可以称为它的第一子级,即对应参照关系。
注意:在该部分的理论讲解和分析中,为了方便理解原理,我使用了一些比较奇怪的专业名词,但这些不重要,重要的是理解使用原理!
三、Solidworks装配体的导出
🍍新坐标系原点的选择
✨根据我的经验和建议,新坐标系的原点一般选择在旋转轴的中心位置,如下图的标注:
当然,也可以根据实际需求选择其它位置的坐标系原点。
对于下图零件,在使用时它可以绕着A点按照轴的方向顺时针或逆时针旋转,也可以绕着B点按轴旋转,因此可以在该零件上添加三个坐标系,以方便在不同情况下的使用:
🍍新坐标系的建立方法
使用Solidworks打开零件或者装配体,看如下操作步骤:
零件:
装配体:
选择并建立好新坐标系:
注意 :在此需要特别特别注意,对于零件或者装配体新坐标系的建立,是十分繁琐但也是至关重要的一步。在Labview的显示界面中,默认Y轴指向上方(即笛卡尔坐标系,右手坐标系),所以在建立新坐标系的时候一定分析清楚几何关系和运动关系!!!
关于新坐标系的建立可以去网上搜索更加详细的介绍。
🍍零件导出选项
当新坐标系建立好之后,在导出时一定一定要选择好你需要使用的坐标系!不然将会导出默认坐标系:
当然,以上介绍的新坐标系的建立方法和零件的导出只是我常用的方法,也可以去网上搜索或学习其它更高效的方法。
四、装配体导入Labview并实现控制
🍋导入原则
为什么要提一下导入原则这个事情呢?是因为如果随意导入模型,会很难把握其中父级和子级的关系,导致控制对象出错!
导入原则:父级优先,然后依次导入其他子级。
📜从我自制的简单案例来举例:
底座是整个机械臂的父级,如果底座旋转或者平移,将会带动整个机械臂旋转或者平移;依次向上,旋转面为第一子级,支配着旋转面以上的零件进行运动,而不会影响到底座;舵机为第二子级;连接轴为第三子级…
🍋经典案例vi分析
控制机械臂的经典案例完整vi:
首先是显示界面背景颜色的设置:
按照零件之间的父级和子级关系进行导入:
下一步vi的作用是为了设置各个零件的初始位置:
重点注意:这里的初始位置,指的是该零件坐标系原点和它的父级零件坐标原点的相对位置。
当对应关系和初始位置处理完毕之后,就可以在while循环中写控制程序了。
五、参考文章
❤️感谢以下大佬的资料分享!
机械类——Labview 调用 Solidworks 模型,制作机械臂控制方式探索
订阅该系列文章专栏,不错过精彩内容~
🧸结尾
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)