CN111168669B - 机器人控制方法、机器人和可读存储介质 - Google Patents
机器人控制方法、机器人和可读存储介质 Download PDFInfo
- Publication number
- CN111168669B CN111168669B CN201911369922.9A CN201911369922A CN111168669B CN 111168669 B CN111168669 B CN 111168669B CN 201911369922 A CN201911369922 A CN 201911369922A CN 111168669 B CN111168669 B CN 111168669B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- robot
- ground
- laser
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
Abstract
本申请公开了一种机器人控制方法、机器人和可读存储介质。机器人控制方法包括:获取地面的激光点云数据,地面形成有标记图案;提取激光点云数据中与标记图案对应的标记点云数据;和根据标记点云数据和预设标记点云数据确定机器人的当前位置。本申请实施方式的机器人控制方法中,机器人在形成有标记图案的底面上采集激光点云数据,能够实现自动提取地面激光点云数据的标记特征,并且能够通过地面的标记特征辅助机器人定位,从而使得机器人在空旷场景下也能稳定导航。
Description
技术领域
本申请涉及机器人智能控制技术领域,更具体而言,涉及一种机器人控制方法、机器人和可读存储介质。
背景技术
相关技术中,智能机器人可以通过同步定位和建图(Simultaneous Localizationand Mapping,SLAM)技术实现在陌生环境中进行自主导航和定位,随着机器人快速的发展,智能机器人应用的领域越来越广泛,周围的环境也越来越复杂,当前的机器人技术通过激光,摄像头,GPS等传感器融合的方式进行自主导航和定位,但是在一些比较空旷的场景,基于激光点云采用地面以上的点云进行建图和定位的技术会出现失效的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的目的在于提供一种用于辅助机器人定位的机器人控制方法,能够实现自动提取地面点云上的标记特征,并且能够通过地面的标记特征辅助机器人定位,从而使得机器人在空旷场景下也能稳定导航。
本发明的另一个目的在于提供一种实现空旷场景下准确定位的机器人和可读存储介质。
为达到上述目的,本申请实施方式提供一种机器人控制方法,机器人控制方法包括:获取地面的激光点云数据,所述地面形成有标记图案;提取所述地面的激光点云数据中与所述标记图案对应的标记点云数据;和根据所述标记点云数据和预设标记点云数据确定所述机器人的当前位置。
本申请实施方式的机器人控制方法中,机器人在形成有标记图案的地面上采集激光点云数据,能够实现自动提取地面的激光点云数据的标记特征,并且能够通过地面的标记特征辅助机器人定位,从而使得机器人在空旷场景下也能稳定导航。
在某些实施方式中,在获取所述地面的激光点云数据前,所述机器人控制方法包括:控制所述机器人在工作区域内移动并获取所述工作区域的预设激光点云数据,根据所述预设激光点云数据建立所述工作区域的地图;提取所述预设激光点云数据中点云高度值位于地面的地面激光点云数据;和根据所述地面激光点云数据提取所述预设标记点云数据。机器人预先在工作区域内采集数据并形成具有与标记图案对应的预设标记点云数据。
在某些实施方式中,所述标记图案对于激光的反射率与所述地面对于激光的反射率不同,所述根据所述地面激光点云数据提取所述预设标记点云数据的步骤包括:根据所述地面激光点云数据的激光强度值提取所述预设标记点云数据。由于标记图案和地面对于激光的反射率不同,获取的激光点云数据中标记图案和地面对应的点云数据中激光强度不同,从而可以通过激光强度值提取标记图案对应的预设标记点云数据。
在某些实施方式中,所述根据所述地面激光点云数据的激光强度值提取所述预设标记点云数据的步骤包括:将所述地面激光点云数据以网格形式划分为多个子区域;对每个所述子区域内的所述地面激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和将多个所述子区域提取的所述激光强度值符合要求的点云数据合并以获取所述预设标记点云数据。机器人可以通过局部特征显著的方法提取所有在地面上标记图案对应的预设标记点云数据。
在某些实施方式中,所述提取所述地面的激光点云数据中所述标记图案对应的标记点云数据的步骤包括:控制所述机器人运动并使得获取的所述地面的激光点云数据的点云数量大于预设数量;将所述地面的激光点云数据以网格形式划分为多个子区域;对每个所述子区域内的所述地面的激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和将多个所述子区域提取的所述激光强度值符合要求的点云数据合并以获取所述标记图案对应的标记点云数据。在机器人移动过程中根据获取的点云数据提取标记图案对应的标记点云数据,使得机器人可以通过当前采集到的标记点云数据与预设标记点云数据进行对比。
在某些实施方式中,所述根据所述标记点云数据和预设标记点云数据确定所述机器人的位置的步骤包括:获取所述机器人的运动数据,并根据所述运动数据计算当前所述机器人的估计位置;根据所述机器人的估计位置将所述标记点云数据与所述预设标记点云数据进行匹配;和优化所述匹配的结果并确定所述机器人的当前位置。机器人通过导航过程中提取出来的标记点云数据与建图时提取出来的预设标记点云数据进行匹配并优化导航时机器人的位置。
在某些实施方式中,在确定所述机器人的当前位置之后,所述机器人控制方法包括:根据所述机器人的当前位置调整当前所述机器人的位姿并控制所述机器人移动。如此,可以达到辅助移动机器人定位的效果。
本申请实施方式提供一种机器人,机器人包括数据获取模块、提取模块和位置确定模块,所述数据获取模块用于获取地面的激光点云数据,所述地面形成有标记图案;所述提取模块用于提取所述地面的激光点云数据中与所述标记图案对应的标记点云数据;和所述位置确定模块用于根据所述地面的标记点云数据和预设标记点云数据确定所述机器人的当前位置。
本申请实施方式的机器人可以在形成有标记图案的地面上采集激光点云数据,进而实现自动提取地面的激光点云数据的标记特征,并且能够通过地面的标记特征辅助机器人定位,从而使得机器人在空旷场景下也能稳定导航。
在某些实施方式中,所述机器人包括控制模块和建图模块,所述控制模块用于控制所述机器人在工作区域内移动并获取所述工作区域的预设激光点云数据;所述建图模块用于根据所述预设激光点云数据建立所述工作区域的地图;所述提取模块用于提取所述预设激光点云数据中点云高度值位于地面的地面激光点云数据,以及用于根据所述地面激光点云数据提取所述预设标记点云数据。机器人预先在工作区域内采集数据并形成具有与标记图案对应的预设标记点云数据。
在某些实施方式中,所述标记图案对于激光的反射率与所述地面对于激光的反射率不同,所述提取模块用于根据所述地面激光点云数据的激光强度值提取所述预设标记点云数据。由于标记图案和地面对于激光的反射率不同,获取的激光点云数据中标记图案和地面对应的点云数据中激光强度不同,从而可以通过激光强度值提取标记图案对应的预设标记点云数据。
在某些实施方式中,所述提取模块包括划分单元、提取单元和合并单元,所述划分单元用于将所述地面激光点云数据以网格形式划分为多个子区域;所述提取单元用于对每个所述子区域内的所述地面激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和所述合并单元用于将多个所述子区域提取的所述激光强度值符合要求的点云数据合并以获取所述预设标记点云数据。机器人可以通过局部特征显著的方法提取所有在地面上标记图案对应的预设标记点云数据。
在某些实施方式中,所述控制模块用于控制所述机器人运动并使得获取的所述地面的激光点云数据的点云数量大于预设数量;所述划分单元用于将所述地面的激光点云数据以网格形式划分为多个子区域;所述提取单元用于对每个所述子区域内的所述地面的激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和所述合并单元用于将多个所述子区域提取的所述激光强度值符合要求的点云数据合并以获取所述标记图案对应的标记点云数据。在机器人移动过程中根据获取的点云数据提取标记图案对应的标记点云数据,使得机器人可以通过当前采集到的标记点云数据与预设标记点云数据进行对比。
在某些实施方式中,所述位置确定模块包括估计单元、匹配单元和优化单元,所述估计单元用于获取所述机器人的运动数据,并根据所述运动数据计算当前所述机器人的估计位置;所述匹配单元用于根据所述机器人的估计位置将所述标记点云数据与所述预设标记点云数据进行匹配;和所述优化单元用于优化所述匹配的结果并确定所述机器人的当前位置。机器人通过导航过程中提取出来的标记点云数据与建图时提取出来的预设标记点云数据进行匹配并优化导航时机器人的位置。
在某些实施方式中,在确定所述机器人的当前位置之后,所述控制模块用于根据所述机器人的当前位置调整当前所述机器人的位姿并控制所述机器人移动。如此,可以达到辅助移动机器人定位的效果。
本申请实施方式提供一种机器人,机器人包括处理器、可读存储介质及存储在所述可读存储介质上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时,使得所述处理器执行上述任一实施方式所述的控制方法。
本申请实施方式的机器人通过处理器执行计算机可执行指令,可以在形成有标记图案的地面上采集激光点云数据,进而实现自动提取地面激光点云数据的标记特征,并且能够通过地面的标记特征辅助机器人定位,从而使得机器人在空旷场景下也能稳定导航。
本申请实施方式提供一种非易失性计算机可读存储介质,计算机可读存储介质包括计算机可执行指令,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行上述实施方式的机器人控制方法。
本申请实施方式的可读存储介质中,通过处理器执行计算机可执行指令,机器人可以在形成有标记图案的地面上采集激光点云数据,进而实现自动提取地面激光点云数据的标记特征,并且能够通过地面的标记特征辅助机器人定位,从而使得机器人在空旷场景下也能稳定导航。
本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请实施方式的机器人的模块示意图。
图2是本申请实施方式的机器人控制方法的流程示意图。
图3是本申请实施方式的机器人控制方法的另一流程示意图。
图4是本申请实施方式的机器人应用场景示意图。
图5是本申请实施方式的机器人控制方法的又一流程示意图。
图6是本申请实施方式的地面激光点云数据的分布示意图。
图7是本申请实施方式的预设标记点云数据的分布示意图。
图8是本申请实施方式的机器人控制方法的再一流程示意图。
图9是本申请实施方式的机器人控制方法的再一流程示意图。
图10是本申请实施方式的机器人控制方法的再一流程示意图。
图11是本申请实施方式的机器人控制方法的再一流程示意图。
图12是本申请实施方式的机器人的另一模块示意图。
图13是本申请实施方式的机器人的又一模块示意图。
主要元件符号说明:
机器人10、数据获取模块11、提取模块12、划分单元122、提取单元124、合并单元126、位置确定模块13、估计单元132、匹配单元134、优化单元136、激光发射器14、激光传感器15、控制模块16、建图模块17、传感器组件18、处理器19、可读存储介质20、计算机可执行指令22、服务器30、终端设备40。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
请参阅图1和图2,本申请实施方式的机器人控制方法用于控制机器人10执行任务。机器人10包括但不限于清洁机器人、运输机器人、巡逻机器人等可移动机器人。
在某些实施方式中,机器人控制方法包括:
步骤S1,获取地面的激光点云数据,地面形成有标记图案;
步骤S2,提取激光点云数据中与标记图案对应的标记点云数据;和
步骤S3,根据标记点云数据和预设标记点云数据确定机器人10的当前位置。
具体地,机器人10可以包括数据获取模块11、提取模块12和位置确定模块13,步骤S1可以由数据获取模块11实现,步骤S2可以由提取模块12实现,步骤S3可以由位置确定模块13实现。也即是说,数据获取模块11可以用于获取地面的激光点云数据。提取模块12可以用于提取激光点云数据中与标记图案对应的标记点云数据。位置确定模块13可以用于根据标记点云数据和预设标记点云数据确定机器人10的当前位置。
本申请实施方式的机器人控制方法中,机器人10在形成有标记图案的地面上采集激光点云数据,能够实现自动提取地面激光点云数据的标记特征,并且能够通过地面的标记特征辅助机器人10定位,从而使得机器人10在空旷场景下也能稳定导航。
在某些实施方式中,标记图案可以是车道线、网格线、盲道或其他纹理图案等,在此不做具体限定。
在某些实施方式中,机器人10包括激光发射器14和激光传感器15,激光发射器14可以用于向机器人10周围环境发射激光,激光传感器15可以用于接收机器人10周围的环境反射的激光以获取周围环境的激光点云数据。
进一步的,机器人10可以根据获取的周围环境的点云数据建立地图以实现机器人10的导航,以对机器人10进行定位并可以避免机器人10与障碍物碰撞。
在一个例子中,激光发射器14可以是红外激光发射器,激光传感器15可以是红外激光传感器。红外激光发射器可以用于向机器人10周围环境发射红外激光,红外激光传感器可以用于接收机器人10周围的环境反射的红外激光以获取周围环境的红外激光点云数据。
如此,机器人10可以减少可见光线的影响,使得红外激光传感器获取的红外激光点云数据更加准确。其中,红外激光传感器可以通过内部设置的红外滤光片滤除可见光,并使得相应波长的红外激光通过。
请参阅图3,在某些实施方式中,在获取地面的激光点云数据前,机器人控制方法还包括:
步骤S01,控制机器人10在工作区域内移动并获取工作区域所在地面的预设激光点云数据,根据预设激光点云数据建立工作区域的地图;
步骤S02,提取预设激光点云数据中点云高度值位于地面的地面激光点云数据;和
步骤S03,根据地面激光点云数据提取预设标记点云数据。
具体地,机器人10可以包括控制模块16和建图模块17。步骤S01可以由控制模块16、数据获取模块11和建图模块17实现,步骤S02和步骤S03可以由提取模块12实现。也即是说,控制模块16可以用于控制机器人10在工作区域内移动。数据获取模块11可以用于获取工作区域所在地面的预设激光点云数据。建图模块17可以用于根据预设激光点云数据建立工作区域的地图。提取模块12可以用于提取预设激光点云数据中点云高度值位于地面的地面激光点云数据,以及用于根据地面激光点云数据提取预设标记点云数据。
可以理解,机器人10在进入到新的作业场景中,可以通过激光传感器15扫描场景以获取场景的激光点云数据并建立场景地图,然后根据机器人10在地图中的位置执行相应任务以进行自动作业。如图4所示,获取的激光点云数据以及建立的地图可以存储在机器人10、终端设备40和/或服务器30内,机器人10、终端设备40和/或服务器30可以通过有线和/或无线通信连接,从而指导机器人10进行移动。其中,无线网络通信连接包括但不限于WiFi、蓝牙(Bluetooth)、紫蜂(Zigbee)、窄带物联网(Narrow Band Internet of Things,NB-Iot)等无线通信方式。具体地,获取激光点云数据并建立场景地图后,可以在终端设备40的相关应用中对场景地图进行编辑,从而确定机器人10的工作区域。
如此,机器人10预先在工作区域内采集数据并形成具有与标记图案对应的预设标记点云数据。其中,激光点云数据可以包括目标表面的三维坐标数据和发射强度数据,在步骤S02中,提取模块12可以根据机器人10本身的参数以及获取的激光点云数据确定地面对应的高度值,如图6所示,可以将与地面对应高度值相同或相近的激光点云数据确定为地面激光点云数据。
在某些实施方式中,步骤S01中,机器人10可以通过同步定位和建图(Simultaneous Localization and Mapping,SLAM)技术建立工作区域的地图。
在某些实施方式中,标记图案对于激光的反射率与地面对于激光的反射率不同,步骤S03包括:
根据地面激光点云数据的激光强度值提取预设标记点云数据。
具体地,提取模块12可以用于根据地面激光点云数据的激光强度值提取所述预设标记点云数据。
如此,由于标记图案和地面对于激光的反射率不同,获取的激光点云数据中标记图案和地面对应的点云数据中激光强度不同,如图7所示,机器人可以通过激光强度值提取标记图案对应的预设标记点云数据。
请参阅图5,在某些实施方式中,根据地面激光点云数据的激光强度值提取预设标记点云数据的步骤包括:
步骤S032,将地面激光点云数据以网格形式划分为多个子区域;
步骤S034,对每个子区域内的地面激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和
步骤S036,将多个子区域提取的激光强度符合要求的点云数据合并以获取预设标记点云数据。
具体地,提取模块12包括划分单元122、提取单元124和合并单元126,步骤S0322可以由划分单元122实现,步骤S0324可以由提取单元124实现,步骤S0326可以由合并单元126实现。也即是说,划分单元122可以用于将地面激光点云数据以网格形式划分为多个子区域。提取单元124可以用于对每个子区域内的地面激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据。合并单元126可以用于将多个子区域提取的激光强度符合要求的点云数据合并以获取预设标记点云数据。
如此,机器人10可以通过局部特征显著的方法提取所有在地面上标记图案对应的预设标记点云数据。
在一个例子中,步骤S032可以将工作区域划分为多个1m×1m大小的正方形子区域。当然,在其他例子中,子区域的大小和形状可以根据实际需要灵活设置,在此不做具体限定。
在某些实施方式中,标记图案对于激光的反射率大于地面对于激光的反射率,步骤S034包括:
对每个子区域内的地面激光点云数据进行二值化处理以提取激光强度值大于预设值的点云数据。
具体地,提取单元124可以用于对每个子区域内的地面激光点云数据进行二值化处理以提取激光强度值大于预设值的点云数据。
由于标记图案对于激光的反射率大于地面对于激光的反射率,相应地,标记图案反射激光形成的激光点云数据的激光强度大于地面反射激光形成的激光点云数据的强度,通过设置预设值来将地面激光点云数据进行二值化处理即可区分标记图案对应的点云数据以及地面对应的点云数据,从而提取标记点云数据。
当然,在其他实施方式中,标记图案对于激光的反射率还可以是小于地面对于激光的反射率。相应地,提取单元124可以用于对每个子区域内的地面激光点云数据进行二值化处理以提取激光强度值小于预设值的点云数据。
在一个例子中,提取单元124可以采用最大类间方差法(OTSU算法)对每个子区域内的地面激光点云数据进行二值化处理。每个区域对应的预设值可以是提取单元124根据最大类间方差法对每个子区域内的地面激光点云数据进行处理得到的最佳阈值。
请参阅图8,在某些实施方式中,步骤S2包括:
步骤S22,控制机器人10运动并使得获取的激光点云数据的点云数量大于预设数量;
步骤S24,将激光点云数据以网格形式划分为多个子区域;
步骤S26,对每个子区域内的激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和
步骤S28,将多个子区域提取的激光强度符合要求的点云数据合并以获取标记图案对应的标记点云数据。
具体地,步骤S22可以由控制模块16实现,步骤S24可以由划分单元122实现,步骤S26可以由提取单元124实现,步骤S28可以由合并单元126实现。也即是说,控制模块16可以用于控制机器人10运动并使得获取的激光点云数据的点云数量大于预设数量。划分单元122可以用于将激光点云数据以网格形式划分为多个子区域。提取单元124可以用于对每个子区域内的激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据。合并单元126可以用于将多个子区域提取的激光强度符合要求的点云数据合并以获取标记图案对应的标记点云数据。
如此,在机器人10移动过程中根据获取的点云数据提取标记图案对应的标记点云数据,使得机器人10可以通过当前采集到的标记点云数据与预设标记点云数据进行对比。
请参阅图9,在某些实施方式中,步骤S3包括:
步骤S32,获取机器人10的运动数据,并根据运动数据计算当前机器人10的估计位置;
步骤S34,根据机器人10的估计位置将标记点云数据与预设标记点云数据进行匹配;和
步骤S36,优化匹配结果并确定机器人10的当前位置。
具体地,位置确定模块13包括估计单元132、匹配单元134和优化单元136。步骤S32可以由估计单元132实现,步骤S34可以由匹配单元134实现,步骤S36可以由优化单元136实现。也即是说,估计单元132可以用于获取机器人10的运动数据,并根据运动数据计算当前机器人10的估计位置。匹配单元134可以用于根据机器人10的估计位置将标记点云数据与预设标记点云数据进行匹配。优化单元136可以用于优化匹配结果并确定机器人10的当前位置。
如此,机器人10通过导航过程中提取出来的标记点云数据与建图时提取出来的预设标记点云数据进行匹配并优化导航时机器人10的位置。
在一个例子中,步骤S36采用迭代最近点算法(Iterative Closest Point,ICP)优化匹配结果。可以理解,机器人10在移动过程中在不同位置采集到物体的点云角度、位置存在差异,迭代最近点算法可以通过旋转、平移的方式将标记点云数据和预设标记点云数据中处于空间同一位置的点一一对应起来,并使得两个点云数据之间的距离最小,从而确定机器人10的位置和姿态。
在某些实施方式中,机器人10包括传感器组件18,运动数据包括速度、加速度、角速度等测量数据。
可以理解,机器人10开始执行任务时,可以由工作人员将机器人10移动至一起始位置,例如,周围环境参照物较多的位置,使得机器人10可以根据周围环境的激光点云数据进行精确定位,或者是一固定位置,机器人10根据移动过程中的移动速度、加速度和角速度等可以粗略地估算出机器人10在全局的估计位置。
进一步地,传感器组件18包括速度传感器和惯性测量单元(InertialMeasurement Unit,IMU)等。
在某些实施方式中,机器人10可以从起始位置开始移动,并获取激光点云数据,其中起始位置可以是机器人10的工作区域中的某一固定位置,或者是用户根据机器人10所在输入的位置,或者是机器人10上次工作结束后记录的位置等。如此,由于起始位置是已知的从而通过检测机器人10的速度、加速度、角速度等可以粗略估计得到机器人10移动过程中的估计位置。
请参阅图10,在一个例子中,标记图案以车道线为例,步骤S3包括:
步骤S322,通过机器人10的移动速度以及惯性测量单元检测的运动数据计算得到粗略的全局的估计位置pose=(x,y,θ)和poserobot;
步骤S342,处理激光点云数据以得到当前的车道线的激光点云与建图时的车道线的预设点云的一个粗略点云匹配;
步骤S362,使用迭代最近点算法优化当前车道线的激光点云与建图时车道线的预设点云的匹配结果;
步骤S364,优化当前车道线的激光点云到建图时车道线的预设点云的位置pose'=(x’,y’,θ’);和
步骤S366,根据优化后的当前车道线的激光点云的pose'更新当前机器人的定位pose'robot=(pose.inverse*pose')*poserobot。
具体地,步骤S322可以由估计单元132实现,步骤S342可以由匹配单元134实现,步骤S362、步骤S364和步骤S366可以由优化单元136实现。也即是说,估计单元132可以用于通过机器人10的移动速度以及惯性测量单元检测的运动数据计算得到粗略的全局的估计位置pose=(x,y,θ)。匹配单元134可以用于处理激光点云数据以得到当前的车道线的激光点云与建图时的车道线的预设点云的一个粗略点云匹配。优化单元136可以用于使用迭代最近点算法优化当前车道线的激光点云与建图时车道线的预设点云的匹配结果,及用于优化当前车道线的激光点云到建图时车道线的预设点云的位置pose'=(x’,y’,θ’),以及用于根据优化后的当前车道线的激光点云的pose'更新当前机器人的定位pose'robot=(pose.inverse*pose')*poserobot。
其中,pose为根据运动数据在优化前计算的激光点云在全局的估计位置,poserobot为根据运动数据在优化前计算的机器人的估计位置。x、y、θ为点云在二维平面的坐标参数,具体地,x、y分别为坐标值,θ为方向角度。pose'为优化后确定的激光点云的位置,同样地,x’、y’、θ’为点云在二维平面的坐标参数,具体地,x’、y’分别为坐标值,θ’为方向角度。
在步骤S366中,更新当前机器人10的定位时,pose.inverse表示针对优化前激光点云的位置做矩阵的逆运算,然后以pose.inverse和优化后计算的激光点云在全局的估计位置pose'相乘从而得到优化前激光点云的估计位置到优化后激光点云的位置的转换参数,进而对优化前机器人10的估计位置poserobot进行转换从而得到优化后机器人10的位置。
如此,机器人10可实现通过地面激光点云数据提取车道线特征来辅助定位,保证机器人10定位的准确性。
在某些实施方式中,机器人10还可以结合GPS传感器和摄像头进一步增加定位的准确性。也即是说,机器人10可以通过激光,摄像头,GPS等传感器融合的方式进行自主导航和定位。
请参阅图11,在某些实施方式中,机器人控制方法包括:
步骤S4,根据机器人10的当前位置调整当前机器人10的位姿并控制机器人10移动。
具体地,步骤S4可以由控制模块实现。也即是说,控制模块可以用于根据机器人10的当前位置调整当前机器人10的位姿并控制机器人10移动。
如此,机器人10通过优化后获取的当前位置对机器人10位置进行实时更新,可以达到辅助移动机器人10定位的效果,实现机器人10稳定导航。
请参阅图12,本申请实施方式提供的机器人10包括处理器19、可读存储介质20及存储在可读存储介质20上并可在处理器19上运行的计算机可执行指令22,计算机可执行指令22被处理器19执行时,使得处理器19执行上述任一实施方式的控制方法。
在一个例子中,计算机可执行指令22被处理器19执行时,使得处理器19执行以下步骤:
步骤S1,获取地面的激光点云数据,地面形成有标记图案;
步骤S2,提取激光点云数据中与标记图案对应的标记点云数据;和
步骤S3,根据标记点云数据和预设标记点云数据确定机器人10的当前位置。
本申请实施方式的机器人10通过处理器19执行计算机可执行指令22,使得机器人10能够实现自动提取地面激光点云上的标记特征,并且能够通过地面的标记特征辅助机器人10定位,从而使得机器人10在空旷场景下也能稳定导航。
本申请实施方式还提供了一种非易失性计算机可读存储介质20,可读存储介质20包括计算机可执行指令22,当计算机可执行指令22被一个或多个处理器19执行时,使得处理器19执行上述任一实施方式的机器人控制方法。
请参阅图13,一个或多个处理器19可以通过总线耦合至可读存储介质20,可读存储介质20存储有计算机可执行指令22,通过处理器19处理上述指令以执行本申请实施方式的机器人控制方法,能够实现机器人10安全执行乘梯任务。机器人10还可以通过通信模块连接至网络以实现与服务器30和/或终端设备40的通信连接,以及通过输入/输出接口连接至输入/输出装置,采集环境信息或输出控制状态信号。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”或“一个例子”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。
Claims (10)
1.一种机器人控制方法,其特征在于,包括:
控制所述机器人在工作区域内移动并获取所述工作区域的预设激光点云数据,根据所述预设激光点云数据建立所述工作区域的地图,所述工作区域的地面形成有标记图案,所述标记图案对于激光的反射率与所述地面对于激光的反射率不同;
提取所述预设激光点云数据中点云高度值位于地面的地面激光点云数据;
将所述地面激光点云数据以网格形式划分为多个子区域;
对每个所述子区域内的所述地面激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;
将多个所述子区域提取的所述激光强度值符合要求的点云数据合并以获取预设标记点云数据;
在机器人导航过程中获取地面的激光点云数据;
提取所述地面的激光点云数据中点云高度值位于地面且与所述标记图案对应的标记点云数据;和
根据所述标记点云数据和所述预设标记点云数据确定所述机器人的当前位置。
2.根据权利要求1所述的机器人控制方法,其特征在于,所述提取所述地面的激光点云数据中点云高度值位于地面且所述标记图案对应的标记点云数据的步骤包括:
控制所述机器人运动并使得获取的所述地面的激光点云数据的点云数量大于预设数量;
将所述地面的激光点云数据以网格形式划分为多个子区域;
对每个所述子区域内的所述地面的激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和
将多个所述子区域提取的所述激光强度值符合要求的点云数据合并以获取所述标记图案对应的标记点云数据。
3.根据权利要求1所述的机器人控制方法,其特征在于,所述根据所述标记点云数据和所述预设标记点云数据确定所述机器人的位置的步骤包括:
获取所述机器人的运动数据,并根据所述运动数据计算当前所述机器人的估计位置;
根据所述机器人的估计位置将所述标记点云数据与所述预设标记点云数据进行匹配;和
优化所述匹配的结果并确定所述机器人的当前位置。
4.根据权利要求1所述的机器人控制方法,其特征在于,在确定所述机器人的当前位置之后,所述机器人控制方法包括:
根据所述机器人的当前位置调整当前所述机器人的位姿并控制所述机器人移动。
5.一种机器人,其特征在于,包括:
控制模块,所述控制模块用于控制所述机器人在工作区域内移动并获取所述工作区域的预设激光点云数据,所述工作区域的地面形成有标记图案,所述标记图案对于激光的反射率与所述地面对于激光的反射率不同;
建图模块,所述建图模块用于根据所述预设激光点云数据建立所述工作区域的地图;
提取模块,所述提取模块包括:
划分单元,所述划分单元用于将所述地面激光点云数据以网格形式划分为多个子区域;
提取单元,所述提取单元用于对每个所述子区域内的所述地面激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和
合并单元,所述合并单元用于将多个所述子区域提取的所述激光强度值符合要求的点云数据合并以获取所述预设标记点云数据;
数据获取模块,所述数据获取模块用于在机器人导航过程中获取地面的激光点云数据;
所述提取模块还用于提取所述地面的激光点云数据中点云高度值位于地面且与所述标记图案对应的标记点云数据;和
位置确定模块,所述位置确定模块用于根据所述标记点云数据和所述预设标记点云数据确定所述机器人的当前位置。
6.根据权利要求5所述的机器人,其特征在于,所述控制模块还用于控制所述机器人运动并使得获取的所述地面的激光点云数据的点云数量大于预设数量;
所述划分单元还用于将所述地面的激光点云数据以网格形式划分为多个子区域;
所述提取单元还用于对每个所述子区域内的所述地面的激光点云数据进行二值化处理以提取激光强度值符合要求的点云数据;和
所述合并单元还用于将多个所述子区域提取的所述激光强度值符合要求的点云数据合并以获取所述标记图案对应的标记点云数据。
7.根据权利要求5所述的机器人,其特征在于,所述位置确定模块包括:
估计单元,所述估计单元用于获取所述机器人的运动数据,并根据所述运动数据计算当前所述机器人的估计位置;
匹配单元,所述匹配单元用于根据所述机器人的估计位置将所述标记点云数据与所述预设标记点云数据进行匹配;和
优化单元,所述优化单元用于优化所述匹配的结果并确定所述机器人的当前位置。
8.根据权利要求5所述的机器人,其特征在于,所述机器人包括控制模块,在确定所述机器人的当前位置之后,所述控制模块用于根据所述机器人的当前位置调整当前所述机器人的位姿并控制所述机器人移动。
9.一种机器人,其特征在于,包括处理器、可读存储介质及存储在所述可读存储介质上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时,使得所述处理器执行权利要求1-4任一项所述的机器人控制方法。
10.一种非易失性计算机可读存储介质,其特征在于,所述可读存储介质包括计算机可执行指令,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行权利要求1-4任一项所述的机器人控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369922.9A CN111168669B (zh) | 2019-12-26 | 2019-12-26 | 机器人控制方法、机器人和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369922.9A CN111168669B (zh) | 2019-12-26 | 2019-12-26 | 机器人控制方法、机器人和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111168669A CN111168669A (zh) | 2020-05-19 |
CN111168669B true CN111168669B (zh) | 2021-12-03 |
Family
ID=70648913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911369922.9A Active CN111168669B (zh) | 2019-12-26 | 2019-12-26 | 机器人控制方法、机器人和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111168669B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835085B (zh) * | 2020-07-09 | 2022-04-12 | 北京京东乾石科技有限公司 | 确定车辆位置的方法和装置 |
CN112388638A (zh) * | 2020-11-12 | 2021-02-23 | 沈阳建筑大学 | 一种建筑机器人控制方法 |
CN112601060B (zh) * | 2020-12-10 | 2022-03-15 | 西北工业大学 | 一种桌面集群机器人的主动共享投影面感知系统 |
CN113706621B (zh) * | 2021-10-29 | 2022-02-22 | 上海景吾智能科技有限公司 | 基于带标记图像的标志点定位及姿态获取方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9044857B2 (en) * | 2012-02-14 | 2015-06-02 | Jerry Neal Sommerville | Control system that guides a robot or articulated device with a laser distance meter for 3D motion, or guides a robot or articulated device with a computer pointing device (such as a mouse) for 2D motion |
CN105678689A (zh) * | 2015-12-31 | 2016-06-15 | 百度在线网络技术(北京)有限公司 | 高精地图数据配准关系确定方法及装置 |
CN105674991A (zh) * | 2016-03-29 | 2016-06-15 | 深圳市华讯方舟科技有限公司 | 一种机器人定位方法和装置 |
CN106681330A (zh) * | 2017-01-25 | 2017-05-17 | 北京航空航天大学 | 基于多传感器数据融合的机器人导航方法及装置 |
CN108225334A (zh) * | 2018-01-17 | 2018-06-29 | 泰瑞天际科技(北京)有限公司 | 一种基于三维实景数据的定位方法及装置 |
CN110568447A (zh) * | 2019-07-29 | 2019-12-13 | 广东星舆科技有限公司 | 视觉定位的方法、装置及计算机可读介质 |
-
2019
- 2019-12-26 CN CN201911369922.9A patent/CN111168669B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9044857B2 (en) * | 2012-02-14 | 2015-06-02 | Jerry Neal Sommerville | Control system that guides a robot or articulated device with a laser distance meter for 3D motion, or guides a robot or articulated device with a computer pointing device (such as a mouse) for 2D motion |
CN105678689A (zh) * | 2015-12-31 | 2016-06-15 | 百度在线网络技术(北京)有限公司 | 高精地图数据配准关系确定方法及装置 |
CN105674991A (zh) * | 2016-03-29 | 2016-06-15 | 深圳市华讯方舟科技有限公司 | 一种机器人定位方法和装置 |
CN106681330A (zh) * | 2017-01-25 | 2017-05-17 | 北京航空航天大学 | 基于多传感器数据融合的机器人导航方法及装置 |
CN108225334A (zh) * | 2018-01-17 | 2018-06-29 | 泰瑞天际科技(北京)有限公司 | 一种基于三维实景数据的定位方法及装置 |
CN110568447A (zh) * | 2019-07-29 | 2019-12-13 | 广东星舆科技有限公司 | 视觉定位的方法、装置及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111168669A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111168669B (zh) | 机器人控制方法、机器人和可读存储介质 | |
US11714416B2 (en) | Method of navigating a vehicle and system thereof | |
US11660752B2 (en) | Perception and fitting for a stair tracker | |
EP3367199B1 (en) | Moving robot and method of controlling the same | |
EP3391166B1 (en) | Autonomous visual navigation | |
CN108007452B (zh) | 根据障碍物更新环境地图的方法、装置及机器人 | |
JP7204326B2 (ja) | 情報処理装置及びその制御方法及びプログラム、並びに、車両の運転支援システム | |
JP6533619B2 (ja) | センサキャリブレーションシステム | |
JP6881464B2 (ja) | 自己位置推定方法及び自己位置推定装置 | |
US11351986B2 (en) | In-vehicle processing apparatus | |
KR20170088228A (ko) | 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법 | |
CN112740274A (zh) | 在机器人设备上使用光流传感器进行vslam比例估计的系统和方法 | |
CN112539749B (zh) | 机器人导航方法、机器人、终端设备及存储介质 | |
CN111263308A (zh) | 定位数据采集方法及系统 | |
US11599128B2 (en) | Perception and fitting for a stair tracker | |
US20230333568A1 (en) | Transport vehicle system, transport vehicle, and control method | |
CN114911223B (zh) | 一种机器人导航方法、装置、机器人及存储介质 | |
CN109901589B (zh) | 移动机器人控制方法和装置 | |
KR101829348B1 (ko) | 차선정보 구축용 가변형 차선정보 구축관리시스템 | |
KR101835544B1 (ko) | 차선 도색을 이용한 도로정보 구축관리시스템 | |
KR101829342B1 (ko) | 가변형 장비를 이용한 정밀 도로정보 구축관리시스템 | |
US20230320263A1 (en) | Method for determining information, remote terminal, and mower | |
WO2023127337A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6742479B1 (ja) | 地図生成装置、地図生成方法及びプログラム | |
Bécsi et al. | 2d lidar-based localization for highly automated parking in previously mapped environment |
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 |