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

发布于 2022-12-5 17:48
浏览
0收藏

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 自车定位服务接口

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区

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

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


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


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

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区


6.2 描述


6.2.1 二维坐标


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


表4 二维坐标

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区

6.2.2 三维坐标


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


表5 三维坐标

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区

6.2.3 二维曲线


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


表6 二维曲线

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区


6.2.4 三维曲线


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


表7 三维曲线


智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区

6.2.5 二维多边形


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


表8 二维多边形

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区

6.2.6 三维多边形


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


表9 三维多边形

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区

6.2.7 四元数


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


表10 四元数

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区

6.3 位姿


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


表11 位姿

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区


6.4 速度


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


表12 速度信息

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区


6.5 加速度


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


表13 加速度信息

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区


6.6 零点偏置


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


表14 零偏信息

智能驾驶功能软件平台设计规范第五部分:定位功能服务接口-汽车开发者社区


附录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; 
}



原文作者:爱是与世界平行

原文链接:https://blog.51cto.com/lovebetterworld/5648720


收藏
回复
举报
回复
相关推荐