当前位置: 首页 > article >正文

基于九轴传感器 + K-means 聚类的振动异常检测实战教程

嵌入式 / 工业监测场景设备振动、电机故障、结构松动、碰撞异常实时检测一、前言你能学到什么这篇文章不讲虚的直接带你做一个工业级轻量异常检测系统用LSM6DS3TR-C6 轴 磁力计 九轴传感器采集振动数据用K-means 无监督聚类算法做异常侦测全程不需要标签、不需要深度学习、单片机可跑原理 代码 工程思路 一次性讲透适合设备监测、预测性维护、物联网边缘计算、嵌入式 AI 入门。二、系统整体原理一句话讲清楚核心逻辑正常设备振动 稳定、规律、特征集中异常振动 剧烈、突变、偏离正常模式K-means 任务学习正常振动的 “特征分布”把偏离分布的数据判定为异常。为什么用 K-means无监督只需要正常数据不需要异常样本超轻量可跑在 STM32 / ESP32 上可解释性强靠距离判断异常工业界最常用的传统异常检测算法三、硬件与数据基础1. 九轴传感器组成你用的LSM6DS3TR-C是加速度计 ACCX/Y/Z→振动核心数据陀螺仪 GYROX/Y/Z→ 角速度 / 抖动外加磁力计 MAGX/Y/Z→ 9 轴振动检测主要依赖加速度计ACC2. 振动数据是什么设备运行时三轴加速度会周期性小幅波动正常波动小、稳定异常波动大、突变、冲击、噪声原始数据是时序信号不能直接喂 K-means必须提取特征。四、核心原理为什么 K-means 能检测异常1. K-means 是什么K-means 是无监督聚类算法自动把相似数据分成 K 组。2. 异常检测原理关键用大量正常振动数据训练 K-means算法会把正常数据聚成几个紧凑的簇新数据进来后计算到最近簇中心的距离距离 阈值 异常一句话K-means 异常检测 距离异常检测五、完整工程流程一步都不跳流程总览传感器采集原始加速度数据滑动窗口截取一段振动提取振动特征RMS、方差、均值等用正常特征训练 K-means 模型实时推理计算距离 → 判断异常六、特征工程最重要不能直接用原始数据原始三轴加速度是时序波形必须转成固定长度特征向量。最适合振动的特征工业标准RMS 均方根→ 振动强度STD 标准差→ 波动程度Mean 均值→ 基线偏移Max / Min→ 冲击峰值频域能量可选最终特征向量6~9 维plaintext[ RMS_X, RMS_Y, RMS_Z, STD_X, STD_Y, STD_Z, MEAN_X, MEAN_Y, MEAN_Z ]这就是 K-means 的输入。七、完整 Python 代码可直接运行1. 导入库python运行import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler2. 模拟九轴传感器振动采集真实工程可替换为 I2C 读取模拟正常振动 异常振动松动 / 碰撞python运行# # 模拟传感器采集正常数据大量 # np.random.seed(42) N_NORMAL 500 normal_acc_X np.random.normal(loc0, scale0.08, sizeN_NORMAL) normal_acc_Y np.random.normal(loc0, scale0.07, sizeN_NORMAL) normal_acc_Z np.random.normal(loc1, scale0.09, sizeN_NORMAL) # # 模拟异常数据少量 # N_ABNORMAL 50 abn_acc_X np.random.normal(loc0, scale0.8, sizeN_ABNORMAL) abn_acc_Y np.random.normal(loc0, scale0.7, sizeN_ABNORMAL) abn_acc_Z np.random.normal(loc1, scale0.9, sizeN_ABNORMAL)3. 滑动窗口 特征提取python运行def extract_features(acc_x, acc_y, acc_z, window_size32): 振动特征提取 features [] for i in range(0, len(acc_x) - window_size, window_size): x acc_x[i:iwindow_size] y acc_y[i:iwindow_size] z acc_z[i:iwindow_size] # 振动核心特征 rms_x np.sqrt(np.mean(x**2)) rms_y np.sqrt(np.mean(y**2)) rms_z np.sqrt(np.mean(z**2)) std_x np.std(x) std_y np.std(y) std_z np.std(z) mean_x np.mean(x) mean_y np.mean(y) mean_z np.mean(z) feat [rms_x, rms_y, rms_z, std_x, std_y, std_z, mean_x, mean_y, mean_z] features.append(feat) return np.array(features) # 提取正常特征 normal_feats extract_features(normal_acc_X, normal_acc_Y, normal_acc_Z) # 提取异常特征 abnormal_feats extract_features(abn_acc_X, abn_acc_Y, abn_acc_Z)4. 训练 K-means只使用正常数据python运行# 标准化非常重要 scaler StandardScaler() normal_feats_scaled scaler.fit_transform(normal_feats) # K-means 训练 K 3 # 正常振动一般分 2~4 类足够 kmeans KMeans(n_clustersK, random_state42) kmeans.fit(normal_feats_scaled)5. 异常检测核心距离计算python运行def detect_anomaly(feature, scaler, kmeans, threshold1.2): feat_scaled scaler.transform(feature.reshape(1,-1)) dists kmeans.transform(feat_scaled) # 到每个簇中心的距离 min_dist np.min(dists) return min_dist, min_dist threshold6. 测试效果python运行print( 测试正常样本 ) test_normal normal_feats[0] dist, is_abnormal detect_anomaly(test_normal, scaler, kmeans) print(f距离{dist:.2f}, 异常{is_abnormal}) print(\n 测试异常样本 ) test_abnormal abnormal_feats[0] dist, is_abnormal detect_anomaly(test_abnormal, scaler, kmeans) print(f距离{dist:.2f}, 异常{is_abnormal})7. 可视化直观看到聚类效果python运行plt.figure(figsize(10,5)) plt.scatter(normal_feats_scaled[:,0], normal_feats_scaled[:,1], labelNormal, alpha0.5) plt.scatter(kmeans.cluster_centers_[:,0], kmeans.cluster_centers_[:,1], cred, s200, labelCluster Center) plt.title(K-means 聚类正常振动特征) plt.legend() plt.show()八、原理深度解释看懂就是嵌入式 AI 入门1. 为什么要标准化振动各特征量纲不同RMS、STD、MEAN必须归一化否则 K-means 会失效。2. 为什么只训练正常数据异常样本太少、类型不可预测。K-means 只需要学习正常分布偏离就是异常。3. 阈值怎么定训练完正常数据后取最大距离 × 1.1~1.5工业常用1.0~2.04. K 值怎么选设备振动K2~4 足够用肘部法则elbow method简单判断九、真实嵌入式工程STM32 / ESP32可直接移植你在单片机上只需要实现I2C 读取 LSM6DS3滑动窗口32~128 点特征计算RMS、STD、MEANK-means 纯 C 语言版本距离计算 阈值判断这套方案100% 可在嵌入式运行是工业预测性维护标准入门方案。十、总结这篇文章的核心九轴传感器采集振动 → 加速度计最重要时序振动 → 特征向量必须做K-means 只学习正常数据距离 阈值 异常轻量、无监督、可嵌入式落地、工业可用这就是传感器 K-means 异常检测的全部原理与代码

相关文章:

基于九轴传感器 + K-means 聚类的振动异常检测实战教程

(嵌入式 / 工业监测场景:设备振动、电机故障、结构松动、碰撞异常实时检测)一、前言(你能学到什么)这篇文章不讲虚的,直接带你做一个工业级轻量异常检测系统:用 LSM6DS3TR-C(6 轴&am…...

谷歌SEO网站收录秘籍:如何用AI工具去创作高质量文章

2026年谷歌SEO算法趋势与AI工具实操逻辑,我将从 “技术基建 - 关键词挖掘 - AI创作优化 - 收录加速” 四大核心环节,拆解 AI 创作高质量收录文章的完整方法论,所有技巧均基于最新实测数据与工具实操经验。一、前提认知:AI 谷歌 S…...

不再依赖翻译专员:跨马翻译让运营人员也能独立完成高质量多语言出图

一、一个让中型跨境团队头疼的问题 我们团队从最初的单人作战发展到现在的十五人规模,花了大概三年时间。团队架构从最早的"运营一肩挑",逐步细分为运营组、产品组、设计组、客服组和市场组。分工越来越明确,但问题也随之而来——翻…...

C语言完美演绎6-18

/* 范例&#xff1a;6-18 */#include <stdio.h> #include <conio.h>int main(){int a;printf("请输入你的分数(0-100)");scanf("%d",&a);if(a>0){if(a<100){ printf("你输入的分数是%d",a); }else{ printf("你输入的…...

CLI为什么突然爆了?一文讲清 Skill、MCP、CLI 的真实关系

导读最近可以明显看到一个变化&#xff1a;钉钉、飞书、企业微信&#xff0c;开始陆续开放 CLI 能力 越来越多团队&#xff0c;不再只讨论提示词&#xff0c;而是在做一件更实际的事&#xff1a;让 AI 直接参与执行很多人开始有几个共通疑问&#xff1a;CLI 到底是什么Skill 和…...

android studio 解决git用户名和用户邮箱不一致的问题

原因&#xff1a;公司git代码提交&#xff0c;应该用的是公司的账号和邮箱&#xff0c;不要使用私人名称和邮箱&#xff1b;1、查看自己本地的git用户名、邮箱配置1.1、在用户目录下&#xff0c;文件名&#xff1a;.gitconfig1.2、打开后&#xff1a;[user]name zhangjian.***…...

Python NumPy 使用指南:科学计算的基石

Python NumPy 使用指南&#xff1a;科学计算的基石作者&#xff1a;书到用时方恨少&#xff01; 发布日期&#xff1a;2026年4月3日 阅读时长&#xff1a;约22分钟&#x1f4cc; 前言 在 Python 数据科学和数值计算的生态系统中&#xff0c;NumPy&#xff08;Numerical Python&…...

YOLO26涨点改进| TPAMI 2026 |独家创新首发、Conv改进篇| 引入LPM 局部先验特征增强模块,更加聚焦于目标区域并抑制背景干扰,助力目标检测、图像分割、图像恢复、图像增强有效涨点

一、本文介绍 🔥本文给大家介绍使用 LPM 局部先验特征增强模块 改进YOLO26网络模型,通过构建重要性图对特征提取过程进行引导,使模型能够更加聚焦于目标区域并抑制背景干扰,从而提升特征表达质量和目标区分能力。其优势体现在能够有效增强关键区域信息、提升小目标和复杂…...

Linux/C++多进程

给你最简洁、能直接用、新手一看就懂的 Linux C 多进程核心内容&#xff0c;不废话。1. 核心 API&#xff08;就这 3 个最常用&#xff09;fork()&#xff1a;创建子进程getpid()&#xff1a;获取当前进程 IDwait() / waitpid()&#xff1a;等待子进程结束&#xff0c;防止僵尸…...

OpenClaw × 88API:10 分钟搭好本地网关,解决 API 超时和多渠道切换(2026 完整教程)

你可能也踩过这些坑&#xff1a;项目快提测了&#xff0c;Claude API 突然超时&#xff0c;重试半天还是报错想临时换一个中转站兜底&#xff0c;结果又要改一遍 base_url、api_key、模型名一个渠道支持 Claude&#xff0c;不支持 Gemini&#xff1b;另一个支持 GPT&#xff0c…...

大以论文与万方、维普、WPS AI 综合对比(2026)

毕业季论文格式问题频发&#xff0c;手动排版耗时、通用模板不匹配、公式图表易错乱是常态。万方、维普以查重为主&#xff0c;WPS AI 偏向通用办公&#xff0c;而大以论文作为7 年专注毕业论文排版的老牌工具&#xff0c;在专业性、稳定性与院校适配性上更具优势。一、核心对比…...

OpenCore Legacy Patcher完全指南:突破硬件限制让旧Mac焕发新生

OpenCore Legacy Patcher完全指南&#xff1a;突破硬件限制让旧Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款强…...

突破视频内容壁垒:B站视频转文字的智能解决方案

突破视频内容壁垒&#xff1a;B站视频转文字的智能解决方案 【免费下载链接】bili2text Bilibili视频转文字&#xff0c;一步到位&#xff0c;输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 在信息爆炸的时代&#xff0c;视频已成为知识传播…...

基于 HT for Web 的机车整备场数字孪生系统技术实现

本文基于 HT for Web&#xff08;基于 WebGL/Canvas 的纯前端可视化插件&#xff09;构建机车整备场数字孪生三维可视化系统&#xff0c;通过轻量化三维建模、实时数据对接、前端 API 驱动渲染&#xff0c;实现整备场全流程、全要素、全场景的数字化监管。该系统采用 B/S 架构&…...

【3步修复】华硕游戏本色彩配置文件丢失解决方案

【3步修复】华硕游戏本色彩配置文件丢失解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and other mo…...

OpenHTMLtoPDF字体加载机制深度解析:从Jar包困境到优雅解决方案

OpenHTMLtoPDF字体加载机制深度解析&#xff1a;从Jar包困境到优雅解决方案 【免费下载链接】openhtmltopdf An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Sectio…...

【软件部署】在docker环境部署vsftpd

说明 vsftp官网https://security.appspot.com/vsftpd.html 配置文件说明https://security.appspot.com/vsftpd/vsftpd_conf.html 注意 因优化更新&#xff0c;文件内容可能变化&#xff0c;具体参考 https://github.com/zhuyifeiRuichuang/work-script/tree/main/vsftp 适用场景…...

2026届学术党必备的六大AI科研工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 一键生成论文功能通过借助先进人工智能算法得以达成&#xff0c;它可依照用户输入的标题&am…...

DeepSeek R1 本地部署企业级实战(附Ollama及CherryStudio客户端安装包)

1、DeepSeek 双系列定位 DeepSeek 作为国内对标 GPT-4 的顶尖大模型,核心分为两大技术系列,精准覆盖不同业务场景: 系列 定位 核心能力 典型模型 小模型覆盖 R1(推理增强) 深度思考、复杂逻辑 数学、代码、长链推理 R1-671B、R1-32B、R1-7B 1.5B/7B/8B/14B/32B(Ollama 主…...

2025届毕业生推荐的十大AI辅助论文工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在开题报告撰写进程当中&#xff0c;人工智能技术能够起到高效辅助功效。其一&#xff0c;凭…...

MATLAB 实现轴承振动信号模拟:从动力学方程到故障仿真

MATLAB matlab 轴承振动信号模拟 轴承动力学方程 滚动轴承动力学模型&#xff0c;轴承动力学模型&#xff1a;滚动轴承运动学模型&#xff0c;深沟球轴承故障基于Hertz接触理论&#xff0c;采用龙格库塔方法可根据需求仿真轴承正常状态&#xff0c;外圈、内圈以及滚动体的故障…...

腾讯云记忆服务,让智能助理进化升级

4月3日消息&#xff0c;腾讯云近日推出“Agent Memory”记忆服务&#xff0c;为智能助理OpenClaw补全长期记忆能力。接入该服务后&#xff0c;OpenClaw回答准确率大幅提升&#xff0c;还支持多种部署方式。创新记忆服务诞生腾讯云数据库团队自主研发了“Agent Memory”记忆服务…...

深度强化学习在Python中的自动驾驶策略探索:运用DDPG与PPO算法技术实现及实验结果报告

python基于深度强化学习的自动驾驶策略研究 关键技术&#xff1a;DDPG、PPO算法、深度强化学习 内容包含&#xff1a;python程序实验结果报告深夜的模拟器里&#xff0c;一辆红色小车正在空荡的街道上蛇形前进&#xff0c;方向盘像喝醉似的左右乱转。这可不是什么灵异事件&…...

OpenClaw如何做好记忆持久化的 · 三、一条记忆的完整生命旅程

三、一条记忆的完整生命旅程⏱ 30 秒速览 | 记忆有 3 条路径&#xff1a;路径 A&#xff08;自动提取&#xff09; 噪声过滤 → Smart Extraction 六类分类 → 两阶段去重 → 向量存储 → 8 步混合检索&#xff08;ANN BM25 Cross-Encoder Weibull 衰减&#xff09;→ 智能遗…...

(五)数据仓库越做越乱?问题可能出在“命名”上

数据仓库做大之后&#xff0c;最先“失控”的往往不是数据&#xff0c;而是命名。命名规范看似细节&#xff0c;却直接决定了数据是否好找、好用、好维护。 作为数据湖仓设计与实践系列文章第 5 篇&#xff0c;本文从实际使用出发&#xff0c;梳理了表与字段命名的核心方法&am…...

如何5分钟快速部署Akagi雀魂AI助手:专业实战配置完整指南

如何5分钟快速部署Akagi雀魂AI助手&#xff1a;专业实战配置完整指南 【免费下载链接】Akagi 支持雀魂、天鳳、麻雀一番街、天月麻將&#xff0c;能夠使用自定義的AI模型實時分析對局並給出建議&#xff0c;內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Am…...

Linux 的 id 命令

id 是 Linux 系统中一个常用的命令行工具&#xff0c;用于显示用户和组的身份信息。 基本功能 id 命令可以显示当前用户或指定用户的以下信息&#xff1a; 用户 ID (UID)主组 ID (GID)所属的所有组 (Groups)用户名和组名&#xff08;当与数字 ID 对应时&#xff09; 常用命…...

我被TRO了,到底该选和解还是应诉?

很多跨境卖家第一次遭遇TRO&#xff08;临时限制令&#xff09;时&#xff0c;往往是懵的&#xff1a;店铺被冻结、资金被锁、链接下架&#xff0c;一夜之间业务几乎停摆。这个时候最核心的问题只有一个——到底该和解&#xff0c;还是应诉&#xff1f;先说结论&#xff1a;没有…...

北外滩餐饮新店突围战:揭秘AI大模型如何让搜索流量“精准上门”

如果你是北外滩一位新开业的餐厅老板&#xff0c;是否正面临这样的困境&#xff1a;店铺装修精美、菜品独具匠心&#xff0c;但门口罗雀&#xff0c;预期的客流迟迟不来&#xff1f;你试过在平台买推广、请达人探店&#xff0c;效果却如昙花一现&#xff0c;成本居高不下&#…...

OpenClaw安装部署Mac操作系统版 - 打造你的专属AI助理

【第二篇】OpenClaw安装部署Mac操作系统版 - 打造你的专属AI助理摘要&#xff1a;Mac系统是OpenClaw的最佳部署平台之一。本文详细介绍在macOS上安装部署OpenClaw的完整流程&#xff0c;包括环境准备、多种安装方式、权限配置等内容&#xff0c;让Mac用户轻松搭建AI智能体平台。…...