CN111880539B - 智能机器人的移动控制方法及装置、智能机器人及可读存储介质 - Google Patents
智能机器人的移动控制方法及装置、智能机器人及可读存储介质 Download PDFInfo
- Publication number
- CN111880539B CN111880539B CN202010750650.3A CN202010750650A CN111880539B CN 111880539 B CN111880539 B CN 111880539B CN 202010750650 A CN202010750650 A CN 202010750650A CN 111880539 B CN111880539 B CN 111880539B
- Authority
- CN
- China
- Prior art keywords
- path
- intelligent robot
- smoothed
- point
- coordinate
- 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 83
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims description 60
- 230000001419 dependent effect Effects 0.000 claims description 24
- 238000000926 separation method Methods 0.000 claims description 16
- 230000001133 acceleration Effects 0.000 claims description 9
- 230000002035 prolonged effect Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 description 14
- 238000009499 grossing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000001788 irregular Effects 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241001417527 Pempheridae Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000004568 cement Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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
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)
- Manipulator (AREA)
Abstract
本申请公开了一种智能机器人的移动控制方法,移动控制方法包括:获取智能机器人的全局路径;从智能机器人的当前位置向前截取预定长度的全局路径以作为待平滑路径;对待平滑路径中的多个原始点进行处理以生成多个平滑路径点;及根据平滑路径点生成控制指令以控制智能机器人移动至待平滑路径的终点。本申请还公开了一种移动控制装置、智能机器人和非易失性计算机可读存储介质。本申请实施方式的移动控制方法,通过智能机器人的当前位置向前截取预定长度的全局路径以作为待平滑路径,然后生成平滑路径点,根据平滑路径点生成控制指令控制智能机器人移动,智能机器人的移动控制的平顺性及稳定性较好且计算量较小。
Description
技术领域
本申请涉及智能机器人技术领域,更具体而言,涉及一种智能机器人的移动控制方法、智能机器人的控制装置、智能机器人和非易失性计算机可读存储介质。
背景技术
随着自动化技术和人工智能的发展,智能机器人的需求越来越广泛;机器人时代的到来,将变革现有生产制造模式及人类生活方式,海量的智能机器和互联互通的智慧大脑结合在一起,给人们的生活和服务带来了极大的方便。
对于阿克曼车型的机器人来说,平稳的运动控制十分必要。运动控制的平稳需要平滑的路径为基础。目前大多是对全局路径做优化,比如著名的TEB算法是基于优化的方法生成一个平滑的全局路径,耗时非常长,而且缺乏稳定性;再如,一些基于混合A*的方法,其计算量也非常大;另外,基于路网的方法也能生成十分平滑的路径,但是很多场景下是没有路网可用的。
发明内容
有鉴于此,本发明旨在至少在一定程度上解决相关技术中的问题之一。为此,本申请实施方式提供一种智能机器人的移动控制方法、智能机器人的移动控制装置、智能机器人和非易失性计算机可读存储介质。
本申请实施方式的智能机器人的移动控制方法包括:获取所述智能机器人的全局路径;从所述智能机器人的当前位置向前截取预定长度的全局路径以作为待平滑路径;对所述待平滑路径中的多个原始点进行处理以生成多个平滑路径点;及根据所述平滑路径点生成控制指令以控制所述智能机器人移动至所述待平滑路径的终点。
本申请实施方式的移动控制方法中,首先从智能机器人的当前位置向前截取预定长度的全局路径作为待平滑路径,然后对待平滑路径中的多个原始点进行处理得到多个平滑路径点,最后根据平滑路径点生成控制指令以控制智能机器人移动至待平滑路径的终点。只需对预定长度的全局路径进行处理,使得计算量较小及耗时较短。同时,相对于对整个全局路径进行平滑处理的方式,本申请实施方式的移动控制方法对智能机器人的移动控制更加精确和更加平滑,保证了智能机器人移动时可以具有较好地平顺性和精确度。
在某些实施方式中,所述对所述待平滑路径中的多个原始点进行处理以生成多个平滑路径点,包括:获取所述待平滑路径上每个所述原始点的坐标;根据所述原始点的坐标计算所述原始点所对应的所述智能机器人的累计里程;及基于所述累计里程和所述原始点的坐标,生成多个所述平滑路径点。
本实施方式中,根据原始点的坐标及智能机器人的累计里程,生成多个平滑路径点,使得生成的的平滑路径点更加准确,根据平滑路径点生成的控制指令更加精确,有利于提升智能机器人移动时的平稳性。
在某些实施方式中,所述原始点包括x坐标和y坐标,所述平滑路径点包括x坐标和y坐标,所述平滑路径点与所述智能机器人的当前位置之间的距离为间隔距离,所述基于所述累计里程和所述原始点的坐标,生成多个所述平滑路径点,包括:以所述累计里程为自变量,所述原始点的x坐标为因变量对所述累计里程和所述原始点的x坐标进行拟合以得到第一映射关系;以所述累计里程为自变量,所述原始点的y坐标为因变量对所述累计里程与所述原始点的y坐标进行拟合以得到第二映射关系;及基于所述第一映射关系和所述间隔距离计算每个所述平滑路径点的x坐标、基于所述第二映射关系和所述间隔距离计算每个所述平滑路径点的y坐标。
本实施方式中,以累计里程为自变量,以原始点的x坐标为因变量拟合累计里程和原始点的x坐标得到第一映射关系;以及以累计里程为自变量,以原始点的y坐标为因变量拟合累计里程和原始点的y坐标得到第二映射关系;然后根据平滑路径点到智能机器人的当前位置的距离及第一映射关系计算每个平滑路径点的x坐标,以及根据平滑路径点到智能机器人的当前位置的距离及第二映射关系计算每个平滑路径点的y坐标。由此,计算得到的平滑路径点的x坐标和y坐标较准确,使得根据平滑路径点生成的控制指令更加准确,对智能机器人的移动控制更加精准。
在某些实施方式中,在所述根据所述平滑路径点生成控制指令以控制所述智能机器人移动至所待平滑路径的终点之后,所述移动控制方法还包括:循环执行截取待平滑路径、生成多个平滑路径点、及控制所述智能机器人移动至所述待平滑路径的终点的步骤直至所述智能机器人移动至所述全局路径的终点。
本实施方式中,在智能机器人移动至待平滑路径的终点之后,还会循坏执行截取待平滑路径、生成多个平滑路径点、及控制智能机器人移动至待平滑路径的终点的步骤直至智能机器人移动至全局路径的终点。如此,智能机器人在移动至全局路径的终点的过程中,可以不断地对全局路径进行分段平滑处理,使得智能机器人在全局路径上的移动更加平顺、稳定。
在某些实施方式中,在所述智能机器人的当前位置与所述全局路径的终点之间的剩余长度小于预定长度时,所述移动控制方法还包括计算所述剩余长度与所述预定长度之间的长度差值;及将所述全局路径延长所述长度差值。
本实施方式中,在智能机器人的当前位置与全局路径的终点之间的剩余长度小于预定长度时,将全局路径延长剩余长度与预定长度的长度差值,智能机器人可以更好地对剩余长度的全局路径进行处理,生成的平滑路径点更加准确,有利于对智能机器人的精准控制。
在某些实施方式中,所述智能机器人移动至所述待平滑路径的终点时,所述移动控制方法还包括:若所述智能机器人与所述全局路径的终点之间的第一距离小于所述预定长度,进一步判断所述第一距离是否小于距离阈值;若是,根据未行使的全局路径控制所述智能机器人移动至所述全局路径的终点;及若否,将所述全局路径延长所述第一距离与所述预定长度之间的距离差值。
本实施方式中,在智能机器人与全局路径的终点之间的距离小于距离阈值时,直接根据未行使的全局路径控制智能机器人移动至全局路径的终点,由此,可以减少计算量,提高智能机器人的工作效率。同时,在智能机器人与全局路径的终点之间的距离大于距离阈值时,将全局路径延长第一距离与预定长度之间的距离差值,以使后续得到的平滑路径点更加准确。
在某些实施方式中,在所述智能机器人移动至所述待平滑路径的终点时,所述移动控制方法还包括:若所述智能机器人与所述全局路径的终点之间的第一距离小于所述预定长度,获取未行使的全局路径的平滑度;及判断所述平滑度是否大于平滑度阈值;若是,依据未行使的全局路径控制所述智能机器人移动至所述全局路径的终点;及若否,将所述全局路径延长所述第一距离与所述预定长度之间的距离差值。
本实施方式中,在智能机器人与全局路径的终点之间的第一距离小于预定长度,进一步计算未行驶的全局路径的平滑度,在平滑度大于平滑度阈值时,依据未行使的全局路径控制智能机器人移动至全局路径的终点,可以降低计算量;在平滑度小于平滑度阈值时,将全局路径延长第一距离与预定长度之间的距离差值,使得后续得到的平滑路径点更加准确。
在某些实施方式中,所述预定长度在所述智能机器人的机身长度的3倍至4倍之间。
本实施方式中,预定长度在智能机器人的机身长度的3倍至4倍之间,一方面,可以提高后续获取到的平滑路径点及控制指令的准确性,避免了因固定的预定长度影响对不同大小的智能机器人的移动控制的准确性;另一方面,可以避免预定长度过短导致计算到的平滑路径点不够准确及预定长度L过长导致计算量较大及耗时较长。
在某些实施方式中,所述控制指令包括所述智能机器人移动的速度、角速度、方向、及加速度中的至少一种。
本实施方式中,控制指令包括智能机器人移动的速度、角速度、方向、及加速度中的至少一种,智能机器人可以根据移动的速度、角速度、方向、及加速度中的至少一种控制智能机器人移动,实现了对智能机器人的精准控制。
本申请实施方式的智能机器人的移动控制装置,包括第一获取模块、截取模块、处理模块及生成模块;所述第一获取模块用于获取所述智能机器人的全局路径;所述截取模块用于从所述智能机器人的当前位置向前截取预定长度的全局路径以作为待平滑路径;所述处理模块用于对所述待平滑路径中的多个原始点进行处理以生成多个平滑路径点;根据所述平滑路径点生成控制指令以控制所述智能机器人移动至所述待平滑路径的终点。
本申请实施方式的移动控制装置中,首先从智能机器人的当前位置向前截取预定长度的全局路径作为待平滑路径,然后对待平滑路径中的多个原始点进行处理得到多个平滑路径点,最后根据平滑路径点生成控制指令以控制智能机器人移动至待平滑路径的终点。只需对预定长度的全局路径进行处理,使得计算量较小及耗时较短。同时,相对于对整个全局路径进行平滑处理的方式,本申请实施方式的移动控制方法对智能机器人的移动控制更加精确和更加平滑,保证了智能机器人移动时可以具有较好地平顺性和精确度。
在某些实施方式中,处理模块还用于:获取所述待平滑路径上每个所述原始点的坐标;根据所述原始点的坐标计算所述原始点所对应的所述智能机器人的累计里程;及基于所述累计里程和所述原始点的坐标,生成多个所述平滑路径点。
本实施方式中,根据原始点的坐标及智能机器人的累计里程,生成多个平滑路径点,使得生成的的平滑路径点更加准确,根据平滑路径点生成的控制指令更加精确,有利于提升智能机器人移动时的平稳性。
在某些实施方式中,所述原始点包括x坐标和y坐标,所述平滑路径点包括x坐标和y坐标,所述平滑路径点与所述智能机器人的当前位置之间的距离为间隔距离,所述处理模块还用于:以所述累计里程为自变量,所述原始点的x坐标为因变量对所述累计里程和所述原始点的x坐标进行拟合以得到第一映射关系;以所述累计里程为自变量,所述原始点的y坐标为因变量对所述累计里程与所述原始点的y坐标进行拟合以得到第二映射关系;及基于所述第一映射关系和所述间隔距离计算每个所述平滑路径点的x坐标、基于所述第二映射关系和所述间隔距离计算每个所述平滑路径点的y坐标。
本实施方式中,以累计里程为自变量,以原始点的x坐标为因变量拟合累计里程和原始点的x坐标得到第一映射关系;以及以累计里程为自变量,以原始点的y坐标为因变量拟合累计里程和原始点的y坐标得到第二映射关系;然后根据平滑路径点到智能机器人的当前位置的距离及第一映射关系计算每个平滑路径点的x坐标,以及根据平滑路径点到智能机器人的当前位置的距离及第二映射关系计算每个平滑路径点的y坐标。由此,计算得到的平滑路径点的x坐标和y坐标较准确,使得根据平滑路径点生成的控制指令更加准确,对智能机器人的移动控制更加精准。
在某些实施方式中,在所述根据所述平滑路径点生成控制指令以控制所述智能机器人移动至所述待平滑路径的终点之后,所述移动控制装置还包括循坏模块,所述循坏模块用于循环执行截取待平滑路径、生成多个平滑路径点、及控制所述智能机器人移动至所述待平滑路径的终点的步骤直至所述智能机器人移动至所述全局路径的终点。
本实施方式中,在智能机器人移动至待平滑路径的终点之后,还会循坏执行截取待平滑路径、生成多个平滑路径点、及控制智能机器人移动至待平滑路径的终点的步骤直至智能机器人移动至全局路径的终点。如此,智能机器人在移动至全局路径的终点的过程中,可以不断地对全局路径进行平滑处理,使得智能机器人在全局路径上的移动更加平顺、稳定。
在某些实施方式中,在所述智能机器人的当前位置与所述全局路径的终点之间的剩余长度小于预定长度时,所述移动控制装置还包括计算模块和延长模块,所述计算模块用于计算所述剩余长度与所述预定长度之间的长度差值;所述延长模块用于将所述全局路径延长所述长度差值。
本实施方式中,在智能机器人的当前位置与全局路径的终点之间的剩余长度小于预定长度时,将全局路径延长剩余长度与预定长度的长度差值,智能机器人可以更好地对剩余长度的全局路径进行处理,生成的平滑路径点更加准确,有利于对智能机器人的精准控制。
在某些实施方式中,在所述智能机器人移动至所述待平滑路径的终点时,所述移动控制装置还包括第一判断模块和第一执行模块,所述第一判断模块用于若所述智能机器人与所述全局路径的终点之间的第一距离小于所述预定长度,进一步判断所述第一距离是否小于距离阈值;所述第一执行模块用于在所述第一判断模块的输出结果为是时,根据未行使的全局路径控制所述智能机器人移动至所述全局路径的终点;所述第一执行模块还用于在所述第一判断模块的输出结果为否时,将所述全局路径延长所述第一距离与所述预定长度之间的距离差值。
本实施方式中,在智能机器人与全局路径的终点之间的距离小于距离阈值时,直接根据未行使的全局路径控制智能机器人移动至全局路径的终点,由此,可以减少计算量,提高智能机器人的工作效率。同时,在智能机器人与全局路径的终点之间的距离大于距离阈值时,将全局路径延长第一距离与预定长度之间的距离差值,以使后续得到的平滑路径点更加准确。
在某些实施方式中,在所述智能机器人移动至所述待平滑路径的终点时,所述移动控制装置还包括第二获取模块、第二判断模块和第二执行模块,所述第二获取模块用于若所述智能机器人与所述全局路径的终点之间的第一距离小于所述预定长度,获取未行使的全局路径的平滑度;所述第二判断模块用于判断所述平滑度是否大于平滑度阈值;所述第二执行模块用于在所述第二判断模块的输出结果为是时,依据未行使的全局路径控制所述智能机器人移动至所述全局路径的终点;所述第二执行模块还用于在所述第二输出模块的输出结果为否时,将所述全局路径延长所述第一距离与所述预定长度之间的距离差值。
本实施方式中,在智能机器人与全局路径的终点之间的第一距离小于预定长度,进一步计算未行驶的全局路径的平滑度,在平滑度大于平滑度阈值时,依据未行使的全局路径控制智能机器人移动至全局路径的终点,可以降低计算量;在平滑度小于平滑度阈值时,将全局路径延长第一距离与预定长度之间的距离差值,使得后续得到的平滑路径点更加准确。
在某些实施方式中,所述预定长度在所述智能机器人的机身长度的3倍至4倍之间。
本实施方式中,预定长度在智能机器人的机身长度的3倍至4倍之间,一方面,可以提高后续获取到的平滑路径点及控制指令的准确性,避免了因固定的预定长度影响对不同大小的智能机器人的移动控制的准确性;另一方面,可以避免预定长度过短导致计算到的平滑路径点不够准确及预定长度L过长导致计算量较大及耗时较长。
在某些实施方式中,所述控制指令包括所述智能机器人移动的速度、角速度、方向、及加速度中的至少一种。
本实施方式中,控制指令包括智能机器人移动的速度、角速度、方向、及加速度中的至少一种,智能机器人可以根据移动的速度、角速度、方向、及加速度中的至少一种控制智能机器人移动,实现了对智能机器人的精准控制。
本申请实施方式的智能机器人包括一个或多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行上述任一实施方式所述的移动控制方法的指令。
本申请实施方式的智能机器人中,首先从智能机器人的当前位置向前截取预定长度的全局路径作为待平滑路径,然后对待平滑路径中的多个原始点进行处理得到多个平滑路径点,最后根据平滑路径点生成控制指令以控制智能机器人移动至待平滑路径的终点。只需对预定长度的全局路径进行处理,使得计算量较小及耗时较短。同时,相对于对整个全局路径进行平滑处理的方式,本申请实施方式的移动控制方法对智能机器人的移动控制更加精确和更加平滑,保证了智能机器人移动时可以具有较好地平顺性和精确度。
本申请实施方式的一种包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述任一实施方式所述的移动控制方法。
本申请实施方式的非易失性计算机可读存储介质中,首先从智能机器人的当前位置向前截取预定长度的全局路径作为待平滑路径,然后对待平滑路径中的多个原始点进行处理得到多个平滑路径点,最后根据平滑路径点生成控制指令以控制智能机器人移动至待平滑路径的终点。只需对预定长度的全局路径进行处理,使得计算量较小及耗时较短。同时,相对于对整个全局路径进行平滑处理的方式,本申请实施方式的移动控制方法对智能机器人的移动控制更加精确和更加平滑,保证了智能机器人移动时可以具有较好地平顺性和精确度。
本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请实施方式的移动控制方法的流程示意图;
图2是本申请实施方式的智能机器人的模块示意图;
图3是本申请实施方式的移动控制装置的模块示意图;
图4是本申请实施方式的移动控制方法的原理示意图;
图5是本申请实施方式的移动控制方法的原理示意图;
图6是本申请实施方式的移动控制方法的流程示意图;
图7是本申请实施方式的移动控制方法的流程示意图;
图8是本申请实施方式的移动控制方法的流程示意图;
图9是本申请实施方式的移动控制方法的原理示意图;
图10是本申请实施方式的移动控制方法的流程示意图;
图11是本申请实施方式的移动控制方法的原理示意图;
图12是本申请实施方式的移动控制方法的流程示意图;
图13是本申请实施方式的移动控制方法的流程示意图;
图14是本申请实施方式的计算机可读存储介质与处理器的连接关系示意图。
具体实施方式
以下结合附图对本申请的实施方式作进一步说明。附图中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。
另外,下面结合附图描述的本申请的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的限制。
在本申请中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可以是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
请参阅图1至图4,本申请实施方式的智能机器人100的移动控制方法包括以下步骤:
011:获取智能机器人100的全局路径;
012:从智能机器人100的当前位置O向前截取预定长度L的全局路径以作为待平滑路径;
013:对待平滑路径中的多个原始点进行处理以生成多个平滑路径点;和
014:根据平滑路径点生成控制指令以控制智能机器人100移动至待平滑路径的终点。
本申请实施方式的移动控制装置200包括第一获取模块201、截取模块202、处理模块203和生成模块204,第一获取模块201、截取模块202、处理模块203和生成模块204可以分别用于实现步骤011、步骤012、步骤013和步骤014。也即是说,第一获取模块201用于获取智能机器人100的全局路径;截取模块202用于从智能机器人100的当前位置O向前截取预定长度L的全局路径以作为待平滑路径;处理模块203用于对待平滑路径中的多个原始点进行处理以生成多个平滑路径点;生成模块204用于根据平滑路径点生成控制指令以控制智能机器人100移动至待平滑路径的终点。
本申请实施方式的智能机器人100包括一个或多个处理器10、存储器20和一个或多个程序,其中一个或多个程序被存储在存储器20中,并且被一个或多个处理器10执行,程序包括用于执行本申请实施方式的移动控制方法。处理器10执行程序时,处理器10可以用于实现步骤011、步骤012、步骤013和步骤014。即,处理器10可以用于:获取智能机器人100的全局路径;从智能机器人100的当前位置O向前截取预定长度L的全局路径以作为待平滑路径;对待平滑路径中的多个原始点进行处理以生成多个平滑路径点;根据平滑路径点生成控制指令以控制智能机器人100移动至待平滑路径的终点。
本申请实施方式的移动控制方法、移动控制装置200及智能机器人100中,首先从智能机器人100的当前位置向前截取预定长度的全局路径作为待平滑路径,然后对待平滑路径中的多个原始点进行处理得到多个平滑路径点,最后根据平滑路径点生成控制指令以控制智能机器人100移动至待平滑路径的终点。只需对预定长度的全局路径进行处理,使得计算量较小及耗时较短。同时,相对于对整个全局路径进行平滑处理的方式,本申请实施方式的移动控制方法对智能机器人100的移动控制更加精确和更加平滑,保证了智能机器人100移动时可以具有较好地平顺性和精确度。
智能机器人100具体可以是工业机器人、农业机器人、家庭机器人、服务机器人、清洁机器人等,在此不做限制。智能机器人100进一步地,清洁机器人可以是扫地机、洗地机、吸尘器等智能机器人100。智能机器人100还可以包括通信接口30、任务执行装置等元件,例如,智能机器人100可以用于清洁地板、地砖、路面或者水泥地等表面;智能机器人100还可以用于运输货物、执行救援等任务。
具体地,在步骤011中,获取智能机器人100的全局路径。全局路径用于智能机器人100的导航及定位,全局路径可以是智能机器人100规划的,全局路径也可以是用户设置好的,例如,用户在下达任务指令后,智能机器人100根据内部的规划器规划出全局路径。规划器可以根据智能机器人100内部的地图以及所要执行的任务,规划一条或多条全局路径。再例如,用户根据智能机器人100所要执行的任务及任务区域,用户设置一条全局路径。通常来说,全局路径都不够平滑,路径质量较差,智能机器人100沿着该全局路径移动平顺性及稳定性较差,导致智能机器人100执行任务质量较差。
其中,智能机器人100内部的地图可以是智能机器人100根据检测到的周围的环境数据构建的,也可以是用户将智能机器人100所要执行任务的区域的地图植入智能机器人100而得到的。如图4所示的实施例,智能机器人100需要由A点到B点的导航任务。全局路径为由A点到B点之间的路径,在图4中用直线表示。需要说明的是,全局路径不局限于图4所示的直线,还可以是曲线、折线等更多线型。
请结合图4及图5,在步骤012中,从智能机器人100的当前位置O向前截取预定长度L的全局路径以作为待平滑路径。具体地,智能机器人100的当前位置O指的是智能机器人100在当前时刻时所处的位置。例如,在初始时刻时,智能机器人100向前截取预定长度L的全局路径作为待平滑路径,此时智能机器人100的当前位置即为智能机器人100的初始位置,如图4所示;或者,智能机器人100行驶一段时间后,智能机器人100向前截取预定长度的路径L作为待平滑路径,如图5所示。其中,从智能机器人100的当前位置O向前截取预定长度L的全局路径指的是从智能机器人100的当前位置O向智能机器人100前进的方向截取预定长度L的全局路径。
进一步地,预定长度L指的是沿全局路径的延伸方向上的长度,预定长度L可以是预先设置好的数值,也可以是用户自定义的数值,还可以是根据智能机器人100的机身长度确定(例如,预定长度L可以是机身长度的1倍、2倍、3倍、3.5倍、4倍、5倍等更多倍数),或者预定长度L还可以根据全局路径的长度确定(例如,预定长度L可以是全局路径的长度的0.2、0.3、0.4、0.5、0.6、0.7等比例因子确定)。
在一个实施例中,预定长度L在智能机器人100的机身长度的3倍至4倍之间。可以理解,预定长度L可以是智能机器人100的机身长度的3倍、3.1倍、3.2倍、3.3倍、3.4倍、3.5倍、3.6倍、3.6倍、3.7倍、3.8倍、3.9倍、4倍等在智能机器人100的机身长度的3倍至4倍之间的任意倍数。预定长度L可以根据智能机器人100的机身长度确定,一方面,可以提高后续获取到的平滑路径点及控制指令的准确性,避免了因固定的预定长度L而影响对不同大小的智能机器人100的移动控制的准确性;另一方面,预定长度L在智能机器人100的机身长度的3倍至4倍之间,可以避免预定长度L过短导致计算到的平滑路径点不够准确,还可以避免预定长度L过长导致计算量较大及耗时较长。
在步骤013中,对待平滑路径中的多个原始点进行处理以生成多个平滑路径点。具体地,待平滑路径中存在多个原始点,原始点的坐标等数据均是已知的,通过对该多个原始点进行拟合、计算等处理以得到多个平滑路径点。其中,平滑路径点可以与原始点的数量相同或者不同,所有的平滑路径点与原始点可以均不相同,或者部分平滑路径点与部分原始点相同。
在步骤014中,根据平滑路径点生成控制指令以控制智能机器人100移动至所待平滑路径的终点。具体地,在获取到多个平滑路径点后,可以根据平滑路径点生成控制指令,例如,将获取到的平滑路径点输入智能机器人100内的控制器中,控制器可以生成控制指令。控制指令可以包括智能机器人100移动的速度、角速度、方向、加速度等。智能机器人100接收到控制指令后,根据控制指令移动,直至移动至待平滑路径的终点。例如,控制指令包括智能机器人100移动的速度;或者,控制指令包括智能机器人100移动的角速度;再或者,控制指令包括智能机器人100移动的速度和角速度。由此,可以根据速度和/或角速度精准控制智能机器人100的移动,使得智能机器人100移动较平顺稳定。控制指令还可包括其他速度、角速度、方向、加速度等的其他组合,在此不一一列举。
在某些实施方式中,在获取到多个平滑路径点后,也可以对多个平滑路径点通过拟合算法得到一条拟合曲线,根据得到的拟合曲线生成控制指令以控制智能机器人100移动至待平滑路径的终点。其中,该拟合曲线可以当将待平滑路径进行平滑处理后得到的曲线,该条拟合曲线的平滑性比较好。
请参阅图6,在某些实施方式中,步骤013包括以下步骤:
0131:获取待平滑路径上每个原始点的坐标;
0132:根据原始点的坐标计算原始点所对应的智能机器人100的累计里程;和
0133:基于累计里程和原始点的坐标,生成多个平滑路径点。
在某些实施方式中,处理模块203还可以用于:获取待平滑路径上每个原始点的坐标;根据原始点的坐标计算原始点所对应的智能机器人100的累计里程;和基于累计里程和原始点的坐标,生成多个平滑路径点。也即是说,处理模块203还可以实现步骤0131、步骤0132和步骤0133。
在某些实施方式中,处理器10还可以用于:获取待平滑路径上每个原始点的坐标;根据原始点的坐标计算原始点所对应的智能机器人100的累计里程;和基于累计里程和原始点的坐标,生成多个平滑路径点。也即是说,处理器10还可以实现步骤0131、步骤0132和步骤0133。
具体地,待平滑路径是在全局路径上截取得到的一段,由于全局路径是已知的,则待平滑路径上的多个原始点的坐标是已知的。根据原始点的坐标可以计算得到该原始点所对应的智能机器人100的累计里程,最后基于累计里程和原始点的坐标,可以生成多个平滑路径点。由此,生成的平滑路径点较准确,使得后续根据平滑路径点生成的控制指令更加准确。
更具体地,假如待平滑路径上有m个原始点,m个原始点的坐标分别为(X1,Y1)、(X2,Y2)、(X3,Y3)……(Xm,Ym),假设原始点所对应智能机器人100的累计里程为Si,则根据原始点的坐标计算智能机器人100的累计里程Si,可以得到:S1=0;
根据累计里程S和原始点的坐标,生成多个平滑路径点。例如,可以拟合上述累计里程S和原始点的坐标,得到累计里程S和原始点之间的映射关系,然后根据平滑路径点的位置可以确定平滑路径点的坐标。
进一步地,请参阅图7,在某些实施方式中,原始点包括x坐标和y坐标,平滑路径点包括x坐标和y坐标,平滑路径点与智能机器人100的当前位置之间的距离为间隔距离,步骤0133包括以下步骤:
1331:以累计里程S为自变量,原始点的x坐标为因变量对累计里程S和原始点的x坐标进行拟合以得到第一映射关系;
1332:以累计里程S为自变量,原始点的y坐标为因变量对累计里程S与原始点的y坐标进行拟合以得到第二映射关系;和
1333:基于第一映射关系和间隔距离计算每个平滑路径点的x坐标、基于第二映射关系和间隔距离计算每个平滑路径点的y坐标。
在某些实施方式中,处理模块203还可以用于:以累计里程S为自变量,原始点的x坐标为因变量对累计里程S和原始点的x坐标进行拟合以得到第一映射关系;以累计里程S为自变量,原始点的y坐标为因变量对累计里程S与原始点的y坐标进行拟合以得到第二映射关系;和基于第一映射关系和间隔距离计算每个平滑路径点的x坐标、基于第二映射关系和间隔距离计算每个平滑路径点的y坐标。也即是说,处理模块203还可以用于实现步骤1331、步骤1332和步骤1333。
在某些实施方式中,处理器10还可以用于:以累计里程S为自变量,原始点的x坐标为因变量对累计里程S和原始点的x坐标进行拟合以得到第一映射关系;以累计里程S为自变量,原始点的y坐标为因变量对累计里程S与原始点的y坐标进行拟合以得到第二映射关系;和基于第一映射关系和间隔距离计算每个平滑路径点的x坐标、基于第二映射关系和间隔距离计算每个平滑路径点的y坐标。也即是说,处理器10还可以用于实现步骤1331、步骤1332和步骤1333。
具体地,以累计里程S为自变量,原始点的x坐标为因变量,可以通过最小二乘法、随机抽样一致算法(Random sample consensus,RANSAC)、拉格朗日插值法、牛顿插值法、牛顿迭代法、区间二分法等拟合算法对累计里程S和原始点的x坐标进行拟合,以得到第一映射关系。可以理解,第一映射关系包括了原始点的x坐标与累计里程S之间的对应关系。第一映射关系可以是原始点的x坐标与累计里程S之间的函数关系,第一映射关系也可以是原始点的x坐标与累计里程S一一对应的其他类型的映射关系。
以累计里程S为自变量,原始点的y坐标为因变量,可以通过最小二乘法、随机抽样一致算法(Random sample consensus,RANSAC)、拉格朗日插值法、牛顿插值法、牛顿迭代法、区间二分法等拟合算法对累计里程S和原始点的y坐标进行拟合,以得到第二映射关系。可以理解,第二映射关系包括了原始点的y坐标与累计里程S之间的对应关系。第二映射关系可以是原始点的y坐标与累计里程S之间的函数关系,第二映射关系也可以是其他原始点的y坐标与累计里程S一一对应的其他类型的映射关系。
得到第一映射关系和第二映射关系后,根据各个平滑路径点与智能机器人100当前位置之间的距离,可以计算得到各个平滑路径点的x坐标和y坐标。由于第一映射关系中包括了原始点的x坐标与累计里程S的对应关系,第二映射关系中包括了原始点的y坐标与累计里程S的对应关系,平滑路径点与智能机器人100当前位置之间的距离可以理解为该平滑路径点对应的累计里程S,由此,可以根据间隔距离计算出对应的平滑路径点的x坐标和y坐标。
拟合累计里程S和原始点的x坐标得到第一映射关系,拟合累计里程S和原始点的y坐标得到第二映射关系,然后基于第一映射关系和间隔距离、基于第二映射关系和间隔距离分别计算平滑路径点的x坐标和y坐标,使得最后得到的平滑路径点更加地准确,基于平滑路径点生成的控制指令更加平顺及稳定。
其中,平滑路径点可以等间隔分布,例如,每个平滑路径点之间的间隔相等。或者,平滑路径点也可以是无规律的任意分布,例如,每个平滑路径点之间的间隔没有规律。再或者,平滑路径点可以是按照一定的规律分布,例如平滑路径点之间的间隔呈等差数列或等比数列分布。平滑路径点的具体分布在此不做限制。
在一个实施例中,以累计里程S为自变量、原始点的x坐标为因变量和以累计里程S为自变量、原始点的y坐标为因变量,将每组原始坐标点分解为两组坐标点,第一组坐标点为:(S1、X1)、(S2、X2)……(Sm、Xm);第二组坐标点为:(S1、Y1)、(S2、Y2)……(Sm、Ym)。然后分别对第一组坐标点和第二组坐标点进行最小二乘法拟合,以得到对应的拟合多项式(即,上述的第一映射关系和第二映射关系)。
针对第一组坐标点(S1、X1)、(S2、X2)……(Sm、Xm),采用n阶多项式进行拟合,假设拟合方程为:X=a0+a1S+a2S2+……+anSn,其中,多项式的系数a0、a1、a2……an是需要求解的值。采用最小二乘法进行拟合,通过最小二乘法进行拟合,可以使得拟合误差较小。建立拟合线性方程如下:
对于上述的这些线性方程组求解,即可得到多项式系数a0、a1、a2……、an,进一步得到X与S的函数关系:X=f(S)。
针对第二组坐标点(S1、Y1)、(S2、Y2)……(Sm、Ym),采用n阶多项式进行拟合,假设拟合方程为:Y=a0+a1S+a2S2+……+anSn,其中,多项式的系数a0、a1、a2……an是需要求解的值。采用最小二乘法进行拟合,建立拟合线性方程如下:
对于上述的这些线性方程组求解,即可得到多项式系数a0、a1、a2……、an,进一步得到Y与S的函数关系:Y=g(S)。
假设多个平滑路径点的间隔距离分别为:δ1、δ2、δ3……δk。x1=f(δ1)、x2=f(δ2)、x3=f(δ3)……xk=f(δk),y1=g(δ1)、y2=g(δ2)、y3=g(δ3)……yk=g(δk)。则可以计算所有的平滑路径点的x坐标和y坐标。
进一步地,在某些实施方式中,多个平滑路径点以路径间隔β等间隔分布,可以理解,平滑路径点的个数为n=L/β。则平滑路径点的x坐标为:xk=f(kβ),平滑路径点的y坐标为:yk=g(kβ)。
本实施方式中,通过最小二乘法对累计里程和原始点的x坐标进行拟合、通过最小二乘法对累计里程和原始点的y坐标进行拟合,可以使得拟合误差较小,最后得到的平滑路径点的坐标更加精准。
在某些实施方式中,请参阅图8,在执行完步骤014之后,即,在根据平滑路径点生成控制指令以控制智能机器人100移动至待平滑路径的终点后,移动控制方法还包括步骤:
015:循环执行截取待平滑路径、生成多个平滑路径点、及控制智能机器人100移动至待平滑路径的终点的步骤直至智能机器人100移动至全局路径的终点。
在某些实施方式中,移动控制装置200还包括循坏模块205,循坏模块205可以用于循环执行截取待平滑路径、生成多个平滑路径点、及控制智能机器人100移动至待平滑路径的终点的步骤直至智能机器人100移动至全局路径的终点。也即是说,循环控制模块可以用于实现步骤015。
在某些实施方式中,处理器10还可以用于循环执行截取待平滑路径、生成多个平滑路径点、及控制智能机器人100移动至待平滑路径的终点的步骤直至智能机器人100移动至全局路径的终点。也即是说,处理器10还可以用于实现步骤015。
具体地,智能机器人100根据控制指令移动至待平滑路径的终点时,循环执行步骤012、步骤013和步骤014,直至智能机器人100移动至全局路径的终点。具体地,智能机器人100移动至待平滑路径的终点时,以待平滑路径的终点为起点向前截取预定长度的全局路径作为新的待平滑路径,然后对新的待平滑路径中的多个原始点进行处理以生成多个路径平滑点,根据平滑路径点生成控制指令以控制智能机器人100移动至新的待平滑路径的终点。并一直判断智能机器人100此时是否到达全局路径的终点,如果没到达全局路径的终点则继续执行步骤012、步骤013和步骤014。若智能机器人100到达全局路径的终点,则智能机器人100不再执行步骤012、步骤013和步骤014。
更具体地,请结合图9,首先智能机器人100在位置O1处,向前截取预定长度L的全局路径作为第一个待平滑路径,对第一个待平滑路径中的多个原始点进行处理以生成多个平滑路径点,然后根据多个平滑路径点生成控制指令,控制智能机器人100移动至第一个待平滑路径的终点O2。此时发现智能机器人100还未到达全局路径的终点,从位置O2处向前截取预定长度L的全局路径作为第二个待平滑路径,继续对第二个待平滑路径中的多个原始点进行处理以生成多个平滑路径点,然后根据多个平滑路径点生成控制指令,控制智能机器人100移动至第二个待平滑路径的终点O3。此时智能机器人100仍未到达全局路径的终点,继续以位置O3处向前截取预定长度L的全局路径作为第三个待平滑路径,继续执行步骤013和步骤014。直至智能机器人100移动至全局路径的终点B,表明智能机器人100的任务执行完毕,不再执行步骤012、步骤013和步骤014。
可以理解,本实施方式的移动控制方法并非是按照预定长度将全局路径划分为多个待平滑路径,然后对每个待平滑路径进行平滑处理。相较于按照预定长度将全局路径划分为多个待平滑路径,对每个待平滑路径进行平滑处理的方式,本实施方式的移动控制方法的生成的平滑路径点更加准确,实时性更强。
进一步地,当智能机器人100到达待平滑路径的终点后,会丢弃基于该待平滑路径所对生成的平滑路径点(即,删除该部分平滑路径点),以减小占用智能机器人100的存储空间。同时,可以避免基于上一个待平滑路径所生成的平滑路径点,对基于新的待平滑路径所生成的平滑路径点造成干扰,使得根据平滑路径点生成的控制指令更加准确。
请参阅图10和图11,在智能机器人100的当前位置O与全局路径的终点B之间的剩余长度D小于预定长度L时,移动控制方法还包括以下步骤:
016:计算剩余长度D与预定长度L之间的长度差值;和
017:将全局路径延长长度差值。
在某些实施方式中,移动控制装置200还包括计算模块206和延长模块207,计算模块206可以用于计算剩余长度D与预定长度L之间的长度差值,延长模块207可以用于将全局路径延长长度差值。也即是说,计算模块206可以用于实现步骤016,延长模块207可以用于实现步骤017。
在某些实施方式中,处理器10还可以用于:计算剩余长度D与预定长度L之间的长度差值;和将全局路径延长长度差值。也即是说,处理器10还可以用于实现步骤016和步骤017。
具体地,请结合图11,在智能机器人100的当前位置O与全局路径的终点B之间的剩余长度D小于预定长度L时。例如,智能机器人100在全局路径上行驶了一段距离后,到全局路径的终点B的距离小于预定长度;或者全局路径的长度小于预定长度。计算剩余长度D与预定长度L之间的长度差值,即,长度差值为L-D。然后将全局路径延长长度差值,以使可以截取到预定长度的全局路径,使得剩余长度D的全局路径内生成的路径平滑点更加准确,对智能机器人100的移动时更加平顺稳定。
其中,将全局路径延长长度差值具体可以是沿全局路径的延伸方向曲线延长或者直线延长。同时,在生成剩余长度D的全局路径对应的路径平滑点时,需要生成全局路径终点所对应的路径点,使得智能机器人100可以移动至全局路径的终点。
请参阅12,在某些实施方式中,在智能机器人100移动至待平滑路径的终点时,移动控制方法还包括以下步骤:
018:若智能机器人100与全局路径的终点之间的第一距离小于预定长度,进一步判断第一距离是否小于距离阈值;
若是,执行步骤0181:根据未行使的全局路径控制智能机器人100移动至全局路径的终点;及
若否,执行步骤0182:将全局路径延长第一距离与预定长度之间的距离差值。
在某些实施方式中,移动控制装置200还包括第一判断模块208和第一执行模块209,第一判断模块208可以用于若智能机器人100与全局路径的终点之间的第一距离小于预定长度,进一步判断第一距离是否小于距离阈值;第一执行模块209可以用于在第一判断模块208的输出结果为是时,根据未行使的全局路径控制智能机器人100移动至全局路径的终点;第一执行模块209可以用于在第一判断模块208的输出结果为否时,将全局路径延长第一距离与预定长度之间的距离差值。也即是说,第一判断模块208可以用于实现步骤018,第一执行模块209可以用于实现步骤0181或步骤0182。
在某些实施方式中,处理器还可以用于:若智能机器人100与全局路径的终点之间的第一距离小于预定长度,进一步判断第一距离是否小于距离阈值;若是,根据未行使的全局路径控制智能机器人100移动至全局路径的终点;及若否,将全局路径延长第一距离与预定长度之间的距离差值。也即是说,处理器还可以用于实现步骤018、步骤0181或步骤0182。
具体地,当智能机器人100根据控制指令移动至待平滑路径的终点时,获取智能机器人100与全局路径的终点之间的第一距离,并判断第一距离与预定长度之间的关系;如果第一距离大于或等于预定长度,则继续执行步骤012、步骤013及步骤014。即,如果第一距离大于或等于预定长度,从智能机器人100的当前位置向前截取预定长度的路径以作为新的待平滑路径;对新的待平滑路径的多个原始点进行处理以生成多个平滑路径点;及根据平滑路径点生成控制指令以控制智能机器人100移动至待平滑路径的终点。
如果第一距离小于预定长度,则进一步判断第一距离是否小于距离阈值,距离阈值可以是预先设置好的,也可以是根据智能机器人100的实际情况(例如长度、宽度等)用户自定义或者自动生成的。如果第一距离小于距离阈值,表明智能机器人100已经接近于全局路径的终点,此时控制智能机器人100根据未行使的全局路径控制智能机器人100移动至全局路径的终点,例如根据未行使的全局路径的中的原始点生成控制指令控制智能机器人100移动至全局路径的终点。如果第一距离大于距离阈值,表明智能机器人100此时距离全局路径的终点较远,然而第一距离又小于预定长度,为了使得控制指令更加准确,便将全局路径延长第一距离与预定长度之间的距离差值,使得在当前位置可以向前截取到预定长度的全局路径,使得后续得到的平滑路径点更加准确。其中,延长全局路径可以是直线延长也可以是不规则的线型延长。
请参阅图13,在某些实施方式中,在智能机器人100移动至待平滑路径的终点时,移动控制方法还包括以下步骤:
019:若智能机器人100与全局路径的终点之间的第一距离小于预定长度,获取未行驶的全局路径的平滑度;
020:判断平滑度是否大于平滑度阈值;
若是,执行步骤0201:依据未行使的全局路径控制智能机器人100移动至全局路径的终点;
若否,执行步骤0202:将全局路径延长第一距离与预定长度之间的距离差值。
在某些实施方式中,移动控制装置200还包括第二获取模块210、第二判断模块211和第二执行模块212,第一获取模块用于若智能机器人100与全局路径的终点之间的第一距离小于预定长度,获取未行驶的全局路径的平滑度;第二判断模块211用于判断平滑度是否大于平滑度阈值;第二执行模块212可以用于在第二判断模块211的输出结果为是时,依据未行使的全局路径控制智能机器人100移动至全局路径的终点;第二执行模块212还可以用于在第二判断模块211的输出结果为否时,将全局路径延长第一距离与预定长度之间的距离差值。也即是说,第二获取模块210可以用于实现步骤019,第二判断模块211可以用于实现步骤020,第二执行模块212可以用于实现步骤0201或步骤0202。
在某些实施方式中,处理器还可以用于:若智能机器人100与全局路径的终点之间的第一距离小于预定长度,获取未行驶的全局路径的平滑度;判断平滑度是否大于平滑度阈值;若是,依据未行使的全局路径控制智能机器人100移动至全局路径的终点;若否,将全局路径延长第一距离与预定长度之间的距离差值。也即是说,处理器还可以用于实现步骤019、步骤020、步骤0201或步骤0202。
具体地,智能机器人100根据控制指令移动至待平滑路径的终点时,获取智能机器人100与全局路径的终点之间的第一距离,并判断第一距离与预定长度之间的关系;如果第一距离大于或等于预定长度,则继续执行步骤012、步骤013及步骤014。即,如果第一距离大于或等于预定长度,从智能机器人100的当前位置向前截取预定长度的路径以作为新的待平滑路径;对新的待平滑路径的多个原始点进行处理以生成多个平滑路径点;及根据平滑路径点生成控制指令以控制智能机器人100移动至待平滑路径的终点。
如果第一距离小于预定长度,获取剩余的未行使的全局路径的平滑度,例如可以通过对未行使的全局路径进行计算、求误差等方式得到未行使的全局路径的平滑度,进一步判断平滑度与平滑度阈值之间的关系,平滑度阈值可以是预先设置好的固定值,当路径的平滑度大于或等于平滑度阈值时,表明路径的质量较好,沿该路径行驶时平顺性及稳定性较好;当路径的平滑度小于平滑度阈值时,表明路径的质量较差,沿该路径行驶时平顺性及稳定性较差。
如果平滑度大于或等于平滑度阈值,则依据未行使的全局路径控制智能机器人100移动至全局路径的终点,例如根据未行使的全局路径中的原始点生成控制指令控制智能机器人100移动至全局路径的终点,由于未行使的全局路径的路径质量较高,直接根据该未行使的全局路径控制智能机器人100移动可以减少计算量,提升智能机器人100的工作效率。
如果平滑度小于平滑度阈值,将全局路径延长第一距离与预定长度之间的距离差值,使得在当前位置可以向前截取到预定长度的全局路径,使得后续得到的平滑路径点更加准确。其中,延长全局路径可以是直线延长也可以是不规则的线型延长。
请再次参阅图1及图2,存储器20用于存放可在处理器10上运行的计算机程序,处理器10执行程序时实现上述任一实施方式中的智能机器人100的移动控制方法。
存储器20可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。进一步地,智能机器人100还可包括通信接口30,通信接口30用于存储器20和处理器10之间的通信。
如果存储器20、处理器10和通信接口30独立实现,则通信接口30、存储器20和处理器10可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器20、处理器10及通信接口30,集成在一块芯片上实现,则存储器20、处理器10及通信接口30可以通过内部接口完成相互间的通信。
处理器20可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
请参阅图14,本申请实施方式的非易失性计算机可读存储介质300包括计算机可执行指令301,当计算机可执行指令301被一个或多个处理器400执行时,使得处理器400执行本申请任一实施方式的智能机器人100的移动控制方法。
例如,请结合图1和图4,计算可执行指令301被处理器400执行时,处理器400用于实施以下步骤:
011:获取智能机器人100的全局路径;
012:从智能机器人100的当前位置O向前截取预定长度L的全局路径以作为待平滑路径;
013:对待平滑路径中的多个原始点进行处理以生成多个平滑路径点;和
014:根据平滑路径点生成控制指令以控制智能机器人100移动至待平滑路径的终点。
再例如,请结合图7,计算可执行指令301被处理器400执行时,处理器400用于实施以下步骤:
1331:以累计里程为自变量,原始点的x坐标为因变量对累计里程和原始点的x坐标进行拟合以得到第一映射关系;
1332:以累计里程为自变量,原始点的y坐标为因变量对累计里程与原始点的y坐标进行拟合以得到第二映射关系;和
1333:基于第一映射关系和间隔距离计算每个平滑路径点的x坐标、基于第二映射关系和间隔距离计算每个平滑路径点的y坐标。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器1020的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块203中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“某些实施方式”、“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个所述特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个,除非另有明确具体的限定。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
Claims (10)
1.一种智能机器人的移动控制方法,其特征在于,包括:
获取所述智能机器人的全局路径;
从所述智能机器人的当前位置向前截取预定长度的全局路径以作为待平滑路径;
对所述待平滑路径中的多个原始点进行处理以生成多个平滑路径点,所述对所述待平滑路径中的多个原始点进行处理以生成多个平滑路径点,包括:
获取所述待平滑路径上每个所述原始点的坐标;
根据所述原始点的坐标计算所述原始点所对应的所述智能机器人的累计里程;
基于所述累计里程和所述原始点的坐标,生成多个所述平滑路径点;及
根据所述平滑路径点生成控制指令以控制所述智能机器人移动至所述待平滑路径的终点;
所述原始点包括x坐标和y坐标,所述平滑路径点包括x坐标和y坐标,所述平滑路径点与所述智能机器人的当前位置之间的距离为间隔距离,所述基于所述累计里程和所述原始点的坐标,生成多个所述平滑路径点,包括:
以所述累计里程为自变量,所述原始点的x坐标为因变量对所述累计里程和所述原始点的x坐标进行拟合以得到第一映射关系;
以所述累计里程为自变量,所述原始点的y坐标为因变量对所述累计里程与所述原始点的y坐标进行拟合以得到第二映射关系;及
基于所述第一映射关系和所述间隔距离计算每个所述平滑路径点的x坐标、基于所述第二映射关系和所述间隔距离计算每个所述平滑路径点的y坐标。
2.根据权利要求1所述的移动控制方法,其特征在于,在所述根据所述平滑路径点生成控制指令以控制所述智能机器人移动至所述待平滑路径的终点之后,所述移动控制方法还包括:
循环执行截取待平滑路径、生成多个平滑路径点、及控制所述智能机器人移动至所述待平滑路径的终点的步骤直至所述智能机器人移动至所述全局路径的终点。
3.根据权利要求1-2任意一项所述的移动控制方法,其特征在于,在所述智能机器人的当前位置与所述全局路径的终点之间的剩余长度小于预定长度时,所述移动控制方法还包括:
计算所述剩余长度与所述预定长度之间的长度差值;及
将所述全局路径延长所述长度差值。
4.根据权利要求1所述的移动控制方法,其特征在于,在所述智能机器人移动至所述待平滑路径的终点时,所述移动控制方法还包括:
若所述智能机器人与所述全局路径的终点之间的第一距离小于所述预定长度,进一步判断所述第一距离是否小于距离阈值;
若是,根据未行使的全局路径控制所述智能机器人移动至所述全局路径的终点;及
若否,将所述全局路径延长所述第一距离与所述预定长度之间的距离差值。
5.根据权利要求1所述的移动控制方法,其特征在于,在所述智能机器人移动至所述待平滑路径的终点时,所述移动控制方法还包括:
若所述智能机器人与所述全局路径的终点之间的第一距离小于所述预定长度,获取未行使的全局路径的平滑度;及
判断所述平滑度是否大于平滑度阈值;
若是,依据未行使的全局路径控制所述智能机器人移动至所述全局路径的终点;及
若否,将所述全局路径延长所述第一距离与所述预定长度之间的距离差值。
6.根据权利要求1-2任意一项所述的移动控制方法,其特征在于,所述预定长度在所述智能机器人的机身长度的3倍至4倍之间。
7.根据权利要求1-2任意一项所述的移动控制方法,其特征在于,所述控制指令包括所述智能机器人移动的速度、角速度、方向、及加速度中的至少一种。
8.一种智能机器人的移动控制装置,其特征在于,包括:
第一获取模块,所述第一获取模块用于获取所述智能机器人的全局路径;
截取模块,所述截取模块用于从所述智能机器人的当前位置向前截取预定长度的全局路径以作为待平滑路径;
处理模块,所述处理模块用于对所述待平滑路径中的多个原始点进行处理以生成多个平滑路径点,所述处理模块还用于:获取所述待平滑路径上每个所述原始点的坐标、根据所述原始点的坐标计算所述原始点所对应的所述智能机器人的累计里程、及基于所述累计里程和所述原始点的坐标,生成多个所述平滑路径点;及
生成模块,根据所述平滑路径点生成控制指令以控制所述智能机器人移动至所待平滑路径的终点;
所述原始点包括x坐标和y坐标,所述平滑路径点包括x坐标和y坐标,所述平滑路径点与所述智能机器人的当前位置之间的距离为间隔距离,所述处理模块还用于:
以所述累计里程为自变量,所述原始点的x坐标为因变量对所述累计里程和所述原始点的x坐标进行拟合以得到第一映射关系;
以所述累计里程为自变量,所述原始点的y坐标为因变量对所述累计里程与所述原始点的y坐标进行拟合以得到第二映射关系;及
基于所述第一映射关系和所述间隔距离计算每个所述平滑路径点的x坐标、基于所述第二映射关系和所述间隔距离计算每个所述平滑路径点的y坐标。
9.一种智能机器人,其特征在于,所述智能机器人包括:
一个或多个处理器、存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行权利要求1至7任意一项所述的移动控制方法的指令。
10.一种包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行权利要求1至7中任一项所述的移动控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010750650.3A CN111880539B (zh) | 2020-07-30 | 2020-07-30 | 智能机器人的移动控制方法及装置、智能机器人及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010750650.3A CN111880539B (zh) | 2020-07-30 | 2020-07-30 | 智能机器人的移动控制方法及装置、智能机器人及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111880539A CN111880539A (zh) | 2020-11-03 |
CN111880539B true CN111880539B (zh) | 2024-04-19 |
Family
ID=73205731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010750650.3A Active CN111880539B (zh) | 2020-07-30 | 2020-07-30 | 智能机器人的移动控制方法及装置、智能机器人及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880539B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114815846A (zh) * | 2022-05-11 | 2022-07-29 | 深圳市正浩创新科技股份有限公司 | 自移动设备的移动控制方法、控制装置及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104808665A (zh) * | 2015-04-16 | 2015-07-29 | 上海大学 | 基于多目标人工蜂群算法的多机器人路径规划方法 |
CN109308291A (zh) * | 2018-09-30 | 2019-02-05 | 歌尔科技有限公司 | 地图轨迹的平滑方法、装置、终端及计算机可读存储介质 |
CN109521763A (zh) * | 2017-09-18 | 2019-03-26 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的基于约束平滑样条的路径优化 |
CN109955853A (zh) * | 2017-12-14 | 2019-07-02 | 百度(美国)有限责任公司 | 用于操作自动驾驶车辆的方法、***和存储介质 |
CN110162029A (zh) * | 2018-02-12 | 2019-08-23 | 北京欣奕华科技有限公司 | 一种基于规划路径的运动控制方法及装置、机器人 |
CN111055274A (zh) * | 2019-11-28 | 2020-04-24 | 深圳优地科技有限公司 | 一种机器人路径的平滑方法及机器人 |
CN111399493A (zh) * | 2018-12-29 | 2020-07-10 | 北京奇虎科技有限公司 | 一种智能设备的路径展示方法和装置 |
CN111459160A (zh) * | 2020-04-02 | 2020-07-28 | 中国矿业大学 | 一种开放道路无人洗扫车大规模轨迹平滑方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579062B2 (en) * | 2017-05-31 | 2020-03-03 | Baidu Usa Llc | Scalable smooth reference path generator for autonomous driving vehicles |
US10274961B2 (en) * | 2017-07-26 | 2019-04-30 | GM Global Technology Operations LLC | Path planning for autonomous driving |
-
2020
- 2020-07-30 CN CN202010750650.3A patent/CN111880539B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104808665A (zh) * | 2015-04-16 | 2015-07-29 | 上海大学 | 基于多目标人工蜂群算法的多机器人路径规划方法 |
CN109521763A (zh) * | 2017-09-18 | 2019-03-26 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的基于约束平滑样条的路径优化 |
CN109955853A (zh) * | 2017-12-14 | 2019-07-02 | 百度(美国)有限责任公司 | 用于操作自动驾驶车辆的方法、***和存储介质 |
CN110162029A (zh) * | 2018-02-12 | 2019-08-23 | 北京欣奕华科技有限公司 | 一种基于规划路径的运动控制方法及装置、机器人 |
CN109308291A (zh) * | 2018-09-30 | 2019-02-05 | 歌尔科技有限公司 | 地图轨迹的平滑方法、装置、终端及计算机可读存储介质 |
CN111399493A (zh) * | 2018-12-29 | 2020-07-10 | 北京奇虎科技有限公司 | 一种智能设备的路径展示方法和装置 |
CN111055274A (zh) * | 2019-11-28 | 2020-04-24 | 深圳优地科技有限公司 | 一种机器人路径的平滑方法及机器人 |
CN111459160A (zh) * | 2020-04-02 | 2020-07-28 | 中国矿业大学 | 一种开放道路无人洗扫车大规模轨迹平滑方法 |
Non-Patent Citations (5)
Title |
---|
Research on path smoothing algorithm of coal mine rescue robot;Tao Dejun, et al;Industry and Mine Automation;第45卷(第10期);49-54 * |
一种移动机器人路径规划的优化方法;李燊等;新型工业化;第10卷(第5期);83-86 * |
移动机器人路径规划方法研究;曲道奎等;机器人(第02期);97-101 * |
移动机器人运动轨迹规划平滑性研究;PRUDNIKAU MIKALAI;;科技资讯(第12期);218-219 * |
自主车运动规划中的局部轨迹生成与参考路径优化方法研究;李超;中国优秀硕士学位论文全文数据库信息科技辑;第2020年(第02期);I140-598 * |
Also Published As
Publication number | Publication date |
---|---|
CN111880539A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11131996B2 (en) | Area partitioning method, partition cleaning method and robot thereof | |
US20190314991A1 (en) | Method for controlling robot movement and robot | |
CN107390698B (zh) | 扫地机器人的补扫方法及芯片 | |
JP6881723B2 (ja) | 作業領域における移動ロボットの角度補正方法および移動ロボット | |
CN108241370B (zh) | 通过栅格地图获取避障路径的方法及装置 | |
US11435480B2 (en) | Map construction method and robot | |
EP3384360B1 (en) | Simultaneous mapping and planning by a robot | |
CN107943025B (zh) | 机器人脱困的处理方法 | |
JP6673486B2 (ja) | 走行経路作成方法、自律走行装置、及びプログラム | |
JP2022511322A (ja) | 動的確率的運動計画 | |
CN111433697A (zh) | 用于自主移动机器人的运动规划 | |
CN111880539B (zh) | 智能机器人的移动控制方法及装置、智能机器人及可读存储介质 | |
JP5805841B1 (ja) | 自律移動体及び自律移動体システム | |
CN111360808B (zh) | 一种控制机器人运动的方法、装置及机器人 | |
US6754550B2 (en) | Toleranced digitizing method | |
CN111881239A (zh) | 构建方法、构建装置、智能机器人及可读存储介质 | |
CN111158353A (zh) | 用于多个机器人的移动控制方法以及其*** | |
CN110648038B (zh) | 用于清洁装置的任务区域分配方法和***以及清洁装置 | |
US20200401105A1 (en) | Agent-based slicing | |
CN109870716B (zh) | 定位方法和定位装置及计算机可读存储介质 | |
CN115454062A (zh) | 一种基于贝兹曲线的机器人动态路径规划方法及*** | |
CN107544498A (zh) | 可移动终端的移动路径规划方法及装置 | |
JP7235060B2 (ja) | 経路計画装置、経路計画方法、及びプログラム | |
JP6224543B2 (ja) | 入力装置及び指判定方法並びにプログラム | |
CN116185046B (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 |