一种基于深度强化学习的自动寻路方法及寻路小车设备与流程

文档序号:22797439发布日期:2020-11-04 03:51阅读:877来源:国知局

本发明涉及深度强化学习技术领域,更具体地说,涉及一种基于深度强化学习的方法与自动寻路小车设备。



背景技术:

目前的自动寻路小车有使用红外线、激光、超声波侦测的方式感知环境,但这些传统的感知设备无法对环境信息进行一个全面的获取,在面对复杂的环境的时候无法做到有效的寻路。

随着机器学习技术的发展,机器对图像的识别越来越准确,如果使用摄像头获取周围的信息,利用神经网络识别图像数据,从而进行路径判断,那就可以很好的在识别周围环境基础上实现自动寻路,这样能够处理更加复杂的环境数据。

现代机器学习技术的的发展离不开硬件设备的发展,随着计算机性能的大大提升,一个小的gpu就能处理图像数据,可以将gpu搭载到小车上,处理摄像机传来的图像数据以及超声波接收器传来的数据,执行相应的算法,让小车完成自动寻路任务。



技术实现要素:

为了解决现有技术中存在的复杂环境中无法有效寻路的问题,本发明提出了一种基于深度强化学习的自动寻路小车设备,包括车体400、摄像机404、智能舵机410、智能电机407、电源408;所述车体400内置有开发板、底部设有4个车轮,所述前两个车轮为一组,连接智能舵机410,后两个车轮为一组,连接智能电机407;所述智能舵机410安装在车体400底部,用于控制车体400前两个车轮的转弯角度;所述智能电机407安装在车体400的底部,用于提供小车动力;所述摄像机404在车体400正前方,通过开发板mipi接口402与车体400上的开发板相连接,摄像机404用于读取环境的图像数据;所述电源408设置在智能电机407的一侧。

进一步地,上述开发板为jetson-nano开发板,开发板内装有ubuntu操作系统;开发板内置有电源接口401、开发板mipi连接口402、网线接口405、usb接口403,开发板通过usb接口403连接智能舵机410。

本发明还提出了一种基于深度强化学习的自动寻路方法,包括以下步骤:

1)小车在运动之前先预置目的地图像;

2)启动小车,在行驶时通过摄像机获取环境图像,将当前获取的环境图像和目的地图像进行相似度对比;

3)用两个共享权值的卷积神经网络计算当前图像和目标图像的相似度,通过相似度阈值判断小车是否达到目的地,超过相似度阈值则训练停止;未达到相似度阈值则继续行驶并获取新的环境图像,优化卷积神经网络;

4)完成自动寻路。

进一步地,上述用两个共享权值的卷积神经网络计算当前图像和目标图像的相似度包括:

建立两个共享权值的卷积神经网络channelnetwork、chanelnetwork将当前图像和目标图像输出为两个向量,计算两个向量的相似度,比值越接近1,图像相似度越高,具体计算公式如下:

其中x、y为输出的两个向量,其中cov(x,y)为x,y向量的协方差,ex为x向量的期望值,ey为y向量的期望值,dx为x向量方差,dy为y向量的方差。

进一步地,上述优化卷积神经网络或自动寻路小车的训练过程包括以下具体步骤:

3.1)建立并初始化action网络、value网络,其中action网络的权值参数用θ表示,value网络的参数用w表示;

3.2)小车在行驶时,卷积神经网络的输出向量作为action网络的输入,action网络的输出向量通过计算转换为小车的运动速度以及小车的角度;

3.3)小车在行驶过程中,将获取的图像数据以(s,a,r,s’)的形式存放到经验池中,其中s为当前状态,a为选择的动作,r为奖励值,s’为在图像s下选择的动作a之后所获取的图像,小车在运动过程中更新网络权值,q(s,a)表示为(s,a)的未来奖励之和,q(s’,a)表示下一个状态下的未来奖励之和,满足公式即可更新权值q(s,a)=q(s’,a)+r;

3.4)将q(s’,a)代入下列公式,其中rj表示当前动作所返回的奖励,该奖励为预先设定的值,γ为折扣率,φ(s’)表示s’时刻的图像经过卷积神经网络计算后输出的值,θ’表示更新后的action网络权值,ω’表示更新后的value网络权值;

rj+γq′(φ(s′j),πθ′(φ(s′j)),ω′)

可以得出损失函数为:

得到value网络的损失函数,利用反向传播算法更新value网络的权值,使损失函数的值降到最低,误差逐渐减少;

action网络通过以下公式计算参数θ的偏导数,更新action网络的权值θ,通过调整θ网络的权值让action网络产生最优的动作;

更新权值采用折扣率更新方法,如下列公式所示,其中ω’表示更新后的value网络权值,选取变化的一部分加到原有的ω值中,其中θ’表示更新后的action网络权值,,选取变化的一部分加到原有的θ值中,

ω′←τω+(1-τ)ω′

θ′←τθ+(1-τ)θ′

实现value网络和action网络的学习,小车在每次作出动作时都选择一个对未来期望值最高的动作。

进一步地,上述步骤3.2)小车的运动速度以及小车的角度计算方法如下:

3.2.1)假设输出的向量值为(x1,x2……xn,y1,y2……yn),其中x1..yn都大于等于0且小于1;

3.2.2)取前一半(x1,x2……xn)向量计算为速度,速度区间在(-50,50)之间,取后一半(y1,y2……yn)向量计算为角度,角度区间在(-50°,50°)之间;

3.2.3)计算(x1,x2……xn)的模,区间在(0,√(n))之间,假设向量的模为x1,速度y1=(100/√(n))*x1-50,即可确定速度,计算(y1,y2……yn)的模,区间在(0,√(n))之间,假设向量的模为x2,角度y2=(100/√(n))*x2-50,即可确定角度。

相比于现有技术,本发明有如下有益效果:

1、相较于传统的智能小车寻路方法,使用摄像机作为感知环境的设备,可以获得更加准确、内容更多的环境信息,通过摄像机对环境的感知,再通过卷积神经网络来处理图像数据,做路径决策,和人的路径决策方式十分接近。

2、jetson-nano开发板内存有4gb,gpu配备128个nvidiacuda核心,cpu为四核处理器,运算能力强大,可以和树莓派的很多外接设备兼容。

3、自动寻路小车使用连续性动作空间下的深度强化学习算法来学习,可以让机器判断在某种状态下选择最优的动作,动作随着状态的改变时刻改变着,不会出现某种动作无法选择的情况,让小车更好的应对各种情况。

4、不同于传统的路径规划方法,采用神经网络的方法实现寻路可以面对更加复杂和多元的环境信息,并且系统具有很强的鲁棒性。

附图说明

图1为本发明小车装置的部件连接图;

图2为本发明小车装置的部件俯视图;

图3为本发明方法流程图;

图4为本发明的图像相似度计算图。

图中标号说明:

400-车体;401-开发板电源接口;402-开发板mipi连接口;403-usb接口一;404-摄像机;405-网线接口;406-usb接口二;407-智能电机;408-电源;409-开发板处理器;410-智能舵机。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1、2所示,本发明为一种基于深度强化学习的自动寻路小车设备,包括车体400、摄像机404、智能舵机410、智能电机407、电源408;其中车体400内置有开发板、底部设有4个车轮,前两个车轮为一组,连接智能舵机410,后两个车轮为一组,连接智能电机407,通过车体400将两组车轮连接起来。智能舵机410安装在车体400底部,用于控制车体400前两个车轮的转弯角度;智能电机407安装在车体400的底部,用于提供小车动力;摄像机404在车体400正前方,通过开发板mipi接口402与车体400上的开发板相连接,摄像机404用于读取环境的图像数据;电源408设置在智能电机407的一侧。

作为本发明的优选实施例,开发板为jetson-nano开发板,开发板内装有ubuntu操作系统;开发板内置有开发板电源接口401、开发板mipi连接口402、usb接口一403、网线接口405、usb接口二406、开发板处理器409,开发板通过usb接口一403连接智能舵机410。开发板通过网线接口405与外界网络连接。usb接口二406连接智能电机407。

如图3所示,本发明还涉及一种基于深度强化学习的自动寻路方法,包括以下步骤:

1)小车在运动之前先预置目的地图像;

2)启动小车,在行驶时通过摄像机获取环境图像,将当前获取的环境图像和目的地图像进行相似度对比;

3)用两个共享权值的卷积神经网络计算当前图像和目标图像的相似度,通过相似度阈值判断小车是否达到目的地,超过相似度阈值则训练停止;未达到相似度阈值则继续行驶并获取新的环境图像,优化卷积神经网络;

4)完成自动寻路。

作为本发明的优选实施例,如图4所示,步骤3)中用两个共享权值的卷积神经网络计算当前图像和目标图像的相似度包括:

建立两个共享权值的卷积神经网络channelnetwork、chanelnetwork将当前图像和目标图像输出为两个向量,计算两个向量的相似度,比值越接近1,图像相似度越高,具体计算公式如下:

其中x、y为输出的两个向量,其中cov(x,y)为x,y向量的协方差,ex为x向量的期望值,ey为y向量的期望值,dx为x向量方差,dy为y向量的方差。

作为本发明的优选实施例,上述步骤3)中优化卷积神经网络或自动寻路小车的训练过程包括以下具体步骤:

3.1)建立并初始化action网络、value网络,其中action网络的权值参数用θ表示,value网络的参数用w表示;

3.2)小车在行驶时,卷积神经网络的输出向量作为action网络的输入,action网络的输出向量通过计算转换为小车的运动速度以及小车的角度;

3.3)小车在行驶过程中,将获取的图像数据以(s,a,r,s’)的形式存放到经验池中,其中s为当前状态,a为选择的动作,r为奖励值,s’为在图像s下选择的动作a之后所获取的图像,小车在运动过程中更新网络权值,q(s,a)表示为(s,a)的未来奖励之和,q(s’,a)表示下一个状态下的未来奖励之和,满足公式即可更新权值q(s,a)=q(s’,a)+r;

3.4)将q(s’,a)代入下列公式,其中rj表示当前动作所返回的奖励,该奖励为预先设定的值,γ为折扣率,φ(s’)表示s’时刻的图像经过卷积神经网络计算后输出的值,θ’表示更新后的action网络权值,ω’表示更新后的value网络权值;

rj+γq′(φ(s′j),πθ′(φ(s′j)),ω′)

可以得出损失函数为:

得到value网络的损失函数,利用反向传播算法更新value网络的权值,使损失函数的值降到最低,误差逐渐减少;

action网络通过以下公式计算参数θ的偏导数,更新action网络的权值θ,通过调整θ网络的权值让action网络产生最优的动作;

更新权值采用折扣率更新方法,如下列公式所示,其中ω’表示更新后的value网络权值,选取变化的一部分加到原有的ω值中,其中θ’表示更新后的action网络权值,,选取变化的一部分加到原有的θ值中,

ω′←τω+(1-τ)ω′

θ′←τθ+(1-τ)θ′

实现value网络和action网络的学习,小车在每次作出动作时都选择一个对未来期望值最高的动作。

作为本发明的优选实施例,上述步骤3.2)小车的运动速度以及小车的角度计算方法如下:

3.2.1)假设输出的向量值为(x1,x2……xn,y1,y2……yn),其中x1..yn都大于等于0且小于1;

3.2.2)取前一半(x1,x2……xn)向量计算为速度,速度区间在(-50,50)之间,取后一半(y1,y2……yn)向量计算为角度,角度区间在(-50°,50°)之间;

3.2.3)计算(x1,x2……xn)的模,区间在(0,√(n))之间,假设向量的模为x1,速度y1=(100/√(n))*x1-50,即可确定速度,计算(y1,y2……yn)的模,区间在(0,√(n))之间,假设向量的模为x2,角度y2=(100/√(n))*x2-50,即可确定角度。

刚开始的时候小车的神经网络权值是随机产生的,动作很不准确,随着环境数据的读取,小车的神经网络得到训练,在训练后,车体400再次运行到这个环境的时候,再获取此刻的图像时会采取正确的角度和速度,当获取的图像信息和目标图像信息一致的时候,就到达目的地,寻路结束。

以上所述,仅为本发明较佳的具体实施方式;但本发明的保护范围并不局限于此。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其改进构思加以等同替换或改变,都应涵盖在本发明的保护范围内。

当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!