打印

物联网-振动测试

[复制链接]
68|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
近年来,国家在人形机器人领域投入了大量资源,催生出宇树、智元和小米等企业。调研可知,当前阶段的研究重点主要包含:强化学习、人工智能算法和电驱电控技术等领域,支撑人形机器人实现跑步、爬楼梯和跳舞等动作,有效的提高了人形机器人的泛化能力,最终实现人力替代。

随着人形机器人出货量逐渐提升,使得智能运维的重要性越来越高。因此,团队花费时间进行技术探索,采用振动传感器监测人形机器人关节的运行状态,通过智能算法建立关节轴承的性能退化过程,最终结合云-边-端技术实现人形机器人的智能运维,避免突发性故障引起的安全问题。



实施方案
项目采用传感器实时采集机器人工作过程中的振动信号,后续通过智能算法实现关节故障的预警和感知,详细内容有:

振动传感器
振动传感器广泛应用在煤矿、化工、冶金、发电等行业的电机、减速机风机、发电机、空压机、离心机、水泵等旋转设备温度和振动的在线测量,具体如图3所示:



该传感器具体的参数为:

项目采用边缘网关获取振动传感器的数据,通过modbus协议,具体寄存器地址与内容的关系为:


采用边缘网关获取振动传感器信号,并通过transform_sensor_data进行数据预处理,后续配置MQTT服务器的三元组信息,将实时温度,速度和加速度数据上传到云服务器,具体代码如下所示:
# MQTT 服务器信息
broker = "ip"  # MQTT 服务器地址
port = 1883  # 默认 MQTT 端口
clientid = "ClientId"  # 替换为你的 clientid
username = "UserName"  # 替换为你的 username
password = "05b61b97bb8fb1bb9d5433e223fea16223f9b78b;hmacsha1"  # 替换为你的 password

# 上行请求 Topic
up_topic = "$thing/up/property/00x/vibration"  # 替换为你的上行请求 Topic
# 下行响应 Topic
down_topic = "$thing/down/property/00x/vibration"  # 替换为你的下行响应 Topic

# 构造 payload
def generate_payload():
    return {
        "method": "report",
        "msgToken": "123",
        "timestamp": int(time.time() * 1000),  # 当前时间戳(毫秒)
        "params": {
            "tem": transform_sensor_data(sensor_vibration.read_register(registeraddress=0, functioncode=3)),
            "accx": transform_sensor_data(sensor_vibration.read_register(registeraddress=10, functioncode=3)),
            "accy": transform_sensor_data(sensor_vibration.read_register(registeraddress=11, functioncode=3)),
            "accz": transform_sensor_data(sensor_vibration.read_register(registeraddress=12, functioncode=3)),
            "vx": transform_sensor_data(sensor_vibration.read_register(registeraddress=1, functioncode=3)),
            "vy": transform_sensor_data(sensor_vibration.read_register(registeraddress=2, functioncode=3)),
            "vz": transform_sensor_data(sensor_vibration.read_register(registeraddress=3, functioncode=3))
        }
    }
在物联网平台创建产品和设备,添加对应的物模型,具体为:
"{\n  \"properties\": [\n    {\n      \"identifier\": \"tem\",\n      \"tag\": 1,\n      \"name\": \"温度\",\n      \"desc\": \"\",\n      \"required\": false,\n      \"extendConfig\": \"\",\n      \"isCanSceneLinkage\": 2,\n      \"isShareAuthPerm\": 0,\n      \"funcGroup\": 1,\n      \"controlMode\": 1,\n      \"userPerm\": 0,\n      \"isHistory\": 1,\n      \"isPassword\": 2,\n      \"order\": 0,\n      \"mode\": \"rw\",\n      \"define\": {\n        \"type\": \"float\",\n        \"min\": \"0.000\",\n        \"max\": \"800.000\",\n        \"start\": \"0.000\",\n        \"step\": \"0.010\",\n        \"unit\": \"℃\"\n      },\n      \"isUseShadow\": false,\n      \"isNoRecord\": false\n    },\n    {\n      \"identifier\": \"accx\",\n      \"tag\": 1,\n      \"name\": \"x加速度\",\n      \"desc\": \"\",\n      \"required\": false,\n      \"extendConfig\": \"\",\n      \"isCanSceneLinkage\": 1,\n      \"isShareAuthPerm\": 0,\n      \"funcGroup\": 1,\n      \"controlMode\": 1,\n      \"userPerm\": 3,\n      \"isHistory\": 1,\n      \"isPassword\": 2,\n      \"order\": 0,\n      \"mode\": \"rw\",\n      \"define\": {\n        \"type\": \"int\",\n        \"min\": \"0\",\n        \"max\": \"500\",\n        \"start\": \"0\",\n        \"step\": \"1\"\n      },\n      \"isUseShadow\": false,\n      \"isNoRecord\": false\n    },\n    {\n      \"identifier\": \"accy\",\n      \"tag\": 1,\n      \"name\": \"y加速度\",\n      \"desc\": \"\",\n      \"required\": false,\n      \"extendConfig\": \"\",\n      \"isCanSceneLinkage\": 1,\n      \"isShareAuthPerm\": 0,\n      \"funcGroup\": 1,\n      \"controlMode\": 1,\n      \"userPerm\": 3,\n      \"isHistory\": 1,\n      \"isPassword\": 2,\n      \"order\": 0,\n      \"mode\": \"rw\",\n      \"define\": {\n        \"type\": \"int\",\n        \"min\": \"0\",\n        \"max\": \"500\",\n        \"start\": \"0\",\n        \"step\": \"1\"\n      },\n      \"isUseShadow\": false,\n      \"isNoRecord\": false\n    },\n    {\n      \"identifier\": \"accz\",\n      \"tag\": 1,\n      \"name\": \"z加速度\",\n      \"desc\": \"\",\n      \"required\": false,\n      \"extendConfig\": \"\",\n      \"isCanSceneLinkage\": 1,\n      \"isShareAuthPerm\": 0,\n      \"funcGroup\": 1,\n      \"controlMode\": 1,\n      \"userPerm\": 3,\n      \"isHistory\": 1,\n      \"isPassword\": 2,\n      \"order\": 0,\n      \"mode\": \"rw\",\n      \"define\": {\n        \"type\": \"int\",\n        \"min\": \"0\",\n        \"max\": \"500\",\n        \"start\": \"0\",\n        \"step\": \"1\"\n      },\n      \"isUseShadow\": false,\n      \"isNoRecord\": false\n    },\n    {\n      \"identifier\": \"vx\",\n      \"tag\": 1,\n      \"name\": \"x速度\",\n      \"desc\": \"\",\n      \"required\": false,\n      \"extendConfig\": \"\",\n      \"isCanSceneLinkage\": 1,\n      \"isShareAuthPerm\": 0,\n      \"funcGroup\": 1,\n      \"controlMode\": 1,\n      \"userPerm\": 3,\n      \"isHistory\": 1,\n      \"isPassword\": 2,\n      \"order\": 0,\n      \"mode\": \"rw\",\n      \"define\": {\n        \"type\": \"int\",\n        \"min\": \"0\",\n        \"max\": \"500\",\n        \"start\": \"0\",\n        \"step\": \"1\"\n      },\n      \"isUseShadow\": false,\n      \"isNoRecord\": false\n    },\n    {\n      \"identifier\": \"vy\",\n      \"tag\": 1,\n      \"name\": \"y速度\",\n      \"desc\": \"\",\n      \"required\": false,\n      \"extendConfig\": \"\",\n      \"isCanSceneLinkage\": 1,\n      \"isShareAuthPerm\": 0,\n      \"funcGroup\": 1,\n      \"controlMode\": 1,\n      \"userPerm\": 3,\n      \"isHistory\": 1,\n      \"isPassword\": 2,\n      \"order\": 0,\n      \"mode\": \"rw\",\n      \"define\": {\n        \"type\": \"int\",\n        \"min\": \"0\",\n        \"max\": \"500\",\n        \"start\": \"0\",\n        \"step\": \"1\"\n      },\n      \"isUseShadow\": false,\n      \"isNoRecord\": false\n    },\n    {\n      \"identifier\": \"vz\",\n      \"tag\": 1,\n      \"name\": \"z速度\",\n      \"desc\": \"\",\n      \"required\": false,\n      \"extendConfig\": \"\",\n      \"isCanSceneLinkage\": 1,\n      \"isShareAuthPerm\": 0,\n      \"funcGroup\": 1,\n      \"controlMode\": 1,\n      \"userPerm\": 3,\n      \"isHistory\": 1,\n      \"isPassword\": 2,\n      \"order\": 0,\n      \"mode\": \"rw\",\n      \"define\": {\n        \"type\": \"int\",\n        \"min\": \"0\",\n        \"max\": \"500\",\n        \"start\": \"0\",\n        \"step\": \"1\"\n      },\n      \"isUseShadow\": false,\n      \"isNoRecord\": false\n    }\n  ],\n  \"profile\": {\n    \"productID\": \"00x\"\n  }\n}"
后续成功将数据上传到物联网平台,实现设备的振动监测,具体为:






使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝