前言2015年5月,国务院正式印发《中国制造2025》,部署全面推进制造强国战略实施。与之对应的,还有一个更熟悉的名字,即“工业4.0”。“工业4.0”主要分为三大主题:“智能工厂”、“智能生产”和“智能物流”。以“智能生产”为例,它充分利用物联网、云计算、人工智能等技术,将生产设备、无线信号连接、传感器集成到一个生态系统中。这个生态系统可以监控整个生产线过程并做出自主决策。本项目专注于汽车制造行业,使用HTforWeb实现汽车生产线的3D可视化。通过该项目,可以使汽车生产过程更加透明,管理更加精细化和高效化,促进汽车制造智能化。项目预览重卡装配车间:https://hightopo.com/demo2/truck/HTforWeb汽车生产线3D动画,仿真度高,根据设备实际尺寸按比例缩小,采用鸟瞰镜头、近摄镜头、跟踪摄像头等多种方式完美展示了生产线的整体、局部和过程。针对不同产线设计不同节目脚本,个性化内容定制更符合企业形象。界面加载效果预览加载动画页面初始化时将屏幕的视角放在远处,然后通过动画将视角由远到近拉到产线工位1的位置。在整个动画制作过程中,可以先预览生产线的整体情况,最后再具体到初始工位的画面。控制面板本项目分为控制面板(2D)和生产线(3D)两部分。控制面板(2D)主要包括以下几个部分:1)科技圆环:仔细看图1,在页面初始化的时候,有一个旋转90度的透明圆环。我们称之为技术环,它的主要作用是提高渲染效果。2)流量控制按钮:我们在左上角放置了几个流量控制按钮。包括运行/暂停、播放速度控制和拆分/合并按钮。它们的实现将在后面详细描述。3)背景切换按钮:本项目提供深色和浅色两种颜色选择。通过点击右上角的“切换背景”按钮,您可以在深色系和浅色系之间切换。光色系统的效果如图3所示。4)进度条:底部显示整个组装过程的进度。随着组装过程的进行,进度条会逐渐填满。图2图3实现价值HTforWeb汽车产线3D可视化解决方案,完美模拟产线工作流程,再现产线制造过程,将庞大的产线设备变成便携视频内容,以及满足随时随地展示生产线的需求使生产线展示变得更加简单,降低汽车制造企业的运营成本,使企业适应数字化时代的发展和在行业竞争中更具活力。汽车生产线3D动画可以帮助企业解决以下问题:1)设备展示不受时间和空间的限制,为异地客户提供便利,体现企业的服务意识。2)全方位无死角展示设备,客户更透彻地了解产品,成交率大大提高。3)帮助业务人员销售设备,缩短沟通时间,使业务人员更有针对性地进行销售。汽车生产线3D动画可应用于:业务人员辅助工具、网站产品宣传片、企业宣传片、设备改进、新设备上市、设备研发设计、展览展示、工艺演示、专利申请等。动画分析我们将整条卡车装配线分为12个工位,每个工位负责装配一部分零件,从而逐步实现从单个车架到整车的完整装配过程。由于项目场景复杂,使用了很多设备,如何让他们按照我们的想法来实现整个动画?几个关键点的思路如下:1.整体动画流程控制通过仔细分析,我们发现制作过程中存在大量的异步操作。座位,然后可以安装车门。由此,我们很自然地想到了javascript中与异步操作相关的两个关键字async和await。使用它们可以让我们实现对整个动画过程的精确控制。2.运行/暂停我们使用一个标志位isRunning来标识动画的运行状态。在异步运行的过程中,如果我们要实现生产流程各个阶段的“运行”/“暂停”控制功能,我们尽可能拆分每个组装步骤,然后在每个步骤执行前循环遍历isRunning判断动画的状态。具体来说,系统在执行每个操作之前等待一个Promise。在这个Promise中,检查了isRunning的状态。如果当前处于暂停状态,则通过setInterval定期检查isRunning,后续动画会在这里等待。直到系统开始运行,Promise会清除上面的周期性任务,并通过resolve()返回,让后续的动画继续执行。3.速度控制除了运行暂停,项目还提供了速度控制功能。它们分别是正常速度、2x速度和4x速度。这部分的实现原理比较简单。即你只需要在每一个动画实现的时候将运行时间乘以一个变量即可。该变量在正常操作期间为1。如果是2倍速和4倍速,数值分别对应1/2和1/4。需要注意的是,针对javascript的任务处理方式,我们切换速度后,不会影响当前正在执行的动画,后续动画会反映速度的变化。4.机械手本项目中比较复杂和经常使用的设备之一是机械手。场景中的机械臂分为不同的类型,比如有的是夹子,有的是吸盘。同时,由于每个机械手都有多个运动臂和多个运动轴,如何实现其正确联动是整个项目中一个比较复杂的问题。以图3中的机械臂3为例。以图8为例,机器人手臂的位置和角度受机器人手臂2摆动的影响。因此,要使其与机械臂2一起运动,首先需要将机械臂3连接到机械臂2上。这样,机械臂2的任何运动都会带动机械臂3做同样的运动.另外,我们观察机械臂3,它应该绕右侧和机械臂2的交界处运动。对于一个模型,在我们的场景中,它运动的参考点是它自己的锚点。因此,我们还需要将机械臂3的锚点放置在其运动轴的位置。这样调整后,如果我们任意调整机械臂3在X轴方向的运动角度,它就会绕着自己的运动轴旋转。如图9所示。图8图95.汽车零部件的装配精度对于每一个要装配的零部件,通过机械臂将其放置在一个精确的预定位置是非常困难的。任何零件装配的错位都会影响最终的展示效果。离车站越近,影响越大。以前后悬架为例。如果两者错位,后续工位贴在它们上面的其他零件(如轮胎、发动机、传动轴等)也会错位。这样最终组装好的卡车就会变形。为了解决这个问题,我们使用了两组组件。一组组件由设计师组装并调整到正确的位置。另一套分配给每个站。初始化时,组装好的零件是隐藏的,然后每个零件在动画执行过程中逐渐显露出来。这确保了最终组装卡车的部件处于正确的位置。6.拆分/合并1)确定要拆分的所有部分。2)确定各部分拆分时的平移方向。3)确定每个部件拆卸时的行进距离。对于拆分效果,应单独设置每个组件。4)确定各部分进行分裂动作的时长。这里我们统一使用500ms。以上信息确定后,点击拆分按钮时,只需要遍历各个组件,使用ht.Default.startAnim()方法即可完成拆分动画。执行合并操作时,只需要修改平移方向并重复上面的动画,其他参数不变。总结该项目以动画形式展示了卡车的典型装配过程。着重分析了动画实现过程中的几个关键点。这部动画不仅可以用在汽车生产领域,也可以用在其他行业的生产线上。作为“智能工厂”或“智能制造”领域的一部分,生产可视化在其中扮演着重要的角色。本项目所有效果均使用HT提供的api进行代码开发。感兴趣的小伙伴也可以到官网查看更多案例。2019年我们还更新了数百个工业互联网2D/3D可视化案例集,在这里你可以找到很多新奇的例子,发现不一样的工业互联网:https://mp.weixin.qq.com/s/ZbhB6LO2kBRPrRIfHlKGQA同时,还可以查看更多案例及效果:https://www.hightopo.com/demos/index.html
