1.本发明涉及智能机器人技术领域,尤其涉及一种基于灰度传感器和网格线的室内机器人二维自主定位方法、系统、设备及介质。
背景技术:
2.随着通信和电子等科技领域的发展,目前越多越多的功能性机器人应用于餐厅服务、物流配送等领域,比如送餐机器人、物流搬运机器人等,这些机器人一般运行在空间较小的室内,且其定位精度要求高;现有技术中一般使用gps实现室外机器人的自主定位,但由于gps只能实现数米级的定位,在室内的信号较弱,导致将gps应用于室内环境时,会出现较大的定位偏差。
3.目前,室内机器人定位的方法主要包括激光雷达定位、激光测距定位、摄像头机器视觉定位、基于uwb定位等方法,但上述方法均存在以下问题:
4.1)激光雷达定位的避障效果好,能够实时运算出当前环境的三维模型,且在室内时,物体或人员移动对其定位影响较小,但是,此定位方法要求高精度的激光雷达,成本高。
5.2)激光测距定位通过对正前方和正右方进行测距,根据激光从墙面返回的数据进行判断,其成本低,但此定位方法必须保证室内物体静止,且无人员走动,否则会出现较大的定位误差。
6.3)摄像头机器视觉定位一般结合其它定位系统进行定位,当在室内环境应用时,其不受室内物体或人员的移动,但此定位方法对摄像头和处理器的性能都有较高的要求,同时具有运算量大、成本高的缺点。
7.4)基于uwb定位需要在定位地点附近放置3个基站,同时在机器人上安装一个基站,然后通过超宽带测距技术测距并通过算法得出当前坐标,其成本高,且易受信号物理性质的影响,比如当基站和机器人之间存在墙体时,会降低其定位精度;另外,基于uwb定位方法仅限于单间室内使用,且当对多个设备同时进行定位时,需要增加基站,这不仅额外占用了室内空间,而且增加了经济成本。
技术实现要素:
8.本发明的目的在于提供一种基于灰度传感器和网格线的室内机器人二维自主定位方法、系统、设备及介质,不仅可以对多个机器人同时定位,而且逻辑简单、抗干扰能力强,从而为室内机器人的定位提供一种低功耗、低成本、高精度定位的方法。
9.为解决以上技术问题,本发明提供了一种室内机器人二维自主定位方法、系统、设备及介质。
10.第一方面,本发明提供了一种室内机器人二维自主定位方法,所述方法包括以下步骤:
11.获取机器人的位置坐标,所述机器人底部安装有定位装置且被置于具有坐标系的室内网格区域内;
12.实时检测机器人是否发出移动信号,若所述机器人发出移动信号,则采集所述定位装置各方向上的初始电平信号,并控制机器人开始移动;
13.检测所述定位装置是否引起触发信号,若是,则确定所述定位装置中引起触发信号的方向,并判断此方向上的所述初始电平信号是否为高电平,若非高电平,则根据预设规则更新机器人的位置坐标;
14.若为高电平,则判断定位装置沿引起触发信号方向对应的坐标轴运行时,此次与前次引起触发信号的方向是否相同,得到方向判断结果;
15.根据所述方向判断结果,对比预设的移动方向与此次引起触发信号的方向,以确定是否根据预设规则更新机器人的位置坐标;
16.其中,所述触发信号为所述定位装置在某一方向发生了一次由高电平到低电平的转变。
17.在进一步的实施方案中,所述定位装置包括方形框架以及固定在所述方形框架各边的灰度传感器组,每组灰度传感器均包括四个并列等间距的灰度传感器以及与四个灰度传感器信号端连接的逻辑与门;
18.在每组灰度传感器中,当其包含的四个灰度传感器输出的电平信号均为高电平时,所述逻辑与门的输出端输出高电平,否则,所述逻辑与门的输出端输出低电平。
19.在进一步的实施方案中,所述根据预设规则更新机器人的位置坐标的步骤包括:
20.将所述定位装置中引起触发信号方向上的方向变量取反;
21.判断所述定位装置在相对方向上的方向变量的值是否同时等于方向变量阈值,若是,则将相对方向上的方向变量的值全部清零;
22.根据预设的旋转变量的值判断机器人面向的方向,根据机器人面向的方向以及引起触发信号方向上的方向变量更新机器人的位置坐标。
23.在进一步的实施方案中,所述判断定位装置沿引起触发信号方向对应的坐标轴运行时,此次与前次引起触发信号的方向是否相同,得到方向判断结果的步骤包括:
24.判断与此次引起触发信号方向对应的坐标轴的坐标值是否为整数,若为整数,则判定此次与前次引起触发信号的方向不同;若为非整数,则判定此次与前次引起触发信号的方向相同。
25.在进一步的实施方案中,所述根据所述方向判断结果,对比预设的移动方向与此次引起触发信号的方向,以确定是否根据预设规则更新机器人的位置坐标的步骤包括:
26.当此次与前次引起触发信号的方向不同时,判断预设的移动方向与所述定位装置中引起触发信号的方向是否相同,若是,则根据预设规则更新机器人的位置坐标;若否,则不更新机器人的位置坐标;
27.当此次与前次引起触发信号的方向相同时,判断预设的移动方向与所述定位装置中引起触发信号的方向是否相反,若是,则根据预设规则更新机器人的位置坐标;若否,则不更新机器人的位置坐标。
28.在进一步的实施方案中,还包括:当所述机器人在室内网格区域内每移动一个网格时,检测所述定位装置在两个相对方向上的电平信号序列;
29.判断所述电平信号序列是否满足以下两个条件:
30.(1)所述定位装置在相对方向上的电平信号序列相同;
31.(2)所述定位装置在相对方向上的电平信号序列均为标准电平信号序列;
32.若不满足其中任一条件,则根据所述定位装置在两个相对方向上的电平信号序列判断机器人是否为顺时针倾斜,若是,则以预设的修正角度逆时针修正机器人的位置;若否,则以预设的修正角度顺时针修正机器人的位置。
33.在进一步的实施方案中,还包括通过精准坐标系对机器人进行精准定位,具体为:
34.基于建立的精准坐标系,预先利用过线定位和夹线定位获取网格区域的精准停靠位置;
35.根据预设的机器人目标停靠位置查找并移动至与其距离最近的精准停靠位置;
36.计算所述目标停靠位置与所述精准停靠位置之间的偏移量,根据所述偏移量控制机器人移动至所述目标停靠位置;
37.其中,所述精准停靠位置包括过线精准停靠位置和夹线精准停靠位置;
38.所述预先利用过线定位和夹线定位获取网格区域的精准停靠位置,具体为:
39.机器人在网格区域移动时,获取所述定位装置中任一方向在引起触发信号时的位置坐标,并将其作为过线精准停靠位置;
40.当机器人在跨越网格线,且运动至某一位置上时,若检测到所述定位装置在各方向上的电平信号序列均为预设的夹线电平信号序列,则获取此位置的位置坐标,并将其作为夹线精准停靠位置。
41.第二方面,本发明提供了一种室内机器人二维自主定位系统,所述系统包括:
42.定位系统建立模块,用于获取机器人的位置坐标,所述机器人底部安装有定位装置且被置于具有坐标系的室内网格区域内;
43.初始信号采集模块,用于实时检测机器人是否发出移动信号,若所述机器人发出移动信号,则采集所述定位装置各方向上的初始电平信号,并控制机器人开始移动;
44.第一位置更新模块,用于检测所述定位装置是否引起触发信号,若是,则确定所述定位装置中引起触发信号的方向,并判断此方向上的所述初始电平信号是否为高电平,若非高电平,则根据预设规则更新机器人的位置坐标;
45.第二位置更新模块,用于在检测到引起触发信号方向上的所述初始电平信号为高电平时,判断定位装置沿引起触发信号方向对应的坐标轴运行时,此次与前次引起触发信号的方向是否相同,得到方向判断结果,根据所述方向判断结果,对比预设的移动方向与此次引起触发信号的方向,以确定是否根据预设规则更新机器人的位置坐标;
46.其中,所述触发信号为所述定位装置在某一方向发生了一次由高电平到低电平的转变。
47.第三方面,本发明还提供了一种计算机设备,包括处理器和存储器,所述处理器与所述存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述计算机设备执行实现上述方法的步骤。
48.第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
49.本发明提供了一种基于灰度传感器和网格线的室内机器人二维自主定位方法、系统、计算机设备和介质,通过定位装置中的灰度传感器组以及网格线即可确定机器人当前所处位置坐标,通过位置修正使得机器人能够更精确地前进,通过过线定位实现机器人的
高精度停靠,使其能够更好地应用于定位精度高的领域,具有较好的市场价值和应用前景。与现有机器人自主定位方法相比,该方法通过简单的逻辑控制实现了室内机器人的智能定位,且无需使用昂贵的中央处理器即可实现信息处理,运行成本低,不易受到光线的影响。
附图说明
50.图1是本发明实施例提供的一种室内机器人二维自主定位方法流程示意图;
51.图2是本发明实施例提供的定位装置二维尺寸示意图;
52.图3是本发明实施例提供的灰度传感器正反面示意图;
53.图4是本发明实施例提供的每组灰度传感器中逻辑与门的连接示意图;
54.图5是本发明实施例提供的网格线模拟示意图;
55.图6是本发明实施例提供的机器人的位置坐标更新流程示意图;
56.图7是本发明实施例提供的机器人跨越网格线前后示意图;
57.图8是本发明实施例提供的机器人跨越网格线后运动状况示意图;
58.图9是本发明实施例提供的机器人处于夹线位置示意图;
59.图10是本发明实施例提供的机器人发生位置偏移的两种情况示意图;
60.图11是本发明实施例提供的精准坐标系示意图;
61.图12是本发明实施例提供的过线精准停靠位置示意图;
62.图13是本发明实施例提供的夹线精准停靠位置示意图;
63.图14是本发明实施例提供的一种室内机器人二维自主定位系统结构示意图;
64.图15是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
65.下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。
66.本发明一实施例提供了一种室内机器人二维自主定位方法,可应用于具有不同于主平面颜色的网格线区域,如图1所示,该方法包括:
67.s1.获取机器人的位置坐标,所述机器人底部安装有定位装置且被置于具有坐标系的室内网格区域内。
68.在一个实施例中,预先在室内地面铺设不同于主平面颜色的网格线,得到网格区域,并对铺设的网格区域建立二维坐标系,得到网格坐标系,本实施例以网格区域中最左端和最底端两条网格线的中心线交汇点作为坐标原点;另外,本实施例将定位装置安装在机器人底部,所述定位装置与地面的距离优选为1cm;需要说明的是,为了便于说明,本实施例仅给出所述定位装置在网格区域内的移动,实际是机器人带动定位装置移动,本实施例规定机器人面向的正前方只能是x轴正方向、x轴负方向、y轴正方向以及y轴负方向,机器人面向的正前方方向不代表机器人移动的方向。
69.在本实施例中,由于当定位装置在跨越网格线时,若网格线的宽度小于10mm,灰度传感器将检测不到颜色的变化,从而导致误判,因此,网格线的宽度应设置为大于10mm,本实施例优先将网格线宽度设置为20mm,本领域技术人员可根据具体实施情况调整网格线的
宽度。
70.在一个实施例中,如图2所示的定位装置二维尺寸示意图,所述定位装置包括方形框架以及安装在所述方形框架各边的灰度传感器组,每个灰度传感器组均包括四个并行等间距的灰度传感器,在图2中,所述方形框架的尺寸为140*140mm,在每个灰度传感器组中,相邻两个灰度传感器的间距为20mm;本实施例将机器人面向的正前方设置为前方向,根据前方向依次设置后方向、左方向以及右方向,相应地,将四组灰度传感器依次设置为前灰度传感器组、后灰度传感器组、左灰度传感器组、右灰度传感器组。
71.在本实施例中,所述方形框架的尺寸应不超过网格区域中每个网格的大小;图3是本发明实施例提供的灰度传感器正反面示意图,每个所述灰度传感器的反面包括两个灯珠,其中一个灯珠用于发射白光,另一个灯珠用于接收光线,当一个灯珠发射的白光照射在地面时,若地面是浅色的,比如白色,此时,由于浅色地面反射系数高,因此,大量光线会被反射到另一个灯珠;若地面是深色的,比如黑色,此时,由于深色地面反射系数低,因此,大部分光线会被深色吸收,仅有少量光线会被反射到另一个灯珠,灰度传感器根据接收到的反射光线的强度检测出地面是浅色还是深色,并通过信号端输出不同的电平信号,单片机通过检测此电平信号的高低即可判断出地面颜色;为了便于说明,本实施例将网格线设置为黑色,将网格区域内除网格线以外的地面设置为白色,此时,每个灰度传感器在检测到黑色时输出高电平,在检测到白色时输出低电平。
72.由于当机器人在跨越网格线时,某一灰度传感器组中的四个灰度传感器均会发生高低电平变化,若采用单片机同时检测某一方向上的四个灰度传感器的电平信号,不仅不能在时间上保持一致,而且会占用较多的单片机io口和计算资源,因此,如图4所示,每组灰度传感器还包括与四个灰度传感器信号端均连接的逻辑与门,本实施例通过逻辑与门将四个灰度传感器的信号端合为一路,在图4中,当且仅当四个灰度传感器信号端均输出高电平时,逻辑与门才会在输出端输出高电平信号,此时,对应方向上的灰度传感器组的电平信号为高电平信号,否则,输出低电平信号。
73.与现有技术中采用一个灰度传感器检测相比,本实施例采用四组灰度传感器不仅避免了由于地面脏将白色区域识别为黑色的情况,降低了误判概率,提高了检测的准确度,而且可以在后续位置修正过程中,严格保证机器人与网格线平行和垂直,本领域技术人员可根据具体实施情况调整每组灰度传感器的数量;需要说明的是,当每个灰度传感器组包含的灰度传感器数量小于四个时,将会降低机器人的定位精度,当每个灰度传感器组包含的灰度传感器数量大于四个时,不仅增加了硬件成本,而且机器人定位精度也几乎不会提高,因此,本实施例优先将每组灰度传感器数量设置为四个,从而达到在保证定位精度的同时,节约经济成本的目的。
74.在一个实施例中,本实施例将机器人置于网格区域内,并读取机器人在网格区域内起始的位置坐标。
75.在一个实施例中,所述机器人为使用万向轮进行运动的机器人,比如:通过麦克纳姆轮作为机器人的轮子,需要说明的是,机器人使用万向轮进行运动时,可以在网格区域斜着运动,但是,其面向的正前方方向必须保持运动时不变。
76.s2.实时检测机器人是否发出移动信号,若所述机器人发出移动信号,则采集所述定位装置各方向上的初始电平信号,并控制机器人开始移动。
77.在一个实施例中,通过机器人自身的中央处理器检测机器人是否发出移动信号,若检测到机器人发出移动信号,则采集所述定位装置中所述前灰度传感器组、所述后灰度传感器组、所述左灰度传感器组以及所述右灰度传感器组当前的电平信号,将其作为定位装置各方向灰度传感器组的初始电平信号,同时控制机器人开始移动。
78.本实施例以机器人在图5所示的网格线模拟示意图中运行进行示例说明,图5所示的网格线模拟示意图共九个格子,分别为网格(1,1)、(1,2)、(1,3)、(2,1)、(2,2)、(2,3)、(3,1)、(3,2)、(3,3)。
79.s3.检测所述定位装置是否引起触发信号,若是,则确定所述定位装置中引起触发信号的方向,并判断此方向上的所述初始电平信号是否为高电平,若非高电平,则根据预设规则更新机器人的位置坐标。
80.在一个实施例中,当机器人在移动时,实时检测定位装置中的任一灰度传感器组是否引起触发信号,所述触发信号为某一方向上的灰度传感器组发生了一次由高电平到低电平的转变,若某一方向上的灰度传感器组发生了一次由高电平到低电平的转变,说明此方向发生了一次从黑色网格线跨越到白色区域的情况,此时该方向上的灰度传感器组越过了一条黑色网格线。
81.在本实施例中,若未检测到引起触发信号,则继续检测定位装置中的四组灰度传感器是否存在引起触发信号的灰度传感器组;若检测到某一灰度传感器组引起了触发信号,则获取引起所述触发信号的灰度传感器组对应的方向,同时判断该方向上的灰度传感器组的初始电平信号是否为高电平,若为低电平,则根据预设规则更新机器人的位置坐标。
82.在一个实施例中,如图6所示,所述根据预设规则更新机器人的位置坐标,具体包括:
83.将所述定位装置中引起触发信号方向上的预设的方向变量取反;
84.判断所述定位装置中相对方向上的方向变量的值是否同时为方向变量阈值,若是,则将相对方向上的方向变量的值全部清零;
85.根据预设的旋转变量的值判断机器人面向的方向,根据机器人面向的方向以及引起触发信号方向上的方向变量更新机器人的位置坐标。
86.为了便于理解,在根据预设规则更新机器人的位置坐标之前,本实施例首先定义全局变量x、y,将其作为机器人的位置坐标,同时定义四个整数型变量:qian、hou、zuo、you,将这四个整数型变量分别作为前灰度传感器组、后灰度传感器组、左灰度传感器组以及右灰度传感器组的方向变量,其中,本实施例默认方向变量qian、hou、zuo、you的初始值为0。
87.由于在根据预设规则更新机器人的位置坐标时,检测到某一方向上的灰度传感器组引起了触发信号,因此,当开始更新机器人的位置坐标时,本实施例首先将此方向上灰度传感器的变量值取反,具体为:
88.若为前灰度传感器组引起触发信号,则说明前灰度传感器组越过一条黑线,此时,对方向变量qian进行取反操作,即qian=!qian;
89.若为后灰度传感器组引起触发信号,则说明后灰度传感器组越过一条黑线,此时,对方向变量hou进行取反操作,即hou=!hou;
90.若为左灰度传感器组引起触发信号时,则说明左灰度传感器组越过一条黑线,此时,对方向变量zuo进行取反操作,即zuo=!zuo;
91.若为右灰度传感器组引起触发信号时,则说明右灰度传感器组越过一条黑线,此时,对方向变量you进行取反操作,即you=!you。
92.比如:在本实施例中,若为前灰度传感器组引起触发信号,且在进行取反操作前,方向变量qian=0,则对此方向变量取反后,得到qian=1。
93.然后,判断所述定位装置中相对方向上的方向变量值是否同时等于方向变量阈值,若是,则将相对方向上的方向变量值全部清零,在本实施例中,所述方向变量阈值为1,具体为:
94.若方向变量qian和方向变量hou同时等于1,则将方向变量qian和方向变量hou全部清零,即:
95.当{qian=hou=1}时,清零这两个方向变量,得到{qian=0;hou=0};
96.若方向变量zuo和方向变量you同时等于1,则将方向变量zuo和方向变量you全部清零,即:
97.当{zuo=you=1}时,清零这两个方向变量,得到{zuo=0;you=0}。
98.需要说明的是,在根据预设规则更新机器人的位置坐标时,所述判断所述定位装置中相对方向上的方向变量值是否同时为方向变量阈值的步骤不局限于本实施例所示的先后顺序,即:无论处于预设规则的任一阶段,只要检测到定位装置中相对方向上的方向变量值同时为方向变量阈值,直接对这两个变量进行清零,在本实施例中,所述判断所述定位装置中相对方向上的方向变量值是否同时为方向变量阈值步骤的优先级最高。
99.在一个实施例中,所述根据预设的旋转变量值判断机器人面向的方向,根据机器人面向的方向以及引起触发信号的方向更新机器人的位置坐标,具体为:
100.在更新机器人位置坐标之前,本实施例还定义旋转变量c,根据其值可判断机器人面向的正前方方向,由于本实施例规定机器人面向的正前方只能是x轴正方向、x轴负方向、y轴正方向、y轴负方向,因此,本实施例将x轴正方向、x轴负方向、y轴正方向、y轴负方向对应的旋转变量赋予不同值;本实施例以将机器人面向x轴正方向上对应的旋转变量的值设为1,将机器人面向x轴负方向上对应的旋转变量的值设为2,将y轴正方向上对应的旋转变量的值设为3,将将y轴负方向上对应的旋转变量的值设为4为例进行说明,本实施例根据检测到的旋转变量的值,分为以下情况:
101.当检测到旋转变量的值为1时,所述更新机器人的位置坐标具体为:
102.若引起触发信号的是前灰度传感器组,则判断方向变量qian的值,若qian=1,则x=x 0.5;若qian=0,则x=x
‑
0.5;
103.若引起触发信号的是后灰度传感器组,则判断方向变量hou的值,若hou=1,则x=x
‑
0.5;若hou=0,则x=x 0.5;
104.若引起触发信号的是左灰度传感器组,则判断方向变量zuo的值,若zuo=1,则y=y 0.5;若zuo=0,则y=y
‑
0.5;
105.若引起触发信号的是右灰度传感器组,则判断方向变量you的值,若you=1,则y=y
‑
0.5;若you=0,则y=y 0.5。
106.当检测到旋转变量的值为2时,所述更新机器人的位置坐标具体为:
107.若引起触发信号的是前灰度传感器组,则判断方向变量qian的值,若qian=1,则x=x
‑
0.5;若qian=0,则x=x 0.5;
108.若引起触发信号的是后灰度传感器组时,则判断方向变量hou的值,若hou=1,则x=x 0.5;若hou=0,则x=x
‑
0.5;
109.若引起触发信号的是左灰度传感器组时,则判断方向变量zuo的值,若zuo=1,则y=y
‑
0.5;若zuo=0,则y=y 0.5;
110.若引起触发信号的是右灰度传感器组时,则判断方向变量you的值,若you=1,则y=y 0.5;若you=0,则y=y
‑
0.5。
111.当检测到旋转变量的值为3时,所述更新机器人的位置坐标具体为:
112.若引起触发信号的是前灰度传感器组,则判断方向变量qian的值,若qian=1,则y=y 0.5;若qian=0,则y=y
‑
0.5;
113.若引起触发信号的是后灰度传感器组,则判断方向变量hou的值,若hou=1,则y=y
‑
0.5;若hou=0,则y=y 0.5;
114.若引起触发信号的是左灰度传感器组,则判断方向变量zuo的值,若zuo=1,则x=x
‑
0.5;若zuo=0,则x=x 0.5;
115.若引起触发信号的是右灰度传感器组,则判断方向变量you的值,若you=1,则x=x 0.5;若you=0,则x=x
‑
0.5。
116.当检测到旋转变量的值为4时,所述更新机器人的位置坐标具体为::
117.若引起触发信号的是前灰度传感器组,则判断方向变量qian的值,若qian=1,则y=y
‑
0.5;若qian=0,则y=y 0.5;
118.若引起触发信号的是后灰度传感器组,则判断方向变量hou的值,若hou=1,则y=y 0.5;若hou=0,则y=y
‑
0.5;
119.若引起触发信号的是左灰度传感器组,则判断方向变量zuo的值,若zuo=1,则x=x 0.5;若zuo=0,则x=x
‑
0.5;
120.若引起触发信号的是右灰度传感器组,则判断方向变量you的值,若you=1,则x=x
‑
0.5;若you=0,则x=x 0.5。
121.在图2所示的模拟图中,本实施例通过模拟机器人从网格(1,1)移动到网格(2,1)的操作进行举例说明:
122.本实施例将机器人置于网格(1,1)中,此时,记录机器人的起始位置为x=1、y=1,本实施例以x轴正方向作为机器人面向的正前方,本实施例默认所述前灰度传感器组、所述后灰度传感器组、所述左灰度传感器组和所述右灰度传感器组对应的方向变量的值为:qian=0,hou=0,zuo=0,you=0。
123.本实施例检测到机器人发出移动信号之后,读取各方向上的灰度传感器组输出的电平信号,如图7所示,由于机器人在移动前位于网格(1,1)内,因此,各方向上的灰度传感器组输出的电平信号为低电平,机器人开始以x轴正方向向前移动,当移动至如图7所示的移动后的位置时,本实施例检测到定位装置中的前灰度传感器组引起触发信号,说明此时前灰度传感器组越过了一条黑线,然后,对方向变量qian取反,使qian=1,由于方向变量qian和方向变量hou不同时为1,因此,不进行清零操作;接着,本实施例检测到旋转变量的值为1,且引起触发信号的是前灰度传感器组,因此,判断方向变量qian的值,此时,qian=1,使x=x 0.5,得到x=1.5,此时,机器人更新后的位置坐标为(1.5,1)。
124.需要说明的是,在本实施例中,图7至图12示出的箭头只代表机器人面向的正前方
方向,不代表机器人运行的方向,比如:当机器人面向x轴正方向时,其向y轴正方向运行。
125.接着,若机器人继续向前移动,如图8所示,当检测到定位装置中的后灰度传感器组引起触发信号时,说明后灰度传感器组越过了一条黑线,此时,对方向变量hou取反,使hou=1,对方向变量hou取反后,由于方向变量qian和方向变量hou同时为1,因此,优先对方向变量qian和方向变量hou进行清零操作;同时,本实施例检测到的旋转变量的值为1,且引起触发信号的是后灰度传感器组,因此,判断方向变量hou的值,此时,hou=0,使x=x 0.5,得到x=2,此时,机器人更新后的位置坐标为(2,1)。
126.但是,当机器人移动到坐标为(1.5,1)位置时,若机器人向后移动,定位装置中的前灰度传感器组会再次引起触发信号,此时,对方向变量qian取反,使qian=0,由于变量qian和变量hou同时为0,因此,不进行清零操作;然后,检测到旋转变量的值为1,且引起触发信号的是前灰度传感器组,因此,判断方向变量qian的值,此时,qian=0,使x=x
‑
0.5,得到x=1,此时,机器人更新后的位置坐标为(1,1)。
127.在本实施例中,当机器人网格(1,1)移动到网格(2,1)后,由于优先级最高的清零操作,方向变量qian和方向变量hou已初始化为0,与机器人在位置坐标(1,1)时的状态相同,本实施例将机器人一次从一个网格完整的移动至相邻网格的过程作为一个运行周期,同理,后续的移动以此类推,此处不再赘述。
128.s4.若为高电平,则判断定位装置沿引起触发信号方向对应的坐标轴运行时,此次与前次引起触发信号的方向是否相同,得到方向判断结果。
129.在本实施例中,若检测到引起触发信号方向上的所述初始电平信号为高电平,则确定与此次引起触发信号方向对应的坐标轴,并判断定位装置关于在沿此坐标轴运行时,此次与前次引起触发信号的方向是否相同,并得到方向判断结果。
130.在一个实施例中,所述判断定位装置沿引起触发信号方向对应的坐标轴运行时,此次与前次引起触发信号的方向是否相同,并得到方向判断结果,具体包括:
131.判断与此次引起触发信号方向对应的坐标轴的坐标值是否为整数,若为整数,则判定此次与前次引起触发信号的方向不同;若为非整数,则判定此次与前次引起触发信号的方向相同。
132.其中,所述方向判断结果包括定位装置沿引起触发信号方向对应的坐标轴运行时,此次与前次引起触发信号的方向不同以及此次与前次引起触发信号的方向相同;本实施例通过判断在机器人所有的运行过程中,定位装置在上一次沿引起触发信号方向对应的坐标轴运行时引起触发信号的方向与此次引起触发信号的方向是否相同。
133.s5.根据所述方向判断结果,对比预设的移动方向与此次引起触发信号的方向,以确定是否根据预设规则更新机器人的位置坐标。
134.在一个实施例中,如图6所示,根据所述方向判断结果,对比预设的移动方向与此次引起触发信号的方向,以确定是否根据预设规则更新机器人的位置坐标,具体包括:
135.当此次与前次引起触发信号的方向不同时,说明所述定位装置中引起触发信号方向上对应坐标轴的坐标值为整数,此时,判断预设的移动方向与所述定位装置中引起触发信号的方向是否相同,若是,则根据预设规则更新机器人的位置坐标;若否,则不更新机器人的位置坐标;
136.当此次与前次引起触发信号的方向相同时,说明所述定位装置中引起触发信号方
向上对应坐标轴的坐标值为非整数,此时,判断预设的移动方向与所述定位装置中引起触发信号的方向是否相反,若是,则根据预设规则更新机器人的位置坐标;若否,则不更新机器人的位置坐标。
137.本实施例在机器人移动前对机器人自身携带的移动方向寄存器s赋值,根据移动方向寄存器s的值判断出机器人的移动方向,比如:本实施例定义{前进s=1;后退s=2;左移s=3;右移s=4;移动结束后清零s=0};需要说明的是,控制机器人开始移动任务过程中,移动方向寄存器s的值是从移动任务开始赋值一次,移动任务结束时清零,而在移动任务未结束前,若有其他优先级很高的中断任务使机器人改变运动方向,比如:后续通过位置修正使机器人前进或后退时,移动方向寄存器s的值不会改变,移动方向寄存器s的值不随机器人实际运动方向的改变而变化,也就是说,预设的所述移动方向与机器人实际运动的方向不一定相同。
138.需要说明的是,如图9所示,当机器人第一次以x轴正方向移动并停止,所述定位装置的前灰度传感器组正好停在黑色网格线上,且未引起触发信号,即前灰度传感器未检测到由黑色网格线到白色区域的转变时,方向变量qian仍为0,此时,若机器人向后运行返回至网格(1,1),则前灰度传感器组检测到信号从白
‑
>黑
‑
>白,引发了触发信号,但实际上,机器人没有进行格子的移动,因此,需判断所述定位装置中引起触发信号方向上对应坐标轴的坐标值是否为整数,得到方向判断结果,然后,根据方向判断结果进一步确定是否根据预设规则更新机器人的位置坐标;在本实施例中,所述根据预设规则更新机器人的位置坐标与上述方法相同,此处不再进行赘述。
139.本实施例通过判断引起触发信号方向对应的坐标轴的坐标值是否为整数,可以反向推导出室内机器人运动方向;本实施例利用网格坐标系实现了机器人的自主定位,在保证机器人定位精度得同时,提高了机器人的定位速度,有助于提高机器人运行作业的工作效率;本实施例提供的自主定位方法简单、操作方便、成本低廉,适应性强,具有良好的社会和经济效益,可应用于室内定位的多种领域。
140.在机器人移动时,由于地面摩擦力原因,导致机器人可能走偏,此时,需要利用相对方向上灰度传感器组进行修正检测,为了防止机器人严重偏离路线,机器人每走一个网格就进行一次修正检测。
141.本实施例提供的一种室内机器人二维自主定位方法,还包括:
142.当所述机器人在室内网格区域内每移动一个网格时,检测所述定位装置在两个相对方向上的电平信号序列;
143.判断所述电平信号序列是否满足以下两个条件:
144.(1)所述定位装置在相对方向上的电平信号序列相同;
145.(2)所述定位装置在相对方向上的电平信号序列均为标准电平信号序列;
146.若不满足其中任一条件,则根据所述定位装置在两个相对方向上的电平信号序列判断机器人是否为顺时针倾斜,若是,则以预设的修正角度逆时针修正机器人的位置;若否,则以预设的修正角度顺时针修正机器人的位置。
147.在本实施例中,所述定位装置中某一方向上的电平信号序列为:该方向上每个灰度传感器检测到的电平信号组成的序列;所述标准电平信号序列包括:{高、低、低、低},{低、高、低、低},{低、低、高、低},{低、低、低、高},{低、低、低、低};为了便于理解,本实施例
对位置修正进行举例说明:
148.图10中的(a)是机器人发生位置偏移的一情况示意图,在左灰度传感器组中,从左至右的每个灰度传感器的电平信号分别为:低、低、高、低;在右灰度传感器组中,从左至右的每个灰度传感器的电平信号分别为:低、高、低、低;若将低电平表示为0,将高电平表示为1,则:
149.左灰度传感器组的电平信号序列为:0010;
150.右灰度传感器组的电平信号序列为:0100;
151.此时,左、右灰度传感器组的电平信号序列属于标准电平信号序列,但是左、右灰度传感器组的电平信号序列不同,且左灰度传感器组电平信号序列中的第二个元素小于右灰度传感器组电平信号序列中的第二个元素,左灰度传感器组电平信号序列中的第三个元素大于右灰度传感器组电平信号序列中的第三个元素,因此,可判断到机器人为顺时针倾斜,此时,以预设的修正角度逆时针修正机器人的位置,直至满足上述两个条件,本实施例优先将所述修正角度设置为1
°
。
152.本实施例通过位置修正实时矫正定位,实现了对机器人在运行过程中的位置变化的监测,有效提高对机器人运行过程中的位置管理,避免了机器人严重偏离正确路线,从而有效提高了定位的精度和准确性,使用本实施例的方法定位的机器人能更好的投入实际应用。
153.在本实施例中,若灰度传感器中单个灯珠的宽度与网格线宽度相差较大,在所述定位装置中相对方向上的电平信号序列满足上述两个条件,且所述定位装置中相对方向上的电平信号序列均不为0000时,也可能出现机器人前进方向未与坐标轴严格垂直或平行,比如:如图10(b)所示,机器人以x轴正方向前进,左灰度传感器组、右灰度传感器组的电平信号序列均为:0100,机器人前进方向与x轴未平行;此时,若相对方向上的电平信号序列均为:1000或0100,则控制机器人后退,若相对方向上的电平信号序列均为:0010或0001,则控制机器人前进,然后,判断两个方向上的电平信号序列是否相同,若相同,且电平信号序列均不为0000,则继续利用上述方法控制机器人前进或后退;若不同,则以预设的修正角度修正机器人的位置。
154.在一个实施例中,一种室内机器人二维自主定位方法还包括:
155.通过精准坐标系对机器人进行精准定位,具体为:
156.基于建立的精准坐标系,预先利用过线定位和夹线定位获取网格区域的精准停靠位置,并将所述精准停靠位置存储在中央处理器中;
157.根据预设的机器人目标停靠位置查找并移动至与其距离最近的精准停靠位置;
158.计算所述目标停靠位置与所述精准停靠位置之间的偏移量,根据所述偏移量控制机器人移动至所述目标停靠位置;
159.其中,所述精准停靠位置包括过线精准停靠位置和夹线精准停靠位置。
160.所述利用过线定位和夹线定位获取网格区域的精准停靠位置,具体为:
161.机器人在网格区域移动时,获取所述定位装置中任一方向在引起触发信号时的位置坐标,并将其作为过线精准停靠位置;
162.当机器人在跨越网格线,且运动至某一位置上时,若检测到所述定位装置中各方向上的电平信号序列均为预设的夹线电平信号序列,则获取此位置的位置坐标,将其作为
夹线精准停靠位置;在本实施例中,所述夹线电平信号序列为{低、低、低、低},本实施例中的电平信号序列为:灰度传感器组中从左至右的灰度传感器输出的电平信号组成的序列。
163.如图11所示,本实施例以网格区域中最左端和最底端两条网格线的中心线交汇点作为坐标原点,以1mm为单位长度建立精准坐标系,本实施例将每个网格中白色区域的边长设置为180mm,其等于定位装置的外围尺寸,因此,每个网格的尺寸为200mm,如图2所示,在每个灰度传感器组中,相邻两个灰度传感器的距离为20mm,本实施例将网格线宽度设置为20mm,每个灰度传感器中灯珠的宽度为5mm,因此,两个灯珠的总宽度为10mm;另外,本实施例以定位装置的中心点作为机器人的位置定位点,在图11中,所述机器人的中心点在x轴上的坐标值为175mm。
164.在一个实施例中,所述根据预设的机器人目标停靠位置查找并移动至与其距离最近的精准停靠位置,具体包括:
165.查找与机器人目标停靠位置距离最近的精准停靠位置,并判断距离最近的精准停靠位置是否为过线精准停靠位置。
166.若所述精准停靠位置是过线精准停靠位置,则根据机器人起始位置与最接近的精准停靠位置之间的差值控制机器人移动至过线精准停靠位置;然后,计算机器人目标停靠位置与最接近的精准停靠位置之间的偏移量,根据所述偏移量控制机器人移动至目标停靠位置。
167.若所述精准停靠位置不是过线精准停靠位置,则根据机器人起始位置与最接近的精准停靠位置之间的差值控制机器人移动至夹线精准停靠位置;然后,检测所述定位装置中与机器人运动方向垂直的方向上的电平信号序列是否相同以及是否均为预设的夹线电平信号序列,得到夹线检测结果,根据夹线检测结果通过位置修正对机器人位置新型调整,以保证其夹线;最后,计算机器人目标停靠位置与最接近的精准停靠位置之间的偏移量,根据所述偏移量控制机器人移动至目标停靠位置。
168.其中,所述精准停靠位置包括过线精准停靠位置和夹线精准停靠位置。
169.为了便于理解,本实施例对利用过线定位获取网格区域的过线精准停靠位置进行举例说明:
170.在精准坐标系中,本实施例设置机器人面向的正前方为x轴正方向,且以x轴正方向进行运动,与y轴平行的网格线从左至右依次为第一网格线、第二网格线,机器人开始移动,当机器人第一次在第一网格线处检测到触发信号时,可通过计算得到位置定位点为x=100mm,依次计算机器人在经过第二网格线时前灰度传感器组和后灰度传感器组引发触发信号时的位置定位点,分别为x=130mm、x=300mm;比如:当机器人移动至如图12所示的位置时,后灰度传感器组恰好引发了触发信号,此时,此位置在x轴上的坐标为300mm,将此位置作为过线精准停靠位置。
171.在本实施例中,所述过线精准停靠位置为机器人可以稳定停下的位置,对于定位精度要求高的机器人来说,本实施例提供的过线精准停靠位置可以使其精准停靠在某一位置,且误差极小,比如:物流搬运机器人的运送工作。
172.当机器人在跨越网格线,且运动至如图11所示的位置上时,与运动方向垂直方向上的左灰度传感器组和右灰度传感器组中的四个灰度传感器从左至右输出的电平信号序列均由{低、低、低、高}转变为{低、低、低、低},此时,网格线恰好处于相邻两个灰度传感器
之间,所述定位装置中各方向上的电平信号序列均为预设的夹线电平信号序列,则获取此位置的位置坐标,将其作为夹线精准停靠位置,本实施例检测的是机器人跨越网格线时的夹线精准停靠位置,因此,不考虑定位装置完全处于白色区域的情况;以此类推,获取网格区域中的夹线精准停靠位置,如图13所示,本实施例依次获取机器人在经过第二网格线时的夹线精准位置,可以得到五个夹线精准停靠位置,分别为x=150mm、x=175mm、x=200mm、x=225mm、x=250mm,具体位置计算在此不再赘述。
173.根据上述得到的精准停靠位置可知,当机器在一个运行周期内,机器人的步进精度可达到20~30mm,在本实施例中,过线精准停靠位置比夹线精准停靠位置要求更严格。
174.当机器人处于在精准停靠位置上时,本实施例控制机器人进行微小的位移移动,可以使机器人停靠在地图上的任意位置,比如,在进行微小位移时,若为采用轮子运动的机器人,则机器人可以较精准地移动15mm内的距离,且误差不超过5mm,比如:当机器人采用步进电机控制的轮子时,误差不超过1mm;另外,本实施例可以通过测量电机通电的时间与移动距离的关系曲线,从而通过控制通电时间来达到精准移动距离。
175.本实施例要利用精度坐标系实现了机器人的精准停靠,使其能够更好地满足定点投放等高精度定位的需求,本实施例提供的定位方法对硬件要求低,节省了成本,同时通过精度坐标系大大提高了室内定位精度;另外,本实施例对场景动态变化和光线强度不敏感,场景适应性强。
176.相比于现有的室内定位方法,本实施例提供的一种室内机器人二维自主定位方法仅通过四组灰度传感器实现了精准定位以及坐标更新,硬件成本低,另外,本实施例提供的方法逻辑简单、易实现,且占用处理器资源极低,无需使用昂贵的单片机即可实现,具有超低功耗,大大降低了经济成本;另外,本实施例利用过线定位实现了机器人的精准停靠,使其在物流搬运等要求精准停靠的工作中高精度定位,具有较好的市场价值和应用前景。
177.需要说明的是,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
178.在一个实施例中,如图14所示,提供了一种室内机器人二维自主定位系统,所述系统包括:
179.定位系统建立模块101,用于将底部安装有定位装置的机器人置于具有坐标系的网格区域,并确定机器人的位置坐标。
180.初始信号采集模块102,用于检测机器人是否发出移动信号,若否,则继续检测机器人是否发出移动信号;若是,则采集所述定位装置各方向上的初始电平信号,并控制机器人开始移动。
181.第一位置更新模块103,用于检测所述定位装置是否引起触发信号,若是,则获取所述定位装置中引起触发信号的方向,并判断此方向上的所述初始电平信号是否为高电平,若为低电平,则根据预设规则更新机器人的位置坐标。
182.第二位置更新模块104,用于在检测到引起触发信号方向上的所述初始电平信号为高电平时,判断定位装置在与引起触发信号方向对应的坐标轴上运行时,此次与前次引起触发信号的方向是否相同,得到方向判断结果,根据所述方向判断结果,对比预设的移动方向与此次引起触发信号的方向,以确定是否根据预设规则更新机器人的位置坐标。
183.其中,所述触发信号为所述定位装置在某一方向发生了一次由高电平到低电平的
转变。
184.关于一种室内机器人二维自主定位系统的具体限定可以参见上述对于一种室内机器人二维自主定位方法的限定,此处不再赘述。本领域普通技术人员可以意识到,结合本技术所公开的实施例描述的各个模块和步骤,能够以硬件、软件或者两者结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
185.相比于现有采用激光雷达、红外测距等对机器人进行定位的方法,本技术提供的一种室内机器人二维自主定位系统不受光强的影响,即使在强光下也能进行高精度定位;另外,本实施例提供的系统具有运算量非常小、硬件简洁的优点,而且可以在同一区域内对多个机器人同时进行定位,无需额外增加设备,大大降低了经济成本,本实施例中的定位装置不受距离和障碍物的影响,抗干扰能力强。
186.图15是本发明实施例提供的一种计算机设备,包括存储器、处理器和收发器,它们之间通过总线连接;存储器用于存储一组计算机程序指令和数据,并可以将存储的数据传输给处理器,处理器可以执行存储器存储的程序指令,以执行上述方法的步骤。
187.其中,存储器可以包括易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;处理器可以是中央处理器、微处理器、特定应用集成电路、可编程逻辑器件或其组合。通过示例性但不是限制性说明,上述可编程逻辑器件可以是复杂可编程逻辑器件、现场可编程逻辑门阵列、通用阵列逻辑或其任意组合。
188.另外,存储器可以是物理上独立的单元,也可以与处理器集成在一起。
189.本领域普通技术人员可以理解,图15中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有相同的部件布置。
190.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
191.本发明实施例提供的一种室内机器人二维自主定位方法、系统、设备及存储介质,其一种室内机器人二维自主定位方法仅通过简单的定位装置实现了机器人的自主定位,能够大幅度降低硬件成本,使其能够更好地应用于商用和民用领域,本实施例采用定位方法控制逻辑简单,大大降低了运算需求,从而能够节省更多的处理资源,减小功耗;同时本发明实施例具有体积小、无需占用额外空间、抗干扰能力强的优点。
192.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中
心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如ssd)等。
193.本领域技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
194.以上所述实施例仅表达了本技术的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本技术的保护范围。因此,本技术专利的保护范围应以所述权利要求的保护范围为准。
转载请注明原文地址:https://doc.8miu.com/read-1719126.html