跳转至

C++ API 参考文档

SimOne C++ API 是面向自动驾驶算法开发的 C++ 接入层,提供仿真数据读取、车辆控制、高精地图查询、评测上报等核心功能,全部接口定义在 namespace SimOneAPI 下。

典型调用顺序

自动驾驶算法接入 SimOne 的典型初始化流程:

1. InitSimOneAPI()       ← 建立 BridgeIO 连接,注册回调帧号
2. HDMapAPI::LoadHDMap() ← 可选:预加载高精地图(等待地图就绪)
3. SensorAPI / PNCAPI    ← 在帧回调中读取传感器数据 / 下发控制
4. EvaluationAPI         ← 可选:上报评测事件

注意InitSimOneAPI() 必须在所有其他 API 调用之前执行。


功能模块总览

基础层

模块 头文件 说明 API 详情
ServiceAPI SimOneServiceAPI.h 初始化(InitSimOneAPI)、版本查询、日志配置、节点间消息收发 → 查看
PNCAPI SimOnePNCAPI.h 车辆控制(SetDrive/SetTrajectory/SetPose)、状态获取、航路点、驾驶模式切换、信号灯控制 → 查看
ControlTransAPI SimOneControlTransAPI.h 底层驱动控制透传(SetDriveEx/GetDriveEx),适用于硬件在环场景 → 查看

感知层

模块 头文件 说明 API 详情
SensorAPI SimOneSensorAPI.h 读取 GPS、地面真值(障碍物)、雷达、超声波、传感器融合、车道线、交通灯、环境信息;支持轮询和回调两种模式 → 查看
StreamingAPI SimOneStreamingAPI.h 摄像头图像流(RGB / JPEG / H265)、激光雷达点云流(大尺寸帧数据,独立流协议) → 查看
V2XAPI SimOneV2XAPI.h V2X 消息读取(GetV2XInfo)与回调注册(SetV2XInfoUpdateCB),支持 NFS 格式 → 查看

地图层

模块 头文件 说明 API 详情
HDMapAPI SimOneHDMapAPI.h 地图加载(LoadHDMap)、最近车道查询(GetNearMostLane)、车道几何(GetLaneST/GetLaneSample)、路线规划(GenerateRoute/Navigate)、交通灯/标志/停止线查询 → 查看

场景与评测层

模块 头文件 说明 API 详情
EvaluationAPI SimOneEvaluationAPI.h 评测服务初始化(InitEvaluationService)、评测记录上报(AddEvaluationRecord/SaveEvaluationRecord)、判决事件回调(SetJudgeEventCB/AddJudgeEvent → 查看
ScenarioTransAPI SimOneScenarioTransAPI.h 向场景引擎写入自定义条件变量(SetUserDefinedValueCondition)并读回(GetUserDefinedValueCondition),用于触发场景规则 → 查看

全局函数索引

索引类型 链接
按函数名浏览(SimOneAPI 命名空间) namespace_member_functions
按变量/枚举 namespace_member_variables
按类/结构体 annotated(含结构体列表)
按文件浏览 files

核心数据结构

所有传感器输入与车辆状态的数据结构定义在 SimOneIOStruct.h,常用结构体如下:

结构体 用途
SimOne_Data_Gps 主车 GPS(位置、速度、姿态角)
SimOne_Data_Obstacle 障碍物列表(地面真值)
SimOne_Data_Control 油门 / 刹车 / 转向下发指令
SimOne_Data_Control_Trajectory 轨迹点列表(用于轨迹跟踪模式)
SimOne_Data_Image 摄像头图像帧元数据
SimOne_Data_TrafficLight 单个交通灯状态
SimOne_Data_LaneInfo 车道感知信息
SimOne_Data_Environment 环境参数(天气/光照等)

基础容器类型: