一种基于深度强化学习的全自动停车场调度方法
技术领域
本发明涉及智能泊车技术领域,具体涉及一种基于深度强化学习的全自动停车场的调度方法。
背景技术
随着我国车辆的保有量不断增加,停车场所停放的车辆越来越多,对于车辆的停放需要更加智能化的管理,社会对全自动化无人停车场的需求应运而生,希望司机行驶至停车场入口后,由智能停车场将车运送至空闲车位;司机取车时,停车场将车运送至停车场司机所在出口。目前全自动停车场一般采用泊车机器人等自动化运送装置,将车辆从一位置转移至另一位置,实现自动化停车/取车。但在同一时间同一路线上大多只允许一辆车进行自动泊车,导致自动泊车的效率较低。如果多辆同时进行泊车的,在控制过程当中可能发送碰撞事故。因此如何高效而安全地解决自动泊车的调度问题,是目前全自动停车场需要首先解决的问题。
目前强化学习在机器人导航、智能交通等领域得到了广泛应用,可以将其应用到全自动停车场。多智能体协作系统有两种架构:集中式强化学习和分布式强化学习。集中式强化学习指由一个中央学习单元负责训练和学习,输入是所有智能体状态的拼接,输出是所有智能体的联合动作。这种方式中学习维数和计算量将随着智能体数量的增加而指数级增长,不适合大型停车场。分布式强化学习中,每个智能体独立进行训练,把其他智能体视为环境的一部分,而智能体之间的协作通过共享数据或者共享策略等通信手段来实现。这种方式中神经网络输入维度不会随着智能体数量增长而剧增,但是需要大量通信过程。
为此,本发明基于停车场的应用场景和特点,提出了一种带全局环境模型的分布式强化学习算法,既避免了维度增加,也不会增加智能体之间的通讯,同时在不增加训练复杂度的情况下,保证了智能体之间的信息共享和协作。
发明内容
本发明所要解决的技术问题是提供一种无人自动停车场的调度方法和系统,令一个泊车机器人定义为智能体(Agent),泊车行为定义为从车库入口到达空余车位的路径规划,提车行为定义为从当前车位到车库出口的路径规划,则全自动停车场内的调度方法转化为多智能体的协同导航问题。
为达到上述目的,本发明创造的技术方案是这样实现的:将自动无人停车场的调度问题视作多智能体协作下的全局最优协作问题。现假设系统环境中存在N个智能体,每个智能体到达一个目标车位时任务完成。则全局最优解定义为:1)为每个智能体输出一条路径,且所有路径不冲突; 2)每个智能体能够避开障碍物; 3)所有当前活动智能体到达目标点的距离总和尽可能的短。
为解决此最优化问题,本发明提出一种带全局环境模型的深度确定性策略梯度算法GDDPG(Global-model based Deep Deterministic Policy Gradient)。即加入环境空间模型,使得整个搜索空间减小,加快收敛速度,更快得到最优动作。该方法步骤如下:
步骤1:建立全自动停车场的环境模型。停车场的功能域包括出口、入口、车位、车道,以及特定功能区。对区域进行栅格化,其中,每个出口和入口占据一个栅格,每个车位一个栅格。车道按照车位大小划分为不同数量的栅格。白色栅格表示可行区域,黑色栅格表示障碍物。为了后面路径规划计算的简便性,从地图左上角栅格开始,依次对栅格进行编号。以NxⅩNy的地图为例,编号为i的栅格对应的行列坐标(xi,yi)为:
其中%表示取余运算,/表示求商运算,⌈∙⌉为向上取整运算。
为避免智能体之间的碰撞问题,保证系统运行稳定性,假设如下:(1)每个栅格在同一时刻仅允许通过或容纳一个智能体;(2)车道中只允许单向行驶,避免相向碰撞;(3)智能体移动速度为固定匀速v,避免追击碰撞。(4)智能体设定优先级,编号越大的智能体,优先级较高,以避免交叉碰撞。
障碍物分为静止障碍物和动态障碍物,静态障碍物为车辆不可接近区域,例如墙壁或者柱体,以及已被占据的车位;动态障碍物为除本车之外的其他在场内活动车辆。在调度算法运行过程中,对每个智能体而言,其余智能体所占据的栅格作为障碍物添加到地图中,从而获得一张实时的动态电子地图,各智能体再根据这张地图进行动态路径规划,如此往复实现多机协同的路径规划。
步骤2:建立智能体的模型,包括状态、动作和回报函数。
(1)状态(State):
时刻t的系统的状态定义为:
其中
对智能体i,时刻t的状态定义为:
其中
(2)动作(Action):
为了令智能体向着目标点移动,允许执行的行为是前行、左转、右转、静止。则将智能体的动作定义为线速度和角速度的控制指令,即
(3)回报函数(Reward)
智能体i在时刻t,状态Xt下,采取行为at的回报函数定义为:
其中第一行是到达奖励,
距离函数
其中
步骤3:构建网络模型:
步骤3.1:为每个智能体构建四个神经网络:一个是评估网络Q;一个是策略网络μ,每个智能体i的网络参数分别记为
步骤3.2:构建两个结构完全相同的目标网络,记作Q'和μ' ,其网络参数分别记为
步骤4: 初始化状态空间
经验池用于存储训练样本,样本是(Xt, At, rt, Xt')的形式,其中
For t= 1 to T do
针对每个智能体i(i=1 to N)
选择行为
获得回报函数ri;
当前状态转为新状态X ';
将此状态(X,a, r, X ')存入经验池.
步骤5:初始化训练批次,精度阈值,开始训练。
从经验池取出S个样本用于训练:样本j记作
步骤5.1更新智能体i的评估网络参数
通过最小化目标函数来更新网络参数,目标函数为:
其中,
步骤5.2更新智能体i的策略网络
通过最小化目标函数来更新网络参数,目标函数为:
步骤5.3 更新目标网络网络Q':
其中τ为目标网络软更新参数;
步骤5.4更新目标网络网络μ':
步骤6:模型收敛后,停止训练。
与现有技术相比,本申请提供的一种基于深度强化学习的全自动停车场调度方法的有益效果在于:1)通过建立停车场的状态模型,形式化描述适用于全自动停车场的先验知识和约束;基于深度强化学习算法,训练GDDPG网络。二者结合,生成全局最优协作,即为每个智能体规划一条连续无碰撞的泊车路径,并满足耗时最少等最优化目标,实现了全自动停车场的智能性。2)采用集中式训练,分布式执行的策略,在训练时采用集中式学习训练评估网络与策略网络,执行时只需通过当前智能体的状态,策略网络即可进行动作预测;不需要通过全局共享信息,或者多智能体通信才能输出下一步动作,减少了计算复杂性,使得该算法适用于大型全自动停车场中多智能体共同协作问题。3)利用离线训练策略,结合停车场全局模型,将其与强化学习网络相互结合,获取最优路径,更能满足不规则地形的停车场的复杂场景。
附图说明
图1为本发明实施例的方法架构图;
图2为本发明实施例的停车场平面图;
图3为本发明实施例的栅格地图;
图4为本发明实施例的策略网络架构图;
图5为本发明实施例的评估网络架构图。
具体实施方式
以下结合附图对本发明作进一步的详细描述。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明给公开的示例性实施方式。
图1为本发明实施例的方法架构图,将一个泊车机器人定义为智能体(Agent),泊车行为定义为从车库入口到达目标空余车位的路径规划,提车行为定义为从当前车位到车库出口的路径规划,则全自动停车场内的调度方法转化为多智能体的协同导航问题。
如图2所示,该全自动停车场共2个出入口,为不规则地形,分为若干区域,每个区域包括若干车位,区域之间由车道进行连接,车道为双向车道。
步骤1:建立全自动停车场的环境模型。如图3所示,该停车场的电子地图为栅格化地图,每个车位一个栅格,白色栅格表示空余车位。黑色栅格表示障碍物及被占用车位,障碍物分为静止障碍物和动态障碍物,静态障碍物为车辆不可接近区域,例如墙壁或者柱体;动态障碍物为被占据车位,随时可能更换为白色可行区域。灰色栅格表示车道。车道按照车位大小划分为不同数量的栅格,智能体在同一道路只能沿同一方向行驶,以避免对立智能体之间的迎面碰撞。从地图左上角栅格开始,依次对栅格进行编号。
步骤2:建立智能体的模型,包括状态、动作和回报函数。
步骤3:为每个智能体建立神经网络。
策略网络的结构如图4所示,具有一个输入层,两个隐藏层和一个输出层。网络输入为当前智能体i的状态,包括当前智能体位置、目标点位置、当前角速度和线速度。输入层和隐藏层均为全连接网络,具有64 个神经元,采用ReLU作为神经元的激活函数。输出层具有2个神经元,分别采用Tanh函数和Sigmoid函数,对应输出的角速度和线速度控制指令。
评估网络的结构如图5所示,具有一个输入层,两个隐藏层和一个输出层。网络输入为当前所有智能体的状态和动作,输出为对当前策略的Q值。
步骤4: 初始化状态空间X0,设定智能体最大活动数量为10。
初始化经验池(Experience Replay Buffer),设定经验池最大值为10000,开始建立样本。
步骤5:训练智能体。
设定训练批次数量,设定每个训练批次回合最大步数=800,设定停止条件为智能体到达目标点;
设定折扣因子γ=0.95,目标网络软更新参数τ=0.01;
每一个训练批次中,根据策略网络输出的动作指令,计算其回报函数,并更新四个网络参数。
步骤6:训练结束时,各智能体状态-动作值函数时间差分值收敛于10-6数量级,智能体的动作选择趋于稳定,验证了GDDPG算法在全自动停车场调度问题中运用的有效性。