Đơn vị 4 / 9

Tích hợp cảm biến và tích hợp dữ liệu IoT

Lợi nhuận:

  • Khả năng xây dựng logic tổng hợp (bộ tích hợp/bộ lọc Kalman) kết hợp dữ liệu IMU, bộ mã hóa và cảm biến khoảng cách với AI
  • Khả năng định cấu hình và giải thích các luồng dữ liệu IoT dựa trên MQTT và đo từ xa với sự trợ giúp của AI
  • Khả năng phát hiện và khắc phục các vấn đề về nhiễu cảm biến, hiệu chỉnh và đồng bộ hóa thời gian trong đầu ra AI

Không có cảm biến nào là hoàn hảo. Con quay hồi chuyển rất chính xác trong thời gian ngắn, nhưng lại trôi đi theo thời gian. Gia tốc kế ổn định trong thời gian dài nhưng bị nhiễu do rung. Bộ mã hóa đo vị trí chính xác nhưng lại sai khi có hiện tượng trượt. GPS hoạt động trong phạm vi rộng nhưng tần số thấp và ồn. Kỹ sư cơ điện tử phải tạo ra một sự thật duy nhất, đáng tin cậy từ những cảm biến không hoàn hảo này; Đây là phản ứng tổng hợp cảm biến. Hơn nữa, trong các hệ thống hiện đại, dữ liệu này không chỉ tồn tại cục bộ mà còn chảy vào đám mây và trung tâm điều khiển thông qua mạng IoT. Trí tuệ nhân tạo là một công cụ hỗ trợ mạnh mẽ trong cả việc thiết lập các thuật toán tổng hợp cũng như định cấu hình và diễn giải phép đo từ xa IoT. Trong phần này, chúng tôi đề cập đến bộ lọc bổ sung, logic bộ lọc Kalman và cách thiết lập luồng IoT dựa trên MQTT bằng AI cũng như bẫy nhiễu và đồng bộ hóa.

Tại sao lại là cảm biến Fusion?

Mọi cảm biến đều có "vùng tần số tốt". Mục đích của phản ứng tổng hợp là sử dụng từng cảm biến ở khu vực mạnh và hỗ trợ nó bằng cảm biến kia ở khu vực yếu.

cảm biến

điểm mạnh

điểm yếu

con quay hồi chuyển

Vận tốc góc ngắn hạn, phản ứng nhanh

Trôi theo thời gian

gia tốc kế

Tham chiếu độ dốc dài hạn (trọng lực)

Rung/ồn ào khi di chuyển

bộ mã hóa

Vị trí có độ phân giải cao

Lỗi trượt/phản ứng ngược

GPS

vị trí tuyệt đối

Tần số thấp, tiếng ồn, không có trong nhà

Việc dựa vào một cảm biến duy nhất sẽ đưa điểm yếu của cảm biến đó vào hệ thống. Ví dụ, Fusion kết hợp góc nhanh nhưng trôi của con quay hồi chuyển với tham chiếu chậm nhưng ổn định của gia tốc kế, tạo ra một góc vừa nhanh vừa không bị trôi.

Bộ lọc bổ sung

Sự hợp nhất đơn giản và phổ biến nhất là bộ lọc bổ sung. Ý tưởng rất trực quan: tin tưởng vào con quay hồi chuyển ở tần số cao (thay đổi nhanh), gia tốc kế ở tần số thấp (chậm, ổn định). Tóm tắt một dòng:

# Bộ lọc bổ sung: ước tính mức độ đau (cao độ) # alpha ~ 0,98 : nhiều hơn đối với con quay hồi chuyển, ít hơn đối với gia tốc kế (độ/giây)gia tốc_ange : góc được tính từ gia tốc kế (độ) dt : thời gian lấy mẫu (giây) """ gyro_pac = trước đó + gyro_speed * dt # tích hợp con quay hồi chuyển trả về alpha * gyro_pace + (1 - alpha) * gia tốc_angle# Logic xác minh: thuần túy con quay hồi chuyển (trôi) nếu alpha=1, # nếu alpha=0 gia tốc kế thuần túy (ồn ào).

Hệ số alpha ở đây xác định sự cân bằng: nếu gần bằng 1 thì dựa vào con quay hồi chuyển (nguy cơ trôi dạt tăng), nếu gần bằng 0 thì dựa vào gia tốc kế (tăng tiếng ồn). Giá trị điển hình là 0,95–0,98. AI có thể đề xuất giá trị này, nhưng giá trị alpha chính xác phụ thuộc vào tốc độ mẫu và đặc tính nhiễu của hệ thống của bạn; được thiết lập bằng thực nghiệm.

Mẹo: Khi in bộ lọc tích phân sang AI, hãy nhớ hỏi cách đo dt. Hầu hết các lỗi đều xuất phát từ việc giả sử dt không đổi nhưng trên thực tế thời gian chu kỳ thay đổi. Đo dt thực bằng millis()/dấu thời gian, không viết hằng số.

Logic bộ lọc Kalman

Bộ lọc bổ sung đơn giản nhưng không lập mô hình thống kê nhiễu. Bộ lọc Kalman tạo ra ước tính tối ưu (theo các giả định nhất định) bằng cách mô hình hóa nhiễu cảm biến và độ không đảm bảo của quy trình theo xác suất. Nó hoạt động theo hai bước:

  1. Dự đoán: Dự đoán tình huống tiếp theo và sự không chắc chắn của nó với mô hình hệ thống.
  2. Cập nhật: Cân số đo mới với độ tin cậy của phép đo (độ lợi Kalman) và sửa lại ước tính.

Kalman Gain K tự động trả lời câu hỏi "tôi nên tin tưởng vào phép đo hay mô hình hơn" ở mỗi bước. Nếu nhiễu đo lường lớn, K sẽ trở nên nhỏ hơn (độ tin cậy trong mô hình), nếu độ không đảm bảo của quá trình lớn, K sẽ trở nên lớn hơn (độ tin cậy trong phép đo). AI dễ dàng viết bộ lọc Kalman một chiều; nhưng nhiệm vụ của bạn là chọn chính xác các hiệp phương sai tiếng ồn (`Q`, `R`) và chúng xuất phát từ tiếng ồn thực tế của hệ thống.

Lưu ý: Các giá trị Q (nhiễu xử lý) và R (nhiễu đo) do AI đưa ra là mẫu/giữ chỗ. Nếu bạn không xác định những điều này từ tiếng ồn đo thực tế của hệ thống (ví dụ: phương sai đo được khi cảm biến đứng yên), bộ lọc sẽ quá chậm hoặc quá ồn. Đừng tin hiệp phương sai do AI đưa ra là "giá trị thực".

Luồng dữ liệu IoT: MQTT và đo từ xa

Dữ liệu sạch mà bạn tạo ra bằng phản ứng tổng hợp thường được vận chuyển đến trung tâm thông qua mạng IoT. Giao thức phổ biến nhất trong ngành là MQTT: mô hình đăng ký xuất bản nhẹ, phù hợp với băng thông thấp. AI nhanh chóng thiết lập mã nhà xuất bản/người đăng ký MQTT và lược đồ đo từ xa JSON.

import json, timeimport paho.mqtt.client as mqttclient = mqtt.Client()client.connect("broker.local", 1883, keepalive=60)def telemetry_broadcast(nhiệt độ, nhiệt độ, rung_rms): message = { "ts": time.time(), # timestamp -- điều kiện đồng bộ hóa "pain_deg": round(pain, 2), "temper_c": round(nhiệt độ, 1), "vibration_rms": round(nhiệt độ_rms, 3), "unit": {"pain": "deg", "nhiệt độ": "C", "vibration": "mm/s"} } client.publish("machine/line1/sensor", json.dumps(message), qos=1)# qos=1: được gửi ít nhất một lần. Sử dụng qos=0 (có thể bị mất) trên dữ liệu quan trọng.

Hai quyết định kỹ thuật rất quan trọng ở đây: (1) đánh dấu thời gian (ts) mỗi tin nhắn—các cảm biến khác nhau được lấy mẫu vào các thời điểm khác nhau, chỉ có thể đồng bộ hóa bằng cách đánh dấu thời gian; (2) Mức QoS—dữ liệu quan trọng sử dụng ít nhất qos=1 (được gửi ít nhất một lần), qos=0 cho phép mất tin nhắn.

Tiếng ồn, hiệu chuẩn và đồng bộ hóa

Cho dù phản ứng tổng hợp có tốt đến đâu thì có ba vấn đề với đầu vào làm sai lệch kết quả:

  • Nhiễu: Nếu dữ liệu cảm biến thô được hợp nhất mà không được lọc thì đầu ra hợp nhất cũng sẽ bị nhiễu. Có thể cần phải lọc trước (trung vị, thông thấp).
  • Hiệu chuẩn: Lỗi bù và tỷ lệ (ví dụ: điểm 0 của gia tốc kế bị dịch chuyển) gây nhầm lẫn một cách có hệ thống cho phản ứng tổng hợp. Cảm biến phải được hiệu chuẩn trước khi sử dụng.
  • Đồng bộ hóa thời gian: Cần phải đánh dấu thời gian và nội suy để căn chỉnh các cảm biến được lấy mẫu ở các tốc độ khác nhau (ví dụ: GPS 10 Hz với IMU 1 kHz).

AI có thể thêm các bước này vào mã, nhưng liệu mỗi bước có bắt buộc hay không và các tham số của nó có dành riêng cho hệ thống của bạn hay không. Trong đầu ra AI "hiệu chuẩn ở đâu?" và “dấu thời gian có được căn chỉnh không?” Hãy chắc chắn để đặt câu hỏi.

Nhắc yếu / Nhắc mạnh

YẾU:"Tính toán góc từ dữ liệu IMU."(Bộ lọc nào? Độ lệch được xử lý? Dt thế nào? Không rõ ràng.) MẠNH:"Kết hợp dữ liệu gia tốc kế và con quay hồi chuyển từ MPU6050 với bộ lọc tích phân và góc nghiêng ước tính. Tính dt từ dấu thời gian thực, không giả sử không đổi. Đặt alpha làm tham số (mặc định 0,98). Tính toán góc gia tốc kế với tane2. Lọc dưới dạng ghi dưới dạng lớp, giữ nguyên góc trước đó, thêm bộ lọc trước trung vị tùy chọn cho nhiễu."

Hộp đựng nhỏ

Kỹ sư robot Selin muốn có một bộ lọc bổ sung từ AI để ước tính góc trên robot cân bằng hai bánh. AI đưa ra mã rõ ràng nhưng robot từ từ nghiêng sang một bên. Selin kiểm tra dt: mã giả định dt không đổi 0,01 giây, trong khi thời gian chu kỳ thay đổi do đo từ xa Bluetooth. Khi dt được tính từ dấu thời gian thực, độ lệch giảm nhưng không biến mất hoàn toàn. Sau đó, anh ta xem xét hiệu chỉnh của gia tốc kế; Ngay cả khi cảm biến đứng yên vẫn có độ lệch 2°. Khi tôi tháo phần bù hiệu chuẩn, robot sẽ đứng thẳng. Cuối cùng, nó nhận thấy rằng nó sử dụng qos=0 khi phát sóng đo từ xa qua MQTT và tăng nó lên qos=1 cho dữ liệu góc tới hạn. AI cung cấp bộ xương hợp nhất trong vài phút; nhưng quá trình xác minh của kỹ sư đã phát hiện ra ba vấn đề cụ thể của hệ thống: biến dt, độ lệch hiệu chuẩn và QoS.

Những lỗi thường gặp

  • Giả sử dt không đổi, trong khi thời gian chu kỳ thay đổi (độ lệch nhiệt hạch).
  • Kết hợp các cảm biến mà không hiệu chỉnh chúng (offset hệ thống).
  • Cố gắng căn chỉnh các cảm biến có tốc độ khác nhau mà không đánh dấu thời gian.
  • Để lại giá trị mẫu của AI mà không đo hiệp phương sai Kalman Q/R từ tiếng ồn thực.
  • Cho phép mất tin nhắn bằng cách sử dụng qos=0 trên dữ liệu IoT quan trọng.
  • Đưa dữ liệu nhiễu thô vào phản ứng tổng hợp mà không cần lọc trước.

Tóm lại

  • Fusion sử dụng từng cảm biến ở vùng tần số mạnh và bù đắp cho điểm yếu của nó.
  • Bộ lọc bổ sung rất đơn giản; Thiết lập sự cân bằng con quay hồi chuyển-gia tốc kế với alpha.
  • Bộ lọc Kalman mô hình tiếng ồn theo xác suất; Q/R đến từ hệ thống thực.
  • Trong phép đo từ xa MQTT, việc đánh dấu thời gian và QoS thích hợp là những quyết định kỹ thuật quan trọng.
  • Tiếng ồn, hiệu chuẩn và đồng bộ hóa thời gian quyết định chất lượng của phản ứng tổng hợp.
  • dt được đo từ thời gian thực; hiệu chuẩn và QoS được xác minh mà không để lại cho AI.

Nhiệm vụ ứng dụng

Đối với IMU (dữ liệu gia tốc + con quay hồi chuyển thực hoặc mô phỏng), hãy yêu cầu AI tạo bộ lọc tích phân và đảm bảo dt được tính từ dấu thời gian thực. Sau đó: (1) thử alpha cho 0,90, 0,98 và 1,0 và quan sát độ lệch và cân bằng nhiễu, (2) thêm phần bù cố định có chủ ý (lỗi hiệu chỉnh) vào cảm biến và xem đầu ra hợp nhất trôi như thế nào, (3) chuyển đổi dữ liệu sang lược đồ MQTT JSON và thêm các trường dấu thời gian và đơn vị. Lưu ý giá trị alpha nào mang lại kết quả cân bằng nhất cho dữ liệu của bạn và mức độ bù hiệu chuẩn làm biến dạng đầu ra đến mức nào.