【自动驾驶】RSS Model for Autonomous Driving

Last updated on February 22, 2024 am

RSS Model for Autonomous Driving

论文:《On a Formal Model of Safe and Scalable Self-driving Cars》

Contribution:

  • Safety (RSS model) Reasonable care, Responsibility, agile driving policy
  • Semantic (Semantic language) :Defined Q function over the Semantic space
  • PAC sensing model:Safety and Comfort of driving ;tied to the Q function;

1. Safety Concept

Functional versus nominal safety 功能安全与名义安全

Functional Safety,FuSa 是指电子电路中操作的完整性

名义安全是在假设HW和SW系统运行无差错(即在功能上是安全的)的情况下,AV是否正在做出安全的逻辑决策。

Sense,Plan,Act 感知 计划 行动

2. 现有的自动驾驶汽车的决策方案

  • Miles driven :基于统计的论点,同时需要较大的统计量数据
  • disengagements(脱离):被定义为人类安全驾驶人因为做出不安全的决定而不得不干预AV的运行,从而导致事故的情况。
  • simulation:建立虚拟世界模拟器,模拟器和显示世界的差距,无法建模全部的策略
  • scenario based testing :枚举现实世界的驾驶场景,过度拟合和泛化的问题
  • proprietary approaches

3. RSS(Responsibility-Sensitive-Safety) Model for Multi-agent Safety

  • 目标:

    • 做不到绝对安全,需要有Reasonable的响应
    • 遵循RSS能做到乌托邦Utopia
    • 敏捷而非防御,不应当过于谨慎而影响其他驾驶
    • 法律解释的意义
  • 形式化的规则:

    1. Do not hit someone from behind.
    2. Do not cut-in recklessly.
    3. Right-of-way is given, not taken. 道路通行权是给予的而不是占用的
    4. Be careful of areas with limited visibility 小心有限可视化的范围
    5. If you can avoid an accident without causing another one, you must do it.
3.1 Single Land Road 单向道路的情况
  • 不考虑前车倒退的情况,后车撞上前车那么后车负责,后车有责任和前车保持距离

  • \(c_r\)表示前车,\(c_f\)表示后车,\(\rho\)表示的是前车的反应时间,\(a_{max,break}\)表示的是前车的最大加速度,\(a_{max,accel}\)表示的是最多的加速制动,\(a_{min,break}\)表示的是后车的最小制动加速度来保证不会撞到前车

  • 同方向行驶的安全距离

    给出最小的安全纵向距离: \[ d_{min}=max\{v_r\rho+1/2a_{max,accel}\rho^2+((v_r+\rho a_{max,accel})^2)/2a_{min,break}-v_f^2/2a_{max,break},0\} \]

  • Definition 1
  • \(t_b\) dangerous time;\([t_b,t_b+\rho]\) 表示一定的反应时间 在这个范围之内在给定的加速度范围之内 执行proper response

  • Proper Response :表示我们允许执行的最大加速度的限制,并取最小值约束保证满足所有的约束

  • 安全纵向距离和Proper Response取决于参数:\(\rho,a_{max,sccel},a_{min,brake},a_{max,brake}\) 参数保证了对智能体行为的假设,选择适当的参数

  • Utopia is possible 如果所有智能体车辆都能够遵循合理的响应,那么能归纳证明可以规避事故的发生

3.2 A Lane-Based Coordinate System 基于车道的坐标系
  • 车道中心是平面上一条平滑有向的曲线 \(r\) ,其中所有部分可以表示为 \(r^{(1)},...,r^{(k)}\) 即可以是线性的,也可以是弧形的

  • 构造 \(R->R^2\)的变换为 \(\phi\) 就是横纵坐标,从而来保证在逻辑上的前后车辆的关系

  • 具体的映射的方式可以表示为如下:

    道路映射的方式
  • 横纵速度/加速度 的计算就可以通过这样的坐标系定义之下得到的一阶/二阶的导数计算得到

3.3 Longitudinal Safe Distance and Proper Response 纵向约束
  • 给出安全距离的定义:

    Definition 2

    安全距离定义的想法是,如果两辆车都能对违反安全距离的行为做出“适当”反应,那么就不会发生碰撞。如果其中一个没有“正确”反应,那么它就应对事故负责。

  • 那么我们需要知道危险发生的时间,定义这样一个时刻Dangerous Longitudinal Situation and Danger Threshold

    真正的危险时间

    给定一个纵向的危险发生的时间段

  • longitudinal proper response 纵向的适当响应

    blame time 责任时间表示的是这个时间能够将驾驶的责任从自动驾驶汽车转移到驾驶员身上,如果接管了那么后续的责任将由驾驶员负责,否则由汽车负责

    Definition 4

    给出了对于纵向单向行驶而言的速度和加速的要求,需要在危险到来之前做出合理的响应

3.4 Lateral Safe Distance and Proper Response 横向的约束
  • 稳健侧向速度 \(\mu\):汽车总是存在横向的一个微小摆动: \[ \mu-lateral-v=(l_{out}-l)/(t_{out}-t) \]

  • 横向安全距离:

    Definition 6

    对于双方而言都有一个加速度,同时有一个最小的制动加速度

    Lemma 4
  • 同样定义横向的危险时间和危险区间时间:

    Definition 7
  • Lateral Proper response 给出横向的适当反应

    Definition 8

    首先如果在适当的响应时间范围之内,那么只需要限制两车的加速度在一定的范围之内

    如果超出了适当响应时间,那么对于两车的加速度限制需要更改

3.5 Combining Longitudinal and Lateral Proper Responses 横向和纵向相结合
  • 对于横向和纵向结合的车道,定义危险时间和危险情况

    Defintion 9
  • 危险阈值时间定义为横向和纵向的危险阈值时间的最大值,同样定义了危险时间t

  • Basic Proper response to dangerous situations 对于危险情况的正确反应处理

    Definition 10

    对于危险的阈值速度进行分析,如果分别为纵向的阈值速度和横向的阈值速度,那么分别根据前面所述的Definition 4和Definition 8 进行速度的限制

    横向纵向情况

    上面的这张图可以说明问题,当横纵的任意一个方向到达危险的阈值情况,分别作出Proper Response,那么就可以按照合理的方式来规避风险

  • Lemma5 Utopia is possible

    Consider a multi-lane road where all lanes share the same geometry. Suppose that at all times, all cars on the road comply with the basic proper response as given in Definition 10. Then, there will be no collisions

    归纳证明说明如果在合适的范围之内作出合理的响应,那么能规避碰撞

3.6 Compensating for improper behavior of others 他人的不正当行为
  • 如果对方没做出合理反应,那么自己应当作出合适反应避免发生事故,同时不引起下一个事故

  • Naive Prediction:根据速度和加速度线性外推

  • Evasive Manoeuvre:给出两个函数来尽量规避出现车祸,就是根据时间来给速度和加速度的变化规划

    Definition 12

    相当于给出两个函数来知道汽车应当在某个时间范围内到达什么样的位置是安全的,那么要达到这样的位置汽车要采取什么样的速度和加速度来实现

    if you can avoid an accident without causing another accident, you must do it

Proper Response with Extra Evasive Effort 制动规避的适当反应
Definition 13
3.7 Multiple Geometry and Right-of-Way Rules处理几何图形区域的车辆优先权问题
  • 如果有存在不同的几何形状的情形会导致响应的冲突

  • 定义横向的安全距离对于不同的几何路径对于相同的几何路径仍然成立

    Definition14

    向位置范围为[x_i,min, x_i,max],按照不同的加速度行驶,且不能超过指定的加速度制动那么,则c_1和c_2之间的横向安全距离需要满足:两车之间横向距离的最小值应大于Definition7中定义的横向安全距离

  • 那么如何作出适当的反应 Proper response,给出合适的速度约束

    横向的合适响应

    在反应时间之内可以按照加速度范围内进行移动,但是当超过反应时间之后就要对侧向的速度进行制动

  • 定义不同几何路况的纵向的顺序

    • 路况优先权问题

      如果在同一条路上那么直接有先后顺序

      如果不在同一条路上,那么根据车辆距离两条道路的相交的位置来定

      当存在纵向的安全距离才会用到这个定义,同时应当是明显的前后顺序

  • 纵向的安全距离(不同的几何路径)

    Definition 17
    1. 如果c_i没有路径的优先级,那么将在路口汇入的位置执行加速到减速的过程停在路口
    2. 如果c_1在c_2前面,c_1执行任意动作(最大刹车加速度的意思是保证这个动作的距离下限),c_2执行最大加速-最小减速过程。当两车速度都为0时,c_1仍然在c_2前面(即后车要刹得住,当前车停下时,纵向顺序关系依然能保持)
    3. 如果没有优先级和前后关系,则考虑两车到达路口的时间范围,如果两者时间范围相交,则有碰撞风险,都需要刹车,反之就正常走。
    示意图
  • 纵向的安全响应(Proper response)

    Definition18
    1. longitudinal proper response取决于Danger Threshold Time前的situation:
    2. 如果17.1满足,则优先车辆正常开,另外一个则需要在反应时间后刹车。
    3. 如果17.2满足,则前面车辆正常开,候车需要在反应时间后刹车。
    4. 如果17.3满足,两车都需要在横向和纵向上刹车(这里又提到了横向,是纵向已经不能完全规避碰撞风险,所以需要引入横向动作)。
  • Traffic Lights

    1. 不能简单通过红绿灯的情况来将责任分配给不同的车辆,对于例外的路口的车辆
    2. 绿灯的有优先权 但不是有优先权的就对于规则而言没有责任
    3. The above discussion is a formalism of the common sense rule of right of way is given, not taken.
3.8 Unstructured Road 非结构化的道路
  1. Definition 19

    轨迹这个表示了根据时间而改变的位置状态,ts的定义就表示车辆第一次完全停止的时间

    未来某部分时刻汽车的位置、某个时间车辆的角度

  2. Definition20

    当两车的轨迹不满足以下条件时,则称会发生碰撞:

    (1)对于两车均停止之前的任意时刻,两车之间距离均大于epsilon。

    (2)在某车停车之前,两车之前距离均大于epsilon,且此时第二辆车的速度矢量指向第一辆车。即当前车停车,后车依然往前车方向开,后车需要与前车保持距离。

  3. Definition 21

    定义Constrains(C)下的轨迹T(C, c),刹车/正常向前行驶的轨迹分别表示为T(Cb, c)和T(Cf,c).

  4. Definition 22
    1. 其中一辆车的刹车轨迹和另一辆车的前进轨迹不相交,那么安全(注意保持先后关系对两辆车都适用)
    2. 两辆车都刹车,轨迹没有相交
  5. 如果不满足安全的要求,那么应当选择Proper Response:

    1. 如果两辆车都停着,那么其中一辆车应当远离另一辆车选择用Definition 20的方法远离
    2. 否则,如果根据safe distance(1)的定义是安全的,一辆车执行刹车,另一辆车在停下来之前就要按照Cf的轨迹正常开,都停下来之后就回到了(1)
    3. 同时选择刹车
3.9 Pedestrians 行人
  • 安全距离和合理反应;和汽车相比调整参数且增加非结构化的假设

  • 在斑马线或者是人行道上规定行人的行为,行人的合理活动范围是一个以他为圆心的圆

  • 遵循互不干扰否则有责任的准则,当汽车进入行人的可能出事的范围那么 汽车有责,否则行人有责任

3.10 Cautiousness with respect to Occlusion 遮挡问题
  • Exposure Time 曝光时间:第一次看到这个物体的时间

    Definition23
  • 速度不合理导致的不合理情况

    相当于速度的范围不在给定的合理的区间。 上述提到的参数和地图上的每个汽车的位置、优先级规则和其他的场景结构等条件相关联

    1. 具有道路优先级的汽车的最大速度优先级较高

    2. 速度的阈值范围根据具体的道路结构

    遮挡示意图

相当于对于遮挡问题需要对双方的车辆有速度限制才能保证危险的发生

3.11 不当行为造成的不合理的情况
Definition 25

对于出现遮挡的参与者都要保持合理的行为才能规避事故

对于有遮挡的正确响应方法:规避不合理的情况,包括但不限于24-25的

3.12 Responsibility
  • 明确智能体责任
  • 发生碰撞那么有可能是其中一个智能体没有遵守适当的响应约束,那么需要对事故负责
3.13 Utopia
  • Lemma 5证明如果所有汽车都遵循基本的响应规则,那么不会发生碰撞
  • Lemma 6证明如果对于遮挡的问题都能做出合理的响应规则,那么就不会发生事故(反证法)

4. Driving Policy (RL)

  • 驾驶策略的定义:驾驶策略是从感知状态到驾驶命令的映射

  • 构建高效的驾驶策略,拓展到百万级别的策略

  • 描述驾驶策略的语言:(利用强化学习的描述方法)

    1. \(s_t\)表示某一时刻的状态,\(\pi\)表示的是策略函数,\(a_t\)表示的是汽车能够选择的动作,根据策略函数来确定,得到一块序列 \(<s_t,a_t>\)

    2. \(P_{\pi}\)表示的是根据 \(\pi\) 选择产生的后面不同序列\(<s_t,a_t>\)的概率

    3. \(E_{s~P_\pi}[\rho(s)]\) 用于衡量当前策略的好坏程度,相当于对当下这个策略可能产生的不同奖励值选择期望,同时 \(\rho(s)\)表示的是当前状态下的奖励

    4. 在实际的实现过程中,\(a_t\)表示的是本车与其他道路使用者的位置、速度和加速度等问题,\(s_{t+1}\)表示的是下一时刻的状态,同时取决于当前时刻的动作以及其他智能体的行为,奖励函数\(\rho(s)\) 取决于当前环境中的其他智能体的相对位置速度等信息。

    5. 价值函数 \(Q\)表示的是当前智能体执行某一个动作所能造成的长期回报 ,由此来选择最好的策略函数来保证\(\pi(s)=argmax Q(s,a)\)

    6. \[ Q(s, a)=\max _{(a_t, \ldots, a_{t+T})} \sum_{\tau=t}^T \rho(s_\tau, a_\tau ) \quad { s.t. } \quad s_t=s, a_t=a, \forall \tau, s_{\tau+1}=f(s_\tau, a_\tau) \]

      定义价值函数的计算方式,根据每个时刻汇总得到的奖励值进行求和得到的总的价值

    7. 参数 \(T\) 表示的是“规划时间范围” 控制计算时间和评估质量之间的自然权衡,如果 \(T\)越大那么说明当前的动作评估效果越好

  • 计算价值函数挑战:

    1. 如果将动作空间进行离散,那么需要较大的计算空间,依赖于巨大的计算能力
    2. 采用离线计算,离散化动作域和状态域,然后采用离线的计算方式评估每个 \((s,a)\) 的价值
    3. 采用动态规划,计算每个 \((s,a)\)的价值函数值 \(Q(s,a)\) 仍然面临计算空间较大的问题
    4. 利用有限类函数来近似价值函数,但是无法做出良好的近似,同时对于这样的神经网络比较难以学习
    5. 当更新时间较小存在一定的信噪比,导致学习速度及其缓慢,逼近类方法固有的问题
    6. 总结:资源计算量巨大的方法粗糙近似逼近会带来不同程度的问题
  • Semantics to the rescue重新定义自动驾驶语义

    • 在语义动作空间上定义价值函数Q:语义空间较小无语大量计算资源,能够对价值函数Q进行准确的估计

    • 语义动作空间:

      1. 主要思想:纵向目标;横向目标;实现目标的积极性程度

        横向:Lateral goals are desired positions in lane coordinate system (e.g., “my goal is to be in the center of lane number 2”).

        纵向: Longitudinal goals are of three types. The first is relative position and speed w.r.t. other vehicles (e.g., “my goal is to be behind car number 3, at its same speed, and at a distance of 2 seconds from it”).

        速度目标:speed target (e.g., “drive at the allowed speed for this road times 110%”).

        速度限制:speed constraint at a certain position (e.g., when approaching a junction, “speed of 0 at the stop line”, or when passing a sharp curve, “speed of at most 60kmh at a certain position on the curve”).速度曲线

      2. 确定横向目标和纵向目标之间的组合,利用运动学公式来实现目标

      3. 语义动作空间产生了所有可能的几何曲线的子集,除了特殊的情况

  • Constructing an evaluation function for semantic actions 构建语义动作的评估函数

    • 定义语义动作 \(A^s\)空间,通过当前的状态 \(s\),选择最好的动作 \(a^s\in A^s\), 根据一些列的几何轨迹 \((s_1,a_1),...,(s_T,a_T)\),同时认为新的下一时刻的状态有一个新的函数给出 \(s_{t+1}=f(s_t,a_t)\) 同时继续根据奖励函数的值来评估执行的语义动作的好坏程度 \(\frac{1}{T} \sum_{t=1}^T\rho(s_t,a_t)\)
    • 利用语义动作来评估能规避信噪比低等问题
    • 利用机器学习来泛化,在不同类型的道路上进行训练,推广到不同的道路
    • 语义动作空间:资源高效利用同时很准确地进行评估
  • The dynamics of the other agents 其他智能体的动态

    • \(s_{t+1}=f(s_t,a_t)\) 这样的确定性函数与现实不符合,多个智能体之间会相互影响
    • 通过高频次地重新应用决策,不断调整策略来适应新的环境

Sensing 传感

传感研究的内容:

静态对象:(a fence that occludes relevant part of a merging road).;

动态对象:车辆(边界框、速度、加速度)、行人(边界框、速度、加速度)、交通灯、动态道路分隔线(例如建筑区域的锥体)、临时交通标志和警察活动以及道路上的其他障碍物。

Sensing system
  1. Let \(S\) denote the domain of sensing state and let X be the domain of raw sensor and mapping data. A 传感系统表示的是一个函数 \(\hat{s}\) : \(X → S.\)
  2. 什么时候传感器的值 \(\hat{s}\) 能够和状态 \(s\) 近似?通过近似之后对驾驶策略的总体表现:安全性和舒适性
  3. 传感器系统可能会犯的错误类型
    • False negative: the sensing system misses an object 误报:传感器错过了一个物体
    • False positive: the sensing system indicates a “ghost” object 错误:传感器系统提示存在幽灵物体
    • Inaccurate measurements: the sensing system correctly detects an object but incorrectly estimates its position or speed 测量不准确:传感系统正确检测到物体但是错误估计位置和速度
    • Inaccurate semantic: the sensing system correctly detects an object but misinterpret its semantic meaning, for example, the color of a traffic light 语义信息不准确:传感系统正确检测物体,但误解了语义信息,比如交通灯的颜色
Comfort
  • 相当于利用传感器函数来近似估计 \(s\) ,如果 \(\pi(\hat{s}(x))=\pi(s)\) 也就是说\(\pi(\hat{s}(x))=argmaxQ(\hat{s}(x),a)\),那么就说明当前这个传感器是可以的,同时允许有一定的误差范围: \(Q(\hat{s}(x),a)\ge Q(s,\pi(s))-\epsilon\),这个时候可以说是 \(\epsilon -\)准确的,同时也允许传感器有小概率发生故障 \(\delta\)
  • For example, we can choose three thresholds, $$1 < $\(2 <\)$3 to represent mild, medium, and gross mistakes,表示传感器的错误程度,轻中重
PAC sensing system
  1. Definition 28

    Probably-Approximately-Correct (PAC) X表示的是原始的数据与映射的数据域,从期望的角度给出误差率的平均值: \[ \mathbb{P}_{(x, s) \sim D}\left[Q(s, \pi(\hat{s}(x))) \geq Q(s, \pi(s))-\epsilon_i\right] \geq 1-\delta_i \]

  2. 通过记录许多人类驾驶员的数据来构建此分布,而不是遵循自动驾驶车辆的特定策略(不切实际),由于任何合理策略对 D 的影响都很小,通过应用简单的数据增强技术,我们可以构建适当的分布,然后在传感系统的每次重大更新后执行离线验证。

  3. 重点关注经常发生的“测量不准确”类型的错误

  4. let \(p(o)\)\(\hat{p}(o)\) be the positions of o in the coordinate system of the host vehicle according to \(s(x)\), \(\hat{s}(x)\) respectively.分别表示某个对象的真实的位置信息传感器的位置信息

    目标到主车辆的距离为:\(\|p\|\) ,加性误差:\(\|p(o)-\hat{p}(o)\|\),相对误差为 \(\frac{\|p(o)-\hat{p}(o)\|}{\|p(o)\|}\)

  5. 对于positions a set of objects \(O\)表示的是一堆对象,要求 \(p(o)\)\(\hat{p}(o)\)之间的相对误差小于一个精确度不妨计作 $$ ,但是\(\epsilon-ego-accurate\) 的传感状态不能保证PAC传感系统能够满足每个合理的价值函数:当相对误差很小的时候,尽管认为合理了,但是对于实际的情况而言会出现不同的价值函数结果。选择制动or继续前进,横向不能用相对距离

  6. 表明\(\epsilon-ego-accurate\) 并不能保证我们的传感系统是PAC。是否还有其他属性足以满足 PAC 传感系统的要求

    Definition 29
  7. Definition 31

    给出价值函数合理的L-语义-\(Lipschitz\)条件

  8. Lemma 7

    判定为PAC传感系统的终极判定

Safety
  • 目标是减少事故发生的概率,存在两类安全情况:

    1. 传感系统认为危险情况是不危险的;
    2. 传感器系统认为不危险情况是危险的:当安全的时候突然出现紧急刹车会导致危险
  • 解决的是如何确保和验证safety-critic sensing mistake足够小,采用的方法是融合多个工程和技术都独立的子系统。多数子系统认为安全才算安全:

  • 单侧c-近似独立的多个子系统

    Definition 32
  • 对于服从单侧-c近似独立的子系统,能够推出:

    Corollary 3

    基于多子系统方案和Corollary 3,为了达到10^-9 失效率,对sensing系统的验证不再需要10^9 小时的数据,而是分别对每个子系统验证10^5小时就可以了

  • 独立假设背后的合理性留给我们去推理。有些传感器对会产生完全不相关的误差;单侧-c近似独立是否成立

  • 对于安全幽灵而言,当出现至少有两个传感器认为的情况是危险的,才能认为是危险的

  • Building a scalable sensing system可扩展的传感器系统

    1. Cameras
    2. Road Experience Management (REM),不使用点云,而是一种基于语义的方法 approach,利用大量的车端detects semantically meaningful objects in the scene (lane marks, curbs, poles, traffic lights, etc.),并可以对云端进行更新。以可扩展的方式非常频繁地更新地图。此外,自动驾驶车辆可以通过现有的通信平台(蜂窝网络)接收小型地图数据
    3. A complementary radar and lidar system,能够产生极高的精度;直接测量速度和距离,这进一步提高了乘坐的舒适度

【自动驾驶】RSS Model for Autonomous Driving
https://lihaibineric.github.io/2023/10/21/dl_rss/
Author
Haibin Li
Posted on
October 21, 2023
Updated on
February 22, 2024
Licensed under