Autoware Benchmark调研

1. Autoware概述

Autoware中自带软件库,可以实现感知、融合、定位、决策等多种功能。创建完Workspace后,可通过以下命令启动场景模拟程序:

source install/setup.bash
ros2 launch scenario_test_runner scenario_test_runner.launch.py \ 
	architecture_type:=awf/universe \
  	record:=false \
  	scenario:='$(find-pkg-share scenario_test_runner)/scenario/sample.yaml' \
  	sensor_model:=sample_sensor_kit \
  	vehicle_model:=sample_vehicle

运行示例:(图片来自官方文档)
在这里插入图片描述
如果需要定制化参数,需要对相关的包进行修改。

2. Autoware版本信息

  • Autoware.AI是Autoware基于ROS的第一个发行版,由于它的架构以及代码之间缺乏统一标准等问题,使得开发者在下一代ROS 2版本中,进行了大幅重写与改动。
  • Autoware.Auto是基于ROS 2的发行版,但是它对新工程师的门槛过高,难以向系统中添加新的功能或进行大的架构改动,使得Autoware决定创建一个名为Autoware Core/Universe的新架构。
  • Autoware Core/Universe
    • Autoware Core继承了Autoware.Auto的策略,维护稳定且经过良好测试的代码库,官方对Core的维护也较严格。
    • Autoware Universe是Core的一个扩展,对代码质量的要求相对较低,Universe提供的功能也更丰富。

3. Autoware Benchmark现状

3.1 benchmark_tool_node

  • Autoware.Auto通过benchmark_tool_nodes包提供了可测试的Benchmark工具。
  • 测量指标:
    • Lidar obstacle detection accuracy
    • Lidar obstacle detection iteration speed
    • Camera obstacle detection accuracy
    • Camera obstacle detection iteration speed
    • Multimodal localization iteration speed
    • NDT node iteration speed
    • NDT node iteration speed
    • Local planner iteration speed
      • iteration speed: the time elapsed from the published topic to the output topic of the system
  • 链接:autoware.auto/benchmark-tool-nodes
  • 缺点:适用于Autoware.Auto,是否兼容Autoware.Universe未知。

3.2 Perception_benchmark_tool

  • Autoware Foundation提供的对Waymo数据集下Autoware.Universe感知栈的测试工具。
    测试结果示例:
    在这里插入图片描述
    在这里插入图片描述
  • 链接:perception_benchmark_tool
  • 缺点:难以对结果进行分析,且只包含对感知模块的测试。

3.3 Defining temporal performance metrics on components

  • Autoware官方文档提供了与时间性能相关的指标,推荐测试的工具有CARET和ros2_tracing。
  • 时间性能指标分为两种类型:执行频率和响应时间。
    • Execution frequency is observed using rate of Inter-Process Communication (IPC) messages.
    • Response time is duration elapsed through a series of processing. A series of processing is referred to as a path.
  • 应该重点关注的messages和paths:
    • Messages and paths on boundaries where observed values from sensors are consumed(传感器的数据被消耗的地方)
    • Messages and paths on boundaries of functions, e.g., a boundary of perception and planning(功能的边界,例如感知和规划)
      • Ps. 一个功能可能包含了多个处理组件,功能的边界是指与该功能相关的最初和最末组件
    • Messages and paths on boundaries where timer-based frequency is switched(定时器频率发生切换的地方)
    • Messages and paths on boundaries where two different messages are synchronized and merged(不同消息同步和合并的地方)
    • Messages that must be transmitted at expected frequency, e.g., vehicle command messages(必须以预期频率传输的消息,如汽车指令消息)
  • 测量指标:
    • 关键消息的执行频率
    • 关键路径的响应时间
  • 缺点:虽然提供了很多可供测量的指标,但是并没有具体的操作指令,需要借助第三方工具CARET、ros2_tracing来实现。
  • 链接:defining-temporal-performance-metrics

3.4 Evaluating real-time performance

  • Autoware官方提供的一份关于评估实时性能的文档。该文档提供了对实时性能进行测试的步骤及案例。
  • 测试步骤:
    • 设置单节点运行
    • 隔离CPU
    • 单独运行节点
    • 测量和可视化
  • 主要思路:
    • 为了消除调度的影响,被测节点应该独立运行,使用与整个Autoware系统运行时相同的逻辑。
    • 通过ros2_single_node_replayer 工具可以记录整个Autoware系统运行期间被测节点收到的所有topic,并使用相同的逻辑重播该节点的运行过程,完成相关指标的测试和数据可视化。
    • 官方推荐的数据分析工具:pmu_analyzer
  • 测试指标:
    • Callback的周转时间
  • 缺点:
    • 没有直接提供可运行的库,只关注了测试思路。
    • 该文档针对Intel CPU,而AVA平台是ARM架构的CPU。
    • 可能需要真实的Lidar等组件的参与,是否可在仿真阶段使用未知。
  • 链接:evaluating-real-time-performance/

3.5 Autoware_Perf

  • 由JSA2022提出的对ROS 2 Tracing的改进,该论文指出,ROS 2 Tracing目前只能测量当前系统中运行的ROS 2节点的回调执行时间;无法测量节点执行时间,也无法测量节点间通信延迟。
  • Autoware_Perf工具实现了对节点间端到端延迟的测量,并对跟踪数据进行了可视化。
  • 缺点:该工具针对Autoware.Auto版本开发,且该工具并非官方提供。
  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值