一种智能机器人寻线导航的方法与装置制造方法
【专利摘要】本发明公开一种智能机器人寻线导航的方法,以及这种方法所使用的系统。本发明的智能机器人寻线导航的方法是利用现有的智能手机的各种传感器模块获取出发地与目的地的全程地图,从而确定机器人的行走的方向和距离,对其进行导航。本发明的智能机器人寻线导航的方法中,是根据获取的出发地与目的地的全程地图,将整个行程按转向点分为某干区间,机器人在任一区间的端点时计算出当前所在位置与下一欲抵达位置之间的极方位角,并按此极方位角行进。本发明简便、易于维护和扩展,可对机器人进行定位以及导航控制,模拟人类导航行为,确保机器人正确行走至目的地而不迷失。方法有效,成本低,具有较强的通用性和实用性。
【专利说明】一种智能机器人寻线导航的方法与装置
【技术领域】
[0001]本发明涉及一种智能机器人寻线导航的方法,以及这种方法所使用的装置。
【背景技术】
[0002]现阶段,机器人在硬件和软件性能上较之以前都有极大的提升,并具备了相当智能。这就为机器人参与更加复杂的工作和活动打下了基础,但如何进行智能机器人的行走规划,并使其避开行进过程中的障碍物,快速平稳的到达目的地成为最基本和重要问题之
O
[0003]目前关于智能两足式机器人的定位导航的系统与方法尚未形成具体的系统研究方法。普遍使用的是视觉导航方式、惯性导航方式、电磁导航方式、光反射导航方式等等。视觉导航方式是目前颇为广泛的导航方式,其所能获取的外界信息丰富,但图像处理计算量大,实时性差一直是一个瓶颈问题。惯性导航方式是最基本的导航方式,基于机器人所装配的惯性导航器件,计算机器人航程,从而推知下一步的位置以及目的地。这一类方法优势在于可提供完全的自主性以及完备的导航信息(位置、速度、姿态等),但随着机器人航程的增长,定位精度会下降,并且定位误差会一直累加增长。针对电磁导航方式,简单实用,但成本过高,改造和维护困难,后期扩展差。光反射导航方式的原理主要是基于路径上所铺设的多条连续光发射条,方式简单,价格便宜,但某些场合并不适合使用这一方式。
[0004]本发明采用智能手机系统对机器人进行线路规划和导航,结合超声波避障模块实现机器人在任意道路上的无障碍行走,方法简单易行、成本低廉、且对行走线路无需(对比光反射导航方式需要提前对道路铺设光带,清理障碍物等)提前做硬件处理。
【发明内容】
[0005]本发明提供一种可克服现有技术不足的智能机器人寻线导航的方法,以及这种方法所使用的系统。
[0006]本发明的智能机器人寻线导航的方法是利用现有的智能手机的各种传感器模块获取出发地与目的地的全程地图,从而确定机器人的行走的方向和距离,对其进行导航。
[0007]本发明的智能机器人寻线导航的方法中,是根据获取的出发地与目的地的全程地图,将整个行程按转向点分为若干区间,机器人在任一区间的端点时计算出当前所在位置与下一欲抵达位置之间的极方位角,并按此极方位角行进。
[0008]本发明的智能机器人寻线导航的方法中,机器人在行进过程中采用超声传感器模块实时检测地面状况,检测范围为机器人行进前方0.4m弧状区域;如有障碍物,则绕障碍物行进,再绕过障碍物后继续向下一个区间的端点前进。
[0009]本发明方法所使用的智能机器人寻线导航装置由:CPU模块、采集模块、获取模块、导航模块、通信模块和计算模块构成的导航装置和用控制模块、通信模块、音频模块和视频模块构成的机器人装置构成,其中导航装置中: 采集模块由GPS定位模块、磁力计与加速度传感器模块和CPU模块组成,用于获得当前机器人的状态信息,包括当前机器人的极方位角、经度和纬度;
获取模块采用的是3g无线通信模块,在手机和机器人通信时采用的wifi,通过与CPU模块,用于结合采集模块获得的机器人的当前位置以及目的地经纬度信息,调用GOOGLEAPI,得到可解析的JSON文档行走路线的全程地图信息;
导航模块,采用CPU模块对获取模块得到的全程地图进行解析,以得到机器人下一步行进目标的具体位置,并结合当前位置和计算模块的计算结果,实时修正机器人行进的方向和距离;
机器人装置中:
音频/视频模块,包括麦克风和照相机模块,以及相应的数据库,用于识别外界语音和视觉息;
通信模块,采用WIFI无线模块,用于以无线通信方式与手机进行两者的信息交互;控制模块采用42系列步进电机,控制机器人行动,用于控制包括步距、步速以及转向动作;
避障模块采用超声波传感器模块,用以发现障碍物时,发出请求并通过CPU得到避障算法,并控制机器人绕开障碍物。
[0010]本发明装置的一个实施例中所用的CPU模块是三星Exynos系列处理器,手机与机器人进行交互,通信协议采用TCP Socket协议。
[0011]由以上内容可知,本发明的寻线导航系统中是采用了现有的手机导航系统,在手机系统中:采集模块获得当前机器人的状态信息,包括当前机器人的极方位角、经度和纬度;获取模块,结合采集模块得到的机器人的当前位置以及目的地信息,并通过调用GOOGLEAPI,得到可解析的JSON文档,此即为机器人行走路线的全程地图信息;导航模块,对获取模块得到的全程地图信息的资料文档进行解析,得到下一步行进目标的经纬度,并根据当前位置,结合计算模块,实时修正机器人行进的方向和距离;比较机器人当前位置和本步目的位置的极方位角,确定机器人的转向角度与前进距离;其中的通信模块用于实现手机与机器人间的交互,所用的通信协议采用TCP Socket协议。
[0012]智能机器人包括:控制模块,用于控制机器人平稳前进;避障模块,用于在机器人前进遇障时控制机器人停止前进;通信模块,用于与手机交互;音频/视频模块。
[0013]本发明使用中的具体步骤包括:
1)机器人通过音频/视频模块获取外界信息,得到所要前往的目的地,并与手机通信,告知手机目的地信息;
2)手机内的获取模块根据目的地信息,调用GOOGLEMAPS API,得到包含两足式机器人在两地之间的全程地图的JSON文档,以及目的地的经纬度信息;
3)根据上步骤中获得全程地图,解析JSON文档,将全程路线分解成多组确定距离的直线段或者曲线的组合,并以道路的拐点位置作为机器人行走的分段目的地。这些拐点成为手机对机器人行进导航的细分目的地。在每一段细分路线中计算模块根据极方位角算法计算出机器人的行走方向,控制机器人转动相应角度,并沿此角度行走确定距离,到达下一拐点。
[0014]4)机器人在行进过程中通过超声波传感器实时检测地面状况,检测距离为前方
0.4米的弧状区域,刷新频率IOOms ;如有障碍物,则执行避障算法,绕开障碍物,继续前进; 5)根据google API返回的全程地图,当遇到线路拐点以及避障结束时,重复步骤3) _5),直到目的地为止。
[0015]通过以上技术方案还可见,本发明是一种较为简便、易于维护扩展的定位导航系统和方法。在本发明中,利用安卓智能手机,对机器人进行定位以及导航控制,模拟人类导航行为,确保机器人正确行走至目的地而不迷失。方法有效,成本低,具有较强的通用性和实用性。
[0016]【专利附图】
【附图说明】
图1为本发明的两足式机器人通过手机自动寻线和导航的系统框架图。
[0017]图2机器人在行进过程中执行避障算法示意图。
[0018]图3极方位角示意图。
[0019]图4两足式机器人导航系统的手机端功能流程图。
[0020]图5本发明的两足式机器人通过手机自动寻线和导航的流程图。
【具体实施方式】
[0021 ] 本发明以下结合实施例和附图解说。
[0022]本发明的由:CPU模块、采集模块、获取模块、导航模块、通信模块和计算模块构成的导航装置和用控制模块、通信模块、音频模块和视频模块构成的机器人装置构成,其中导航装置中:
采集模块由GPS定位模块、磁力计与加速度传感器模块和CPU模块组成,用于获得当前机器人的状态信息,包括当前机器人的极方位角、经度和纬度;
获取模块采用的是无线模块,手机获取全程地图采用3g通信,手机和机器人之间采用wifi通信,通过与CPU模块,用于结合采集模块获得的机器人的当前位置以及目的地经纬度信息,调用GOOGLE API,得到可解析的JSON文档行走路线的全程地图信息;
导航模块,采用CPU模块对获取模块得到的全程地图进行解析,以得到机器人下一步行进目标的具体位置,并结合当前位置和计算模块的计算结果,实时修正机器人行进的方向和距离;
机器人装置中:
音频/视频模块,包括麦克风和照相机模块,以及相应的数据库,用于识别外界语音和视觉息;
通信模块,采用WIFI无线模块,也可以采用其他无线通信方式,如蓝牙,3g等,用于以无线通信方式与手机进行两者的信息交互;
控制模块采用42系列步进电机,控制机器人行动,用于控制包括步距、步速以及转向动作;
避障模块采用超声波传感器模块,用以发现障碍物时,发出请求并通过CPU得到避障算法,并控制两足式机器人绕开障碍物。
[0023]在本发明的实施例中所用的机器人是两足机器人,其装置如图1所示。
[0024]图1给出的本发明的两足式机器人通过手机自动寻线与导航的系统框架图。该系统框架图包括两足式机器人1,手机2。
[0025]本实施例的两足式机器人I由各个模块组合一起协调工作,包括音频模块11、通信模块12、控制模块13、避障模块14 ;
所述手机2由GPS导航模块主导,包括获取模块23、导航模块24、通信模块22、计算模块25。
[0026]实施例中采用的机器人为法国Aldebaran Robotics公司生产的NAO机器人。NAO机器人是具有一定自主意识的两足式机器人。它有着类似于人的外表,身高0.5732米,体重4.5 Kgo对于机器人NAO来说,全身上下所具有25个自由度可以很好的帮它完成各类动作,其中11个自由度为下肢自由度,其余14个则为上半身自由度。在NAO上,包含着2个camera,4个microphone。Camera可以提供每秒30巾贞、分辨率达到640*480的图像,对于达到VGA分辨率的图像,每秒尽可获取3张图像。
[0027]本例中,两足式机器人包括:
1)11音频/视频模块,NAO机器人上通过调用内置ALSpeechRecognition模块,可识别出预先定义的单词或短语;音频模块11接受外界信息,得到目的地信息,存储在两足式机器人中。
[0028]2)12通信模块,机器人端采用python语言编写客户端访问程序,采用TCP Socket协议与手机进行交互;通信的内容包括:音频模块11得到的目的地信息,手机端通信模块22发送过来的信息包括机器人目前的转向角度,前进命令。
[0029]3) 13控制模块,控制两足式机器人行动,具体包括步距、步速和行进方向;这一模块的执行依赖于通信模块12与避障模块14。避障模块14遇障时将向控制模块13发送指令,令其停止前进,并进行障碍物方向判断,令两足式机器人向绕开障碍物;若未遇障碍物,则将由通信模块12进行命令,控制模块13执行通信模块12中的运动指令,转动相应角度并前行。
[0030]4)14避障模块,控制两足式机器人在遇到障碍物后绕开障碍物。采用避障算法控制两足式机器人在行进中避开障碍物,继续保持同一方向前进。行进过程中,为机器人设定一个半径为0.4米的半圆安全区域。当机器人遇到处于安全区域内的障碍物时,首先停止前进,继而根据机器人超声波传感器得到的数据,判断障碍物所在区域,若为视野前左半部分,则向右绕开;反之则向左绕开,绕行过程中反复避障,直到超声波传感器指示前方0.4m半径区域无障碍物为止。
[0031 ] 在本例中,手机包括:
1)21采集模块,依靠手机内置的磁力计与加速度传感器,获得当前机器人的状态信息,包括当前机器人的极方位角和经、纬度;
2)23获取模块,根据采集模块获得的机器人出发点状态信息和目的地信息,规划出机器人行走路线的全程地图;该地图为调用google提供的API后得到的可解析的JSON文档。
[0032]3)该文档经由24导航模块解析后,得到多组确定距离的直线段或者曲线的组合,设这些直线段的拐点为关键点。24导航模块在每个关键点处,结合21采集模块获得的机器人当前状态信息,确定下一关键点的经纬度信息;
3)25计算模块结合21采集模块获得的机器人实时状态、24导航模块设定的本段关键点的目的经纬度,计算出机器人本段路线中需采取的转向角度与前进距离;并在前方有障碍物时,实时规划机器人行进方向和距离,使机器人顺利绕开障碍物,到达预定的关键点。
[0033]4)22通信模块,用于与机器人进行交互,得到两足式机器人的目的地信息,并与两足式机器人上通信模块12进行通信,发送运动指令,包括机器人转向角度和前行距离。通信协议采用TCP Socket协议。
[0034]图2中给出了本例中避障模块的工作原理示意图,重点在避障算法。
[0035]NAO身上带两对超声波声纳系统,这对声纳的工作可以检测到前方0.25m到2.55m距离的范围,实施例中设定的距离为0.5m,刷新频率为100ms。机器人在行走过程中,每隔IOOms启用一次左右两对声纳传感器,机器人正常时速<lm/s,IOOms行进最大0.1m,即机器人每走动0.lm,确定一次前进过程中障碍物的位置信息。本例中,壁障模块有四个触发事件,用于检测声纳的返回结果,分别为SonarLeftDetected、SonarRightDetected、SonarLeftNothingDetected^SonarRightNothingDetectedο 相对于无障碍物的状态是 SonarLeftNothingDetected&SonarRightNothingDetectecL
[0036]具体的,如图2所示,机器人从左边走到右边,中间遇到三个障碍物,
1)起始点为A,目的地为G处,机器人计算AB之间的极方位角,调整方向朝向G行走;
2)A点有障碍物位于机器人行进方向的左半区域,执行壁障算法,机器人向右方行进;
3)障碍物离开机器人的半径区域,机器人到达B点,手机通过计算模块25和24导航模块重新计算BG之间的极方位角,调整行进方向和距离;
4)C点遇到障碍物,位于机器人的右半区域,避障模块启动,机器人向左方前进;
5)重复3)-4),直到到 达目的地。
[0037]图3给出了极方位角以及相关方向的示意图。其中A为当前机器人所在位置,B点为下一目标点位置,手机通过计算当前位置和本段目的地位置之间的极方位角,调整机器人的行进方向。具体如下,
I)设lat_a, lng_a是A点的纟韦度与经度; lat_b, lng_b是B点的纟韦度与经度;
dl=arccos(sin(lat_b)氺sin(lat_a)+cos(lat_b)氺cos(lat_a)氺cos(lng_b_lng_a));
D=arcsin (cos(lat_b)*sin(lng_b_lng_a)/sin(dl));
此时D值并非真正所要的夹角角度值。根据lat_b、lat_a、lng_b、lng_a可以确定出结果的转化程序,即:
当lat_b>lat_a且lng_b>lng_a时,结果不变D,即为D ;
当 lat_b〈lat_a 且 lng_b〈lng_a 时,D’ =180+D ;
当 lat_b〈lat_a 且 lng_b>lng_a 时,D’ =180_D ;
当 lat_b>lat_a 且 lng_b〈lng_a 时 D’ =_D。
[0038]此时所得到的D’即为线AB两点与真北方向的夹角,即为两点之间的极方位角。
[0039]2)根据两足式机器人的极方位角信息,智能手机通过磁力计magnetometer和加速度传感器accelerometer获取机器人行进方向。数据范围为(_180~+180),其中O表示正北方向,90表示正东方向,180/-180表示正南,-90表示正西方向。本例采用磁力计和加速度传感器抽象出机器人的行进方向,而没有采用手机中自带的方向传感器,是因为这种方式比直接方向传感器获得的信息更准确。
[0040]3)进一步,得到两足式机器人所需转向角度,方法为:
对两个极方位角进行比较,由于2)中对于lat_b、]^1:_3和lng_b、1]^_3进行比较,可知对应的B点位于A点的方位角一 若B点经度大于A点经度,则对两足式机器人的极方位角信息进行判断,若为正值则与D值相减取绝对值得到E值;若为负值则与D值相加得到E值,此时E值判断大于180与否,大于则用360度减之得到一个较小的值。
[0041]若B点经度小于A点经度,则同样对两足式机器人的极方位角进行判断,若为正值则与D值相加得到E值,若为负值则与D值相减取绝对值得到E值,此时判断E值大于180度与否,大于则用360度减之得到一个较小的值。
[0042]4)此时的值即为两足式机器人所需转向角度。
[0043]图4是两足式机器人导航系统的手机端功能流程图。具体的:
Fl手机获取机器人当前位置与目的地信息,调用GOOGLE MAPS API,得到两点之间的路径规划;
F2手机解析Fl中获得的路径规划,得到多组确定距离的直线段或者曲线的组合,这些线段的拐点为关键点,储存在手机中。
[0044]由于GPS的每个一段时间会进行刷新,引发cpu中断,在中断中手机CPU负责更新经、纬度信息,并与机器人进行通信。由于是一个并行的终端处理过程,所以这一点没有在流程图中体现。修改后的流程图见文章结尾。
[0045]这一过程主要根据指令的发送来安排。GPS刷新按照设定的频率5秒进行刷新,后续的json文档获取解析根据这一频率进行设定为5秒(这一频率值可以依据需要进行调整,最小值为20ms),并在此时对机器人当前方向状态进行判断,从而计算出机器人是否需要转向并设定转向值.而后以一条指令的形式发送至机器人端。机器人在接收指令后继而进行指令判断。如果无转向则继续前进,有转向则先进行转向而后前进。
[0046]F3手机读取磁力传感器与加速传感器数据,得到当前机器人的状态信息,即极方位角信息;读取GPS的数据,得到机器人当前位置的经度和纬度,与存储器中的各关键点经纬度比较,得到最近的关键点信息,作为机器人行走的下一个目标点。
[0047]F4计算模块根据下一目的地与当前位置之间的经纬度关系,计算极方位角,并与当前机器人状态进行比较,判断机器人是否需要转向;
F5如需转向跳向F6,不需转向则将运动指令中的转向角度值设定为O并跳向F7 ;
F6通过通信模块告知机器人转向信息,即设定运动指令中的转向角度值;
F7转向为O,两足式机器人继续沿路径规划向下一目标前行;
F8导航系统重新进行导航,重复以上步骤。
[0048]如图5所示,是两足式机器人通过手机自动寻线和导航的较佳实施例的流程图。
[0049]首先,步骤SI,两足式机器人I通过音频模块11获取终点信息,交由通信模块12传递给手机处理;
步骤S2,手机2通过GPS导航系统的获取模块23获取两足式机器人I的当前位置信息与最佳行进路线;
步骤S3,手机2通过GPS导航系统的采集模块21获取两足式机器人I的当前状态信息,并通过计算模块24计算出运动指令中的转向角度,通过通信模块22发送运动指令给两足式机器人I,对两足式机器人I当前状态进行调整;
步骤S4,两足式机器人I的通信模块接收运动指令;
步骤S5,两足式机器人I的避障模块14检测避障; 步骤S6,此步骤在步骤S5检测到障碍物时执行,此时两足式机器人2停止前进,并启动避障模块14进行避障;
步骤S7,此步骤在步骤S5未检测到障碍物执行,执行运动指令中的前进命令,向目的地前行;
步骤S8,依据之前设定的工作频率,等待手机重新定位,并重复之前步骤,直到抵达目的地。
【权利要求】
1.一种智能机器人寻线导航的方法,其特征在于利用目前智能手机的各种传感器模块获取出发地与目的地的全程地图,从而确定机器人的行走的方向和距离,对其进行导航。
2.根据权利要求1所述的智能机器人寻线导航的方法,其特征在于根据获取的出发地与目的地的全程地图,将整个行程按转向点分为某干区间,机器人在任一区间的端点时计算出当前所在位置与下一欲抵达位置之间的极方位角,并按此极方位角行进。
3.根据权利要求2所述的智能机器人寻线导航的方法,其特征在于机器人在行进过程中采用超声传感器模块实时检测地面状况,检测范围为机器人行进前方0.4m弧状区域;如有障碍物,则绕障碍物行进,再绕过障碍物后继续向下一个区间的端点前进。
4.根据权利要求3所述方法使用的智能机器人寻线导航装置,其特征在于装置由:(PU模块、采集模块、获取模块、导航模块、通信模块和计算模块构成的导航装置和用控制模块、通信模块、音频模块和视频模块构成的机器人装置构成,其中导航装置中: 采集模块由GPS定位模块、磁力计与加速度传感器模块和CPU模块组成,用于获得当前机器人的状态信息,包括当前机器人的极方位角、经度和纬度; 获取模块采用的是WIFI无线模块,通过与CPU模块,用于结合采集模块获得的机器人的当前位置以及目的地经纬度信息,调用GOOGLE API,得到可解析的JSON文档行走路线的全程地图信息; 导航模块,采用CPU模块对获取模块得到的全程地图进行解析,以得到机器人下一步行进目标的具体位置,并结合当前位置和计算模块的计算结果,实时修正机器人行进的方向和距离; 机器人装置中: 音频/视频模块,包括麦克风和照相机模块,以及相应的数据库,用于识别外界语音和视觉息; 通信模块,采用WIFI无线模块,用于以无线通信方式与手机进行两者的信息交互; 控制模块采用42系列步进电机,控制机器人行动,用于控制包括步距、步速以及转向动作; 避障模块采用超声波传感器模块,用以发现障碍物时,发出请求并通过CPU得到避障算法,并控制两足式机器人绕开障碍物。
5.根据权利要求4所述的装置,其特征在于CPU模块为三星Exynos系列处理器。
【文档编号】G01C21/00GK103822625SQ201310623873
【公开日】2014年5月28日 申请日期:2013年12月1日 优先权日:2013年12月1日
【发明者】周庆国, 陈华明, 狄长艳, 周睿 申请人:兰州大学