控制通信类
PNCAPI
PNCAPI(Planning & Control API)用于控制仿真主车的运动行为。决策规划控制算法利用多传感器融合后的目标级真值数据开展验证,算法的控制消息通过 PNCAPI 传入 SimOne 仿真系统,从而验证主车控制结果的准确性。
SimOne 提供三种主车驱动方式:
| 驱动方式 |
说明 |
对应 API |
| 位置驱动 |
直接设置主车的空间坐标和朝向,适合回放或轨迹复现场景 |
SetPose |
| 油门/刹车/方向驱动 |
通过控制信号驱动主车(含动力学),适合控制算法验证 |
SetDrive |
| 规划轨迹驱动 |
通过规划轨迹点驱动主车(含动力学),不可与 SetDrive 同时使用 |
SetDriveTrajectory |
详细参数说明请参阅 C++ API 参考文档。完整调用示例请参阅 PNC 示例。
API 速查表
选择车辆并初始化
| 事件 |
C++ API |
Python API |
| 注册 主车 的扩展状态信息 |
RegisterVehicleState |
SoRegisterVehicleState |
| 设置 主车 Controller 的名字 |
SetDriverName |
SoSetDriverName |
车辆位置与状态
| 事件 |
C++ API |
Python API |
| 设置 主车 位置 |
SetPose |
SoSetPose |
| 重置 主车 状态 |
SetVehicleToInitState |
SoSetVehicleToInitState |
车辆控制
| 事件 |
C++ API |
Python API |
| 主车 控制(油门/刹车/方向) |
SetDrive |
SoSetDrive |
| 设置 主车 控制模式 |
SetDriveMode |
SoSetDriveMode |
轨迹与规划控制
| 事件 |
C++ API |
Python API |
| 预测轨迹设置 |
SetTrajectory |
— |
| 主车 控制(通过规划轨迹) |
SetDriveTrajectory |
SoSetDriveTrajectory |
获取状态
| 事件 |
C++ API |
Python API |
获取通过 RegisterVehicleState 注册的 主车 状态信息 |
GetVehicleState |
SoGetVehicleState |
| 获取车辆控制模式 |
GetControlMode |
SoGetControlMode |
| 获取 SimOneDriver 控制信号 |
GetDriverControl |
SoGetDriverControl |
| 获取 用例 主车 路径点 |
GetWayPoints |
SoGetWayPoints |
事件与信息设置
| 事件 |
C++ API |
Python API |
| 设置 主车 预警消息 |
SetVehicleEvent |
SoSetVehicleEvent |
| 设置车辆信号灯状态 |
SetSignalLights |
SoSetSignalLights |
| 场景事件回调 |
SetScenarioEventCB |
SoAPISetScenarioEventCB |