当前位置: 首页 > news >正文

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

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 智能驾驶功能软件平台架构

image-20220902171748794

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

image-20220902173024353

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

  • 绝对定位,是以世界坐标系为参考的定位输出,如以 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.2{m,m,m}M
>Orientation四元素姿态Quaternion 6.2.7M
>Covariance协方差Flat64[]O

6.4 速度

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

表12 速度信息

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

6.5 加速度

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

表13 加速度信息

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

6.6 零点偏置

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

表14 零偏信息

信号名称信号描述数据类型单位取值范围可选必选
Bias零点偏置结构体
>Linear acceleration bias线加速度零偏Point3D 6.2.2{m/s2,m/s2,m/s2}M
>Angular velocity bias角加速度零偏Point3D 6.2.2{rad/s2,rad/s2,rad/s2}M
>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; 
}

相关文章:

  • 框架阶段六:SpringCloud
  • 《effecttive C++》和一些其他C++开发的东西的学习总结(长期更新)
  • 登录测试用例
  • hadoop笔记——YARN部署
  • 目前全球生物识别市场规模迅速扩张,虹膜识别技术也发展迅猛
  • kafka原理解读
  • Java架构师技能点面试题汇总消息队列面试题
  • ora-00922-error-message文档
  • 1-十八烷基-3-三乙氧基丙基硅烷咪唑溴盐离子液体([ODTIm]Br)修饰Fe3O4磁性纳米颗粒
  • Android:滚动字幕
  • 美容仪器设计市场是什么行情?
  • 第九章Redis持久化
  • 申请外观设计专利多少钱?
  • Shiba Inu 生态系统:快速指南
  • 【Linux操作系统】-- 多线程(三)-- 线程池+单例模式
  • AngularJS指令开发(1)——参数详解
  • CEF与代理
  • FastReport在线报表设计器工作原理
  • Javascript Math对象和Date对象常用方法详解
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Map集合、散列表、红黑树介绍
  • nodejs实现webservice问题总结
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Puppeteer:浏览器控制器
  • Vue2.x学习三:事件处理生命周期钩子
  • 诡异!React stopPropagation失灵
  • 简单数学运算程序(不定期更新)
  • Linux权限管理(week1_day5)--技术流ken
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #162 (Div. 2)
  • #考研#计算机文化知识1(局域网及网络互联)
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • $NOIp2018$劝退记
  • (3)选择元素——(17)练习(Exercises)
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (javascript)再说document.body.scrollTop的使用问题
  • (八)Spring源码解析:Spring MVC
  • (学习日记)2024.01.09
  • (转)ORM
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET项目中存在多个web.config文件时的加载顺序
  • .net专家(高海东的专栏)
  • ??在JSP中,java和JavaScript如何交互?
  • [Asp.net mvc]国际化
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [Deep Learning] 神经网络基础
  • [HTTP]HTTP协议的状态码
  • [IE编程] 打开/关闭IE8的光标浏览模式(Caret Browsing)
  • [IE编程] 如何获得IE版本号
  • [linux] C语言Linux系统编程进程基本概念
  • [NBIoT]NBIoT相关知识