CN115576328B - 基于模糊控制器的机器人导航避障方法及装置 - Google Patents
基于模糊控制器的机器人导航避障方法及装置 Download PDFInfo
- Publication number
- CN115576328B CN115576328B CN202211421109.3A CN202211421109A CN115576328B CN 115576328 B CN115576328 B CN 115576328B CN 202211421109 A CN202211421109 A CN 202211421109A CN 115576328 B CN115576328 B CN 115576328B
- Authority
- CN
- China
- Prior art keywords
- robot
- fuzzy
- distance
- obstacle avoidance
- fuzzy controller
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000006870 function Effects 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims description 16
- 230000004888 barrier function Effects 0.000 claims description 14
- 238000004088 simulation Methods 0.000 claims description 8
- 230000005484 gravity Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 238000011161 development Methods 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000012800 visualization Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 abstract description 3
- 238000012549 training Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 206010002091 Anaesthesia Diseases 0.000 description 1
- 238000003723 Smelting Methods 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 230000037005 anaesthesia Effects 0.000 description 1
- 238000000137 annealing Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000037237 body shape Effects 0.000 description 1
- 239000004568 cement Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000010865 sewage Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了基于模糊控制器的机器人导航避障方法及装置,通过采集机器人激光雷达和里程计两种传感器的信息作为模糊控制器输入,建立两套知识库和模糊推理规则,得到第一模糊控制器的输出为机器人运动的线速度和角速度,第二模糊控制器的输出为导航和避障两个任务的权重值,用于权衡机器人的导航和避障这两个任务。本发明中除了模糊控制理论外不需要其他人工智能算法的辅助,不需要预先构建地图,不需要大量的数据库和训练集,即可实现机器人在未知的、动态的复杂环境中避障导航的功能。基于人类知识和语言设计的策略,易于理解、实时性高、鲁棒性强。
Description
技术领域
本发明涉及机器人的人工智能控制技术领域,尤其是涉及基于模糊控制器的机器人导航避障方法及装置。
背景技术
模糊逻辑理论于1965年创立,经过几十年的发展先后成功地应用于蒸汽发生装置、湿法水泥窑、合金冶炼控制、退火炉温度控制、异步电机控制、污水处理系统、肌肉麻醉控制、病人血压调整、电梯群控制、地铁自动运行系统、摄像机影像稳定装置、消费类电子产品、以及航天领域,具有不依赖精确的数学模型,鲁棒性强,控制精度高,无超调等优点。
在机器人运动控制领域和自动驾驶领域一些广泛应用的方法仍存在诸多缺点:人工势场法主要适用于局部动态避障,确定栅格法的环境存储量大、实时性效果不好,神经网络算法需要大量的数据库和训练集,对于不同体态形状的机器人不能通用,磁带导航成本低原理简单但是不具有实时性。现阶段,模糊控制常与神经网络、遗传迭代算法、马尔科夫决策、人工势场法等理论结合使用,以达到时间、速度、路径等某一方面的性能最优。
发明内容
为解决现有技术的不足,实现更为简单、高实时性、强鲁棒性的机器人导航避障的目的,本发明采用如下的技术方案:
一种基于模糊控制器的机器人导航避障方法,包括如下步骤:
步骤S101:通过传感器采集机器人前方和两侧到障碍物最近的一组距离,所述最近的一组距离在第一距离阈值范围内;
步骤S102:第一控制器输入变量的模糊化处理,将所述最近的一组距离中,每个距离通过一组隶属度函数表达为模糊变量,同时将论域划分为多个区间并命名,这些数值区间允许有交集;
步骤S103:第一模糊控制器输出变量的精确化处理,两个输出分别为机器人对地坐标下的运动线速度和角速度,通过隶属度函数将线速度论域划分为多个区间并命名,通过隶属度函数将角速度论域划分为多个区间并命名;
步骤S104:构建第一模糊控制器的知识库,基于所述最近的一组距离及其对应的所属区间,与所述线速度论域范围和所述角速度论域范围建立对应关系,构建第一模糊规则集合;
步骤S105:模糊推理,即将步骤S102中的输入模糊变量距离,根据模糊规则运算得到步骤S103中的输出模糊变量的过程,具体地:计算所有输入模糊变量在每个区间的隶属度值,然后根据每条模糊规则,选择出本条规则提及的输入模糊变量隶属度值进行取最小操作,选择出本条规则提及的输出模糊变量的隶属度函数曲线,进而用取到的最小值截断输出隶属度函数曲线,得到模糊输出的隶属度值;
步骤S106:去模糊化,将输出变量及其隶属度值结合重心公式加权平均,转化成输出论域区间上的精确值,得到机器人导航和/或避障所需的线速度和角速度。
进一步地,所述步骤S102中,两侧到障碍物最近距离采用相同的划分方法、相同的隶属度函数,前方到障碍物的最近距离采用相对于两侧不同的隶属度函数。
进一步地,所述步骤S106中,重心公式如下:
其中,i∈L,L表示线速度论域和角速度分别进行论域划分的份数,a、b、c、d为中间变量,FuzzyOutput_v[i]表示第i份线速度论域范围的隶属度值最大值,FuzzyOutput_w[i]表示第i份角速度论域范围的隶属度值最大值,v表示去模糊化得到的线速度精确值,w表示去模糊化得到的角速度精确值。
进一步地,所述方法还包括步骤S107:基于第一模糊控制的输入,得到机器人与最近障碍物的第一距离,通过传感器采集距机器人最近障碍物的第二距离,通过隶属度函数将第一、第二距离划分为两组距离论域范围,第二模糊控制器获取两组距离论域范围,并基于第二模糊规则集合,得到避障和/或导航的权重,用于修正第一模糊控制器输出的线速度和/或角速度。
进一步地,所述步骤S107中,导航的目标点坐标和机器人当前位置坐标分为(xt,yt)和(x,y),第二模糊控制器的第二距离d’通过以下公式计算得到:
其中a’表示机器人当前位置与目标位置的角度偏差,yaw表示通过传感器得到的航偏角,n’’表示将a’进行标准化为与所述最近的一组距离对应的多个等级,ceil(·)表示取整操作。
进一步地,所述步骤S7中,对第一模糊控制器输出的线速度和/或角速度的修正,公式如下:
其中,l表示传感器x轴方向和y轴方向上记录的行进距离的误差值,yaw表示通过传感器得到的航偏角,k1和k2表示修正角速度时选取的比例系数,v、w表示修正前的线速度和角速度,v c 、w c 表示修正后的线速度和角速度。
进一步地,所述步骤S107中,基于第一距离的距离论域范围与避障或导航的关系,以及第二距离的距离论域范围,与输出权重建立对应关系,构建第二模糊规则集合,根据权重值的大小区分机器人执行避障或导航。
进一步地,所述步骤S107中,判断机器人是否达到目标点,通过下式计算机器人和目标点的距离:
若距离值小于第二阈值,则认为机器人达到目标点。
一种基于模糊控制器的机器人导航避障方法,应用于可视化仿真,包括如下步骤:
步骤S201:通过编程语言建立机器人地图和机器人模型,形成模型文件;
步骤S202:通过可视化开发工具,将模型文件可视化;
步骤S203:订阅雷达和位置信息,将数据整理成模糊控制器输入所需格式进行发布,发布为命令话题;
步骤S204:基于模糊控制器的机器人导航避障方法,进行模糊推理的实现;
步骤S205:启动模糊控制节点,订阅命令话题进行模糊推理得到速度值,发布速度话题控制机器人移动,并记录路径和速度信息。
一种基于模糊控制器的机器人导航避障装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现所述的基于模糊控制器的机器人导航避障方法。
本发明的优势和有益效果在于:
本发明的基于模糊控制器的机器人导航避障方法及装置,结构简单、容易实现,除了模糊控制外,不需要其他人工智能算法的辅助,不需要预先构建地图,不需要大量的数据库和训练集,即可实现机器人在未知的、动态的复杂环境中避障导航的功能。基于人类知识和语言设计的策略,易于理解、实时性高、鲁棒性强。
附图说明
图1是本发明实施例的基于模糊控制器的机器人导航避障方法流程图。
图2是本发明实施例的基于模糊控制器的机器人导航避障装置的架构图。
图3a是本发明实施例中作为第一个模糊控制器输入的左边范围最近障碍物距离的隶属度函数图。
图3b是本发明实施例中作为第一个模糊控制器输入的前方范围的最近障碍物距离的隶属度函数图。
图3c是本发明实施例中作为第一个模糊控制器输入的右边范围的最近障碍物距离的隶属度函数图。
图4a是本发明实施例中第一个模糊控制器输出的运动线速度的隶属度函数图。
图4b是本发明实施例中第一个模糊控制器输出的运动角速度的隶属度函数图。
图5a是本发明实施例中用Python语言实现Mamdani推理方法的流程图。
图5b是本发明实施例中2条规则下进行输入输出模糊化、模糊化推理的原理图。
图6a是本发明实施例中作为第二个模糊控制器输入的避障范围内距机器人最近碍物的距离隶属度函数图。
图6b是本发明实施例中作为第二个模糊控制器输入的雷达扫描到的最近的障碍物距离隶属度函数图。
图7是本发明实施例中第二个模糊控制器的输出的权重的隶属度函数图。
图8是本发明实施例中基于ROS系统的机器人模糊控制仿真结果示意图。
图9是本发明实施例中机器人导航避障框架图。
图10是本发明实施例中基于模糊控制器的机器人导航避障装置的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1、图2所示,一种基于模糊控制器的机器人导航避障方法,包括如下步骤:
步骤S101:通过传感器采集机器人前方和两侧到障碍物最近的一组距离,所述最近的一组距离在第一距离阈值范围内;
本发明实施例中,第一模糊控制器用来计算机器人前进的线速度和角速度,通过激光雷达传感器采集数据,获取机器人前方和左右两侧的距离最近的障碍物距离作为第一个模糊控制器的输入(例如,以机器人前进方向为0°,可以取(-36°,36°)作为正前方扫描障碍物范围,(-37°,-108°)作为左边扫描障碍物距离,(72°,108°)作为右边扫描障碍物距离),将左边范围,前方范围和右边范围的最近的障碍物距离分别记为d1、d2、d3,如果检测到的障碍物距离大于5米,可以暂时认为不需要进行躲避。
步骤S102:第一控制器输入变量的模糊化处理,将所述最近的一组距离中,每个距离通过一组隶属度函数表达为模糊变量,同时将论域划分为多个区间并命名,这些数值区间允许有交集;
所述两侧到障碍物最近距离采用相同的划分方法、相同的隶属度函数。
本发明实施例中,第一模糊控制器输入变量的模糊化处理:三个输入的论域为[0,5]米,每个输入变量都被三个隶属度函数表达为模糊变量,通过梯形函数和三角形函数将模糊论域划分多个区间,例如:距离{近:0-1米,中:0.8-4米,远:2.5-5米},第一个输入和第三个输入变量采用相同的划分方法、相同的隶属度函数表达式,第二个输入变量的函数表达式有不同,如图3a至图3c所示,n’表示论域为近,m’表示论域为中,f’表示论域为远。
步骤S103:第一模糊控制器输出变量的精确化处理,两个输出分别为机器人对地坐标下的运动线速度和角速度,通过隶属度函数将线速度论域划分为多个区间并命名,通过隶属度函数将角速度论域划分为多个区间并命名;
本发明实施例中,线速度的论域为[0,1]m/s,三个隶属度函数将论域划分为{慢速,中速,快速},角速度的论域为[-1.571 1.571]rad/s,五个隶属度函数将论域划分为{快速向左转弯,向左转弯,不转弯,向右转弯,快速向右转弯},如图4a、图4b所示,s表示论域为慢速,m表示论域为中速,f表示论域为快速;ln表示论域为快速向左转弯,n表示论域为左转弯,z表示论域为不转弯,p表示论域为向右转弯,lp表示论域为快速向右转弯。
步骤S104:构建第一模糊控制器的知识库,基于所述最近的一组距离及其对应的所属区间,与所述线速度论域范围和所述角速度论域范围建立对应关系,构建第一模糊规则集合;
本发明实施例中,第一模糊规则集合由27条“如果-则”语句组成,例如:如果左侧障碍物距离为近、前方障碍物距离为远、右侧障碍物距离为近,则机器人线速度为中速,角速度为零(不转弯);如果左侧障碍物距离为远、前方障碍物距离为近、右侧障碍物距离为近,则机器人线速度为慢速,角速度为较大的正数(快速向右转弯)。
步骤S105:模糊推理,即将步骤S102中的输入模糊变量距离,根据模糊规则运算得到步骤S103中的输出模糊变量的过程,具体地:计算所有输入模糊变量在每个区间的隶属度值,然后根据每条模糊规则,选择出本条规则提及的输入模糊变量隶属度值进行取最小操作,选择出本条规则提及的输出模糊变量的隶属度函数曲线,进而用取到的最小值截断输出隶属度函数曲线,得到模糊输出的隶属度值;
本发明实施例中,模糊推理采用Mamdani推理方法,得到输出结果的模糊集,它包含了聚合、合成与结果聚合的计算过程,方法流程图如图5a、图5b所示,图5b是以2条规则为例,L表示循环次数,通过提高循环次数,能够提高计算精度,但同时计算量也随之增大,图5a中基于三个输入MemberDegree取隶属度最小值min,对应图5b中基于第一模糊规则的横向取最小值,图形化理解为用隶属度最小值所在的横向直线切割输出隶属度曲线,得到与坐标轴围成的图形,图5a中隶属度值取最大值max,对应图5b中基于输出模糊化的纵向取最大值,图形化理解为所有规则下得到的图形叠加组成底边覆盖输出变量论域的图形。
步骤S106:去模糊化,将输出变量及其隶属度值结合重心公式加权平均,转化成输出论域区间上的精确值,得到机器人导航和/或避障所需的线速度和角速度。
重心公式如下:
其中,i∈L,L表示线速度论域和角速度分别进行论域划分的份数,a、b、c、d为中间变量,FuzzyOutput_v[i]表示第i份线速度论域范围的隶属度值最大值,FuzzyOutput_w[i]表示第i份角速度论域范围的隶属度值最大值,v表示去模糊化得到的线速度精确值,w表示去模糊化得到的角速度精确值。
本发明实施例中,基于图5b中对于第i份角速度论域范围的隶属度值最大值,基于角速度隶属度函数图,将横坐标和对应的隶属度阴影部分加权平均,即,在将范围对应到角速度论域/>,图形化理解为所有规则下得到的图形叠加组成底边覆盖输出变量论域的图形取重心。
至此,得到机器人实现避障功能所需要的线速度和角速度,下面结合第二个模糊控制器对线速度和角速度进行修正实现导航加避障的功能。
步骤S107:基于第一模糊控制的输入,得到机器人与最近障碍物的第一距离,通过传感器采集距机器人最近障碍物的第二距离,通过隶属度函数将第一、第二距离划分为两组距离论域范围,第二模糊控制器获取两组距离论域范围,并基于第二模糊规则集合,得到避障和/或导航的权重,用于修正第一模糊控制器输出的线速度和/或角速度。
本发明实施例中,第二模糊控制器用于权衡导航和避障两个功能,他的最终输出是0到1之间的权重值,第二模糊控制器有两个输入变量,第一个变量是5米之内(需要进行避障操作的范围内)距离机器人最近的障碍物的距离dmin,可以将第一模糊控制器的三个输入取最小值来得到;第二个变量是雷达扫描到的最近的障碍物距离,需要用到机器人实时的位姿信息,本发明实施例中,通过机器人的相对定位传感器里程计来得到。
第二模糊控制器的第二距离d’通过以下公式计算得到:
其中a’表示机器人当前位置与目标位置的角度偏差,yaw表示通过里程计传感器得到的航偏角,n’’表示将a’进行标准化为与所述最近的一组距离对应的多个等级,ceil(·)表示取整操作,本发明实施例中为1、2、3三个等级,d1,d2,d3分别与左,前,右三个方向的障碍物距离相对应。
本发明实施例中,第二模糊控制器的两个输入采用相同的模糊划分方法,论域是[0,20]米,皆用一个三角形隶属度函数和两个梯形隶属度函数来实现,分别对应语言变量{近,中,远},如图6a、图6b所示,一个输出的论域是[0,1],被五个三角形隶属度函数均匀地划分成了五个语言变量区域{非常小,小,中,大,非常大},如图7所示,vs表示非常小,s’表示小,m’’表示中,b’表示大,vb表示非常大。
基于第一距离的距离论域范围与避障或导航的关系,以及第二距离的距离论域范围,与输出权重建立对应关系,构建第二模糊规则集合,根据权重值的大小区分机器人执行避障或导航;
本发明实施例中,第二个模糊控制器的知识库建立,模糊规则集合由9条“如果-则”语句组成,例如:如果需要避障(第一个输入属于{近}),第二个输入也属于{近},则输出一个{非常小}的值,此时机器人主要执行避障功能,发送的速度命令是第一个模糊控制器的输出的线速度和角速度;如果不需要避障(五米内的最近障碍物距离属于{远}),并且最近的障碍物距离属于{中},则输出为一个大的值,代表此时机器人此时主要执行导航操作,向目标点运动,此时可以用下面的公式对第一个模糊控制器输出的线速度v和角速度w进行修正:
其中,l表示里程计传感器x轴方向和y轴方向上记录的行进距离的误差值,yaw表示通过里程计传感器得到的航偏角,k1和k2表示修正角速度时选取的比例系数,v、w表示修正前的线速度和角速度,v c 、w c 表示修正后的线速度和角速度,本发明实施例中取值为2和4,不同的机器人系统可以通过仿真运行样本进行微调。
判断机器人是否达到目标点,通过下式计算机器人和目标点的距离:
若距离值小于第二阈值(如1米),则认为机器人达到目标点。
此外,本发明针对模糊控制器的导航避障算法在ROS系统(机器人操作系统)中设计了一种可视化仿真的方法,主要包括以下步骤:
步骤S201:通过编程语言建立机器人地图和机器人模型,形成模型文件;
本发明实施例中,采用XML语句建立测试用的机器人地图(添加障碍物)和机器人模型(带有雷达传感器或者相机的差分驱动机器人模型),形成.world文件。
步骤S202:通过可视化开发工具,将模型文件可视化,便于模型文件的调整;
本发明实施例中,启动Stage工具(Stage是ROS系统自带的功能包),使用Stage将.world文件可视化,用该功能可以方便在.world文件中添加传感器、设置障碍物的颜色大小、添加运动地盘等。
步骤S203:订阅雷达和位置信息,编写python或c++脚本将数据整理成模糊控制器输入所需格式进行发布,发布为命令话题;
步骤S204:基于模糊控制器的机器人导航避障方法,用python语言或c++语言进行模糊推理的实现;
实现思路为:每三个一组的输入对应计算出相应的九个隶属度,每一条规则所用的三个输入变量隶属度值取最小,对应在该条规则下用该隶属度截断相应的输出隶属度函数,一共27个规则下有27个输出隶属度,对于每个输出精确值横坐标取27个输出隶属度的最大值,加权平均得到最终输出值。
步骤S205:启动模糊控制节点,订阅命令话题进行模糊推理得到速度值,发布速度话题控制机器人移动,并记录路径和速度信息。
运用此仿真脚本的优点是可以通过更改.world文件仿真不同的环境测试算法的鲁棒性,便于更改模糊控制器参数,是将算法应用在机器人上之前的重要测试手段,仿真的UI界面和仿真结果如图8所示,可见导航避障的功能已经实现,并且路径清晰便捷。
此外,本发明的实施例涉及的数据采集、处理、输出均在机器人系统下实现,具体的框架结构如图9所示,运行步骤为:启动雷达节点开启雷达,发布扫描话题;启动初始化节点发布里程计话题,订阅速度话题,准备接收速度命令并通过串口将数据发送给运动底盘;启动跟踪控制节点订阅扫描话题和里程计话题,将数据整理成模糊控制器输入所需格式进行发布,发布为命令话题;启动模糊控制节点,订阅命令话题进行模糊推理得到速度值,发布速度话题控制机器人移动。
与前述基于模糊控制器的机器人导航避障方法的实施例相对应,本发明还提供了基于模糊控制器的机器人导航避障装置的实施例。
参见图10,本发明实施例提供的基于模糊控制器的机器人导航避障装置,包括存储器和一个或多个处理器,存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述实施例中的基于模糊控制器的机器人导航避障方法。
本发明基于模糊控制器的机器人导航避障装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图10所示,为本发明基于模糊控制器的机器人导航避障装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图10所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于模糊控制器的机器人导航避障方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (8)
1.一种基于模糊控制器的机器人导航避障方法,其特征在于包括如下步骤:
步骤S101:通过传感器采集机器人前方和两侧到障碍物最近的一组距离,所述最近的一组距离在第一距离阈值范围内;
步骤S102:第一控制器输入变量的模糊化处理,将所述最近的一组距离中,每个距离通过一组隶属度函数表达为模糊变量,同时将论域划分为多个区间并命名,这些数值区间允许有交集;
步骤S103:第一模糊控制器输出变量的精确化处理,两个输出分别为机器人对地坐标下的运动线速度和角速度,通过隶属度函数将线速度论域划分为多个区间并命名,通过隶属度函数将角速度论域划分多个区间并命名;
步骤S104:构建第一模糊控制器的知识库,基于所述最近的一组距离及其对应的所属区间,与线速度论域范围和角速度论域范围建立对应关系,构建第一模糊规则集合;
步骤S105:模糊推理,即将步骤S102中的输入模糊变量距离,根据模糊规则运算得到步骤S103中的输出模糊变量的过程,具体地:计算所有输入模糊变量在每个区间的隶属度值,然后根据每条模糊规则,选择出本条规则提及的输入模糊变量隶属度值进行取最小操作,选择出本条规则提及的输出模糊变量的隶属度函数曲线,进而用取到的最小值截断输出隶属度函数曲线,得到模糊输出的隶属度值;
步骤S106:去模糊化,将输出变量及其隶属度值结合重心公式加权平均,转化成输出论域区间上的精确值,得到机器人导航和/或避障所需的线速度和角速度;
步骤S107:基于第一模糊控制的输入,得到机器人与最近障碍物的第一距离,通过传感器采集距机器人最近障碍物的第二距离,通过隶属度函数将第一、第二距离划分为两组距离论域范围,第二模糊控制器获取两组距离论域范围,并基于第二模糊规则集合,得到避障和/或导航的权重,用于修正第一模糊控制器输出的线速度和/或角速度;
基于第一距离的距离论域范围与避障或导航的关系,以及第二距离的距离论域范围,与输出权重建立对应关系,构建第二模糊规则集合,根据权重值的大小区分机器人执行避障或导航。
2.根据权利要求1所述的基于模糊控制器的机器人导航避障方法,其特征在于:所述步骤S102中,两侧到障碍物最近距离采用相同的划分方法、相同的隶属度函数,前方到障碍物的最近距离采用相对于两侧不同的隶属度函数。
7.一种基于模糊控制器的机器人导航避障方法,应用于可视化仿真,其特征在于包括如下步骤:
步骤S201:通过编程语言建立机器人地图和机器人模型,形成模型文件;
步骤S202:通过可视化开发工具,将模型文件可视化;
步骤S203:订阅雷达和位置信息,将数据整理成模糊控制器输入所需格式进行发布,发布为命令话题;
步骤S204:根据权利要求1至6任一项所述的基于模糊控制器的机器人导航避障方法,进行模糊推理的实现;
步骤S205:启动模糊控制节点,订阅命令话题进行模糊推理得到速度值,发布速度话题控制机器人移动,并记录路径和速度信息。
8.一种基于模糊控制器的机器人导航避障装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-6中任一项所述的基于模糊控制器的机器人导航避障方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211421109.3A CN115576328B (zh) | 2022-11-15 | 2022-11-15 | 基于模糊控制器的机器人导航避障方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211421109.3A CN115576328B (zh) | 2022-11-15 | 2022-11-15 | 基于模糊控制器的机器人导航避障方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115576328A CN115576328A (zh) | 2023-01-06 |
CN115576328B true CN115576328B (zh) | 2023-03-28 |
Family
ID=84588192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211421109.3A Active CN115576328B (zh) | 2022-11-15 | 2022-11-15 | 基于模糊控制器的机器人导航避障方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115576328B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117689022B (zh) * | 2024-02-04 | 2024-05-03 | 江苏未来网络集团有限公司 | 用于临床探视机器人实时导航的最优规则库的确定方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104007762A (zh) * | 2014-05-28 | 2014-08-27 | 国家电网公司 | 一种电力巡检机器人的导航方法 |
CN113204235A (zh) * | 2021-04-13 | 2021-08-03 | 常州工学院 | 一种灭火机器人的自动避障算法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2769052B2 (ja) * | 1991-04-09 | 1998-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 自律移動機械、移動機械の制御装置及び方法 |
CN101833333B (zh) * | 2009-12-23 | 2011-09-14 | 湖南大学 | 水下清洗作业机器人未知环境路径规划方法 |
CN103324196A (zh) * | 2013-06-17 | 2013-09-25 | 南京邮电大学 | 基于模糊逻辑的多机器人路径规划与协调避碰方法 |
CN104216409A (zh) * | 2014-09-04 | 2014-12-17 | 北京工业大学 | 基于模糊控制的两轮自平衡机器人避障系统及控制方法 |
CN107727100B (zh) * | 2017-10-16 | 2023-04-07 | 广东智爱机器人科技有限公司 | 一种基于距离型模糊推理的移动机器人导航轨迹规划方法 |
KR102075844B1 (ko) * | 2018-10-10 | 2020-02-10 | 한국로봇융합연구원 | 다종 센서 기반의 위치인식 결과들을 혼합한 위치 측위 시스템 및 방법 |
CN110780670B (zh) * | 2019-09-19 | 2023-03-21 | 上海机器人产业技术研究院有限公司 | 基于模糊控制算法的机器人避障控制方法 |
CN111026121A (zh) * | 2019-12-20 | 2020-04-17 | 华南智能机器人创新研究院 | 智能清扫车多层次立体避障控制方法及装置 |
CN112158208A (zh) * | 2020-09-29 | 2021-01-01 | 南昌工程学院 | 一种无人驾驶汽车动态障碍物避撞的方法和系统 |
-
2022
- 2022-11-15 CN CN202211421109.3A patent/CN115576328B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104007762A (zh) * | 2014-05-28 | 2014-08-27 | 国家电网公司 | 一种电力巡检机器人的导航方法 |
CN113204235A (zh) * | 2021-04-13 | 2021-08-03 | 常州工学院 | 一种灭火机器人的自动避障算法 |
Also Published As
Publication number | Publication date |
---|---|
CN115576328A (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cheah et al. | Region-based shape control for a swarm of robots | |
Juang et al. | Evolutionary-group-based particle-swarm-optimized fuzzy controller with application to mobile-robot navigation in unknown environments | |
CN115576328B (zh) | 基于模糊控制器的机器人导航避障方法及装置 | |
Wang et al. | Improved linear quadratic regulator lateral path tracking approach based on a real-time updated algorithm with fuzzy control and cosine similarity for autonomous vehicles | |
CN115309170B (zh) | 一种考虑舒适性约束的轨迹规划方法、装置和系统 | |
Wang | Automatic control of mobile robot based on autonomous navigation algorithm | |
CN109976189A (zh) | 一种智能舰艇自动巡航模拟仿真方法 | |
Marie et al. | Visual servoing on the generalized voronoi diagram using an omnidirectional camera | |
Sun et al. | Intelligent target visual tracking and control strategy for open frame underwater vehicles | |
Pshikhopov et al. | Trajectory planning algorithms in two-dimensional environment with obstacles | |
Munadi et al. | Automated guided vehicle (AGV) lane-keeping assist based on computer vision, and fuzzy logic control under varying light intensity | |
Copot et al. | Image-based and fractional-order control for mechatronic systems | |
Yang et al. | DRL-based Path Planner and its Application in Real Quadrotor with LIDAR | |
Hua et al. | A novel learning-based trajectory generation strategy for a quadrotor | |
Pandey et al. | Real time navigation strategies for webots using fuzzy controller | |
CN115488881A (zh) | 基于多运动技能先验的人机共享自治遥操作方法及系统 | |
Sharma | SAC-RL: Continuous Control of Wheeled Mobile Robot for Navigation in a Dynamic Environment | |
CN114594776A (zh) | 一种基于层次化和模块化学习的导航避障方法 | |
Xiao et al. | Reinforcement learning-driven dynamic obstacle avoidance for mobile robot trajectory tracking | |
Cai et al. | Deep Reinforcement Learning With Multiple Unrelated Rewards for AGV Mapless Navigation | |
Syntakas et al. | Uncertainty Estimation of NMPC Horizon employing Neural Networks & MC-dropout in Safety-Critical Applications with Barrier Functions | |
Al-sudany et al. | Extended Linear Regression and Interior Point Optimization for Identification of Model Parameters of Fixed Wing UAVs | |
CN118427374B (zh) | 一种基于强化学习的异构无人机协同搜索系统及方法 | |
Meng et al. | Automatic control method of automobile steering-by-wire based on fuzzy PID | |
Viet et al. | Dyna-QUF: Dyna-Q based univector field navigation for autonomous mobile robots in unknown environments |
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 |