论文分享:A DRL based cooperative approach for parking space allocation in AVP system

论文分享:A DRL based cooperative approach for parking space allocation in an automated valet parking system

该论文研究了自主代客泊车(Automated valet parking, AVP)系统中的车位分配(Parking Space Allocation, PSA)问题,利用深度强化学习(Deep reinforcement learning, DRL)来优化车配策略。

论文链接:A DRL based cooperative approach for parking space allocation in an automated valet parking system

1 背景介绍

AVP的支持下,驾驶员停车能够实现完全自主化,包括停车过程中的行驶、泊车和取车任务,整个过程均无需驾驶员进入停车场进行干预,是一个典型的限定区域内低速无人驾驶应用场景。整个AVP系统的实现过程可以简单概括为两个环节:

(1)停车环节:司机首先在指定的下车点下车,并通过一些工具(如APP)提供预计停车时长后即可离开,无需等待停车的完成。然后,系统为车辆分配一个停车位,车辆通过自动驾驶行驶到指定的停车位进行泊车。

(2)取车环节:司机需先到取车点,然后通过手机APP申请取车,车辆将从停车位自动行驶到取车区的司机处,从而完成取车。

显而易见,AVP系统主要包括三个运行模块,如图1所示。各个模块的主要功能为:

  • 车位分配模块:用户申请停车,系统根据分配策略为车辆分配一个合适的停车位;

  • 路径规划模块:在车位分配流程完成后,路径规划模块在高精度地图的基础上,为车辆规划一条到达目标车位的路径。该路径是考虑静态因素 (墙壁等静态障碍) 后的最优路径;

  • 轨迹规划模块:车辆在停车场内运动时,可能会遭遇各种冲突,如:车辆出入库时与道路上行驶的车辆发生冲突;多个车辆在交叉口发生冲突。轨迹规划模块通过合理的规划车辆运动轨迹状态,保证AVP系统的正常高效运行。

在这里插入图片描述


图1 AVP模块介绍

该文章重点研究了利用DRL方法来解决AVP系统中的PSA问题。即:探索一个分配策略,当车辆 T i T_i Ti(已知车辆预计的停车时长 T i T_{i} Ti,粒度为半小时,即 T i ∈ 1800 s , 3600 s , . . . T_i \in {1800s,3600s,...} Ti1800s,3600s,...)在 t i t_i ti时刻进入停车场时,为其分配一个车位 a t i a_{t_i} ati

整体的方法框架如图2:

在这里插入图片描述

图2 方法论框架

2 MDP框架设计

强化学习下,首先需要将问题转为马尔科夫决策过程(Markov decision process, MDP)形式,宏观上来说,主要就是状态、动作、奖励函数的定义。

2.1 状态与动作

首先,状态和动作的定义是比较清晰的

  • 状态用一个向量表示: S t i = [ O t i , T i , t i ] S_{t_i}=[O_{t_i},T_i,t_i] Sti=[Oti,Ti,ti],其中 O t i = [ o 1 , o 2 , . . . , o k , . . . , o n ] O_{t_i}=[o_1,o_2,...,o_k,...,o_n] Oti=[o1,o2,...,ok,...,on]代表停车位的占用状态, k k k为车位编号,共 n n n个车位,若车位 k k k被占用,则 o k = 1 o_k=1 ok=1,否则为0; T i T_i Ti为预计停车时长; t i t_i ti为申请停车的时刻。
  • 动作 a t i a_{t_i} ati则表示为车辆 V i V_i Vi分配的车位,因此 a t i a_{t_i} ati的值对应车位编号。即: a t i ∈ A = [ 0 , 1 , . . . , k , . . . , n ] a_{t_i} \in A=[0,1,...,k,...,n] atiA=[0,1,...,k,...,n]

2.2 奖励函数

奖励函数的设计是该文章的重点。表1对AVP系统涉及的评价指标进行了比较。从商业落地的角度对这三个指标的重要性进行分析,首先,AVP作为服务于客户的技术产品,应更注重用户体验层次的两个指标。又如2.1.1节所述,停车环节中,司机下车后无需参与停车过程,可直接离开,因此该环节的时间消耗( A P T APT APT)对于用户体验的影响较小;而取车环节需要司机在取车区等待,用户的体验感将随着等待时间( A W T AWT AWT)的增加而下降。因此,本文选择 A W T AWT AWT作为主要指标,用于RL的奖励函数的设计,而 A P T APT APT A D T ADT ADT作为辅助分析指标,用于方法评价与分析。

表1 评价指标
指标层次名称符号定义
用户体验平均停车时间APT车辆从下车区行驶到目标车位的平均时间消耗
用户体验平均等待时间AWT车辆从停车位行驶到取车区的平均时间消耗
停车场运行效率平均延误时间ADT车辆在整个行驶过程中因冲突导致中途停车的时间消耗

所以,优化的目标比较明确,就是要尽可能降低用户的等待时间,即最小化 A W T AWT AWT

基于优化目标,很容易可以设计出一个全局奖励,在agent训练完成后,根据这轮训练展示出的性能( W a W^a Wa,即 A W T AWT AWT的值)确定奖励值,若 W a W^a Wa值低于预设的目标,则基于一个正向的奖励;反之,不给予奖励:

在这里插入图片描述

同时,为了避免奖励稀疏问题,最好是每一个动作执行后均能产生一个奖励(单步奖励),而不仅仅依靠上述的全局奖励。但要实现目标,单步奖励的设计一定要与全局目标相适应,否则会出现强化学习的总奖励值很高,系统性能表现却很差的情况。

一个典型的例子是OpenAI的博文Faulty Reward Functions in the Wild,这个赛艇游戏的预定目标是完成比赛。研究人员在这个游戏中设置了两种奖励,一是完成比赛,完成比赛后会给予一个正向奖励(+1),否则不给予奖励(0),二是收集环境中的得分目标。最后OpenAI的智能体找到了一片“农场”反复刷分,虽然没能完成比赛,但它的得分更高。

同样,在车位分配问题上,针对复杂的大型停车场,单步奖励的设计更需要精心设计。如,有研究曾在一个拓扑结构简单的小型停车场中进行了实验,在DQN框架下设置一个引导车辆尽可能短距离移动的单步奖励函数,使模型得到收敛。但在该文的场景中(419个车位,且结构更复杂),采用该方法后,模型的训练过程如图3:可以看到,模型根本无法收敛。

原因可以理解为:

单步奖励一直“告诉”系统:给车辆分配车位时,一定要给车辆分配一个行驶距离更短的车位。但这种策略,会导致系统的效率无法得到优化,因此一轮训练结束后,无法得到正向的全局奖励。相当于,全局奖励又跳出来否认了之前根据单步奖励学习到的策略。因此,系统陷入混乱,导致模型无法得到收敛。

在这里插入图片描述

图3 单步奖励设计不合理使模型无法收敛

因此,该文考虑了引入领域知识启发智能体的学习

思考一个问题:若要优化AVP性能,车位分配动作需要遵循什么规则?假设设计好了一个能够优化系统性能的分配机制,基于该机制(表示为一个显式的函数 T a r g e t S e t t i = F ( t i ) TargetSet_{t_i}=F(t_i) TargetSetti=F(ti)),车辆 V i V_i Vi申请停车后,系统会根据该函数计算出其理想停放区域 T a r g e t S e t t i TargetSet_{t_i} TargetSetti。因此,单步奖励即可根据该机制进行设计,如果动作 a t i a_{t_i} ati在该区域内,则不给予惩罚,否则给予惩罚。

在这里插入图片描述

问题的关键在于如何构建函数 T a r g e t S e t t i = F ( t i ) TargetSet_{t_i}=F(t_i) TargetSetti=F(ti)

先从一个简单的场景展开,如图4,红色区域的停车位距离出入口较近,在该区域停车的车辆能够更方便地完成停车、离开等行为,在行驶过程中与其他车辆产生冲突的风险更小。因此,将该部分区域的停车位定义为高质量停车位。相反地,距离出入口较远的车位定义为普通停车位即:根据停车位与出入口的距离来定义停车位的质量

Fig. 3
图4 高质量停车位

对于整个系统而言,高质量停车位被使用对于系统效率的影响是会更小的,即高质量停车位的使用成本是更低的,因此,可以通过车位与出入口的综合距离对车位使用成本进行定义:

在这里插入图片描述

其中, d k E d^E_k dkE d k O d^O_k dkO分别为车位 与入口、出口之间的距离; 为权重系数。上式表示车位的综合距离越小,其使用成本越小。当系统完成了所有的停车任务后,总的使用成本为:

在这里插入图片描述

N k N_k Nk代表整个过程中车位 k k k被使用的次数。因此,全局目标可以转换为总的使用成本最小,即 m i n T C min TC minTC。假设总的停车任务数 不变,要实现 的目标,应该尽可能增加 较小的车位的使用次数,增加高质量停车位的服务量。如:可以让停车时长短的车辆尽量停在高质量停车区域,从而让其服务更多地车辆。在车辆到达时,如果有空闲车位是必须对车辆进行服务的,因此,车位分配机制需要基于车辆的停车时长来建立,满足以下两个基本原则:

  • 停车时长较长的车辆优先停放在 D k D_k Dk较大的车位;

  • 停车时长较短的车辆优先停放在 D k D_k Dk较小的车位。

根据该原则,假设车辆 V i V_i Vi t i t_i ti时刻申请停车,输入了其预计停车时长 T i i n T_i^{in} Tiin

(1)首先对 T i i n T_i^{in} Tiin的长短水平进行评估:如 T i i n T_i^{in} Tiin在历史数据中排名为50%的水平;

(2)按车位的使用成本将动作空间内的动作进行排序。

这样,我们将动作空间内排名最接近50%的水平的那部分车位即作为 T a r g e t S e t t i TargetSet_{t_i} TargetSetti。由此,即可完成一个能够在大型复杂停车场中应用的奖励函数。

具体的公式推导不再列出,有兴趣可阅读原文

2.3 动作嵌入

大型停车场往往会产生较大规模的离散动作空间,从而导致模型求解过慢(具体原因及解决思路可参考DeepMind团队提出的Wolpertinger Policy框架)。Wolpertinger Policy框架虽然提出了通过将离散的动作嵌入到连续空间中来应对大规模的离散动作,但该框架并没有提到如何进行行动嵌入,这需要研究者根据研究的具体场景进行设计。因此,本节提出了一种基于车位使用成本的动作嵌入方法。

在上文中,我们给出了车位成本的计算方式,且离散动作空间 A = 1 , 2 , . . . , k , . . . , n A={1,2,...,k,...,n} A=1,2,...,k,...,n是一个基于 D k D_k Dk的有序集合。在A中,相邻整数所表示的车位分配动作,对于全局效率的影响是相似的。这为实现良好的动作嵌入效果打下了基础,理想的嵌入效果即是效果相似的动作在连续空间中的距离是相近的。因此,本节以车位成本 D k D_k Dk作为先验信息,将 A A A映射到一个连续的数值区间[-1,1],从而实现动作嵌入。下式定义了如何将离散动作 a t a_t at转化为连续动作 a ^ t \hat a_t a^t
在这里插入图片描述

3 仿真环境

该文章的强化学习环境是基于SUMO搭建的,速度应该比不上数值仿真,但胜在车辆运动模型更加精细和完善,更加能接近真实情况,且可视化界面也有助于观察和强化学习方法的可解释。SUMO的停车场基本构建方法可参考该博客。该博客中的SUMO知识都是比较基础的,由于该文章的仿真环境代码写得比较混乱,暂时还未开源,后面有空整理得更加规范整洁后,会进行开源并出一篇博客进行介绍。

4 结果

最终,在如上的奖励函数和动作嵌入的协助下,模型训练能够较快的得到收敛,且相对其他方法有较好的提升。

在这里插入图片描述

图 5 模型训练的总奖励值曲线图:于1300次后得到收敛
表2 本文方法与其他方法的对比

在这里插入图片描述

除此之外,文章还从多个维度进行了实验的分析,比较全面的评价该方法的性能。

5 讨论

强化学习在交叉学科中的应用确实比较好水文章,但真要落地应用确实比较困难,最主要的缺点在于太不稳定。如该文章中的很多系数,都是经过多次的实验,反复测试后才有了一个较好的结果。如果换一个停车场,甚至车流需求特征变化之后,系数估计都是需要全部进行重新测试。所以,就拿AVP这个场景来说,探究如何根据停车场的结构,车流的需求特征快速确定一些超参数、系数,才是更加主要的一个研究。

另外,该文章采用了广东某大型商业停车场的真实数据进行仿真,时间段为晚高峰期,处于供不应求的状态,得出的分配策略也只适应这个场景。但当非高峰期的数据也加入后,能否学习到一个好的策略也是需要打一个问号。亦或者各种场景的分配策略进行分开训练,在车流需求特征达到某种条件后进行切换也可以。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 自主代客泊车停车场(库)技术要求主要包括以下方面: 1. 车辆识别技术:系统需要具备高效准确的车辆识别技术,可以通过车牌识别、无线射频识别等技术手段实现。这可以确保系统能够准确地识别车辆,为后续的泊车过程提供准确的车辆信息。 2. 导航与路径规划技术:系统需要具备导航与路径规划技术,能够在车辆进入停车场后,通过导航算法规划出最优的停车路径,并将其实施给车辆引导到指定停车位。这需要系统具备高效并且准确的定位技术,确保车辆能够按照规划路径顺利到达目的地。 3. 自动驾驶技术:为了实现自主代客泊车,系统需要具备自动驾驶技术,能够根据规划路径自主地进行行车和泊车操作。这需要系统具备高度的智能化和自主化能力,能够通过传感器和算法来实现环境感知和决策,确保行车操作的安全可靠。 4. 安全监控技术:系统需要具备安全监控技术,能够实时监控停车场内的车辆和泊车操作,并及时发现和处理安全问题。这包括监控摄像头、传感器等设备,以及相关的监控算法和系统。 5. 高效的管理系统:系统需要具备高效的管理系统,包括车辆管理、停车位管理、费用计算等模块。管理系统需要具备良好的用户界面和操作体验,方便用户进行停车操作和查询相关信息。 总之,自主代客泊车停车场(库)技术要求需要系统具备车辆识别、导航与路径规划、自动驾驶、安全监控和管理系统等多种技术,以实现高效准确的停车服务。这些技术的应用将有效提高停车场的利用率和服务质量,为用户提供更好的停车体验。 ### 回答2: 自主代客泊车停车场(库)技术要求.pdf是关于自主代客泊车停车场技术要求的文件。该文件主要介绍了自主代客泊车停车场的技术要求和标准。以下是对该文件的回答: 自主代客泊车停车场(库)技术要求.pdf文件中指出,自主代客泊车停车场需要具备一定的技术标准和安全措施。首先,停车场需要配置先进的车牌识别系统和车辆跟踪系统,以便准确记录和追踪进入停车场的车辆信息。 其次,停车场需要配备自动驾驶仪和导航系统,以便实现自动停车和回收车辆的功能。这些系统需要具备高精度定位和导航能力,以确保准确无误地将车辆停放在指定位置。 此外,该文件还提到了停车场的安全要求。停车场应具备防火、防盗和防破坏的措施,确保停放的车辆和停车场设施的安全。同时,停车场需要配备24小时视频监控系统和警报系统,及时发现和处理异常情况。 在服务方面,停车场应提供方便快捷的预约服务和支付方式,满足用户的需求。停车场还需要配备专业的管理和维护团队,定期进行设备维护和故障排除。 最后,文件还提到了停车场的可持续发展要求。停车场应采用节能环保的技术和设备,以降低能源消耗和环境污染。同时,停车场还应支持电动汽车充电设施的建设,促进低碳出行。 总之,自主代客泊车停车场(库)技术要求.pdf文件详细介绍了自主代客泊车停车场的技术要求,包括车辆识别、自动停车、安全措施、服务和可持续发展等方面的要求。这些要求旨在提高停车场的运营效率、用户满意度,同时确保停车场的安全性和环保性。 ### 回答3: 自主代客泊车停车场(库)技术要求.pdf是一个关于自主代客泊车停车场(库)技术要求的文件。根据文件内容,我可以给出以下回答: 自主代客泊车停车场(库)技术要求.pdf提到了对于自主代客泊车停车场(库)技术的一些具体要求。首先,停车场(库)需要安装一定数量的智能车位检测设备,以实现对车辆进入和离开的自动识别和计数。这样可以方便管理人员对停车位的使用情况进行实时监控和管理。 其次,文件中提到了停车场(库)需要配备自动导航系统,用于引导车辆驶入指定的停车位。这个系统需要能够准确地识别车辆位置,并提供导航指引,使车辆能够在停车场(库)内方便地找到空闲的停车位。 另外,为了保证车辆在停车过程中的安全,停车场(库)还需要安装防撞装置和监控摄像头。防撞装置可以在车辆靠近墙壁或其他障碍物时及时发出警报,避免发生碰撞事故。而监控摄像头则可以实时监视停车场(库)内的车辆和人员活动,以提高整体安全性。 此外,文件还提到了停车场(库)需要具备数据管理和统计分析功能。通过对停车位使用情况、车辆流量等数据的记录和分析,可以帮助停车场(库)管理人员进行决策和优化管理。 总之,自主代客泊车停车场(库)技术要求.pdf中给出了对于该类型停车场(库)的一些具体要求,包括智能车位检测设备、自动导航系统、防撞装置、监控摄像头以及数据管理和统计分析功能等。以上就是我对于该文件内容的回答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值