Phát hiện các thay đổi trạng thái trên máy pha cà phê

Nền tảng hoạt động tuyến đầu của Tulip hỗ trợ kết nối máy gốc, đưa dữ liệu máy của bạn vào ngữ cảnh với dữ liệu từ con người, thiết bị và hệ thống. Các thay đổi về trạng thái của máy có thể được theo dõi thông qua các kết nối được nối mạng hoặc bằng các cảm biến và thiết bị biên của chúng tôi.

Trong bài đăng này, chúng ta sẽ khám phá cách nhóm của chúng tôi trang bị thêm cho một máy cũ, kết nối máy đó với đám mây và ước tính trạng thái của máy bằng mô hình ML đơn giản và Edge IO. Tại trụ sở chính ở Somerville của chúng tôi, chúng tôi có một máy pha cà phê espresso và một bình lọc nước là những ứng cử viên hoàn hảo để đo lường việc sử dụng.

Nếu điều này nghe có vẻ quen thuộc thì chúng tôi đã “tung” một sản phẩm mới vào ngày Cá tháng Tư từ thử nghiệm này →

Giữ cho nó đơn giản nhất có thể, chúng tôi đã kết nối cảm biến dòng điện và độ rung bằng cảm biến Edge IO và PhidgetHub. Đối với máy pha cà phê espresso, chúng tôi đã chạy một mô hình ML để phát hiện xem máy đang chạy, không hoạt động hay dừng. Điều này cho phép chúng tôi giám sát việc sử dụng máy và có khả năng tối ưu hóa việc bảo trì và hiệu suất của máy.

Đọc tiếp khi chúng tôi đề cập đến các thành phần phần cứng và phần mềm cần thiết, cũng như các bước để thiết lập và chạy mô hình máy học.

Thiết lập phần cứng

Để theo dõi máy pha cà phê, chúng tôi đã kết nối cảm biến dòng điện có sẵn với Edge IO. Chúng tôi cũng đã thêm một cảm biến rung áp điện để theo dõi các rung động tốc độ cao. Edge IO hỗ trợ giám sát tốc độ cao thông qua các đầu vào ADC tích hợp.

Chúng tôi đã chọn kết nối PhidgetHub được kết nối với Edge IO cho cảm biến hiện tại để chuyển đổi tín hiệu tương tự từ cảm biến thành Edge IO.

https://digitalfactory.vn/wp-content/uploads/2023/06/Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png
Edge IO được kết nối qua USB với PhidgetsHub được kết nối với kẹp hiện tại thông qua dây nối dài. Một cảm biến VIbration được gắn bằng keo.
https://digitalfactory.vn/wp-content/uploads/2023/06/1685577186_886_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Để thu thập dữ liệu đến từ PhidgetHub trong Tulip, chúng tôi sử dụng các nút Phidgets Node-RED tiêu chuẩn cho VoltageInput. PhidgetHub của máy pha cà phê espresso được cắm trực tiếp vào Edge IO, trong khi máy lọc nước PhidgetHub được kết nối qua WiFi với cùng một thiết bị, cho phép chúng tôi theo dõi việc sử dụng trên cả hai thiết bị bằng một thiết bị duy nhất.

https://digitalfactory.vn/wp-content/uploads/2023/06/1685577186_621_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Thu thập và xử lý dữ liệu

Để lấy ngày từ Edge IO vào đám mây, chúng tôi đã sử dụng Nút Tulip Table Node-RED Node. Nút này cho phép thêm dữ liệu từ thiết bị biên vào Bảng trong Tulip. Chúng tôi đã định cấu hình từng bản ghi để lưu trữ Giá trị Dấu thời gian, Tên và Số từ cảm biến và thu thập dữ liệu từ tất cả các cảm biến vào một bảng duy nhất.

https://digitalfactory.vn/wp-content/uploads/2023/06/1685577186_39_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Sau khi dữ liệu ở trong Bảng, chúng tôi đã xuất dữ liệu đó sang CSV để tải dữ liệu bằng gấu trúc và bắt đầu trực quan hóa dữ liệu cũng như tạo mô hình học máy của chúng tôi.

https://digitalfactory.vn/wp-content/uploads/2023/06/1685577187_545_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Trước tiên, chúng tôi sắp xếp dữ liệu từ các cảm biến của máy pha cà phê espresso và nhanh chóng xác định ba trạng thái của máy:

  • Tắt

  • Nhàn rỗi/chờ

  • Chạy / pha cà phê

Quan sát đầu tiên của chúng tôi khá thú vị, vì chúng tôi nhận thấy máy đang sử dụng bao nhiêu dòng điện trong trạng thái Chờ. Cứ sau 30 giây, có một đợt tăng đột biến ngắn giảm dần về 0 – chúng tôi xác định rằng điều này có liên quan đến bộ phận làm nóng giữ cho máy pha cà phê ở nhiệt độ thích hợp.

Để mô hình hóa các tiểu bang, mục tiêu chính của chúng tôi là:

  • Chúng tôi muốn tránh phải dán nhãn dữ liệu mở rộng.

  • Một chiếc máy pha cà phê có một số lượng hữu hạn những thứ mà nó làm: xay hạt, đun nóng, pha cà phê, tạo bọt sữa. Do đó, dữ liệu cảm biến của chúng tôi trông khác nhau đối với từng bước công việc, điều này sẽ giúp chúng tôi có thể tìm thấy các tính năng chung trong dữ liệu của mình, cho phép chúng tôi nhóm các phần này của chương trình thành các trạng thái riêng biệt.

  • Sau đó, các trạng thái này có thể được Người vận hành gán cho Dừng/Đang chạy/Không hoạt động bằng cách sử dụng trình kích hoạt máy Tulip tiêu chuẩn.

Để bắt đầu quá trình này, chúng tôi đã chạy một đường trung bình động để làm phẳng các chu kỳ gia nhiệt mà chúng tôi đã xác định. Do độ dài của các chu kỳ, chúng tôi đã chọn đường trung bình động 1 phút. Các chu kỳ làm nóng bằng máy này có xu hướng kéo dài khoảng 30 giây và toàn bộ chu trình pha cà phê kéo dài khoảng 2-3 phút, tùy thuộc vào nhiệt độ của máy khi bắt đầu bật.

Ngoài ra, chúng tôi đã bao gồm các tính năng bị trễ: di chuyển trung bình từ một và hai phút trước. Đây là một phương pháp tiêu chuẩn trong phân tích chuỗi thời gian, cho phép mô hình xem các mẫu tăng hoặc giảm trong dữ liệu.

Xây dựng mô hình học máy

Đối với mô hình phân cụm, chúng tôi muốn thứ gì đó có càng ít tham số càng tốt và một phương pháp tích hợp sẵn để ước tính số lượng cụm “đúng”. Chúng tôi đã chọn một mô hình hỗn hợp bayesian gaussian.

Điều này giúp chúng tôi ước tính rằng kích thước của dữ liệu cảm biến của máy pha cà phê của chúng tôi tỷ lệ thuận với 6 bước công việc khác nhau (tắt, xay hạt, làm nóng, vẽ, tạo bọt sữa, xử lý thủ công), do đó chúng tôi đã chọn 6 cho số của các thành phần riêng biệt trong mô hình cụm.

Vì đây là mô hình không được giám sát nên chúng tôi đã thu thập dữ liệu trong một ngày và dữ liệu này sau đó được sử dụng để huấn luyện mô hình. Việc xác thực được thực hiện một cách trực quan – chúng tôi đã kiểm tra xem các cụm mà mô hình phát hiện có khớp với trạng thái hiển thị từ dữ liệu cảm biến hay không.

https://digitalfactory.vn/wp-content/uploads/2023/06/1685577187_120_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Từ những biểu đồ này, chúng ta có thể thấy rằng Trạng thái 1 là Tắt, 4,5 là Không hoạt động và 0,2,3 dường như là các giai đoạn khác nhau của quá trình pha cà phê (xay, vẽ một lần và tạo bọt sữa/làm nguội).

Triển khai mô hình và xây dựng ứng dụng Tulip

Sau khi xây dựng và thử nghiệm mô hình máy học phân cụm của chúng tôi, đã đến lúc triển khai mô hình để sử dụng. Chúng tôi đã lưu trữ mô hình trong S3 bằng cách sử dụng MLflow như sau: mlflow.sklearn.save_model(s3://bucket_name/registry_prefix/model_name/version).

Để thực thi mô hình đã chọn sử dụng cổng AWS và hàm AWS Lambda để tìm nạp mô hình từ S3 ở định dạng MLflow. Điểm cuối là gateway-address.com/inference/model_name, trong đó dữ liệu bao gồm các tính năng bị trễ thời gian trung bình di chuyển.

Để thực thi mô hình trên dữ liệu mới đến, chúng tôi có hai tùy chọn: thiết lập trình kết nối HTTP và thực thi nó trong Ứng dụng Tulip, ứng dụng này sẽ yêu cầu thiết bị chạy ứng dụng mọi lúc hoặc thực thi bài đăng HTTP từ bên trong Node-RED và đăng id cụm dưới dạng thuộc tính máy trạng thái với các nút Tulip Node-RED tiêu chuẩn. Chúng tôi đã chọn tùy chọn thứ hai và triển khai thành công mô hình để sử dụng.

Luồng Node-RED để tính toán dữ liệu tính năng và thực thi mô hình trông như được mô tả bên dưới:

https://digitalfactory.vn/wp-content/uploads/2023/06/1685577187_886_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png
Quy trình ở trên giống nhau đối với các cảm biến Độ rung và Dòng điện. Tất cả dữ liệu cảm biến được đưa vào Nút tham gia.
https://digitalfactory.vn/wp-content/uploads/2023/06/1685577188_740_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png
Nút tham gia:
https://digitalfactory.vn/wp-content/uploads/2023/06/1685577188_369_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png
Nút Tham gia gán đối tượng đã tham gia cho msg.value. dấu thời gian, tên và giá trị cần được xóa để phù hợp với định dạng dữ liệu dự kiến ​​cho suy luận mô hình.
https://digitalfactory.vn/wp-content/uploads/2023/06/1685577188_636_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png
Tạo máy và các thuộc tính cần thiết, để đơn giản chúng tôi chỉ thêm các tính năng không có thời gian trễ làm thuộc tính vì các tính năng khác chỉ có trong Node-RED
https://digitalfactory.vn/wp-content/uploads/2023/06/1685577188_797_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png
Sau đó, chúng tôi kiểm tra “Trạng thái” của Thuộc tính Máy hiện tại là gì và chuyển trạng thái máy trong Trình kích hoạt Máy Tulip. Trình kích hoạt máy để đặt trạng thái thành Không hoạt động/Tắt được định cấu hình tương tự, nhưng với các giá trị trạng thái khác nhau.
https://digitalfactory.vn/wp-content/uploads/2023/06/1685577189_631_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Bây giờ, máy đã được thiết lập đầy đủ và Tulip đang thu thập dữ liệu với mô hình của chúng tôi để chúng tôi có thể tính toán số lượng cà phê được sản xuất mỗi ngày và máy sử dụng bao nhiêu thời gian ở trạng thái Chạy so với Không hoạt động so với Tắt.

https://digitalfactory.vn/wp-content/uploads/2023/06/1685577189_434_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Như bạn có thể thấy ở trên, mô hình vẫn cần một số công việc, vì vậy chúng tôi đã thiết lập Tulip Player trên iPad bên cạnh máy pha cà phê espresso đang chạy ứng dụng Tulip mà người dùng có thể sử dụng để đưa ra phản hồi về độ chính xác của mô hình. Ngoài ra, nó còn nhắc nhở người dùng tắt máy sau khi hoàn thành để tiết kiệm năng lượng.

https://digitalfactory.vn/wp-content/uploads/2023/06/1685577189_464_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Với dữ liệu từ mô hình, sau đó chúng tôi có thể xây dựng Trang tổng quan để hiển thị kết quả và việc sử dụng của mình:

https://digitalfactory.vn/wp-content/uploads/2023/06/1685577190_610_Phat-hien-cac-thay-doi-trang-thai-tren-may-pha.png

Ngoài ra, chúng tôi đã phân tích một số dữ liệu thô để tính mức tiêu thụ hiện tại trên mỗi trạng thái cho một ngày làm việc thông thường. Chúng tôi nhận thấy rằng máy pha cà phê espresso sử dụng 80% dòng điện (tương đương mức tiêu thụ năng lượng) khi không hoạt động và chỉ 20% dòng điện dành cho việc pha cà phê. Vì đây là một chiếc máy nhỏ trong môi trường phi công nghiệp nên lượng chất thải không lớn.

Tuy nhiên, trong các hoạt động sản xuất, có thể có nhiều tình huống trong đó một lượng lớn năng lượng bị lãng phí do máy chạy không tải. Giám sát việc sử dụng máy có thể là chìa khóa để giúp cảnh báo về các thay đổi trạng thái và phản ứng nhanh hơn với máy chạy không tải, tiết kiệm thời gian cho nhóm của bạn và giảm lãng phí năng lượng.

Phần kết luận

Để tóm tắt bài đăng này, chúng tôi đã khám phá cách trang bị thêm các máy cũ và kết nối chúng với đám mây để ước tính tính khả dụng của chúng bằng mô hình ML đơn giản.

Chúng tôi đã sử dụng một máy pha cà phê espresso đặt tại văn phòng của chúng tôi ở Somerville, Massachusetts. Chúng tôi đã đề cập đến các thành phần phần cứng và phần mềm cần thiết, cũng như các bước để thiết lập và chạy mô hình ML. Mô hình đã sử dụng Mô hình hỗn hợp Bayesian Gaussian để phân cụm (với các đường trung bình động và các tính năng bị trễ), đồng thời được tính toán và thực thi trên Edge IO.

Ứng dụng dành cho máy pha cà phê trong văn phòng của chúng tôi cung cấp giao diện để đưa ra phản hồi nếu mô hình không phát hiện thấy cà phê đang được pha hoặc phản ứng quá chậm.

Ngoài ra, một bảng điều khiển liên tục theo dõi các loại cà phê được sản xuất tại Tulip HQ. Chúng tôi ước tính tổng dòng điện được sử dụng theo từng trạng thái của máy pha cà phê và nhận thấy chỉ 20% được sử dụng để pha cà phê, phần còn lại dành cho chạy không tải!

Thử nghiệm này nằm trong một loạt các thử nghiệm mà chúng tôi đã tiến hành xung quanh việc phát hiện trạng thái để giám sát máy, bao gồm một thử nghiệm trong khi chúng tôi tạo Edge IO tại Trung tâm Công nghệ Autodesk, Boston. Chúng tôi đã tiếp tục khám phá các mô hình phát hiện trạng thái trên các máy CNC được các nhà sản xuất sử dụng, cũng như các thiết bị và dụng cụ gia đình khác như máy giặt. Mỗi phần của thiết bị yêu cầu một số điều chỉnh nhỏ trong các thành phần của mô hình và đường trung bình động nhưng chúng tôi tiếp tục phát hiện các trạng thái qua các chu kỳ khác nhau.

Công việc này sắp thành hiện thực và chúng tôi rất vui khi có thể chia sẻ một số dịch vụ mới từ Tulip vào cuối năm nay.

Xem Thêm: https://iotvn.vn/he-thong-andon-la-gi/

Hải Phạm
phamhaig281@gmail.com


Translate »