工业制造中AI与ML架构的应用及边缘计算实践
1. 工业物联网的AWS参考架构
在工业制造场景中,车间里传感器、可编程逻辑控制器(PLC)和机器的数据通过既定协议与边缘计算单元相连接。利用运行在边缘的AWS Greengrass收集遥测数据,随后使用AWS IoT Core或AWS IoT SiteWise等托管云平台将数据摄入AWS云生态系统。
- AWS IoT Core :助力边缘与云的无缝连接,为数据传输提供便捷、安全的路径。
- AWS IoT SiteWise :能以简单的方式实现物联网数据的大规模收集、建模、分析和可视化。
收集到的数据会经过Kinesis Data Streams和Data Analytics进行处理,利用Apache Flink和Beam框架进行转换和分析。处理后的结果数据会存储在Redshift服务中,用于下游的商业智能报告,同时也会存储在S3数据湖中,以便进行进一步的批量分析和推理。对于涉及机器学习(ML)的用例,边缘有EdgeML服务,云端有SageMaker,它们可以完成模型的训练、部署和运行,得出推理结果并传递给消费服务。
2. AI在智能制造中的作用
ISO/IEC 2382将人工智能(AI)定义为致力于开发数据处理系统的计算科学分支,这些系统能执行通常与人类智能相关的功能,如逻辑推理、学习和自我改进。在智能制造中,AI是创造价值的关键推动力,它能将僵化、静态和预定义的流程转变为数据驱动、需求灵活和动态适应的流程,还能通过实时的高适应性和计算能力来创造和转变产品、服务、商业模式和流程。
AI包含多个子领域,如ML、神经网络、控制论、AI问题解决和机器人流程自动化等。在工业物联网(IIoT)领域,许多AI应用不仅处于前沿,而且在快速投资回报率(ROI)和价值回报(VOI)方面展现出了商业潜力。
在当前制造业中,AI的实际应用主要体现在两个方面:
- 提高生产效率 :通过优化机器可用性、资源规划以及围绕这些进行流程编排来增加产量。
- 减少停机时间 :通过预测机器故障场景并进行预防性维护来避免停机。
3. 经典计算与ML的对比
| 计算类型 | 计算方式 | 硬件要求 | 处理过程 |
|---|---|---|---|
| 经典计算 | 计算是静态的,由人类编写代码 | 普通硬件 | 处理输入,根据预定义公式和逻辑计算输出并输出结果 |
| ML | 先使用特定算法和训练数据集训练ML模型 | 计算密集型、高性能硬件 | 用实时输入运行模型,预测输出推理结果,再用预测输出微调模型以提高准确性 |
4. 人机自主级别
人机之间的自主级别从0到5分为不同等级,具体如下:
- Level 0 :人类完全掌控,AI无控制权。
- Level 1 - 4 :随着等级提升,机器的控制权逐渐增加。
- Level 5 :机器完全接管操作,人类仅为旁观者。
但就目前技术发展和人类对计算机的信任程度而言,人类仍掌控决策,AI及时提供优化建议的辅助式AI是更合适的发展方向。
5. ML的边缘和云参考架构
以生产线末端的集成质量管理系统为例,由于该过程劳动密集,引入摄像头从多个角度流式传输成品的图像帧,并结合其他辅助传感器数据。这些数据作为数据摄入过程的一部分发送到边缘计算单元,进行预处理和验证,这三个过程合称为边缘DataOps。
数据经过处理后,作为输入提供给ML模型进行预测操作,同时数据也会流式传输到云端。边缘的ML模型利用推理服务将输出数据发布到终端用户应用程序,车间里的各种应用程序通过历史记录器、仪表盘和移动显示屏等多种终端设备来消费这些数据,用于日志记录、可视化和操作员警报等。
操作完成后,ML模型的指标会发送到云端,模型监控服务会将预测结果与实际情况进行比较。如果云端服务发现模型漂移,就会启动模型重新训练,这一系列ML操作称为MLOps。使用接收到的物联网数据重建ML模型并针对边缘进行优化,然后通过ML数据管道将新模型安全地推送到边缘并成功部署,这个过程会不断重复,直到模型针对特定用例达到优化状态。
6. 工业4.0中AI面临的常见问题及解决方案
在车间大规模采用基于AI的用例时,存在一些挑战:
- 训练数据问题 :获取大量高质量的训练数据对于许多特定应用来说是个难题。可以采用迁移学习的方法,从同一应用类别的开源预训练网络开始,然后用新数据集对其进行特定应用的再训练。
- 可解释性问题 :AI算法的输出可能对人类思维来说缺乏解释性或逻辑性,这使得解决方案的适用性和可用性受到质疑。AI应用目前还不能实现100%的覆盖,不能完全替代人类,应将其视为在涉及复杂参数计算时辅助做出数据驱动决策的工具。
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(收集传感器等数据):::process
B --> C(边缘计算单元处理):::process
C --> D{是否满足发送条件}:::decision
D -->|是| E(数据发送到云端):::process
D -->|否| C
E --> F(云端分析处理):::process
F --> G{是否需要模型更新}:::decision
G -->|是| H(模型重新训练):::process
H --> I(新模型推送到边缘):::process
I --> C
G -->|否| J([结束]):::startend
7. 边缘计算与AWS Greengrass
边缘计算并非新话题,早在20世纪90年代,就有团队致力于将内容和数据靠近终端用户,以提高速度和效率,如网页上的数据或HTML页面的边缘缓存已有20多年历史。在本文中,我们将关注点转向将计算能力靠近数据源。边缘计算在工业物联网中有诸多优势:
- 数据预处理 :避免不必要的带宽和存储成本。
- 更快的处理时间 :减少因网络延迟或带宽问题导致的处理延迟。
- 避免意外停机 :在中央处理系统或外部网络出现问题时,边缘系统可继续运行。
- 对本地事件的智能响应 :从简单的规则警报到基于条件的监控和机器学习分析。
但边缘计算也存在一些潜在劣势,如增加复杂性,可能涉及额外的硬件和软件成本,以及在将数据传输到云端时可能存在延迟问题。
8. 边缘计算的技术选择
边缘计算技术有多种形式,主要包括以下两种:
- 现成解决方案 :适用于从相似系统收集数据的情况,如从井泵或冷藏环境收集数据。这种方案通常包含一组适配器和编程或脚本语言,可设置连接并处理或转发数据到预构建的云环境,还能创建仪表盘。优点是简单,可轻松部署到多个相似地点;缺点是灵活性较差,对于不同环境可能缺乏所需的连接器或功能。
- 开放软件框架 :如AWS Greengrass,允许用户自定义构建所需的功能,甚至能实现超出预期的边缘计算能力。
9. AWS IoT Greengrass简介
AWS IoT Greengrass提供了一种全面、受支持的边缘连接和处理解决方案。它结合了可安装在Windows或Linux硬件上的运行时解决方案,以及能与边缘系统通信和监控的云服务。安装Greengrass运行时或客户端的边缘硬件被定义为AWS IoT Greengrass Core设备,该核心设备可连接本地设备,并在本地边缘硬件上运行称为组件的本地进程。
10. 安装AWS Greengrass
安装Greengrass到核心设备需要一定的注意事项,有多种安装方式,如本地安装软件、在Docker容器中运行或在Kubernetes集群中运行。本文示例是将其直接安装在小型计算机(边缘设备)上,也可使用EC2或Cloud9实例进行学习和开发。如果需要本地机器,树莓派或小型Next Unit of Computing(NUC)就足够了。
安装步骤如下:
1. 准备工作 :确保设备上安装了Java,可使用 java -version 命令检查。若未安装,可根据操作系统从设置指南中的链接获取正确的安装命令。
2. 设置设备名称和组名 :在AWS IoT服务的管理部分,选择设置一个核心设备,将默认设备名称替换为有意义的名称,如Greengrass - 103,并设置新的Thing组名,如Greengrass_Edge_Connectivity。
3. 配置AWS凭证 :定义访问AWS账户的凭证,可使用导出命令在Linux中设置环境变量。
4. 下载并安装Greengrass客户端 :运行预定义的命令下载Greengrass客户端软件并进行安装。以下是安装命令示例:
root@gg103:/greengrass# sudo -E java -Droot="/greengrass/
v2" -Dlog.store=FILE -jar ./GreengrassCore/lib/Greengrass.jar
--aws-region us-west-2 --thing-name Greengrass-103 --thing-
group-name Greengrass_Edge_Connectivity --component-default-
user ggc_user:ggc_group --provision true --setup-system-service
true --deploy-dev-tools true
安装过程会输出一系列信息,如设置IoT thing、创建证书和密钥、配置设备等。安装完成后,可看到Greengrass客户端已连接到云端并正常运行,此时可开始准备部署组件到Greengrass实例,以从本地设备收集数据。
通过以上内容,我们了解了工业制造中AI与ML架构的应用,以及边缘计算和AWS Greengrass的相关知识和实践步骤。在实际应用中,需根据具体需求和场景,综合考虑各种因素,选择合适的架构和技术方案。
11. 利用AWS Greengrass构建边缘计算场景
在安装好AWS Greengrass核心设备后,接下来要构建一个具体的场景,以实现从工厂机械收集数据的目标。我们将部署多个组件到核心设备,这些组件可以看作是部署到Greengrass核心设备上的功能,能提供一定的处理能力,还可以与外部设备(如Modbus TCP设备)进行通信或调用其他组件进行通信和处理。
以下是一个简单的步骤列表,展示如何利用Greengrass进行数据收集:
1. 选择合适的组件 :根据具体需求,从AWS IoT Greengrass提供的组件库中选择合适的组件,或者开发自定义组件。
2. 配置组件 :对所选组件进行配置,包括设置通信参数、数据处理规则等。
3. 部署组件 :将配置好的组件部署到Greengrass核心设备上。
4. 监控和管理 :通过AWS IoT Core监控组件的运行状态,进行必要的管理和调整。
12. 组件间的通信
在Greengrass核心设备上运行的组件之间需要进行有效的通信,以实现数据的传递和处理。组件间的通信可以通过AWS IoT Core的消息队列来实现,具体步骤如下:
1. 定义消息主题 :为组件之间的通信定义合适的消息主题,例如 factory/data 。
2. 发布消息 :组件可以将处理后的数据发布到指定的消息主题上。
3. 订阅消息 :其他组件可以订阅相应的消息主题,接收并处理发布的消息。
以下是一个简单的Python代码示例,展示如何在Greengrass组件中发布和订阅消息:
import greengrasssdk
# 创建Greengrass客户端
client = greengrasssdk.client('iot-data')
# 发布消息的函数
def publish_message(topic, message):
client.publish(topic=topic, payload=message)
# 订阅消息的回调函数
def subscribe_callback(client, userdata, message):
print(f"Received message on topic {message.topic}: {message.payload}")
# 订阅消息
client.subscribe(topic='factory/data', callback=subscribe_callback)
# 发布消息
publish_message('factory/data', 'Hello, Greengrass!')
13. 数据发送到云端
在边缘设备上处理和收集的数据最终需要发送到云端进行进一步的分析和存储。AWS Greengrass提供了与AWS云服务的集成能力,确保数据能够安全、高效地传输到云端。
数据发送到云端的流程如下:
1. 数据准备 :在边缘设备上对数据进行预处理,如清洗、转换等。
2. 建立连接 :通过AWS IoT Core建立边缘设备与云端的连接。
3. 数据传输 :将处理后的数据发送到云端的指定服务,如S3数据湖或Redshift。
为了更好地理解这个流程,下面是一个mermaid格式的流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([开始]):::startend --> B(数据预处理):::process
B --> C(建立与云端连接):::process
C --> D(数据传输到云端):::process
D --> E([结束]):::startend
14. 边缘计算与云服务的协同
边缘计算和云服务在工业制造中可以相互协同,发挥各自的优势。边缘计算负责在数据源附近进行实时数据处理和决策,减少网络延迟和带宽需求;云服务则提供强大的存储、计算和分析能力,用于处理大规模数据和进行复杂的模型训练。
两者协同工作的模式可以总结为以下表格:
| 功能 | 边缘计算 | 云服务 |
| ---- | ---- | ---- |
| 数据处理 | 实时预处理、过滤和聚合 | 大规模数据存储和复杂分析 |
| 决策制定 | 基于本地规则的快速决策 | 基于全局数据的长期规划 |
| 模型训练 | 简单模型的本地训练 | 复杂模型的分布式训练 |
15. 总结
本文围绕工业制造中AI与ML架构的应用以及边缘计算实践展开了详细介绍。首先探讨了工业物联网的AWS参考架构,包括数据的收集、处理和存储过程,以及AI在智能制造中的重要作用和实际应用场景。接着介绍了经典计算与ML的对比,以及人机自主级别的概念。然后以生产线末端的集成质量管理系统为例,阐述了ML的边缘和云参考架构及相关操作流程。
在边缘计算方面,分析了其优势和潜在劣势,介绍了不同的技术选择,重点讲解了AWS Greengrass的特点、安装步骤和使用方法。通过构建具体场景,展示了如何利用Greengrass进行组件部署、组件间通信以及数据发送到云端的过程。
在实际应用中,我们应根据具体需求和场景,综合考虑各种因素,选择合适的架构和技术方案。同时,要充分认识到AI和边缘计算在工业制造中的局限性,注重人机协作,以实现更高效、智能的生产过程。未来,随着技术的不断发展,工业制造领域的智能化水平将不断提升,为企业带来更大的价值。
超级会员免费看

61

被折叠的 条评论
为什么被折叠?



