跳到主要内容
AI教程

使用 Python 和 Streamlit 构建交互式机器人群分析仪表板

了解机器人群分析项目如何结合 Python、Pandas、NumPy、MySQL、Plotly 和 Streamlit,通过交互式仪表板监控群组健康状况、比较机器人、分析故障、跟踪资源并识别运营风险。

使用 Python 和 Streamlit 构建交互式机器人群分析仪表板

机器人群组分析的功能

机器人群组分析是一个用于监控和评估自主机器人群组性能的交互式仪表板。它将存储在 MySQL 中的运营记录转换为可筛选指标、交互式图表和运营洞察。

该项目重点分析任务执行、故障、行驶距离、电池消耗、任务完成时间和停机时间等数据。通过汇总这些指标,仪表板可帮助团队评估群组可靠性、发现瓶颈,并识别高风险机器人或位置。

应用程序的工作方式

该应用程序遵循简单直接的分析流程:

  1. 运营记录存储在 MySQL 数据库中。
  2. Python 应用程序查询机器人运营数据。
  3. Pandas 处理并汇总返回的记录。
  4. NumPy 支持数值分析,包括电池消耗趋势计算。
  5. Streamlit 提供交互式仪表板界面。
  6. Plotly 为群组级和机器人级分析呈现交互式图表。

用户可以按日期范围、机器人、位置和任务类型筛选仪表板。当这些选择发生变化时,KPI 和可视化内容会动态更新。

仪表板主要区域

群组概览

群组概览提供当前性能的高层摘要,包括运行中的机器人、已执行任务数、成功率和失败率、平均任务完成时间、群组可靠性、总行驶距离、总停机时间以及平均电池使用量。

机器人性能

机器人级别的比较有助于识别表现良好的设备,以及可能需要进一步调查的设备。仪表板会比较任务失败率、平均完成时间、总停机时间、任务量和失败次数。

运营分析

运营分析展示群组范围内的整体趋势,包括每月任务失败率、基于位置的失败分析和任务执行趋势。

资源效率

资源部分分析行驶距离与电池消耗之间的关系,还包括使用 NumPy 线性回归计算的电池消耗趋势,以及按任务类型进行的失败率分析。

群组异常

系统根据观察到的任务失败率,将机器人分为三个异常级别:NORMAL、WATCH 和 ATTENTION。这些类别有助于确定运营审查的优先级。

运营洞察

仪表板会突出显示风险最高的机器人、风险最高的位置和表现最佳的机器人,同时展示失败率、停机时间和平均任务执行时间,以支持更快速的调查。

安装与设置

README 将 Python、Streamlit、Pandas、NumPy、MySQL、MySQL Connector/Python 和 Plotly 列为核心技术。由于未指定确切的仓库入口文件名和数据库配置格式,请通过项目文件确认所需的命令和连接设置。

  1. 克隆或下载仓库。
  2. 创建并激活 Python 虚拟环境。
  3. 安装项目列出的依赖项。典型环境需要安装 streamlit、pandas、numpy、mysql-connector-python 和 plotly 等软件包。
  4. 准备一个包含应用程序所需机器人运营数据的 MySQL 数据库。
  5. 使用仓库提供的方法配置应用程序的数据库连接,例如配置变量或 Streamlit secrets。
  6. 启动项目指定的 Streamlit 入口。

典型的 Streamlit 启动命令如下,其中应将 app.py 替换为仓库实际的入口文件:

streamlit run app.py

不要将生产环境数据库凭据硬编码在应用程序源代码中。请使用仓库支持的配置机制,并将凭据保存在版本控制范围之外。

仪表板基本用法

1. 从群组整体视图开始

启动应用程序后,查看概览 KPI 以了解当前群组状况。重点关注成功率、失败率、平均完成时间、停机时间、行驶距离和电池使用量。

2. 使用筛选器缩小分析范围

使用日期范围比较不同的运营时期。然后选择特定机器人、位置或任务类型,将群组整体摘要转为针对性调查。由于仪表板会动态更新,生成的图表和 KPI 应反映所选筛选条件的组合。

3. 比较单个机器人

使用机器人性能部分比较失败率、任务数量、失败次数、停机时间和完成时间。失败率较高且停机时间较长的机器人可能需要进行更深入的运营审查。

4. 调查位置和任务类型

基于位置的失败分析可以揭示机器人反复出现问题的区域。按任务类型统计的失败率可以显示某类工作是否与较低的可靠性相关。

5. 检查资源关系

结合电池消耗检查行驶距离。这些指标之间的关系可以帮助团队发现异常能耗,或了解运营距离如何影响电池需求。

示例分析流程

一次实际调查可能遵循以下顺序:

  1. 设置涵盖目标时间段的日期范围。
  2. 查看车队级别的成功率和失败率。
  3. 找出属于WATCH或ATTENTION类别的机器人。
  4. 按停机时间、任务量和平均完成时间比较这些机器人。
  5. 按位置筛选,以确定故障是否集中在某个特定区域。
  6. 按任务类型筛选,以检查某项操作是否导致了故障。
  7. 在判断资源使用效率前,比较行驶距离和电池使用量。

分析高级技巧

结合多项指标,而不是依赖单一 KPI

任务失败率很重要,但应结合任务量、停机时间和平均完成时间进行解读。任务量较大的机器人自然可能比使用较少的机器人记录更多失败,因此同时查看比率和数量可以提供更好的背景信息。

使用筛选器隔离运营模式

先设置较宽的日期范围,然后逐步按机器人、位置和任务类型缩小数据范围。这种方法有助于区分整个车队的普遍问题与特定运营环境相关的问题。

结合运营背景解读电池趋势

仪表板使用 NumPy 线性回归计算电池消耗趋势。应将其视为分析信号,而不是完整解释:行驶距离、任务类型、机器人工作负载和运行位置都可能影响电池使用量。

优先处理异常类别

将NORMAL、WATCH和ATTENTION类别用作分诊机制。优先调查ATTENTION机器人,然后将其故障模式与位置和任务类型结果进行比较,以寻找可能的原因。

探索过程中使用 Plotly 交互功能

Plotly 可视化旨在支持交互式探索。将鼠标悬停在图表元素上,比较不同类别,并结合使用仪表板筛选器,而不是孤立地查看每张图表。

技术角色

  • Python:应用程序和分析逻辑。
  • Streamlit:交互式仪表板界面。
  • Pandas:数据处理和聚合。
  • NumPy:数值分析和趋势计算。
  • MySQL:运营数据存储。
  • MySQL Connector/Python:数据库连接。
  • Plotly:交互式数据可视化。

结论

机器人车队分析提供了一个统一工作区,用于了解自主车队的运行表现。其 MySQL、Python、Pandas、NumPy、Plotly 和 Streamlit 架构既支持高层级监控,也支持详细调查。通过将动态筛选器与可靠性、效率、停机时间和异常指标相结合,团队可以从原始机器人记录中提炼出更清晰的运营决策。