Skip to content

车辆接口设计#

摘要#

Vehicle Interface 组件在 Autoware 和车辆之间提供一个接口,该接口将控制信号传递到车辆的线控系统,并接收传回 Autoware 的车辆信息.

1.要求#

目标:

  • Vehicle Interface 组件将 Autoware 命令转换为特定于车辆的格式,并将特定于车辆格式的车辆状态转换为 Autoware 消息.
  • Autoware 和 Vehicle 组件之间的接口是抽象的,独立于硬件.
  • 该 Interface 是可扩展的,因此可以轻松添加其他特定于车辆的命令.例如,大灯控制.

非目标:

  • 不会定义车辆响应的准确率,但会提供参考设计中的准确度要求示例作为示例.
  • 响应速度将不被定义.

2.架构#

Vehicle Interface 组件由以下组件组成:

  • Raw Vehicle Command Converter 组件,如果线控系统支持速度/加速度控制,它将传递来自 Control 组件的车辆命令.否则,将根据控制方法修改控制命令(例如:通过使用加速图将目标加速度从 Control 组件转换为车辆特定的加速度/制动踏板值)
  • 车辆接口组件(特定于车辆),充当 Autoware 和车辆之间的接口,以传输控制信号并获取有关车辆的信息(转向输出、轮胎角度等)

每个组件都包含 Autoware 的静态节点,而每个模块都可以动态加载和卸载(对应于 C++ 类).Vehicle Interface 组件的机制如下图所示:

车辆接口概述

车辆接口概述

3.特征#

Vehicle Interface 组件可以在功能和能力方面提供以下特性:

  • 基本功能
  • 将 Autoware 控制命令转换为车辆特定命令
    • 将车辆特定状态信息(速度、转向)转换为 Autoware 状态消息

-诊断 - 列出可用功能 - 如果 Control 组件尝试使用 Vehicle Interface 组件中不可用的功能,则提供警告

可能会添加其他功能和能力特性,具体取决于车辆硬件.下面列出了一些示例功能:

  • 安全功能
    • 通过人工干预脱离自动驾驶.
      • 这可以通过使用紧急分离按钮,或者由安全驾驶员手动转动方向盘或踩下制动器来完成
  • 可选控件
    • 转向指示灯 -手闸 -车头 灯
    • 危险信号灯 -门 -角 -雨刷

4.接口和数据结构#

Vehicle Interface 组件的接口定义如下,供在同一进程空间中运行的其他组件访问 Vehicle Interface 组件的功能.

从控制

  • 驱动命令
    • 目标加速度、制动和转向角

来自 Planning

  • 车辆特定命令(可选,每种类型都有单独的消息) -转变 -门 -雨刮器 -等

从车辆

  • 车辆状态消息
    • 车辆特定格式消息,可转换为 Autoware 特定格式消息
      • 速度状态
      • 转向状态(可选)
      • 档位状态(可选)
      • 转向信号状态(可选)
      • 启动状态(可选)

Vehicle Interface 组件的输出接口:

  • 向车辆发送车辆控制消息
    • 驾驶车辆的控制信号
    • 取决于无人机类型/协议,但至少应包括转向和速度命令
  • 向 Autoware 发送车辆状态消息
  • 驱动状态
    • 加速、制动、转向状态
  • 车辆里程计(输出到 Localization)
    • 车辆扭曲信息
  • 控制模式
    • 有关车辆是处于自主控制还是手动控制状态的信息
  • 档位状态(可选)
    • 车辆换挡状态
  • 转向信号状态(可选)
    • 车辆转向信号灯状态

Vehicle Interface 组件中使用的对象和轨迹的语义的内部表示的数据结构定义如下:

5.关注点、假设和限制#

关注

  • 架构权衡和可扩展性

假设

-

局限性

6.ODD 的精度要求示例#