• 自动化车间3D可视化设计思路


    自动化车间3D可视化设计思路

    随着国内制造业企业的高速发展,再加上政策支持,高效的生产模式和先进的管理方式越来越受到企业重视。更多的企业将工业信息化技术进行广泛的应用,比如MES系统、数字孪生以及生产管理可视化等技术的研究应用。
    近期我们团队利用自主开发的大屏编辑器与3D编辑器结合做了一个智能实验室三维可视化平台项目。
    在这个智能实验室三维可视化平台里主要支持下列功能:

    • 智能巡检
    • 设备自动告警
    • 实时视频监控
    • 实时数据的展示
    • 数据融合
    • 动画视角的自动切换
    • 任务的进度展示

    全局自动巡检可视化

    页面初始化后,画面视角自动移动开始智能巡检。通过动画和镜头拉近的配合可以看到每一个工位。

    设备可视化

    当巡检到设备点位时,通过3D技术,实现对设备结构、运行参数的可视化。无需耗费人力成本,即可获取设备运行状态,生产状态等详细信息。

    告警可视化

    设备发生故障时,除了通过三维可视化平台获取故障信息外,平台支持异常告警并及时推送告警信息,帮助操作人员迅速做出应对。也可以调用附近监控摄像机画面弹窗,检查是否现场操作不当或其它现场因素导致故障。

    任务可视化

    通过3D技术,可查看每个检测任务的进度情况,可以清晰的看出每个设备的的利用率以及设备与检测进度的关系。

    设备动画

    南瑞机械臂骨骼动画.gif
     
    中间是一个三维场景,三维场景作为iframe页面嵌入在2D大屏中,所有的通信都是通过window.postMessage机制来完成。3D部分使用我们团队自主开发的3D编辑器编辑而成,两侧是一些大屏元素,使用我们团队自主开发的大屏编辑器编辑而成。

    设计浅析

    本项目和以往的项目不同。很多项目中三位大屏可视化的交互大部分都是通过点击完成交互,比如点击2D的数据3D部分会完成镜头动画动作,或者点击3D部分的设备会有billboard弹框弹出。
    这个项目的不同点同时也是关键点就在于通过数据驱动去实现整个可视化系统的自动化。
    如何做到通过数据驱动去推动可视化系统的自动化。

    业务层面

    很重要的一点是我们要很了解项目的业务逻辑。
    首先在工序上串行还是并行,是否要按照顺序按步骤进行。比如必须是工位1完成后才能到工位2,然后工位3...依次进行。
    第二点是在是否存在回头路,也就是说一个工位在一次任务中是否会涉及到多次利用。
    第三点是数据之间的关联。这关乎于3D与2D之间在业务层面的交互是否符合真实场景。
    毕竟任何可视化产品的基本原则都是帮助用户能更清晰的观察工业流程和实现可视化管理。

    功能层面

    在弄清楚业务层面的前提下,我们就要开始设计如何实现本项目中的需求。
    我们根据CAD图纸以及视频、照片,通过建模还原实际场景。

    设备动画

    在可视化产品中,现在越来越多的需求不只是满足于还原真实场景这个层面。大家都希望看到的是动态的,最好是能还原真实动画的模型。这样在整个三维场景中会比静态的三维场景要更加逼真,还原度更高。所以我们会在模型中加入结合实际的设备骨骼动画,不同的设备结合真实场景中的设备会有其对应的部位动画。

    巡检路线设计

    实际场景还原后,根据坐标轴来设计镜头动画。我的想法是先设计一条完整的镜头动画线,这条线的路线可以看到每个工位,镜头在这条路线上来回巡检。巡检模式下的镜头角度为俯视角度,能更好的看清每个工位。

    路线切分

    因为要突出的是自动化,只有单纯的巡检还远远不够,在此基础上根据业务逻辑,可以在这条巡检动画路线上增加一些节点。这个节点就是工位节点,当到了这些节点时,我的想法是镜头动画会focus到具体的一个工位上,等于是把一条完成的路线进行切分。同时2D这边也会根据这个节点的数据驱动产生交互呈现业务需求。
    满足这两点后,一个比较基础的三维可视化自动化平台的就已经初见雏形。

    设备告警

    借来下是设计设备告警。
    由于设备告警这类事件是一个突发性的偶然事件,但同时从业务层面上来说它是一个紧急性事件。所以当推送的数据中有发生告警事件,那么它的优先级是相对于其他事件的优先级是要高的。所以当有告警事件发生时,2D部分在数据中会以数据标红呈现,3D部分会自动定位到发生告警的设备上,同时暂时停掉其他的镜头动画,开启设备工位旁的摄像头获取真实场景中的现场情况以便管理人员能及时做出决策。

    任务进度

    在以上这些的基础上,我们需要体现出每个设备在某一个任务中的进度情况。这个任务进度情况,就是上面提到的工序。每一个人任务都会有自己的工序,考虑到不同工序的问题。所以在设计这个功能需求时,我将任务中要经过的工位设备进行连线,采用流动的效果体现任务的进行。用颜色的已经亮光来表现任务的实时进度。同时同时间内不会只有一个任务在进行,这样设备的利用率太低,所以会有多个任务在进行。但是在呈现任务进度这个功能时,会根据不同的工位设备依次呈现不同的任务进度相互切换,避免3D场景眼花缭乱分辨不清。

    总结

    本次项目是一个非常好的尝试,利用数据驱动三维可视化的自动运转与交互。当然以上我分享的只是此项目中较为有代表的一部分,整个项目构成的是一个可视化管理系统,我就不展开详细讨论了。
    目前这个项目的尝试也比较成功,反馈比较好。在工业化的概念里,但凡涉及到车间、工厂、流水线、制造等诸如此类的可视化系统,都是可以用这样的设计逻辑去设计和开发。
     
    如果大家有好的想法,可以微信:541002349 讨论。也可以关注公众号“ITman彪叔”收取更多消息。

  • 相关阅读:
    手机游戏开发中如何选择适合的纹理格式
    站在巨具的肩膀上:使用现有工具搭建自己的工作流
    游戏引擎不仅是代码,更多的是完善的工具
    Android下/data/data/<package_name>/files读写权限
    Unity3D中灵活绘制进度条
    为什么X86汇编中的mov指令不支持内存到内存的寻址?
    【吐血推荐】简要分析unity3d中剪不断理还乱的yield
    解释型语言和编译型语言如何交互?以lua和c为例
    char,wchar_t,WCHAR,TCHAR,ACHAR的区别----LPCTSTR
    游戏关卡是酱紫加载的,你造吗?
  • 原文地址:https://www.cnblogs.com/flyfox1982/p/14005574.html
Copyright © 2020-2023  润新知