Chuyển đến nội dung chính
Hướng dẫn AI

Xây dựng bảng điều khiển phân tích đội robot tương tác bằng Python và Streamlit

Tìm hiểu cách dự án Robot Fleet Analytics kết hợp Python, Pandas, NumPy, MySQL, Plotly và Streamlit để giám sát tình trạng đội robot, so sánh robot, phân tích lỗi, theo dõi tài nguyên và xác định rủi ro vận hành thông qua bảng điều khiển tương tác.

Xây dựng bảng điều khiển phân tích đội robot bằng Python và Streamlit

Robot Fleet Analytics thực hiện những gì

Robot Fleet Analytics là bảng điều khiển tương tác để theo dõi và đánh giá hiệu suất của đội robot tự hành. Công cụ chuyển đổi các bản ghi vận hành được lưu trữ trong MySQL thành các chỉ số đã lọc, biểu đồ tương tác và thông tin chuyên sâu về vận hành.

Dự án tập trung vào các dữ liệu như thực hiện tác vụ, lỗi, quãng đường di chuyển, mức tiêu thụ pin, thời gian hoàn thành tác vụ và thời gian ngừng hoạt động. Bằng cách tổng hợp các thước đo này, bảng điều khiển giúp các nhóm đánh giá độ tin cậy của đội robot, tìm ra điểm nghẽn và xác định các robot hoặc địa điểm có rủi ro cao.

Cách ứng dụng hoạt động

Ứng dụng tuân theo một quy trình phân tích dữ liệu rõ ràng:

  1. Các bản ghi vận hành được lưu trong cơ sở dữ liệu MySQL.
  2. Ứng dụng Python truy vấn dữ liệu vận hành robot.
  3. Pandas xử lý và tổng hợp các bản ghi được trả về.
  4. NumPy hỗ trợ phân tích số liệu, bao gồm tính toán xu hướng tiêu thụ pin.
  5. Streamlit cung cấp giao diện bảng điều khiển tương tác.
  6. Plotly hiển thị các biểu đồ tương tác để phân tích ở cấp độ đội robot và từng robot.

Người dùng có thể lọc bảng điều khiển theo khoảng thời gian, robot, địa điểm và loại tác vụ. Các KPI và hình ảnh trực quan sẽ được cập nhật động khi những lựa chọn này thay đổi.

Các khu vực chính của bảng điều khiển

Tổng quan đội robot

Tổng quan đội robot cung cấp tóm tắt cấp cao về hiệu suất hiện tại. Phần này bao gồm số robot đang hoạt động, số tác vụ đã thực hiện, tỷ lệ thành công và thất bại, thời gian hoàn thành tác vụ trung bình, độ tin cậy của đội robot, tổng quãng đường đã di chuyển, tổng thời gian ngừng hoạt động và mức sử dụng pin trung bình.

Hiệu suất robot

So sánh ở cấp độ robot giúp xác định những thiết bị đang hoạt động tốt và những thiết bị có thể cần được kiểm tra. Bảng điều khiển so sánh tỷ lệ tác vụ thất bại, thời gian hoàn thành trung bình, tổng thời gian ngừng hoạt động, số lượng tác vụ và số lần thất bại.

Phân tích vận hành

Phân tích vận hành cho thấy các xu hướng rộng hơn trong toàn đội robot. Phần này bao gồm tỷ lệ tác vụ thất bại theo tháng, phân tích lỗi theo địa điểm và xu hướng thực hiện tác vụ.

Hiệu quả sử dụng tài nguyên

Phần tài nguyên xem xét mối quan hệ giữa quãng đường đã di chuyển và mức tiêu thụ pin. Phần này cũng bao gồm các xu hướng tiêu thụ pin được tính bằng hồi quy tuyến tính của NumPy và phân tích tỷ lệ thất bại theo loại tác vụ.

Các ngoại lệ của đội robot

Robot được phân loại theo tỷ lệ tác vụ thất bại quan sát được, với ba cấp độ ngoại lệ: NORMAL, WATCH và ATTENTION. Các danh mục này giúp ưu tiên việc rà soát vận hành dễ dàng hơn.

Thông tin chuyên sâu về vận hành

Bảng điều khiển làm nổi bật robot có rủi ro cao nhất, địa điểm có rủi ro cao nhất và robot có hiệu suất tốt nhất. Bảng điều khiển cũng cung cấp tỷ lệ thất bại, thời gian ngừng hoạt động và thời gian thực hiện tác vụ trung bình để hỗ trợ điều tra nhanh hơn.

Cài đặt và thiết lập

README xác định Python, Streamlit, Pandas, NumPy, MySQL, MySQL Connector/Python và Plotly là các công nghệ cốt lõi. Vì tên tệp điểm vào chính xác của kho mã và định dạng cấu hình cơ sở dữ liệu chưa được chỉ rõ, hãy sử dụng các tệp dự án để xác nhận lệnh bắt buộc và thông tin cài đặt kết nối.

  1. Sao chép hoặc tải xuống kho mã.
  2. Tạo và kích hoạt môi trường ảo Python.
  3. Cài đặt các phần phụ thuộc do dự án liệt kê. Một môi trường điển hình cần các gói như streamlit, pandas, numpy, mysql-connector-python và plotly.
  4. Chuẩn bị cơ sở dữ liệu MySQL chứa dữ liệu vận hành robot mà ứng dụng yêu cầu.
  5. Cấu hình kết nối cơ sở dữ liệu của ứng dụng bằng phương thức được cung cấp trong kho mã, chẳng hạn như biến cấu hình hoặc Streamlit secrets.
  6. Khởi chạy điểm vào Streamlit được dự án chỉ định.

Lệnh khởi chạy Streamlit điển hình có dạng sau, trong đó app.py cần được thay bằng tệp điểm vào thực tế của kho mã:

streamlit run app.py

Không hard-code thông tin đăng nhập cơ sở dữ liệu production trong mã nguồn ứng dụng. Hãy sử dụng cơ chế cấu hình được kho mã hỗ trợ và giữ thông tin xác thực bên ngoài hệ thống kiểm soát phiên bản.

Cách sử dụng bảng điều khiển cơ bản

1. Bắt đầu với chế độ xem toàn đội robot

Sau khi khởi chạy ứng dụng, hãy xem lại các KPI tổng quan để hiểu tình trạng hiện tại của đội robot. Đặc biệt chú ý đến tỷ lệ thành công, tỷ lệ thất bại, thời gian hoàn thành trung bình, thời gian ngừng hoạt động, quãng đường và mức sử dụng pin.

2. Thu hẹp phân tích bằng bộ lọc

Sử dụng khoảng thời gian để so sánh các giai đoạn vận hành khác nhau. Sau đó chọn một robot, địa điểm hoặc loại tác vụ cụ thể để chuyển từ bản tóm tắt toàn đội sang điều tra tập trung. Vì bảng điều khiển được cập nhật động, các biểu đồ và KPI kết quả phải phản ánh tổ hợp bộ lọc đã chọn.

3. So sánh từng robot

Sử dụng phần hiệu suất robot để so sánh tỷ lệ thất bại, số lượng tác vụ, số lần thất bại, thời gian ngừng hoạt động và thời gian hoàn thành. Robot có tỷ lệ thất bại cao cùng thời gian ngừng hoạt động đáng kể có thể cần được rà soát vận hành chuyên sâu hơn.

4. Điều tra địa điểm và loại tác vụ

Phân tích lỗi theo địa điểm có thể cho thấy những khu vực robot thường xuyên gặp sự cố. Tỷ lệ thất bại theo loại tác vụ có thể cho biết một nhóm công việc cụ thể có liên quan đến độ tin cậy thấp hơn hay không.

5. Xem xét mối quan hệ về tài nguyên

Kiểm tra quãng đường đã di chuyển cùng với mức tiêu thụ pin. Mối quan hệ giữa các thước đo này có thể giúp nhóm phát hiện mức sử dụng năng lượng bất thường hoặc hiểu cách quãng đường vận hành ảnh hưởng đến nhu cầu pin.

Quy trình phân tích mẫu

Một cuộc điều tra thực tế có thể tiến hành theo trình tự sau:

  1. Đặt khoảng thời gian bao quát giai đoạn cần quan tâm.
  2. Đánh giá tỷ lệ thành công và thất bại ở cấp đội robot.
  3. Xác định các robot thuộc danh mục WATCH hoặc ATTENTION.
  4. So sánh các robot đó theo thời gian ngừng hoạt động, khối lượng nhiệm vụ và thời gian hoàn thành trung bình.
  5. Lọc theo địa điểm để xác định liệu các lỗi có tập trung ở một khu vực cụ thể hay không.
  6. Lọc theo loại nhiệm vụ để kiểm tra liệu một hoạt động có đang gây ra các lỗi hay không.
  7. So sánh quãng đường đã di chuyển và mức sử dụng pin trước khi đưa ra kết luận về hiệu quả sử dụng tài nguyên.

Mẹo nâng cao để phân tích

Kết hợp các chỉ số thay vì chỉ dựa vào một KPI

Tỷ lệ nhiệm vụ thất bại cao là một yếu tố quan trọng, nhưng cần được diễn giải cùng với khối lượng nhiệm vụ, thời gian ngừng hoạt động và thời gian hoàn thành trung bình. Một robot thực hiện nhiều nhiệm vụ có thể tự nhiên ghi nhận nhiều lỗi hơn robot được sử dụng ít, vì vậy việc xem xét cả tỷ lệ và số lượng sẽ cung cấp bối cảnh đầy đủ hơn.

Sử dụng bộ lọc để xác định các mô hình vận hành

Bắt đầu với khoảng thời gian rộng, sau đó dần thu hẹp dữ liệu theo robot, địa điểm và loại nhiệm vụ. Cách tiếp cận này giúp phân biệt các vấn đề trên toàn đội robot với những vấn đề gắn liền với một bối cảnh vận hành cụ thể.

Diễn giải xu hướng pin trong bối cảnh vận hành

Bảng điều khiển sử dụng hồi quy tuyến tính của NumPy để tính toán xu hướng tiêu thụ pin. Hãy xem đây là một tín hiệu phân tích chứ không phải lời giải thích hoàn chỉnh: quãng đường, loại nhiệm vụ, khối lượng công việc của robot và địa điểm vận hành đều có thể ảnh hưởng đến mức sử dụng pin.

Ưu tiên các danh mục ngoại lệ

Sử dụng các danh mục NORMAL, WATCH và ATTENTION như một cơ chế phân loại ưu tiên. Trước tiên, hãy kiểm tra các robot thuộc danh mục ATTENTION, sau đó so sánh mô hình lỗi của chúng với kết quả theo địa điểm và loại nhiệm vụ để tìm ra các nguyên nhân có thể xảy ra.

Sử dụng các tương tác của Plotly trong quá trình khám phá

Các biểu đồ trực quan hóa bằng Plotly được thiết kế để khám phá tương tác. Di chuột qua các thành phần biểu đồ, so sánh các danh mục và sử dụng đồng thời các bộ lọc của bảng điều khiển thay vì xem xét từng biểu đồ riêng lẻ.

Vai trò của công nghệ

  • Python: logic ứng dụng và phân tích.
  • Streamlit: giao diện bảng điều khiển tương tác.
  • Pandas: xử lý và tổng hợp dữ liệu.
  • NumPy: phân tích số và tính toán xu hướng.
  • MySQL: lưu trữ dữ liệu vận hành.
  • MySQL Connector/Python: kết nối cơ sở dữ liệu.
  • Plotly: trực quan hóa dữ liệu tương tác.

Kết luận

Robot Fleet Analytics cung cấp một không gian làm việc thống nhất để tìm hiểu hiệu suất của đội robot tự hành. Kiến trúc MySQL, Python, Pandas, NumPy, Plotly và Streamlit hỗ trợ cả việc giám sát tổng quan lẫn điều tra chi tiết. Bằng cách kết hợp các bộ lọc động với các chỉ số về độ tin cậy, hiệu quả, thời gian ngừng hoạt động và ngoại lệ, các nhóm có thể chuyển từ dữ liệu robot thô sang những quyết định vận hành rõ ràng hơn.