本发明涉及智能驾驶领域,特别涉及一种自动驾驶汽车自主加油方法和智能车。
背景技术:
近一个多世纪来,汽车的出现取代了传统交通运输方式,使得人们的生活更为便捷。近些年来,随着科技的发展,尤其是智能计算的飞速发展,自动驾驶汽车的研究成为各大车企聚焦的热点。近期,麦肯锡发布了一项“决定未来经济的12项前沿技术”报告,报告中探讨了12项前沿技术对未来经济、社会的影响程度,分析估测了2025年12项技术各自的经济与社会影响力。其中自动驾驶汽车技术排在第6位,其2025年影响力估测为:经济效益每年约0.2~1.9万亿美元,社会效益每年可挽回3~15万个生命。由于自动驾驶汽车技术具有较大的市场前景和经济、社会效益,各大车企均将自动驾驶汽车技术作为未来车企发展的核心发展技术。
随着技术发展进步,自动驾驶汽车的功能越来越全面,适用范围也越来越广。从最初的只能在高速路段实现自动驾驶已渐渐转为城市路段也可以实现自动驾驶。自动驾驶技术的进步、范围的推广,使得自动驾驶汽车除了公路驾驶外,一些其他的环节也越发重要,如自动加油等,这些环节保障了,才能实现真正的自动驾驶运营应用。
自动驾驶汽车自主加油是自动驾驶汽车运营的一个必要环节,也是自动驾驶汽车的一项关键技术。如何让自动驾驶汽车自主行驶到油枪处实现加油是自动驾驶技术环节中需要解决的问题。传统的自动驾驶路径设计多为人为定义行驶路径,如,针对这个加油站的环境,设定相应的轨迹。但这种方法灵活性和适应性不强。现实情况中,由于加油站的设计结构不同,环境不一样,人为设定的加油行驶路线往往效果欠佳。
技术实现要素:
本发明实施例提供了一种自动驾驶汽车自主加油方法和智能车,以实现智能车的自主行驶加油。所述技术方案如下:
一方面,提供一种自动驾驶汽车自主加油方法,所述方法包括:
利用学习算法通过智能车自主学习形成所述智能车的行驶策略值表,所述行驶策略值表由对行驶区域细分而成的多个栅格中的每个栅格赋值形成;
基于所述行驶策略值表,自动规划所述智能车与所述加油位置之间的行驶路线;
按照所述行驶路线自动行驶至所述加油位置,以进行加油。
本发明实施例提供的自动驾驶汽车自主行驶加油方法,可利用经典机器学习算法-Q学习算法,通过自动驾驶汽车自主学习,实现不同环境下最优行驶策略(行驶路径最少),使得自动驾驶汽车在实现自主行驶加油的同时,具有更好的稳定性、自适应性、机动性和灵活性。
可选地,在一个实施例中,所述利用学习算法通过智能车自主学习形成所述智能车的行驶策略值表包括:
初始化所述智能车的状态,并针对该状态随机产生一个决策动作;
对该决策动作后到达的状态进行判断;
若未达到所述加油位置、未达到设置的最大步数或未发生碰撞,则重复随机产生决策动作并对决策动作后到达的状态进行判断的步骤;
若达到所述加油位置、达到设置的最大步数或发生碰撞,则更新所述智能车的行驶策略值表,并进行下一次学习试验直到达到预设的试验次数。
可选地,在另一个实施例中,所述方法还包括:
在达到预设的试验次数时,将最后一次试验更新得到的行驶策略值表归一化到0和1之间,作为最终的行驶策略值表。
可选地,在一个实施例中,所述基于所述行驶策略值表,自动规划所述智能车与所述加油位置之间的行驶路线包括:
在所述行驶策略值表上按照取值从小到大的方向形成所述智能车与所述加油位置之间的行驶路线。
可选地,在本发明的各个实施例中,所述智能车与所述加油位置之间的行驶路线是根据所述智能车的油箱盖与加油站油枪之间的距离来规划,所述智能车上安装有专用短程通信技术DSRC模块。
另一方面,提供一种智能车,所述智能车包括:学习模块、路线规划模块和行驶模块,其中:
所述学习模块,用于利用学习算法通过智能车自主学习形成所述智能车的行驶策略值表,所述行驶策略值表由对行驶区域细分而成的多个栅格中的每个栅格赋值形成;
所述线路规划模块,用于基于所述行驶策略值表,自动规划所述智能车与所述加油位置之间的行驶路线;
所述行驶模块,用于按照所述行驶路线自动行驶至所述加油位置,以进行加油。
可选地,在一个实施例中,所述学习模块具体用于:
初始化所述智能车的状态,并针对该状态随机产生一个决策动作;
对该决策动作后到达的状态进行判断;
若未达到所述加油位置、未达到设置的最大步数或未发生碰撞,则重复随机产生决策动作并对决策动作后到达的状态进行判断的步骤;
若达到所述加油位置、达到设置的最大步数或发生碰撞,则更新所述智能车的行驶策略值表,并进行下一次学习试验直到达到预设的试验次数。
可选地,在另一个实施例中,所述学习模块还用于:
在达到预设的试验次数时,将最后一次试验更新的行驶策略值表归一化到0和1之间,作为最终的行驶策略值表。
可选地,在另一个实施例中,,所述线路规划模块具体用于:
在所述行驶策略值表上按照取值从小到大的方向形成所述智能车与所述加油位置之间的行驶路线。
可选地,在本发明的各个实施例中,所述智能车上安装有专用短程通信技术DSRC模块,所述线路规划模块具体用于:根据所述智能车的油箱盖与加油站油枪之间的距离来规划所述智能车与所述加油位置之间的行驶路线。
本发明实施例提供的技术方案带来的有益效果是:
通过自主学习算法形成智能车的行驶策略值表,进而自动进行路线规划,能够使智能车基于规划的路线行驶并进行自主加油,实现加油的智能化。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种自动驾驶汽车自主加油方法的流程图;
图2是本发明实施例提供的机器学习算法的学习过程的示意图;
图3是本发明实施例提供的基于Q学习算法的流程图;
图4a-4d是本发明实施例提供的Q学习算法值表更新原理的示意图;
图5是本发明实施例中自动驾驶汽车中的各个部件设置的示意图;
图6是本发明实施例中基于Q学习算法实现自主加油的示意图;
图7是本发明实施例提供的智能车的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种自动驾驶汽车自主加油方法的流程图。参照图1,本发明实施例提供的自动驾驶汽车自主加油方法可包括:
11、利用学习算法通过智能车自主学习形成所述智能车的行驶策略值表,所述行驶策略值表由对行驶区域细分而成的多个栅格中的每个栅格赋值形成。
其中,所述学习算法可以为经典机器学习算法-Q学习算法。值表是带有取值的表格,将行驶区域细分为多个栅格,将每个栅格赋予值,即可得到值表。
其中,本步骤中所述利用学习算法通过智能车自主学习形成所述智能车的行驶策略值表包括:初始化所述智能车的状态,并针对该状态随机产生一个决策动作;对该决策动作后到达的状态进行判断;若未达到所述加油位置、未达到设置的最大步数或未发生碰撞,则重复随机产生决策动作并对决策动作后到达的状态进行判断的步骤;若达到所述加油位置、达到设置的最大步数或发生碰撞,则更新所述智能车的行驶策略值表,并进行下一次学习试验直到达到预设的试验次数。
其中,本发明实施例中的决策动作可包括:方向盘左转角度、右转角度、油门力度、刹车力度等。
可选地,在一个实施例中,本发明实施例提供的自动驾驶汽车自主加油方法还可包括:在达到预设的试验次数时,将最后一次试验更新得到的行驶策略值表归一化到0和1之间,作为最终的行驶策略值表。
12、基于所述行驶策略值表,自动规划所述智能车与所述加油位置之间的行驶路线。
可选地,所述基于所述行驶策略值表,自动规划所述智能车与所述加油位置之间的行驶路线可包括:在所述行驶策略值表上按照取值从小到大的方向形成所述智能车与所述加油位置之间的行驶路线。
在本发明实施例中,所述智能车与所述加油位置之间的行驶路线是根据所述智能车的油箱盖与加油站油枪之间的距离来规划。
同时,所述智能车上可安装有专用短程通信技术(Dedicated Short Range Communications,DSRC)模块。
13、按照所述行驶路线自动行驶至所述加油位置,以进行加油。
本发明实施例通过自主学习算法形成智能车的行驶策略值表,进而自动进行路线规划,能够使智能车基于规划的路线行驶并进行自主加油,实现加油的智能化。
图2是本发明实施例提供的机器学习算法的学习过程的示意图。参照图2,自动驾驶汽车通过与没有先验知识的环境实时交互,感知到系统的当前状态量X(t),并做出一个决策动作u(t)。这个决策动作会改变当前环境状态,使得系统到达一个新的状态量X(t+1)。与此同时,环境会反馈给自动驾驶汽车一个增强信号r(t),用以表示自动驾驶汽车决策动作u(t)的立即回报。通常,增强信号以数值方式存在,不同的数值用以评价和区分决策动作的“好”、“坏”。同样,对于新的状态量X(t+1),自动驾驶汽车又会做出新的决策动作u(t+1),并从环境中反馈到新的增强信号r(t+1)。以此类推下去,即自动驾驶汽车在每个时刻都会与环境交互,通过环境反馈的增强信号的“好”、“坏”,进行在线调节决策策略,以便在后续决策动作中获得最大的回报。
在算法理论基础上,本公开可首先在计算机上进行学习,学习的过程为,先对自动驾驶汽车初始化参数进行设计,随机初始化自动驾驶汽车状态并对该状态随机产生一个决策动作,对决策动作后到达的状态进行逻辑判断,若尚未达到目标、未满最大步数,则重复随机产生决策动作;否,则更新值表,通过大量试验对值表进行更新,作为自动驾驶汽车最优行驶路径的经验。将这些经验装载到实车,通过车辆实施与环境交互及经验调取,实现最优自主加油路径策略。
在本发明实施例中,基于Q学习算法的自动驾驶汽车自动加油的行驶路线规划过程是一个学习过程,自动驾驶汽车在成功与失败的经验中学会如何用最短行驶路径到达固定加油位置。因学习过程中存在失败现象,故需先在计算机上进行测试(学习),待自动驾驶汽车学习好后,方可将算法移植到实车(即,智能车)上。
在本发明实施例中,自动驾驶汽车自主行驶到达指定的加油位置,实际是自动驾驶汽车的油箱盖位置到达与距离油枪相应距离的位置。故,可将油箱盖看作一个质点(自动驾驶汽车位置),油枪位置看作一个质点(目标位置)。即可将自主加油问题转化为局部路径规划问题。本发明实施例中可利用Q学习算法解决路径规划问题。
图3是本发明实施例提供的基于Q学习算法的流程图。参照图3,本发明实施例提供的Q学习算法的过程可包括:算法参数初始化设计、更新初始状态序列、随机产生决策动作、碰撞判断、目标状态判断、步数判断和值表更新。具体可如下:
算法参数初始化设计
设置最大试验次数(MaxTrail)例如为100,最大移动步数(MaxStep)例如为7,初始试验次数(Trail)为0,,到达目标获得增强信号r=+1,发生碰撞,获得增强信号r=-1,其它状态获得增强信号r=0。
更新初始状态序列
每一次试验开始,初始化移动步数(step)为0,随机选取初始状态(即位置)。
随机产生决策动作
在初始状态(位置)时,将随机产生一个决策动作,到达一个新的状态(邻近状态)。
碰撞逻辑判断
若发生碰撞,则更新值表,并进行下一试验,再次进行更新初始状态序列的过程;若未发生碰撞,则进行到下一步。
目标状态判断
若到达目标状态,则更新值表,并进行下一试验,再次进行更新初始状态序列的过程;若未到达目标状态,则进行到下一步。
步数判断
判断车辆移动步数是否大于最大移动步数。若车辆移动步数大于最大移动步数,则更新值表,并进行下一试验,再次进行更新初始状态序列的过程;若车辆移动步数不大于最大移动步数,则再次进行随机产生决策动作的过程。
需要指出的是,本发明实施例中,碰撞逻辑判断、目标状态判断和步数判断未必按照上面排列的顺序执行,即这三种判断可没有明确的先后顺序,实际中可根据需要来选择执行顺序。例如,也可以按照目标状态判断、碰撞逻辑判断和步数判断的顺序执行等。
值表更新
图4a-4d是本发明实施例提供的Q学习算法值表更新原理的示意图。本文中用图4a-4d所示一个简单的例子来诠释Q学习算法值表跟新更新法则。图4a-4d中9个方格表示智能机器人所在环境存在的9中种可能的状态,箭头为智能机器人可能选择的动作,表示从一个状态到另一个状态的状态转移。图中每个箭头旁边的数字表示状态-动作转移得到的增强信号。Q值表示从一个状态选择一个动作获得的最大累计增强信号,V值表示一个状态可以获得的最大累计增强信号。G表示目标状态,一旦进入此状态便会停留在该状态下。图4(a)中,初始状态下,除了能到达目标的Q值为100外,其它状态转移的Q值均为0。图4(b)中,选取折算因子α=0.8,根据式智能机器人对每一个状态进行反复执行动作之后,更新出Q值。其中,x表示当前状态,x’表示下一状态,u表示当前动作,u’表示下一动作,r为增强信号,表示最优动作值。图4(c)中,根据式得到每一个状态相应的V函数,其中,V*(x)表示最优状态值。图4(d)表示根据Q函数和V函数的数值获得的最优路线(即无论从哪个状态开始,到达目标步数最少)。如此往复,直到所有试验结束(即,当前步数大于最大步数时)。可将最后一次试验更新的值表归一化到[0,1],作为最优策略值表。
将学习后的算法(最优策略值表)装入实车,作为自动驾驶汽车最优路径选择的经验之后,汽车即可实现自动线路规划,完成自主加油。
图5是本发明实施例中自动驾驶汽车中的各个部件设置的示意图。自动驾驶汽车传感器安装如图5所示。自动驾驶汽车前、后、左、右可分别安装有一个毫米波雷达51(图中以示例方式仅示出一个),用于检测周边环境,自动驾驶汽车油箱盖处安装有一个DSRC(专用短程通信技术)模块52,加油站油罐的油枪安装有DSRC模块52,实现车辆与油枪之间的通信,进而知晓油枪的位置(目标)。DSRC是一种高效的无线通信技术,本发明实施例中利用DSRC可以实现在特定小区域内对高速运动下的移动目标的识别和双向通信
图6是本发明实施例中基于Q学习算法实现自主加油的示意图。实际行驶过程中,将加油站环境进行离散化处理,使得自主加油行驶问题变为Q学习算法的路径规划问题。利用最优策略值表,计算出离散环境的最优路径,再利用自动驾驶汽车行驶路径取拟合离散的最优路径,进而使自动驾驶汽车自主行驶到油枪口处。参照图6,智能车61与油罐63之间的行驶路线是根据所述智能车61的油箱口62与加油站油枪64之间的距离来规划。图6中示出了按照本发明实施例规划出的一种行驶线路。
本发明实施例提供的自动驾驶汽车自主加油方法,用经典机器学习算法-Q学习算法,通过自动驾驶汽车自主学习,实现不同环境下最优行驶策略(行驶路径最少),使得自动驾驶汽车自主加油具有更好的稳定性、自适应性、机动性和灵活性。
图7是本发明实施例提供的智能车的结构框图。参照图7,本发明实施例提供的智能车700可包括:学习模块701、路线规划模块702和行驶模块703。其中:
所述学习模块701,用于利用学习算法通过智能车自主学习形成所述智能车的行驶策略值表,所述行驶策略值表由对行驶区域细分而成的多个栅格中的每个栅格赋值形成;
所述线路规划模块702,用于基于所述行驶策略值表,自动规划所述智能车与所述加油位置之间的行驶路线;
所述行驶模块703,用于按照所述行驶路线自动行驶至所述加油位置,以进行加油。
本发明实施例提供的智能车,进而自动进行路线规划,能够使智能车基于规划的路线行驶并进行自主加油,实现加油的智能化。
可选地,所述学习模块701可具体用于:初始化所述智能车的状态,并针对该状态随机产生一个决策动作;对该决策动作后到达的状态进行判断;若未达到所述加油位置、未达到设置的最大步数或未发生碰撞,则重复随机产生决策动作并对决策动作后到达的状态进行判断的步骤;若达到所述加油位置、达到设置的最大步数或发生碰撞,则更新所述智能车的行驶策略值表,并进行下一次学习试验直到达到预设的试验次数。
可选地,所述学习模块701还可用于:
在达到预设的试验次数时,将最后一次试验更新的行驶策略值表归一化到0和1之间,作为最终的行驶策略值表。
可选地,所述线路规划模块702可具体用于:
在所述行驶策略值表上按照取值从小到大的方向形成所述智能车与所述加油位置之间的行驶路线。
在本发明的各个实施例中,所述智能车700上安装有专用短程通信技术DSRC模块。
在本发明的各个实施例中,可选地,所述线路规划模块702可具体用于:根据所述智能车的油箱盖与加油站油枪之间的距离来规划所述智能车与所述加油位置之间的行驶路线。
本发明实施例提供的智能车,可利用经典机器学习算法-Q学习算法,通过自动驾驶汽车自主学习,实现不同环境下最优行驶策略(行驶路径最少),使得自动驾驶汽车自主加油具有更好的稳定性、自适应性、机动性和灵活性。
需要说明的是:上述实施例提供的智能车仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将智能车的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的智能车与自动驾驶汽车自主加油方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。