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),用于触发场景规则 |
→ 查看 |
全局函数索引
核心数据结构
所有传感器输入与车辆状态的数据结构定义在 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 |
环境参数(天气/光照等) |
基础容器类型: