智能驾驶功能软件平台设计规范第五部分:定位功能服务接口

Posted 爱是与世界平行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能驾驶功能软件平台设计规范第五部分:定位功能服务接口相关的知识,希望对你有一定的参考价值。

1 规范应用范围

本规范规定了智能驾驶功能软件平台的定位功能服务接口。

本规范适用于设计开发 GB/T《汽车驾驶自动化分级》[1]所定义的 2 级及以上的驾驶自动化系统即智能驾驶系统。

2 规范引用文件

本规范的引用和参考文件见下表:

[1] GB/T《汽车驾驶自动化分级》

[2] ISO/DIS 23150:2020(E) Road vehicles — Data communication between sensors

and data fusion unit for automated driving functions — Logical interface

[3] ADASIS(Advanced Driver Assistance Systems Interface Specification) v3

[4] 智能驾驶功能软件平台设计规范 第一部分:系统架构

[5] 智能驾驶功能软件平台设计规范 第二部分:感知融合功能服务接口

[6] 智能驾驶功能软件平台设计规范 第三部分:预测功能服务接口

[7] 智能驾驶功能软件平台设计规范 第四部分:决策规划功能服务接口

3 缩略语

文档中可能使用到的缩写说明如下所示:

缩略语 英文全名 中文解释

AD Autonomous Driving 自动驾驶

ADAS Advanced driver-assistance systems 高级辅助驾驶系统

ODD Operational Design Domain 设计运行区域

APP Application 应用程序

4 定位功能概述

智能驾驶功能软件平台基于不同厂商的技术实现方案进行功能抽象,共分为传感器抽象功能、感知融合功能、预测功能、决策规划功能、定位功能和执行器抽象功能等 6 个功能模块。主机厂基于自身策略,在设计和开发功能软件时可以选择不同的功能模块和算法组件,实现拼插式功能组合,灵活构建智能驾驶系统级解决方案。

图 1 智能驾驶功能软件平台架构

定位功能根据高精度地图、传感器等信息输入提供自车位置,包括本车的绝对位置以及和静态动态环境的相对位置等。传感器的输入来自于传感器抽象模块或者感知融合模块。高精度地图需要设置地图引擎,通过地图引擎来适配不同的国内外标准,提供全局和局部的环境参考信息,可以参考 ADASIS v3[3]等。

依赖于地图引擎所提供的地图信息,同时也依赖传感器抽象功能和感知融合功能中的部分服务,自车定位组件提供自车的绝对或相对位置、姿态、速度和加速度等信息,具体如下:

  • 绝对定位,是以世界坐标系为参考的定位输出,如以 WGS-84 坐标系为参考的自车位置(经度、纬度和高度)、姿态等信息。

  • 相对定位,是以局部坐标系为参考的定位输出,如以局部地理系为参考的自车相对于局部参考系原点的位置、速度等信息。

坐标系是定位服务中提供的位置、速度等信息的参照系统,同样的车辆运动状态在不同的坐标系中会有不同的标识,因此描述一个定位服务信息时,必须指定相应的坐标系。在定位服务中常用的坐标系包括全球地理坐标系(GNSS 系统)、局部地理坐标系(地图系统)、车体坐标系(感知融合、决策规划等服务)等,具体参见《智能驾驶功能软件平台规范 第一部分:系统架构》[4]。

表1 定位功能服务

接口名称依赖功能接口信息
自车定位服务接口传感器抽象, 感知融合功能服务接口,地图引擎自车的绝对或相对位置、朝向、速度、加速度等位姿信息

5 定位功能服务接口定义

本规范规定了定位功能对外提供的逻辑接口,定义了服务所提供信息的语义和数据类型,逻辑接口主要由数据包头和数据体两部分组成。

数据格式 Integer 表示整数类型,Float 表示实数类型;

可选必选列表明信号在接口中是否必选,M 代表必选,O 代表可选。

5.1 自车定位服务接口

自车定位服务接口提供了定位模块状态,以及本车的位置信息、速度、加速度等信息。

自车定位服务接口定义如表 2 所示。

表2 自车定位服务接口

信号名称信号描述数据类型单位取值范围可选必选
Header定位服务接口数据包头Header 6M
ParentCoordiante父坐标系枚举10:UnKnow;1:Vehicle;2:WGS84;3:UTM;O
ChildCoordiante子坐标系枚举10:UnKnow;1:Vehicle;2:WGS84;3:UTM;O
PositionStatus定位模块状态枚举10:Good;1:PositionNotGood;2:OrientationNotGoodM
UTMZoneIDUTM分区号Integer1[1…60]O
isSouth南北半球标志位BoolTrue:南半球;False:北半球O
OffsetXUTM区内偏移量Integer1O
OffsetYUTM区内偏移量Integer1O
RefPoint针对停车场或者其他特殊场景的参考点位置,该点在全局坐标系下位置描述Point3D 6.2.2O
Pose位姿Pose 6.3M
Velocity速度Velocity 0M
Acceleration加速度AccelerationM
Bias零点偏置Bias 6.6O

6 定位功能服务接口数据结构

6.1 自车定位服务接口数据包头

自车定位服务接口数据包头主要描述了定位接口的概要信息,主要包括算法组件名称、版本信息、时间戳、参考坐标系、模块状态信息、定位数据源等。

表3 自车定位服务接口数据包头

信号名称信号描述数据类型单位取值范围可选必选
Header定位服务接口数据包头结构体
>ModuleID算法组件名称Integer1M
>Version ID模块版本号结构体M
>>Major主版本号Integer1M
>>Minor辅版本号Integer1M
>>Patch补丁号Integer1M
>>SequenceNum序列号Integer1M
>TimeStamp时间戳结构体M
>>TimeStampS时间戳整秒,格林威治时间1970.1.1 00:00:00秒起至当前时刻的时间IntegersM
>>TimeStampNs时间戳纳秒,格林威治时间1970.1.1 00:00:00秒起至当前时刻的时间IntegernsM
>Frame坐标系枚举10:NA;1:VCS;2:WGS84;3:UTM;M
>Status模块状态枚举10:GOOD;1:MED;2:FAILUREM

6.2 描述

6.2.1 二维坐标

二维坐标信息表示二维平面的点或者向量信息。

表4 二维坐标

信号名称信号描述数据类型单位取值范围可选必选
Point2D二维坐标结构体
>xX轴坐标或向量FloatM
>yY轴坐标或向量FloatM

6.2.2 三维坐标

三维坐标信息表示三维平面的点或者向量信息。

表5 三维坐标

信号名称信号描述数据类型单位取值范围可选必选
Point3D三维坐标结构体
>xX轴坐标或向量FloatM
>yY轴坐标或向量FloatM
>zZ轴坐标或向量FloatM

6.2.3 二维曲线

二维空间曲线采样点序列。

表6 二维曲线

信号名称信号描述数据类型单位取值范围可选必选
Curve2D二维曲线Point2D数组
>curve点序列6.2.1M

6.2.4 三维曲线

三维空间曲线采样点序列。

表7 三维曲线

信号名称信号描述数据类型单位取值范围可选必选
Curve3D三维曲线Point3D数组
>curve点序列6.2.2M

6.2.5 二维多边形

二维多边形提供了多边形的二维特征点数组信息。

表8 二维多边形

信号名称信号描述数据类型单位取值范围可选必选
Polygon2D二维多边形,由一系列2D点构成的Array,顺序相连Point2D数组
>Point2D二维坐标6.2.1M

6.2.6 三维多边形

三维多边形提供了多边形的三维特征点数组信息。

表9 三维多边形

信号名称信号描述数据类型单位取值范围可选必选
Polygon3D三维多边形,由一系列3D点构成的Array,顺序相连Point3D数组
>Point3D三维坐标6.2.2M

6.2.7 四元数

四元数信息用来表示三维空间中的旋转信息。

表10 四元数

信号名称信号描述数据类型单位取值范围可选必选
Quaternion四元数结构体
>qxX分量FloatM
>qyY分量FloatM
>qzZ分量FloatM
>qwW分量FloatM

6.3 位姿

位姿信息用于描述目标相对于参考坐标系的姿态和位置以及相应的协方差信息;

表11 位姿

信号名称信号描述数据类型单位取值范围可选必选
Pose位姿结构体
>Position位置Point3D 6.2.2m,m,mM
>Orientation四元素姿态Quaternion 6.2.7M
>Covariance协方差Flat64[]O

6.4 速度

速度信息提供了目标的线速度和角速度信息以及协方差信息。

表12 速度信息

信号名称信号描述数据类型单位取值范围可选必选
Velocity速度结构体
>Linear线速度Point3D 6.2.2m/s,m/s,m/sM
>Angular角速度Point3D 6.2.2rad/s,rad/s,rad/sM
>Covariance协方差Float数组O

6.5 加速度

加速度信息提供了目标的线加速度和角加速度信息以及协方差信息。

表13 加速度信息

信号名称信号描述数据类型单位取值范围可选必选
Acceleration加速度结构体
>Linear线加速度Point3D 6.2.2m/s2,m/s2,m/s2M
>Angular角加速度Point3D 6.2.2rad/s2,rad/s2,rad/s2M
>Covariance协方差Float数组O

6.6 零点偏置

零点偏置信息提供了线加速度和角速度输出的零偏值以及协方差信息。

表14 零偏信息

信号名称信号描述数据类型单位取值范围可选必选
Bias零点偏置结构体
>Linear acceleration bias线加速度零偏Point3D 6.2.2m/s2,m/s2,m/s2M
>Angular velocity bias角加速度零偏Point3D 6.2.2rad/s2,rad/s2,rad/s2M
>Covariance协方差Float数组O

附录A(资料性附录)定位功能服务接口Protobuf描述

A.1 数据结构定义

//common.proto
message Header
    required uint32 ModuleID=1;
    message VersionID
        required uint32 major=1;
        required uint32 minor=2;
        required uint32 patch=3;
    
    required VersionID vid=2;
    required uint32 sequenceNum=3;
    message timeStamp
        required uint64 timeStampS=1;
        required uint64 timeStampNs=2;
    
    required timeStamp TimeStamp=4;
    enum FRAMETYPE
        NA=0;
        VCS=1;
        WGS84=2;
        UTM=3;
    
    required FRAMETYPE Frame=5;
    emum STATUS
        GOOD=0;
        MED=1;
        FAILURE=2;
    
    required STATUS Status =6;

message Point2D
    required double x=1;
    required double y=2;

message Point3D
    required double x=1;
    required double y=2;
    required double z=3;

message Quaternion 
    Required double qx = 1 ;
    Required double qy = 2 ;
    Required double qz = 3 ;
    Required double qw = 4 ;

Message Pose
    Required Point3D Position=1;
    Required Quaternion quat=2;
    Repeated double Covariance=3;

Message Velocity
    Required Point3D Linear=1;
    Required Point3D Angular =2;
    Repeated double Covariance=3;

Message Acceleration 
    Required Point3D Linear=1;
    Required Point3D Angular =2;
    Repeated double Covariance=3;

Message Bias 
    Required Point3D LinearAccelerationBias =1;
    Required Point3D AngularVelocityBias =2;
    Repeated double Covariance=3;

A.2 自车定位服务接口描述

//LoacationService.proto
import common.proto
    Message LoacationService
    Required Header header=1;
    optional FrameType ParentCoordinate=2;
    optional FrameType ChildCoordinate=3;
    Enum pStatus
        GOOD=0;
        POSITION_NOT_GOOD=1;
        ORIENTATIONNOTGOOD=2;
    
    Required pStatus PositionStatus =4;
    optional uint32 UTMZoneID=5;
    optional bool IsSouth=6;
    optional uint32 OffsetX=7;
    optional uint32 OffsetY=8;
    optional Point3D RefPoint=9;
    Required Pose pose=10;
    Required Velocity Vel=11;
    Required Acceleration acc=12;
    optional Bias imub=13; 

以上是关于智能驾驶功能软件平台设计规范第五部分:定位功能服务接口的主要内容,如果未能解决你的问题,请参考以下文章

智能驾驶功能软件平台设计规范第三部分:预测功能服务接口

智能驾驶功能软件平台设计规范第三部分:预测功能服务接口

智能驾驶功能软件平台设计规范 第二部分:感知融合功能服务接口

智能驾驶功能软件平台设计规范 第一部分:系统架构

基于intel x86+fpga智能驾驶舱和高级驾驶辅助系统硬件设计

面向未来的智能驾驶关键设计要素:融合定位