跳转至

Database

LimSim 会在仿真时将所有数据存储在数据库中,方便对仿真进行分析与评价。LimSim 使用轻量级开源数据库 🔗SQLite 进行数据存储,方便数据的查看与迁移。LimSim 对仿真数据的存储主要分三个部分:路网数据、车辆数据和仿真数据,下面分别对这三个部分进行介绍。

路网数据

LimSim 以 SUMO 的路网为基础,对多类型的路网结构进行建模。通过以下几个表格记录路网的数据,在数据回放时,以下面的数据为依据进行路网的重建。

edgeINFO

字段 数据结构 描述
id TEXT PRIMARY KEY edge 的 id
laneNumber INT edge 的车道数
from_junction TEXT edge 的起点所在的 junction
to_junction TEXT edge 的终点所在的 junction

laneINFO

字段 数据结构 描述
id TEXT PRIMARY KEY lane 的 id
rawShape TEXT lane 的中心线几何结构
width REAL lane 的宽度
maxSpeed REAL lane 的最大限速
edgeID TEXT lane 所属的 edge 的 id
length REAL lane 的长度

lane 的 rawShape 是以字符串的形式存放在数据库中的,以 , 作为分隔符。比如,下面的 rawShape 就记录了三个点,分别是 (10.2,100.3)(14.3,15.4)(13.4,12.6)

10.2,100.3 14.3,15.4 13.4,12.6

junctionLaneINFO

在 SUMO 的路网中,有两种类型的 lane,一种是由用户自主生成的,具有特定名称的 lane。另一种则是为了连接第一种 lane,而由 SUMO 自动生成的 lane,这类 lane 的特点是名称的第一个字符都是 :,且都具有 internal 的属性。这里为了方便区分,我们将第二种 lane 定义为 junctionLane。junctionLane 总是连接两条 lane,部分 junctionLane 还具有信号灯的属性。

字段 数据结构 描述
id TEXT PRIMARY KEY junctionLane 的 id
width REAL junctionLane 的宽度
maxSpeed REAL junctionLane 的最大限速
length REAL junctionLane 的长度
tlLogicID TEXT junctionLane 所属的信号控制逻辑 ID
tlIndex INT junctionLane 在所属信号控制逻辑中的序号

connectionINFO

前文提到,两条 lane 是由一条 junctionLane 连接的,connection 则是记录这种连接关系的。

字段 数据结构 描述
fromLane TEXT 起点 lane 的 id
toLane TEXT 终点 lane 的 id
direction TEXT 方向,具体参考 XXXX
via TEXT 连接两条 lane 的 junctionLane 的 id

junctionINFO

字段 数据结构 描述
id TEXT PRIMARY KEY junction 的 id
rawShape TEXT junction 的几何结构

与 lane 的 rawShape 一样,junction 的 rawShape 也是以字符串的形式记录的,同样以 , 作为分隔符。但是 junction 的 rawShape 记录的是 junction 的外部轮廓。

tlLogicINFO

字段 数据结构 描述
id TEXT PRIMARY KEY 信号控制逻辑的 id,也是对应 junction 的 id
tlType TEXT 信号控制逻辑的类型,分为 static, actuateddelay_based
preDefPhases TEXT 信号控制逻辑的相位和相序,具体参考 XXX

trafficLightStates

字段 数据结构 描述
frame INT 当前的仿真时刻
id TEXT 信号控制逻辑的 id
currPhase TEXT 当前的相位
nextPhase TEXT 下一个相位
switchTime REAL 当前相位剩余的持续时间

车辆信息

车辆的信息分为两种,一种是车辆的固有属性,另一种是仿真过程中的实时状态。

vehicleINFO

字段 数据结构 描述
vid INT 车辆的 id
length REAL 车辆的长度
width REAL 车辆的宽度
maxAccel REAL 车辆的最大加速度
maxDecel REAL 车辆的最大减速度
maxSpeed REAL 车辆的最大速度
vTypeID TEXT 车型的 id
routes TEXT 车辆的 route 信息

frameINFO

字段 数据结构 描述
frame INT 当前的仿真时刻
vid INT 车辆的 id
vtag TEXT 车辆的角色,可以取 ego, AoIoutOfAoI
x REAL 车辆此刻的 x 位置
y REAL 车辆此刻的 y 位置
yaw REAL 车辆此刻的 yaw 角,以 x 轴正方向为起点,逆时针为正方向
speed REAL 车辆此刻的速度
accel REAL 车辆此刻的加速度
laneID TEXT 车辆此刻所在 lane 的 ID
lanePos REAL 车辆此刻在 lane 上的距离 lane 起点的距离
routeIdx INT 车辆当前处于 route 的第几段上

仿真信息

仿真信息主要包括仿真的基本信息和评价的信息

simINFO

字段 数据结构 描述
startTime TIMESTAMP 仿真启动时的时间戳
localPosx REAL local area 模式下,固定视角的 x 位置
localPosy REAL local area 模式下,固定视角的 y 位置
radius REAL local area 模式下,区域的半径
egoID TEXT ego track 模式下,ego 的 id
netBoundary TEXT 仿真路网的范围,即左下角和右上角的坐标
description TEXT 仿真的模式,有 ego tracklocal area 两种
note TEXT 备注信息,可以是算法的版本号和参数等

evaluationINFO

字段 数据结构 描述
frame INT 当前的仿真时刻
offset REAL Ego 偏离车道中心的距离
discomfort REAL Ego 的加加速度信息
collision REAL Ego 的 TTC1 的倒数
orientation REAL Ego 偏离车道中心的角度
consumption REAL Ego 的油耗信息

数值经过处理

上述指标均经过归一化处理,并不是真实数值,详情请参考 📖场景评价


  1. TTC(Time To Collision):指两车保持当前的速度行驶,多久后会发生碰撞。