CN109855616B - 一种基于虚拟环境和强化学习的多传感器机器人导航方法 - Google Patents
一种基于虚拟环境和强化学习的多传感器机器人导航方法 Download PDFInfo
- Publication number
- CN109855616B CN109855616B CN201910039576.1A CN201910039576A CN109855616B CN 109855616 B CN109855616 B CN 109855616B CN 201910039576 A CN201910039576 A CN 201910039576A CN 109855616 B CN109855616 B CN 109855616B
- Authority
- CN
- China
- Prior art keywords
- network
- sensor
- virtual environment
- value
- robot
- 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.)
- Active
Links
Images
Landscapes
- Image Analysis (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明提供了一种基于虚拟环境和强化学习的多传感器机器人导航方法,属于机器人技术领域。本发明通过使用雷达、摄像头、罗盘、测速码盘传感器所得环境信息作为输入,针对摄像头捕获的图像数据使用卷积技术降低数据维度;通过在虚拟环境中预先训练好导航策略,以避免机器人实体训练过程中的耗时、耗力、不安全等问题;经过本方案得到一个虚拟环境中让机器人自主导航,顺利避障,高效到达目标位置的导航策略。
Description
技术领域
本发明属于机器人技术领域,特别涉及一种基于虚拟环境和强化学习的多传感器机器人导航方法。
背景技术
随着科技的不断进步和智能化的不断发展,机器人得到越来越多的应用,更多地参与到了日常的生产生活中,用以协助或者替代人力。在机器人技术领域当中,机器人自主导航技术尤为不可或缺,是移动机器人的核心技术之一,其目的是在无碰撞、无人为参与及其它指导的情况下,高效率到达目标点。
当前自主导航机器人多依赖地图创建和地图规划,或是传统的基于传感器融合进行导航,前者耗时较多,后者往往基于传感器进行的复杂逻辑判断。
发明内容
为了解决现有技术中机器人导航过程中算法过于复杂和学习网络在训练中耗时过长的问题,提出了一种基于虚拟环境和强化学习的多传感器机器人导航方法。
一种基于虚拟环境和强化学习的多传感器机器人导航方法,所述方法包括以下步骤:
S1、构建虚拟环境,所述虚拟环境中包括多传感器机器人和障碍物,所述多传感器机器人至少包括雷达、摄像头、罗盘及测速码盘四个传感器;
S2、获取所述多传感器机器人运动中的各传感器数据,并将所述传感器数据输入至强化学习模型中进行训练,其中,所述强化学习模型包括值网络和目标网络;
S3、计算奖励函数,并根据所述奖励函数、值网络和目标网络的输出对所述值网络中的参数进行更新,当值函数更新达到预设步数时,将所述值网络的参数复制到所述目标网络中,对目标网络中的参数进行更新。
进一步地,所述步骤1包括:
基于ROS和Gazebo构建虚拟环境,所述虚拟环境中包括可设置自身参数的障碍物和根据实体机器人等比例建模的饿仿真机器人。
进一步地,所述强化学习模型包括:
所述强化学习模型包括网络大小一样、参数一样的值网络和目标网络,所述值网络和目标网络包括图像子网络、非图像子网络和输出层。
进一步地,所述图像子网络包括三层卷积层和一层全连接层;
所述非图像子网络包括两层全连接层;
所述输出层与所述图像子网络和非图像子网络之间设有一层全连接层。
进一步地,所述步骤S2包括:
获取所述多传感器机器人运动中传感器数据,输入至所述强化学习模型中进行训练,其中,所述传感器数据包括所述摄像头获取的图像数据、所述雷达获取的雷达数据、所述罗盘获取的方向数据及所述测速码盘获取的速度和里程数据;
所述图像数据输入至所述图像子网络中,得到降维后的图像特征;
所述传感器数据中的非图像数据输入至所述非图像子网络中,得到降维后的非图像特征;
所述图像特征和非图像特征拼接后经过一全连接层至输出层。
进一步地,所述雷达数据输入至所述强化学习模型之前,基于流行学习对所述雷达数据进行降维。
进一步地,所述步骤S3包括:
计算奖励函数;
获取所述值网络和目标网络的输出,并对两网络输出值做差得到差值,所述差值为所述值网络迭代的目标,所述奖励函数作为所述差值的一部分,对所述值网络中的参数进行更新;
判断所述值网络更新是否达到预设步数;
当所述值网络更新达到预设步数时,将所述值网络的参数复制到所述目标网络中,对目标网络中的参数进行更新;
当所述值网络更新未达到预设步数时,流程返回所述步骤S2。
进一步地,所述计算奖励函数的过程包括:
获取动作指令执行后的位置和动作指令执行前的位置之间的距离,再乘以系数α,得到距离项;
计算当前机器人方向相对于目标方向的弧度差,再乘以系数β,得到角度项;
根据是否在预设误差范围内到达目标点,得到完成项;
所述距离项、角度项及完成项相加得到所述奖励函数。
本发明的有益效果:本发明提供了一种基于虚拟环境和强化学习的多传感器机器人导航方法,通过使用雷达、摄像头、罗盘、测速码盘传感器所得环境信息作为输入,针对摄像头捕获的图像数据使用卷积技术降低数据维度;通过在虚拟环境中预先训练好导航策略,以避免机器人实体训练过程中的耗时、耗力、不安全等问题;经过本方案得到一个虚拟环境中让机器人自主导航,顺利避障,高效到达目标位置的导航策略。
附图说明
图1为本发明实施例提供的流程图。
图2为本发明实施例提供的另一流程图。
具体实施方式
下面结合附图对本发明的实施例做进一步的说明。
本发明提出的一种基于虚拟环境和强化学习的多传感器机器人导航方法,通过以下步骤实现:
S1、构建虚拟环境,虚拟环境中包括多传感器机器人和障碍物,多传感器机器人至少包括雷达、摄像头、罗盘及测速码盘四个传感器。
本实施例中,本发明通过构建虚拟环境,并在其中进行算法的训练。虚拟化环境是针对机器人搭建的仿真环境,主要包括两部分:仿真的障碍物和仿真机器人。基于ROS和Gazebo构建虚拟环境,多传感器机器人上搭载至少激光雷达、罗盘、摄像头、测速码盘四种传感器,配置的各种传感器可以通过指定文件修改其参数,如修改雷达扫描范围,修改摄像头图像宽度,修改罗盘的噪声率等。设置的障碍物,可以通过命令或文件添加到Gazebo环境中,每种障碍物有其自身参数,如惯性系数、重量、大小,朝向、是否固定等。通过这两部分的组合完成虚拟环境的搭建。虚拟环境中,仿真小车通过各种传感器感知环境中仿真障碍物等环境信息。虚拟环境解决了强化学习在迭代中的交互成本。
优选地,雷达选用二维激光雷达,返回障碍物到雷达的角度和距离,扫描分辨率0.36,最大有效测距30米,最小有效测距0.1米,本方案中只取6米范围内的数据,对于大于六米的都设置为30米,扫描范围90度到-90度。
优选地,罗盘为磁性电子罗盘,输出为归一化后的值,带有正负,以指示象限,数值大小乘以180所得即代表具体角度。
优选地,摄像头和雷达相互辅助,以探测到所有障碍物。摄像头输出大小为800*800的RGB图片,摄像头朝向机器人正前方,未设置俯仰角。
优选地,测速码盘直接返回左右轮速度,精度为厘米,本实施例中每次执行前进动作的速度固定为0.2米每秒,通过累加计算出机器人行走里程。
本实施例中,上述描述为本实施例优选的传感器的选用和具体参数设置,可以有其它选用和参数设置。
同时,机器人在虚拟环境中,可通过动作指令执行3种动作:前进、左转、右转。优选地,机器人一次前进动作,行进的距离是25厘米,一次转向的距离是5度。
S2、获取多传感器机器人运动中的各传感器数据,并将传感器数据输入至强化学习模型中进行训练,其中,强化学习模型包括值网络和目标网络。
本实施例中,获取机器人运动中各各传感器传输的数据,为保证实时性,采用四个线程分别监督四种传感器所得的数据。其中,摄像头获取图像数据、雷达获取雷达数据、罗盘获取的方向数据及测速码盘获取实时速度和里程数据。为了保证罗盘、雷达、摄像头、测速码盘反映的是同一个时刻的机器人状态,即一致性,数据的交互不独立进行,雷达线程完成对全部传感器原始数据进行拼接,再进行传输。
本实施例中,将传感器数据输入至强化学习模型中进行训练。强化学习部分是本发明的核心。强化学习在训练中输入采集到的传感器数据,使用包括但不限于激光雷达、摄像头、罗盘、测速码盘的数据,端对端训练得到动作控制。强化学习模型包括值网络和目标网络,两个网络大小一样,参数一样的,但是参数更新方式不同,目标网络的参数值来自于值网络。考虑到摄像头捕获的图像具有空间性,直接的全连接无法充分提取出图像信息,强化学习使用的模型中,加入卷积技术,而对非图像类数据,使用全连接。因而,值网络和目标网络包括图像子网络、非图像子网络两个子网络。图像子网络应对图像数据,非图像子网络应对非图像数据。图像子网络部分,三层卷积层再接一层全连接层;非图像子网络包括两层全连接层;二者输出后拼接再接一层全连接层到输出层。可在交互时通过四线程实时采集到雷达、摄像头、罗盘、测速码盘的数据,其中雷达为二维雷达,维度720,摄像头为RGB摄像头,获得大小为800*800像素的图像,罗盘数据被归一化至(0,1),测速码盘直接反映速度和里程。
本实施例中,传感器数据的特征提取和融合分为两部分,一部分通过强化学习模型实现,另一部分基于流行学习的降维完成。雷达数据维度极大,如果直接送入网络中降维,会耗费大量时间,所以首先通过局部线性嵌入对雷达数据进行降维,可以保持领域内线性样本的线性关系。
本实施例中,在网络中,图像数据输入至图像子网络中,首先通过三层卷积得到64个大小为8*10的feature map,这些feature map输入一层大小为512的全连接,降维到512维度,得到降维后的图像特征;其它非图像传感器,雷达只选取机器人正前方90度到-90度的数据,然后与罗盘和测速码盘所得左右轮速度,以及与目标的相对距离拼接,拼接所得高维数据送入两层大小分别为1612和512的全连接层,降维到512维度,得到降维后的非图像特征。图像特征和非图像特征拼接在一起,得到1024维度的特征,再次经过一层大小为512的全连接输出至输出层。以此完成所有的降维与特征提取,降维和提取是同时进行的。以上参数都不唯一,可根据实际使用传感器而进行调整。
S3、计算奖励函数,并根据奖励函数、值网络和目标网络的输出对值网络中的参数进行更新,当值函数更新达到预设步数时,将值网络的参数复制到目标网络中,对目标网络中的参数进行更新。
本实施例中,步骤S3通过以下步骤实现:
步骤S31,计算奖励函数。
本实施例中,计算奖励函数影响到强化学习模型的迭代。本实施例中,奖励函数为即时式,包括:
获取动作指令执行后的位置和动作指令执行前的位置之间的距离,再乘以系数α,得到距离项;
计算当前机器人方向相对于目标方向的弧度差,再乘以系数β,得到角度项;
根据是否在预设误差范围内到达目标点,再乘以系数γ,得到完成项;
距离项、角度项及完成项相加得到奖励函数。
步骤S32、获取值网络和目标网络的输出,并对两网络输出值做差得到差值,差值为值网络迭代的目标,奖励函数作为差值的一部分,对值网络中的参数进行更新。
本实施例中,通过预先保存的过往训练数据,随机选取指定数的训练数据,分别送入目标网络和值网络,得到在各自参数下的输出,并对二者作差,减小二者所得值之差值即为值网络模型迭代的目标。奖励函数的作用就是作为二者之差值的一部分,用于值网络参数的更新。
步骤S33、判断值网络更新是否达到预设步数。
步骤S34、当值网络更新达到预设步数时,将值网络的参数复制到目标网络中,对目标网络中的参数进行更新。
本实施例中,更新完成一定步数后,才对目标网络中的参数进行更新。
步骤S35、当值网络更新未达到预设步数时,流程返回步骤S2。
本实施例中,强化学习模型并不会一开就更新模型参数,而是首先多次探索环境,并在探索过程中保存训练所得的机器人状态、奖励函数、终止与否。在如此随机探索一定步数之后开始对模型的值网络进行更新,但不是每一步都更新,而是间隔指定步数更新值网络,也间隔指定步数复制值网络的参数值到目标网络。
本实施例中,不断重复进行步骤S2、S3进行迭代,对值网络和目标网络中的参数进行更新。
本实施例中,传感器除用于采集数据外,还有其他功能:雷达线程,检测机器人执行某动作后是否距离前方障碍物的距离低于第一预设距离阈值,一旦距离低于第一预设距离阈值,线程发出Reset信号,重新开始一轮训练,并向强化学习模型返回负的奖励值,和本轮失败标志;罗盘线程,除接受罗盘数据外,计算与目标方向差值;测速码盘线程在获取速度和里程数据外,判断机器人是否距离目标点的距离是否大于第二预设距离阈值,一旦超过第二预设距离阈值,发出Reset命令,重新开始新的一轮训练。
本领域的普通技术人员将会意识到,这里的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (5)
1.一种基于虚拟环境和强化学习的多传感器机器人导航方法,其特征在于,所述方法包括以下步骤:
S1、构建虚拟环境,所述虚拟环境中包括多传感器机器人和障碍物,所述多传感器机器人至少包括雷达、摄像头、罗盘及测速码盘四个传感器;
S2、获取所述多传感器机器人运动中的各传感器数据,并将所述传感器数据输入至强化学习模型中进行训练,其中,所述强化学习模型包括网络大小一样、参数一样的值网络和目标网络,所述值网络和目标网络包括图像子网络、非图像子网络和输出层;
图像子网络包括三层卷积层和一层全连接层;
所述非图像子网络包括两层全连接层;
所述输出层与所述图像子网络和非图像子网络之间设有一层全连接层;
步骤S2包括:
获取所述多传感器机器人运动中传感器数据,输入至所述强化学习模型中进行训练,其中,所述传感器数据包括所述摄像头获取的图像数据、所述雷达获取的雷达数据、所述罗盘获取的方向数据及所述测速码盘获取的速度和里程数据;
所述图像数据输入至所述图像子网络中,得到降维后的图像特征;
所述传感器数据中的非图像数据输入至所述非图像子网络中,得到降维后的非图像特征;
所述图像特征和非图像特征拼接后经过一全连接层至输出层;
S3、计算奖励函数,并根据所述奖励函数、值网络和目标网络的输出对所述值网络中的参数进行更新,当值函数更新达到预设步数时,将所述值网络的参数复制到所述目标网络中,对目标网络中的参数进行更新。
2.如权利要求1所述的基于虚拟环境和强化学习的多传感器机器人导航方法,其特征在于,所述步骤S1包括:
基于ROS和Gazebo构建虚拟环境,所述虚拟环境中包括可设置自身参数的障碍物和根据实体机器人等比例建模的仿真机器人。
3.如权利要求1所述的基于虚拟环境和强化学习的多传感器机器人导航方法,其特征在于,所述雷达数据输入至所述强化学习模型之前,基于流形学习对所述雷达数据进行降维。
4.如权利要求1所述的基于虚拟环境和强化学习的多传感器机器人导航方法,其特征在于,所述步骤S3包括:
计算奖励函数;
获取所述值网络和目标网络的输出,并对两网络输出值做差得到差值,所述差值为所述值网络迭代的目标,所述奖励函数作为所述差值的一部分,对所述值网络中的参数进行更新;
判断所述值网络更新是否达到预设步数;
当所述值网络更新达到预设步数时,将所述值网络的参数复制到所述目标网络中,对目标网络中的参数进行更新;
当所述值网络更新未达到预设步数时,流程返回所述步骤S2。
5.如权利要求4所述的基于虚拟环境和强化学习的多传感器机器人导航方法,其特征在于,所述计算奖励函数的过程包括:
获取动作指令执行后的位置和动作指令执行前的位置之间的距离,再乘以系数α,得到距离项;
计算当前机器人方向相对于目标方向的弧度差,再乘以系数β,得到角度项;
根据是否在预设误差范围内到达目标点,得到完成项;
所述距离项、角度项及完成项相加得到所述奖励函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910039576.1A CN109855616B (zh) | 2019-01-16 | 2019-01-16 | 一种基于虚拟环境和强化学习的多传感器机器人导航方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910039576.1A CN109855616B (zh) | 2019-01-16 | 2019-01-16 | 一种基于虚拟环境和强化学习的多传感器机器人导航方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109855616A CN109855616A (zh) | 2019-06-07 |
CN109855616B true CN109855616B (zh) | 2021-02-02 |
Family
ID=66894903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910039576.1A Active CN109855616B (zh) | 2019-01-16 | 2019-01-16 | 一种基于虚拟环境和强化学习的多传感器机器人导航方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109855616B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110530371B (zh) * | 2019-09-06 | 2021-05-18 | 电子科技大学 | 一种基于深度强化学习的室内地图匹配方法 |
CN111687840B (zh) * | 2020-06-11 | 2021-10-29 | 清华大学 | 一种对空间目标实施抓捕的方法、装置和存储介质 |
CN112947081A (zh) * | 2021-02-05 | 2021-06-11 | 浙江大学 | 基于图像隐变量概率模型的分布式强化学习社交导航方法 |
CN113119119B (zh) * | 2021-03-30 | 2022-07-05 | 广州大学 | 一种机器人动作的执行方法、装置和存储介质 |
CN113110459A (zh) * | 2021-04-20 | 2021-07-13 | 上海交通大学 | 一种多足机器人运动规划方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229440A (zh) * | 2018-02-06 | 2018-06-29 | 北京奥开信息科技有限公司 | 一种基于多传感器融合室内人体姿态识别方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873585B (zh) * | 2017-01-18 | 2019-12-03 | 上海器魂智能科技有限公司 | 一种导航寻路方法、机器人及系统 |
US11318952B2 (en) * | 2017-01-24 | 2022-05-03 | Ford Global Technologies, Llc | Feedback for an autonomous vehicle |
CN107226087B (zh) * | 2017-05-26 | 2019-03-26 | 西安电子科技大学 | 一种结构化道路自动驾驶运输车及控制方法 |
CN107450593B (zh) * | 2017-08-30 | 2020-06-12 | 清华大学 | 一种无人机自主导航方法和系统 |
CN107450555A (zh) * | 2017-08-30 | 2017-12-08 | 唐开强 | 一种基于深度强化学习的六足机器人实时步态规划方法 |
CN108255182B (zh) * | 2018-01-30 | 2021-05-11 | 上海交通大学 | 一种基于深度强化学习的服务机器人行人感知避障方法 |
CN108549383B (zh) * | 2018-05-17 | 2020-06-09 | 电子科技大学 | 一种实时多传感器的社区机器人导航方法 |
CN108803615B (zh) * | 2018-07-03 | 2021-03-23 | 东南大学 | 一种基于深度强化学习的虚拟人未知环境导航算法 |
-
2019
- 2019-01-16 CN CN201910039576.1A patent/CN109855616B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229440A (zh) * | 2018-02-06 | 2018-06-29 | 北京奥开信息科技有限公司 | 一种基于多传感器融合室内人体姿态识别方法 |
Non-Patent Citations (1)
Title |
---|
Learning to Navigate in Cities Without a Map;Piotr Mirowski等;《NIPS 2018 Proceedings》;20181231;第1-12页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109855616A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109855616B (zh) | 一种基于虚拟环境和强化学习的多传感器机器人导航方法 | |
Zhang et al. | 2D Lidar‐based SLAM and path planning for indoor rescue using mobile robots | |
Sun et al. | Motion planning for mobile robots—Focusing on deep reinforcement learning: A systematic review | |
CN111123963B (zh) | 基于强化学习的未知环境自主导航系统及方法 | |
CN107450593B (zh) | 一种无人机自主导航方法和系统 | |
CN110666793B (zh) | 基于深度强化学习实现机器人方形零件装配的方法 | |
CN113110457B (zh) | 在室内复杂动态环境中智能机器人的自主覆盖巡检方法 | |
CN110471426B (zh) | 基于量子狼群算法的无人驾驶智能车自动避碰方法 | |
CN112734765B (zh) | 基于实例分割与多传感器融合的移动机器人定位方法、系统及介质 | |
CN109782600A (zh) | 一种通过虚拟环境建立自主移动机器人导航系统的方法 | |
Chen et al. | Robot navigation with map-based deep reinforcement learning | |
CN112629542A (zh) | 基于ddpg和lstm的无地图机器人路径导航方法及系统 | |
Jiang et al. | A brief survey: Deep reinforcement learning in mobile robot navigation | |
CN116300909A (zh) | 一种基于信息预处理和强化学习的机器人避障导航方法 | |
CN112212867B (zh) | 一种机器人自定位与导航的方法及系统 | |
CN113232016A (zh) | 一种强化学习与模糊避障融合的机械臂路径规划方法 | |
CN111673729B (zh) | 路径决定方法 | |
CN115805595B (zh) | 机器人导航方法、装置及杂物清理机器人 | |
CN114594776B (zh) | 一种基于层次化和模块化学习的导航避障方法 | |
Taghibakhshi et al. | Local navigation and docking of an autonomous robot mower using reinforcement learning and computer vision | |
CN116734850A (zh) | 一种基于视觉输入的无人平台强化学习自主导航系统及方法 | |
Kuwata et al. | Localization of segway RMP | |
KR102455003B1 (ko) | 무인 체계의 강화 학습을 위한 시뮬레이션 방법 및 장치 | |
Huang et al. | An autonomous UAV navigation system for unknown flight environment | |
CN114571460A (zh) | 机器人控制方法、装置及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |