CN116295415A - 一种基于脉冲神经网络强化学习的无地图迷宫导航方法和系统 - Google Patents
一种基于脉冲神经网络强化学习的无地图迷宫导航方法和系统 Download PDFInfo
- Publication number
- CN116295415A CN116295415A CN202310216334.1A CN202310216334A CN116295415A CN 116295415 A CN116295415 A CN 116295415A CN 202310216334 A CN202310216334 A CN 202310216334A CN 116295415 A CN116295415 A CN 116295415A
- Authority
- CN
- China
- Prior art keywords
- robot
- neural network
- path
- information
- map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 61
- 230000002787 reinforcement Effects 0.000 title claims abstract description 28
- 238000012549 training Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 25
- 238000004088 simulation Methods 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 210000002569 neuron Anatomy 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000013459 approach Methods 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 102100030688 Histone H2B type 1-A Human genes 0.000 claims 1
- 101001084688 Homo sapiens Histone H2B type 1-A Proteins 0.000 claims 1
- 238000010304 firing Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 230000006872 improvement Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1652—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with ranging devices, e.g. LIDAR or RADAR
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种基于脉冲神经网络强化学习的无地图迷宫导航方法,采用一种由里程计标记的路径栅格地图数据,雷达信息,机器人状态与目标点信息作为输入;机器人坐标系中建立路径网格地图,根据机器人里程计中路径位置更新路径标记的栅格地图,栅格地图信息将作为机器人的状态输入;由脉冲神经网络直接输出的脉冲发放率作为差速移动机器人的左右轮控制信号,完成移动机器人在迷宫等复杂地图中的自主导航。本发明还包括一种基于脉冲神经网络强化学习的无地图迷宫导航控制系统。本发明能在不建立地图的情况下直接完成小车导航任务,并且借助于里程计标记的路径栅格地图可完成小车在迷宫中的自主搜索导航路径任务。
Description
技术领域
本发明涉及机器人无地图导航领域,具体涉及一种基于脉冲神经网络强化学习的无地图迷宫导航方法和系统。
背景技术
机器人导航的目的就是让机器人具备从当前位置移动到环境中某一目标位置的能力,并且在这过程中能够保证机器人自身和周围环境的安全性。当前一大批新兴的机器人导航相关企业相继成立,涌现了像扫地机器人,物流机器人,巡检机器人等具体行业应用;同时,机器人导航相关技术在无人车,环境勘测和无人飞行器领域都有相应的扩展和衍生。因此,具备高效、可靠导航技术的机器人才能够适应更加复杂的应用场景。
目前比较成熟的导航算法基本都是基于有地图的方法,如基于SLAM(Simultaneous Localization And Mapping)的导航算法,通过预先建立地图模型,并根据机器人当前的环境感知与地图模型匹配来解决机器人定位问题,再通过路径规划和运动控制来导航到目标点,因此该方法需要详细的环境模型和实时的定位信息来避免和环境中的其他物体发生碰撞,当对于陌生环境,基于地图的导航算法将无法适应。而不依赖预先地图的导航技术被称作无地图导航。随着深度学习的兴起,基于学习的方法也逐渐成为无地图导航方法的热门研究方向,主要方法是基于强化学习和模仿学习的对机器人的导航过程进行建模,而采用基于强化学习的端到端的导航控制算法并没有对导航路径与速度控制进行优化,因此其选择的到目标点的导航方案并非最优的且耗时较长。
脉冲神经网络模型是第三代神经网络模型,其与神经科学的结合紧密,使用最拟合生物神经元机制的模型来进行计算,更贴近与人脑的工作机理。而随着类脑芯片方面的研究发展,结合类脑芯片的计算优点,采用类脑芯片部署脉冲神经网络控制模型能够极大程度降低机器人在神经网络的推理上的功耗。基于脉冲神经网络的神经元非连续值,目前对于大规模深层次的脉冲神经网络还没有一种表现优异且生物可解释的训练方法。
强化学习在游戏和控制等领域应用有着很好的应用前景,但大部分基于强化学习的无地图导航算法都是在较简单的仿真环境中训练,部署到实际机器人也会在简化的室内场景进行算法测试。面对复杂环境时,要考虑强化学习训练的神经网络控制模型的对于可见光图像,深度图像,语音等多模态数据信息的表征。
发明内容
本发明要克服现有技术的不足,提供一种基于脉冲神经网络强化学习的无地图迷宫导航方法,将一种机器人路径的栅格表示方法引入到脉冲神经网络的强化学习中,从而实现了机器人在迷宫中自主搜索路径导航到目标点。
为实现上述目的,本发明采用的技术方案如下:
一种基于脉冲神经网络强化学习的无地图迷宫导航方法,该方法包含如下步骤
步骤一:为移动机器人配备可见光相机、IMU、激光雷达的设备,采用可见光与IMU结合的视觉里程计作为机器人的空间定位方法,基于里程计信息建立机器人坐标系,并在此机器人坐标系中确定导航位置点;
步骤二:选取以0.1m~1m左右边长的正方形作为单个网格,在所述的机器人坐标系中建立路径网格地图,根据机器人里程计中路径位置更新路径标记的栅格地图,栅格地图信息将作为机器人的状态输入;
步骤三:根据导航模型所需的功能在仿真平台中构建三种类型的训练地图,并建立移动机器人的奖励函数,根据步骤一与步骤二所获取的状态信息在仿真平台中基于脉冲神经网络强化学习训练得到移动机器人端到端的脉冲神经网络,根据脉冲神经网络的输出的速度指令该机器人自主地在迷宫中导航到所设置的目标点位置。
进一步,步骤二所述的栅格地图包含两个N*N的矩阵(初始值为0),其中一个矩阵表示机器人经过该栅格的次数,另一个矩阵表征移动机器人的行经路径标签,其栅格中数字为表征移动机器人的行驶路径序列,栅格地图的矩阵由如下公式表征:
其中G表示路径栅格地图包含两个N*N的矩阵Mcount与Mroute,其中Mcount矩阵表示机器人经过栅格的次数,Mroute表征机器人行进路径的标记矩阵;it,jt表示机器人里程计位置(xt,yt)在矩阵中的元素位置,其通过除以正方形栅格边长L取整得到,即it=INT(xt/L),jt=
INT(yt/L);it-1,jt-1表示上一时刻机器人里程计位置在矩阵中的元素位置;
移动机器人根据当前位姿状态,取机器人当前位置所在栅格的机器人朝向方向左右各90度的栅格的信息作为机器人的输入。
进一步,步骤三所述的状态信息包括:机器人朝向前方以10度为步长取18维雷达信息、3维机器人位姿信息、2维速度信息、2维目标位置信息,20维数据路径栅格图数据,两个矩阵各10维,其中9维为机器人朝向前方以20度为步长取距离L处的栅格信息,1维为当前所处栅格的信息。
进一步,步骤三中仿真平台需要建立三种不同类型的训练地图,根据脉冲神经网络控制模型所需功能分为三种:目标导航为主的训练地图、避障为主的训练地图与迷宫路径搜索为主的地图。
进一步,步骤三所述的脉冲神经网络采用SNN的Actor网络与采用CNN的Critic网络;其中,所述脉冲神经网络根据观测的状态输出控制移动机器人左右两方向的脉冲发放数量,转化成机器人线速度与角速度,控制机器人朝最优化方向前进,观测的状态包括:位姿信息、速度信息、雷达信息与路径栅格图信息;所述的Critic网络根据所述脉冲神经网络输出的脉冲发放信息和当前状态的观测信息,输出<状态,动作>的价值,在训练过程中作为脉冲神经网络的损失依据。
进一步,所述的脉冲神经网络包含四个全连层,取LIF(Leaky Intergrate andFired)模型作为全连接层间的神经元连接模块,输出包含两个神经元,输出脉冲发放率作为计算小车速度的依据。
进一步,步骤三中的移动机器人的奖励函数R(st,at)表达式如下:
其中Rgoal>0,Robstacle<0表示移动机器人接近目标或障碍物时的奖励设置;其中,Dt表示机器人与目标点的距离,Tgoal表示判断是否达到目标点的阈值,Ot表示机器人与障碍物的距离,Tobstacle表示机器人处于碰触障碍物的阈值;A1,A2表示该项奖励的幅值系数,Vt取决与机器人当前前进方向下,下一时刻到达路径栅格地图值与当前栅格图值的对比关系,由下式决定:
Vt=ρ*(Mcount(it,jt)-Mcount(it+1,jt+1))+(1-ρ)(Mroute(it,jt)-Mroute(it+1,jt+1)(4)
其中ρ为两个奖励项间的松弛系数,取值范围[0,1]。
进一步,所述的脉冲神经网络输出采用累计脉冲发放数量的脉冲发放率编码作为移动机器人速度控制依据。
进一步,所述的脉冲神经网络采用STBP算法进行梯度反传来完成网络权重的训练。
本发明还提供一种基于脉冲神经网络强化学习的无地图迷宫导航控制系统,包括移动机器人,为移动机器人配备可见光相机、IMU、激光雷达的设备,还包括:
导航位置点确定模块,用于以可见光与IMU结合的视觉里程计作为机器人的空间定位方法,基于里程计信息建立机器人坐标系,并在此机器人坐标系中确定导航位置点;
路径网格地图模块,选取以0.1m~1m左右边长的正方形作为单个网格,在所述的机器人坐标系中建立路径网格地图,根据机器人里程计中路径位置更新路径标记的栅格地图,栅格地图信息将作为机器人输入;
导航控制模块,用于根据导航位置点确定模块与路径网格地图模块所获取的状态信息在仿真平台中基于脉冲神经网络强化学习训练得到移动机器人端到端的脉冲神经网络控制模型,根据脉冲神经网络控制模型的输出的速度指令该机器人自主地迷宫中导航到所设置的目标点位置。
与现有技术相比,本发明的积极效果为:
1)本发明采用了一种简洁的路径地图表达方式,在不预先建立地图的基础上,能够在迷宫环境中根据历史路径记录,在机器人逐步探索过程中自主寻找出到达目标点的路径;
2)该方法采用基于脉冲神经网路的SNN-Actor作为策略,能适配类脑芯片,因其低功耗的特性在实际机器人应用过程更加适应小型的移动机器人。
附图说明
图1为本发明方法的网络训练流程示意图。
图2为本发明方法机器人路径与矩阵Mroute的关系示意图。
图3a-图3c为本发明方法机器人训练仿真环境示意图,图3a是训练场景1,图3b是训练场景2,图3c是训练场景3。
图4a-图4b为本发明方法在训练后模型在迷宫中测试导航示意图,图4a是仿真平台中建立的迷宫环境,图4b是本发明方法在迷宫中测试的导航结果。
图5是本发明的系统结构图。
具体实施方式
为进一步对本发明的技术方案作详细说明,本实施例在以本发明技术方案为前提下进行实施,结合附图与实例给出了详细的实施方式和具体的步骤。
实施例1
如图1所示为本发明方法的整体流程图,一种基于脉冲神经网络强化学习的无地图迷宫导航方法,包括以下步骤:
步骤一:移动机器人采用可见光与IMU结合的视觉里程计作为移动机器人空间定位方法,具体采用VINS-MONO算法实现视觉结合IMU的里程计功能,移动机器人的位姿与导航目标点坐标都基于里程计坐标系来确定,移动机器人配备单线雷达获取机器人朝向处180度的雷达信息;
步骤二:本训练实例选取以边长L=1m的正方形作为单个地图栅格,根据以下式就可以确定机器人当前坐标在栅格地图中的元素位置:
it=INT(xt/L),jt=INT(yt/L)
其中it,jt表示在栅格矩阵中的元素位置,(xt,yt)表示机器人里程计位置;
栅格地图矩阵的范围根据实际移动机器人的运行场景进行确定,本实例选取10*10大小的矩阵来表征栅格地图。根据机器人当前获取的元素位置结合存储的历史数据信息,根据以下公式更新路径栅格地图:
其中G表示路径栅格地图包含两个N*N的矩阵Mcount与Mroute,其中Mcount矩阵表示机器人经过栅格的次数,Mroute表征机器人行进路径的标记矩阵;it-1,jt-1表示上一时刻机器人里程计位置在矩阵中的元素位置;
如图2所示即为移动机器人位置转换到矩阵元素位置后,随着机器人的导航移动到目标点,Mroute矩阵的数据的最终状态,Mroute的数值大小表征了机器人迷宫中探索时路径顺序的编号,路径的编号顺序能提示机器人那些迷宫区域已经被探索并根据编号大小引导机器人返回迷宫中的分叉路节点进而探索其他未知区域,Mcount矩阵与Mroute类似但其保存的是机器人经过该栅格的次数,Mcount表征了哪些区域已经被重复探索,其矩阵主要用于防止机器人导航到这些已被重复探索的区域;
步骤三:本实例采用深度确定性的策略梯度算法(DDPG)来构建基于脉冲神经网络的策略网络模型SNN-Actor与基于CNN的Critic网络。其中脉冲神经网络包含四个全连层,取LIF模型作为全连接层间的神经元连接模块(LIF神经元的发放阈值取0.5,延时参数取0.8),中间隐藏层神经元数量均取256,输入状态为机器人朝向前方以10度为步长取18维雷达信息、3维机器人位姿信息、2维速度信息、2维目标位置信息,20维数据路径栅格图数据,将输入状态进行归一化处理,以20个时间步泊松编码方式作为脉冲神经网络的输入,输出则包含两个神经元,统计输出神经元的脉冲发放数量除以时间步得到最终两个神经元脉冲发放率,两神经元的脉冲发放率作为移动机器人左速度控制的依据,以两个神经元的平均脉冲发放率来控制机器人的线速度,两神经元脉冲率的差值作为机器人转向角度的控制依据;而Critic网络采用四个全连层,采用Relu作为激活函数,其输入包含不经过泊松编码的机器人输入状态与脉冲神经网络输出的脉冲发放率,网络输出则作为脉冲神经网络训练的Q值;
训练采用的奖励函数R(st,at)的表达式为:
其中Rgoal>0,Robstacle<0表示移动机器人接近目标或障碍物时的奖励设置;其中,Dt表示机器人与目标点的距离,Tgoal表示判断是否达到目标点的阈值,Ot表示机器人与障碍物的距离,Tobstacle表示机器人处于碰触障碍物的阈值;A1,A2表示该项奖励的幅值系数,示例中A1=1.0,A2=0.5,Vt取决与机器人当前前进方向下,下一时刻到达路径栅格地图值与当前栅格图值的对比关系,由下式决定:
Vt=ρ*(Mcount(it,jt)-Mcount(it+1,jt+1))+(1-ρ)(Mroute(it,jt)-Mroute(it+1,jt+1))(4)
其中ρ为两个奖励项间的松弛系数,取值范围[0,1],实施例中ρ=0.3;
实例在机器人仿真平台gazebo中建立如图3所示的训练场景,其中图3a为训练场景1主要目标以导航为主可以使得训练的模型具有导航到目标的功能,在具有导航的功能前提下再采用图3b的训练场景2来训练模型的避障功能,最后在图3c训练场景3下,以简单迷宫场景下训练出具有路径搜索的导航模型,三个场景分别训练100,300,500个epochs,训练过程初始位置与目标点采用随机函数确定。
强化学习算法基于DDPG强化学习算法,在仿真环境中根据脉冲神经网络输出模拟机器人运动状态,将仿真环境中获取的输入状态、脉冲神经网络输出、下一时刻机器人的输入状态与奖励值保存进经验池,在持续的仿真交互中当强化学习经验池在到达100000大小时进行经验回放并训练更新权重;其中脉冲神经网采用STBP(Spatio-TemporalBackpropagation)算法将不可导的脉冲输出替换为近似的可导函数,采用随机梯度下降算法进行网络参数的优化;
为验证方法的有效性,在模型训练结束后,本发明在Gazebo仿真平台上建立的如图4a的迷宫进行了仿真实验,实验结果如图4b所示,根据实验结果与导航路径显示移动机器人在多次试验中都能够自主逐步探索迷宫并最终导航到目标点。
实施例2
参照图5,本发明还提供一种基于脉冲神经网络强化学习的无地图迷宫导航控制系统,以实现实施例1的一种基于脉冲神经网络强化学习的无地图迷宫导航方法,包括移动机器人,为移动机器人配备可见光相机、IMU、激光雷达的设备,还包括:
导航位置点确定模块,用于以可见光与IMU结合的视觉里程计作为机器人的空间定位方法,基于里程计信息建立机器人坐标系,并在此机器人坐标系中确定导航位置点;
路径网格地图模块,选取以0.1m~1m左右边长的正方形作为单个网格,在所述的机器人坐标系中建立路径网格地图,根据机器人里程计中路径位置更新路径标记的栅格地图,栅格地图信息将作为机器人输入;
导航控制模块,用于根据导航位置点确定模块与路径网格地图模块所获取的状态信息在仿真平台中基于脉冲神经网络强化学习训练得到移动机器人端到端的脉冲神经网络控制模型,根据脉冲神经网络控制模型的输出的速度指令该机器人自主地迷宫中导航到所设置的目标点位置。
实施例3
本发明还提供一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现实施例1的一种基于脉冲神经网络强化学习的无地图迷宫导航方法。
在硬件层面,该计算设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的方法。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced BooleanExpression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated CircuitHardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,本发明的保护范围以权利要求所述为准。
Claims (10)
1.一种基于脉冲神经网络强化学习的无地图迷宫导航方法,包括以下步骤:
步骤一:为移动机器人配备可见光相机、IMU、激光雷达的设备,采用可见光与IMU结合的视觉里程计作为机器人的空间定位方法,基于里程计信息建立机器人坐标系,并在此机器人坐标系中确定导航位置点;
步骤二:选取以0.1m~1m左右边长的正方形作为单个网格,在所述的机器人坐标系中建立路径网格地图,根据机器人里程计中路径位置更新路径标记的栅格地图,栅格地图信息将作为机器人的状态输入;
步骤三:根据导航模型所需的功能在仿真平台中构建三种类型的训练地图,并建立移动机器人的奖励函数,根据步骤一与步骤二所获取的状态信息在仿真平台中基于脉冲神经网络强化学习训练得到移动机器人端到端的脉冲神经网络,根据脉冲神经网络的输出的速度指令该机器人自主地在迷宫中导航到所设置的目标点位置。
2.如权利要求1所述的方法,其特征在于,步骤二所述的栅格地图包含两个N*N的矩阵(初始值为0),其中一个矩阵表示机器人经过该栅格的次数,另一个矩阵表征移动机器人的行经路径标签,其栅格中数字为表征移动机器人的行驶路径序列,栅格地图的矩阵由如下公式表征:
其中G表示路径栅格地图包含两个N*N的矩阵Mcount与Mroute,其中Mcount矩阵表示机器人经过栅格的次数,Mroute表征机器人行进路径的标记矩阵;it,jt表示机器人里程计位置(xt,yt)在矩阵中的元素位置,其通过除以正方形栅格边长L取整得到,即it=INT(xt/L),jt=INT(yt/L);it-1,jt-1表示上一时刻机器人里程计位置在矩阵中的元素位置;
移动机器人根据当前位姿状态,取机器人当前位置所在栅格的机器人朝向方向左右各90度的栅格的信息作为机器人的输入。
3.如权利要求1所述的方法,步骤三所述的状态信息包括:机器人朝向前方以10度为步长取18维雷达信息、3维机器人位姿信息、2维速度信息、2维目标位置信息,20维数据路径栅格图数据,两个矩阵各10维,其中9维为机器人朝向前方以20度为步长取距离L处的栅格信息,1维为当前所处栅格的信息。
4.如权利要求1所述的方法,其特征在于,步骤三中仿真平台需要建立三种不同类型的训练地图,根据脉冲神经网络控制模型所需功能分为三种:目标导航为主的训练地图、避障为主的训练地图与迷宫路径搜索为主的地图。
5.如权利要求1所述的方法,其特征在于,步骤三所述的脉冲神经网络采用SNN的Actor网络与采用CNN的Critic网络;其中,所述脉冲神经网络根据观测的状态输出控制移动机器人左右两方向的脉冲发放数量,转化成机器人线速度与角速度,控制机器人朝最优化方向前进,观测的状态包括:位姿信息、速度信息、雷达信息与路径栅格图信息;所述的Critic网络根据所述脉冲神经网络输出的脉冲发放信息和当前状态的观测信息,输出<状态,动作>的价值,在训练过程中作为脉冲神经网络的损失依据。
6.如权利要求5所述的方法,其特征在于,所述的脉冲神经网络包含四个全连层,取LIF模型作为全连接层间的神经元连接模块,输出包含两个神经元,输出脉冲发放率作为计算小车速度的依据。
7.如权利要求5所述的方法,其特征在于,步骤三中的移动机器人的奖励函数R(st,at)表达式如下:
其中Rgoal>0,Robstacle<0表示移动机器人接近目标或障碍物时的奖励设置;其中,Dt表示机器人与目标点的距离,Tgoal表示判断是否达到目标点的阈值,Ot表示机器人与障碍物的距离,Tobstacle表示机器人处于碰触障碍物的阈值;A1,A2表示该项奖励的幅值系数,Vt取决与机器人当前前进方向下,下一时刻到达路径栅格地图值与当前栅格图值的对比关系,由下式决定:
Vt=ρ*(Mcount(it,jt)-Mcount(it+1,jt+1))+(1-ρ)(Mroute(it,jt)-Mroute(it+1,jt+1)(4)
其中ρ为两个奖励项间的松弛系数,取值范围[0,1]。
8.如权利要求5所述的方法,其特征在于,所述的脉冲神经网络输出采用累计脉冲发放数量的脉冲发放率编码作为移动机器人速度控制依据。
9.如权利要求5所述的方法,其特征在于,所述的脉冲神经网络采用STBP算法进行梯度反传来完成网络权重的训练。
10.一种基于脉冲神经网络强化学习的无地图迷宫导航控制系统,包括移动机器人,为移动机器人配备可见光相机、IMU、激光雷达的设备,其特征在于,包括:
导航位置点确定模块,用于以可见光与IMU结合的视觉里程计作为机器人的空间定位方法,基于里程计信息建立机器人坐标系,并在此机器人坐标系中确定导航位置点;
路径网格地图模块,选取以0.1m~1m左右边长的正方形作为单个网格,在所述的机器人坐标系中建立路径网格地图,根据机器人里程计中路径位置更新路径标记的栅格地图,栅格地图信息将作为机器人输入;
导航控制模块,用于根据导航位置点确定模块与路径网格地图模块所获取的状态信息在仿真平台中基于脉冲神经网络强化学习训练得到移动机器人端到端的脉冲神经网络控制模型,根据脉冲神经网络控制模型的输出的速度指令该机器人自主地迷宫中导航到所设置的目标点位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310216334.1A CN116295415A (zh) | 2023-03-02 | 2023-03-02 | 一种基于脉冲神经网络强化学习的无地图迷宫导航方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310216334.1A CN116295415A (zh) | 2023-03-02 | 2023-03-02 | 一种基于脉冲神经网络强化学习的无地图迷宫导航方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116295415A true CN116295415A (zh) | 2023-06-23 |
Family
ID=86780998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310216334.1A Pending CN116295415A (zh) | 2023-03-02 | 2023-03-02 | 一种基于脉冲神经网络强化学习的无地图迷宫导航方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116295415A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116989800A (zh) * | 2023-09-27 | 2023-11-03 | 安徽大学 | 一种基于脉冲强化学习的移动机器人视觉导航决策方法 |
CN117806315A (zh) * | 2023-12-18 | 2024-04-02 | 中科南京智能技术研究院 | 一种机器人路径规划与避障方法及系统 |
-
2023
- 2023-03-02 CN CN202310216334.1A patent/CN116295415A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116989800A (zh) * | 2023-09-27 | 2023-11-03 | 安徽大学 | 一种基于脉冲强化学习的移动机器人视觉导航决策方法 |
CN116989800B (zh) * | 2023-09-27 | 2023-12-15 | 安徽大学 | 一种基于脉冲强化学习的移动机器人视觉导航决策方法 |
CN117806315A (zh) * | 2023-12-18 | 2024-04-02 | 中科南京智能技术研究院 | 一种机器人路径规划与避障方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Singla et al. | Memory-based deep reinforcement learning for obstacle avoidance in UAV with limited environment knowledge | |
Cao et al. | Target search control of AUV in underwater environment with deep reinforcement learning | |
Jesus et al. | Deep deterministic policy gradient for navigation of mobile robots in simulated environments | |
CN116295415A (zh) | 一种基于脉冲神经网络强化学习的无地图迷宫导航方法和系统 | |
CN114384920A (zh) | 一种基于局部栅格地图实时构建的动态避障方法 | |
CN114859911B (zh) | 一种基于drl的四足机器人路径规划方法 | |
CN110955242A (zh) | 机器人导航方法、系统、机器人及存储介质 | |
CN111587408A (zh) | 机器人导航和对象跟踪 | |
Jiang et al. | A brief survey: Deep reinforcement learning in mobile robot navigation | |
Kanezaki et al. | Goselo: Goal-directed obstacle and self-location map for robot navigation using reactive neural networks | |
Yan et al. | Reinforcement Learning‐Based Autonomous Navigation and Obstacle Avoidance for USVs under Partially Observable Conditions | |
Martyshkin | Motion planning algorithm for a mobile robot with a smart machine vision system | |
KR20220090732A (ko) | 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템 | |
CN113515131A (zh) | 基于条件变分自动编码器的移动机器人避障方法及系统 | |
CN116679711A (zh) | 一种基于有模型与无模型强化学习的机器人避障方法 | |
Zhang et al. | Safe and efficient robot manipulation: Task-oriented environment modeling and object pose estimation | |
Trevisan et al. | Exploratory navigation based on dynamical boundary value problems | |
Xu et al. | Automated labeling for robotic autonomous navigation through multi-sensory semi-supervised learning on big data | |
Doellinger et al. | Environment-aware multi-target tracking of pedestrians | |
US20220269948A1 (en) | Training of a convolutional neural network | |
CN116858253A (zh) | 一种适用室内环境的轻量性预测式导航方法及系统 | |
Neloy et al. | Alpha-N-V2: Shortest path finder automated delivery robot with obstacle detection and avoiding system | |
CN116149362A (zh) | 一种飞行器避障轨迹任意时间优化方法和系统 | |
Feng et al. | Mobile robot obstacle avoidance based on deep reinforcement learning | |
Zhang et al. | A maze robot autonomous navigation method based on curiosity and reinforcement learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |