You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为运输车队AMR机器人分配ID并实现时间折线图追踪求助

解决AMR机器人movebytransporter函数调用记录与时间折线图实现方案

核心落地步骤

要实现目标,关键是在movebytransporter函数入口埋点记录时间与机器人标识,再通过数据聚合生成折线图,以下是具体操作:

1. 函数入口埋点记录数据

在movebytransporter函数的最开头,添加数据记录逻辑,确保每次调用都能捕获关键信息:

  • 记录精确时间戳(毫秒级,保证时间维度准确性)
  • 记录触发函数的机器人唯一ID(如AMR_01至AMR_07)
  • 将数据存入全局可访问的数据集(数组、字典或内存数据库,依开发环境选择)

示例伪代码(以Python为例):

# 全局存储调用记录
amr_move_logs = []

def movebytransporter(amr_id, target):
    # 埋点记录
    import datetime
    current_ts = datetime.datetime.now().timestamp()
    amr_move_logs.append({
        "amr_id": amr_id,
        "trigger_time": current_ts
    })
    # 原有业务逻辑
    # ...

2. 数据分组预处理

对记录的数据按机器人ID分组,整理成可视化工具易识别的格式:

  • 把每个机器人的所有触发时间戳单独归类
  • 将时间戳转换为可读的时间格式(如YYYY-MM-DD HH:MM:SS)

3. 生成多系列时间折线图

根据你使用的可视化工具(Matplotlib、Plotly或工业软件自带组件),加载分组后的数据:

  • 以时间为X轴,机器人ID为不同折线系列
  • 用散点+虚线的方式展示离散触发事件(阶梯式折线更直观)

示例Matplotlib代码片段:

import matplotlib.pyplot as plt
import datetime

# 按机器人ID分组数据
grouped_data = {}
for log in amr_move_logs:
    amr_id = log["amr_id"]
    if amr_id not in grouped_data:
        grouped_data[amr_id] = []
    # 转换为可读时间
    time_obj = datetime.datetime.fromtimestamp(log["trigger_time"])
    grouped_data[amr_id].append(time_obj)

# 绘制折线图
plt.figure(figsize=(12,6))
for amr_id, times in grouped_data.items():
    # 用机器人编号作为Y轴固定值,方便区分
    y_val = int(amr_id.split("_")[1])
    plt.plot(times, [y_val]*len(times), marker='o', label=amr_id, linestyle='--')

plt.xlabel("时间")
plt.ylabel("机器人ID")
plt.title("AMR机器人movebytransporter函数调用时间线")
plt.legend()
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

4. 瓶颈排查方向

如果仍无法推进,检查以下常见问题:

  • 机器人ID是否能正确传入movebytransporter函数(确保调用时标识不丢失)
  • 时间戳是否存在时区偏差(统一使用UTC或本地时间,避免时间混乱)
  • 全局数据集是否被意外重置(比如局部变量覆盖全局变量)
  • 可视化工具是否支持多系列折线渲染(查看工具文档确认配置规则)

内容的提问来源于stack exchange,提问作者Amol Dhumal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 17:59:58