智能仓储数字孪生Demo(Unity实现)
一、项目背景与行业痛点
医药流通行业仓储管理面临三大核心挑战:
- 合规性风险:GSP(药品经营质量管理规范)对温湿度、药品批次追溯的严苛要求,传统人工记录易出错
- 效率瓶颈:库区布局复杂,人工巡检耗时且无法实时反馈异常
- 决策滞后:依赖Excel报表分析库存周转率、设备运行状态,缺乏动态数据支撑
本方案基于Unity引擎构建智能仓储数字孪生系统,实现:
- 1:1还原仓储物理环境
- 实时数据驱动的虚拟仿真
- 多维度数据可视化
- 智能预警与远程控制
二、核心技术架构
1. 网页弹窗嵌入Unity-WebGL
采用HTML5+WebGL技术实现网页端集成:
- 使用
<iframe>
标签嵌入Unity构建包,实现轻量化部署 - 通过JavaScript与Unity双向通信(SendMessage/PostMessage)
- 支持移动端H5页面访问,兼容微信企业号等平台
应用场景:
- 管理层通过微信小程序实时查看库区状态
- 质检员在PC端网页操作虚拟设备进行故障模拟
2. URP水资源效果
基于URP管线实现高精度水体仿真:
- 使用ShaderGraph制作风格化水着色器
- 配置水下焦散效果增强真实感
- 支持水位高度与水流速度的实时数据驱动
医药场景适配:
- 模拟冷库冷凝水系统运行状态
- 可视化显示消防水池水位变化
3. 播放监控视频
集成Unity VideoPlayer组件:
- 支持RTSP协议实时拉取监控流
- 实现多画面分屏显示(支持1/4/9宫格)
- 视频画面可投射到3D模型表面
医药场景优化:
- 药品分拣区摄像头画面实时显示在虚拟货架上
- 结合WebSocket实现视频流与温湿度数据的联动
4. 数字漫游
基于NavMesh实现智能导航:
- 支持第一人称/第三人称视角切换
- 自动生成巡检路径并实时导航
- 漫游过程中自动触发设备信息弹窗
医药场景增强:
- 模拟药品从入库到出库的全流程路径
- 异常区域自动触发语音提示
5. 动态加载AB包资源
采用AssetBundle实现资源管理:
- 按库区(冷藏区/常温区/分拣区)分包
- 异步加载减少内存峰值
- 支持资源热更新
医药场景实践:
- 动态加载不同药品批次的3D模型
- 根据实时温湿度切换货架材质(正常/报警状态)
6. 图表插件XCharts
集成XCharts实现数据可视化:
- 支持折线图/柱状图/饼图等12种图表类型
- 实时更新库存周转率、温湿度趋势
- 支持数据下钻与联动分析
医药场景案例:
- 温湿度历史数据对比分析
- 药品效期预警热力图
7. WebSocket通信
采用WebSocketSharp实现实时数据交互:
- 建立与WMS系统的持久化连接
- 接收温湿度、设备状态等数据
- 发送控制指令(如调节空调温度)
医药场景协议设计:
{"type": "temperature","timestamp": 1629876543,"value": 2.5,"area": "A-001","status": "normal"
}
8. 高亮插件
使用HighlightingSystem实现交互反馈:
- 射线检测实现物体选中高亮
- 支持材质/颜色/粒子特效高亮
- 可自定义高亮触发条件
医药场景应用:
- 扫描药品二维码时高亮对应货架
- 温湿度超标时货架边缘闪烁红光
9. 黑屏过渡
通过Camera特效实现场景切换:
- 自定义过渡动画(淡入淡出/缩放)
- 支持多场景无缝切换
- 可嵌入加载进度条
医药场景优化:
- 从库区漫游切换到设备维修界面的过渡动画
- 报警发生时黑屏弹出紧急处理窗口
10. 小地图大地图
采用双摄像机实现多维度展示:
- 小地图显示全局布局,大地图展示局部细节
- 支持点击小地图跳转至对应位置
- 动态标记异常区域
医药场景案例:
- 小地图显示库区分布,大地图聚焦异常货架
- 点击小地图快速定位到药品分拣机器人
11. URP日照天气仿真系统
集成UniStorm插件实现环境模拟:
- 支持实时天气变化(晴天/雨天/雾天)
- 动态调整光照强度与色温
- 模拟极端天气对仓储环境的影响
医药场景价值:
- 分析高温天气对药品存储的影响
- 评估冷库设备在暴雨中的运行风险
12. Unity编辑器中文输入法问题
通过以下方案解决:
- 切换编辑器布局(Window > Layouts > Default)
- 使用Xamarin Studio替代Monodevelop
- 修改Input System设置
开发效率提升:
- 减少因输入法问题导致的开发中断
- 支持中文注释与变量命名
三、办公工具换代方案
1. 数据处理工具
传统工具 | 数字孪生工具 | 效率提升 |
---|---|---|
Excel | XCharts | 实时更新,支持下钻分析 |
Word | Unity文档系统 | 3D场景标注,版本管理 |
邮件/电话 | WebSocket消息推送 | 秒级响应,支持移动端 |
2. 巡检工具
传统方式 | 数字孪生方案 | 价值体现 |
---|---|---|
人工巡检 | 数字漫游+自动预警 | 减少80%巡检时间 |
纸质记录 | 实时数据看板 | 错误率降低95% |
对讲机沟通 | 虚拟会议系统 | 跨区域协作效率提升 |
3. 决策支持工具
传统方式 | 数字孪生方案 | 决策优化 |
---|---|---|
历史报表 | 实时仿真预测 | 提前72小时预警 |
经验判断 | AI趋势分析 | 库存周转率提升20% |
现场会议 | 虚拟沙盘推演 | 方案评估效率提升50% |
四、办公技能重构路径
1. 基础操作培训(1周)
- Unity基础界面操作
- 数字孪生场景漫游
- 数据看板基础配置
2. 专业技能提升(2周)
- 3D模型导入与优化
- 数据可视化配置(XCharts)
- WebSocket通信基础
3. 场景化实训(3周)
- 库区数字孪生搭建
- 温湿度报警逻辑开发
- 移动端应用部署
4. 高级能力培养(4周)
- 自定义Shader开发
- AI预测模型集成
- 跨系统数据对接
五、实施路线图
阶段 | 时间 | 关键交付物 |
---|---|---|
需求分析 | 2周 | 仓储现状调研报告、功能清单 |
原型开发 | 4周 | 核心功能DEMO、数据接口文档 |
系统集成 | 6周 | 与WMS/TMS系统对接、测试报告 |
上线试运行 | 1周 | 用户培训手册、应急预案 |
优化迭代 | 持续 | 季度功能升级、性能监控报告 |
六、行业价值分析
1. 合规性保障
- 温湿度数据自动记录(GSP要求)
- 药品批次全链路追溯(UDI标准)
- 设备运行日志可审计
2. 效率提升
- 异常响应时间从小时级缩短至秒级
- 库存盘点效率提升300%
- 新员工培训周期减少50%
3. 成本节约
- 人力成本降低40%
- 药品损耗率下降15%
- 设备维护成本减少25%
七、总结与展望
本方案通过Unity数字孪生技术,构建了医药流通行业仓储管理的"虚拟镜像",实现了:
- 物理世界与数字世界的实时映射
- 数据驱动的智能决策
- 跨部门协作的无缝衔接
未来发展方向:
- 集成AR眼镜实现"虚实融合"巡检
- 接入AI算法预测药品需求波动
- 构建行业级数字孪生平台生态
相关文章:
智能仓储数字孪生Demo(Unity实现)
一、项目背景与行业痛点 医药流通行业仓储管理面临三大核心挑战: 合规性风险:GSP(药品经营质量管理规范)对温湿度、药品批次追溯的严苛要求,传统人工记录易出错效率瓶颈:库区布局复杂,人工巡检…...
Qt上hook钩子的使用,监测键盘和鼠标。
演示平台:windows。 编译环境:Qt5.12.2 MinGW 64-bit Windows API: ///加载钩子 /*** SetWindowsHookEx 函数解释* int idHook 所监控的挂钩类型* HOOKPROC lpfn 监控信息的处理函数* HINSTANCEhMod 监控信息的动态链接位置 nullptr则与本线…...
Android12源码编译之预置Android Studio项目Android.mk文件编写
1、在AndroidManifest.xml文件中添加package"com.sprd.silentinstalldemo"属性,因为新版本的Android Studio默认生成的AndroidManifest.xml是没有这个属性值的 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:an…...
微服务注册中心选择指南:Eureka vs Consul vs Zookeeper vs Nacos
文章目录 引言微服务注册中心概述什么是服务注册与发现选择注册中心的标准 常见的微服务注册中心1. Eureka1.1 理论基础1.2 特点1.3 示例代码 2. Consul2.1 理论基础2.2 特点2.3 示例代码 3. Zookeeper3.1 理论基础3.2 特点3.3 示例代码 4. Nacos4.1 理论基础4.2 特点4.3 示例代…...
pg_waldump无法定位WAL文件问题
目录 排查pg_waldump无法定位WAL文件问题的步骤1. 确认WAL文件路径配置2. 检查WAL文件名格式3. 验证文件存在性4. 检查文件权限5. 时间线历史文件检查6. 使用pg_controldata验证状态7. 尝试指定完整路径 典型错误场景及解决方案 排查pg_waldump无法定位WAL文件问题的步骤 1. 确…...
Mysql安装
Mysql安装 1. windows安装1.1 官网下载1.2 安装 1. windows安装 1.1 官网下载 官网下载 选择对于版本,然后跳转到下载页 1.2 安装...
Windows版-RabbitMQ自动化部署
一键完成Erlang环境变量配置(ERLANG_HOME系统变量) 一键完成RabbitMQ环境变量配置(RabbitMQ系统变量) 实现快速安装部署RabbitMQ PS: 需提前下载安装: - otp_win64_25.0.exe (Erlang) - rabbit…...
spring mvc的拦截器HandlerInterceptor 接口详解
HandlerInterceptor 接口详解 1. 接口方法说明 方法作用执行时机返回值/注意事项preHandle请求处理前拦截在控制器方法执行前调用返回 false 中断后续流程;返回 true 继续执行postHandle控制器方法执行后拦截在控制器方法返回结果后,视图渲染前调用无返…...
Linux平台内存泄漏检测工具介绍: ASan vs Valgrind
目录: 前言Valgrind 介绍在Ubuntu上安装Valgrind 核心主要功能Valgrind 基本用法1. --leak-checkfull2. --show-leak-kindsall3. --track-originsyes4. 其他常用选项--tool<name>--log-file<filename>-v / --verbose--error-exitcode<n> 示例命令…...
c# 数据结构 链表篇 有关单链表的一切
本人能力有限,本文仅作学习交流与参考,如有不足还请斧正 目录 0.单链表好处 0.5.单链表分类 1.无虚拟头节点情况 图示: 代码: 头插/尾插 删除 搜索 遍历全部 测试代码: 全部代码 2.有尾指针情况 尾插 全部代码 3.有虚拟头节点情况 全部代码 4.循环单链表 几个…...
二叉树层平均值:层序遍历+队列解法详解
给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,11.00000] 解释:第 0 层的平均值为 …...
解决 Docker Swarm 集群节点故障:从问题剖析到修复实战
解决 Docker Swarm 集群节点故障:从问题剖析到修复实战 在使用 Docker Swarm 构建容器编排集群时,可能会遭遇各种难题。本文将分享一次处理 Docker Swarm 集群节点故障的实战经历,涵盖问题出现的缘由、详细剖析以及完整的解决步骤࿰…...
【Java中级】11章、注解、元注解介绍、快速入门,了解java注解的基本使用方式【2】
文章内容 JDK内置的基本注释类型 Override DeprecatedSuppressWarnings 元注解 对注释进行注解 ❤️内容涉及注解的定义,快速入门,注意事项 🌈 跟着B站一位老师学习的内部类内容,现写这篇文章为学习内部类的小伙伴提供思路支持&…...
Qt中自定义插件和库(1)
Qt中自定义插件和库(1) 在Qt中自定义插件和库的方法有两种: 1.提升法。 2.自定义Qt Designer 插件法。 下面就以《Qt 5.9 C开发指南》一书中的例子来讲解。下面先讲提升法。 一、提升法 提升法(Promotion)是Qt Designer中重用自定义控件的一种方法,…...
RK3568下QT实现视频播放器
在开发多媒体应用时,视频播放器是常见的项目。QT 作为一款跨平台的 C++ 应用程序开发框架,凭借丰富的类库和工具,让开发视频播放器变得简单。本文将介绍如何使用 QT 的QMediaPlayer和QVideoWidget类,实现一个简单的视频播放器,并逐步添加打开视频、播放、暂停、停止以及进…...
Shell脚本核心要点总结
刷题: Shell脚本核心要点总结 一、Shell基础 定义:Shell是用户与内核交互的接口,本质是多个指令的集合,需遵循逻辑关系。类型: 编译型语言(如C):需编译器(如gcc…...
C++-FFmpeg-(5)-1-ffmpeg原理-ffmpeg编码接口-AVFrame-AVPacket-最简单demo
1.视频编码原理 2.FFMpeg编码接口和AVPacket结构体详解 2.1ffmpeg编码接口 -编码器上下文 2.2AVPacket结构体 2.3AVFrame结构体 3.视频播放最简单demo 3.1FFMpeg编码器获取和上下文打开 3.2视频帧创建和测试 1.视频编码原理 1.1 流程:像素格式转换-&…...
Opencv计算机视觉编程攻略-第十二节 处理视频序列
视频由一系列图像构成,这些图像称为帧,帧是以固定时间间隔获取的(称为帧速率,通常用帧/秒表示,例如大疆无人机抽取每一帧),本文将介绍如何读取、处理和存储视频序列。如果从视频序列中提取出独立…...
浮点许可优化管理软件 - 智能许可管理专家
为什么选择浮点许可优化管理软件? 在当今数字化时代,企业软件许可支出持续攀升,如何实现许可资源的最优配置成为一大挑战。浮点许可优化管理软件通过先进的算法和自动化技术,帮助企业实现许可资源的精准管理和成本优化。 革命性的智能化功能…...
Spring Boot接口返回Long类型的数据时丢失精度的全局处理
1、问题 当实体类中的字段为Long类型时,通过Ajax请求返回给前段,在js中数据会丢失精度 直接通过postman请求或通过浏览器请求,看下响应则不会丢失精度 2、处理方式 1、使用JsonSerialize注解 JsonSerialize(using ToStringSerializer.…...
量子计算入门:开启未来计算的次元之门
在科幻电影中,我们常看到“量子计算机”被描绘成无所不能的黑科技——破解密码、模拟宇宙、瞬间完成超算百年的任务。但现实中,量子计算究竟是什么?它真的能颠覆传统计算机吗? 一、从“硬币”到“薛定谔的猫”:量子世界…...
学习日志37—基于变分量子电路的量子机器学习算法综述
基于变分量子电路的量子机器学习算法综述 论文原链接参考:https://crad.ict.ac.cn/article/cstr/32373.14.issn1000-1239.202330979 这篇综述的核心内容是基于变分量子电路(VQCs)的量子机器学习算法的研究现状、应用进展以及面临的挑战和未…...
初入Web网页开发
1、网页哪些内容 1.1 三个核心文件的作用 index.html:网页的骨架,用HTML编写网页结构和内容。 script.js:网页的行为,用JavaScript实现交互功能(如按钮点击事件)。 styles.css:网页的外观&…...
Vue进行前端开发流程
一、创建vue项目 创建vue项目:先进入要操作的目录下,注意本项目是用vue2开发的。 vue create vue项目名 二、项目开发 1.创建项目结构 2.开发功能模块 主入口App.vue <template><div class"boss-app"><Header /><m…...
【深度学习:实战篇】--PyTorch+Transformer谣言检测系统
任务:构建一个多模态谣言检测模型。 数据集描述如下: 数据集包含以下模态: 谣言文本:谣言的核心文本信息。2. 配图:与谣言文本相关的图像数据;3. OCR 文本:可以通过 PaddleOCR 从配图中提取的…...
PostGreSQL/openGauss表膨胀处理
如果面试官问你,Oracle与PG/OG最大的区别是什么?你要是没回答出MVCC机制,表膨胀,那你多半挂了。 在PG/OG数据库中,命令vacuum full,插件pg_repack用于处理表膨胀,但是别高兴得太早,如…...
视频融合平台EasyCVR搭建智慧粮仓系统:为粮仓管理赋能新优势
一、项目背景 当前粮仓管理大多仍处于原始人力监管或初步信息化监管阶段。部分地区虽采用了简单的传感监测设备,仍需大量人力的配合,这不仅难以全面监控粮仓复杂的环境,还容易出现管理 “盲区”,无法实现精细化的管理。而一套先进…...
基于 Node.js 和 Spring Boot 的 RSA 加密登录实践
在当今的互联网应用开发中,用户数据的安全性至关重要。登录功能作为用户进入系统的第一道防线,其安全性更是不容忽视。本文将介绍一种基于 RSA 加密的登录方案,前端使用 Node.js 的 node-forge 库对密码进行公钥加密,后端使用 Spr…...
jupyter在Pycharm中遇到的一个问题
jupyter比较简洁,可以分块执行,下面显示结果,还能用Markdown写注释,总体来说来还是比较好用的。 但是遇到了一个奇怪的问题,从一个py文件中导入一个函数,结果输出为None。但是如果直接把这个函数的内容复制…...
十二、buildroot系统 adb登录权限设置
4.6.4、adb权限设置 android-adbd 是 ADB(Android Debug Bridge)的守护进程,允许开发者远程访问和调试设备。它通常用于 Android 设备,但在嵌入式 Linux上,也可以用来提供远程 shell、文件传输和应用调试功能。 …...
MySQL、Oracle 和 PostgreSQL 是三种主流的关系型数据库的主要原理性差异分析
MySQL、Oracle 和 PostgreSQL 是三种主流的关系型数据库,它们在底层原理和设计哲学上存在显著差异,尤其在存储引擎、事务处理、并发控制、索引结构、复制机制等方面。以下是它们的主要原理性差异分析: 1. 存储引擎与架构设计 MySQL 多存储引…...
【AI开源大模型工具链ModelEngine】【01】应用框架-源码编译运行
ModelEngine提供从数据处理、知识生成,到模型微调和部署,以及RAG(Retrieval Augmented Generation)应用开发的AI训推全流程工具链。 GitCode开源地址:https://gitcode.com/ModelEngineGitee开源地址:https…...
一文掌握 google浏览器插件爬虫 的制作
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、技术栈1. 前端技术(浏览器插件开发)2. 爬虫技术3. 后端(可选)4. 整体技术栈组成二、开发步骤1. 创建 Chrome 插件基础结构(1)`manifest.json` 配置(2)前端页面(`popup.html`)(3)前端逻辑(`popup.js`)…...
【leetcode 100】贪心Java版本
划分字母区间 题目 我的思路:第一次没有一点思路,第二次看了官网思路后,写的以下答案,没有搞明白循环遍历, //是不对的以下: class Solution {public List<Integer> partitionLabels(String s) {Li…...
Linux用Wireshark进行Thread网络抓包关键步骤
用Nordic nRF52840 Dongle作为RCP配合Wireshark进行Thread网络抓包是debug Thread网络的有效工具之一,主要流程在这里,不再赘述:官方流程 但是按官方流程会卡在一个地方,第一次费劲解决后,今天在另一台机器重新配的时…...
项目管理中客户拒绝签字验收?如何处理和预防
客户拒绝签字验收?如何处理和预防?核心在于:正面沟通、证据留存、灵活应对、合同条款明确、阶段验收机制。其中正面沟通格外关键,如果在发现客户迟迟不愿签字时能够主动沟通,了解其顾虑或不满并迅速针对性解决…...
docker 修改镜像源教程
当在拉取镜像时报以下错误时,可以通过更换镜像源解决 rootlocalhost:/etc/docker# docker pull mysql Using default tag: latest Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for …...
【JAVA】十、基础知识“类和对象”干货分享~(三)
目录 1. 封装 1.1 封装的概念 1.2 访问限定符 public(公开访问) private(私有访问) 1.3 包 1.3.1 包的概念 1.3.2 导入包中的类 1.3.3 自定义包 2. static成员 2.1 static变量(类变量) 2.1.1 sta…...
Open GL ES -> SurfaceView + 自定义EGL实现OpenGL渲染框架
SurfaceView 自定义EGL实现OpenGL渲染 在Android开发中,当需要灵活控制OpenGL渲染或在多个Surface间共享EGL上下文时,自定义EGL环境是必要的选择 核心实现流程 -------------------- -------------------- -------------------- | 1. 创建Su…...
Solidity入门实战—web3
项目介绍 在这个项目中,我们建立一个小型智能合约应用,他允许用户向合约地址捐赠,允许合约所有者从合约中提取余额;并且还设定了捐赠的金额门槛;针对直接对地址进行的捐赠行为,我们也予以记录 源代码 ht…...
Open Scene Graph动画系统
OSG 提供了强大的动画功能,支持多种动画实现方式,从简单的变换动画到复杂的骨骼动画。以下是 OSG 动画系统的全面介绍: 1. 基本动画类型 1.1 变换动画 (Transform Animation) // 创建动画路径 osg::AnimationPath* createAnimationPath(co…...
无需libpacp库,BPF指令高效捕获指定数据包
【环境】无libpacp库的Linux服务器 【要求】高效率读取数据包,并过滤指定端口和ip 目前遇到两个问题 一是手写BPF,难以兼容,有些无法正常过滤二是性能消耗问题,尽可能控制到1% 大方向:过滤数据包要在内核层处理&…...
重回全面发展亲自操刀
项目场景: 今年工作变动,优化后在一家做国有项目的私人公司安顿下来了。公司环境不如以前,但是好在瑞欣依然可以每天方便的买到。人文氛围挺好,就是工时感觉有点紧,可能长期从事产品迭代开发,一下子转变做项…...
DimensionX
旨在通过可控的视频扩散模型从单张图像生成高质量的3D和4D场景。 1. 背景与问题 3D和4D生成的目标 3D生成:从单张或多张2D图像中重建出三维场景或物体,包含空间信息(长、宽、高)。4D生成:在3D的基础上加入时间维度&a…...
2025年04月08日Github流行趋势
项目名称:markitdown 项目地址url:https://github.com/microsoft/markitdown项目语言:Python历史star数:44895今日star数:1039项目维护者:afourney, gagb, sugatoray, PetrAPConsulting, l-lumin项目简介&a…...
数据结构与算法-数学-容斥原理,高斯消元解线性方程组
容斥原理 容斥原理用于计算多个集合的并集元素个数,公式为 ∣A1∪A2∪⋯∪An∣∑i1n∣Ai∣−∑1≤i<j≤n∣Ai∩Aj∣∑1≤i<j<k≤n∣Ai∩Aj∩Ak∣−⋯(−1)n−1∣A1∩A2∩⋯∩An∣ 举一个例题: 给定一个整数 nn 和 mm 个不同的质数 p1,p2,…,p…...
告别运动控制不同步:某车企用异构PLC实现99.98%焊接合格率
在长三角某新能源汽车电池工厂,工程师们正面临棘手的生产难题:随着产线速度提升到每分钟12个电芯,原有PLC系统开始频繁出现运动控制不同步现象。这直接导致极片焊接合格率从99.2%骤降至94.7%,每条产线日均损失超23万元。这个场景折…...
BetaFlight参数配置解读
BetaFlight参数配置解读 📌相关篇《Betaflight固件编译和烧录说明》🥕各型号已编译好的配置文件资源(.config):https://github.com/betaflight/unified-targets/tree/master/configs/default🌿各型号配置头…...
PowerBI累计分析
累计分析 累计分析主要有三种:年初至今(YTD)、季初至今(QTD)、月初至今(MTD)。DAX中计算累计的函数有两类:一类是datesytd、datesqtd、datesmtd,该类返回一个单列日期表…...
最新 OpenHarmony 系统一二级目录整理
我们在学习 OpenHarmony 的时候,如果对系统的目录结构了解,那么无疑会提升自己对 OpenHarmony 更深层次的认识。 于是就有了今天的整理。 首先在此之前,我们要获取源码 获取源码的方式 OpenHarmony 主干代码获取 方式一(推荐&am…...