掌桥专利:专业的专利平台
掌桥专利
首页

水池地图的生成方法、存储介质及水池机器人

文献发布时间:2024-04-18 19:52:40



技术领域

本申请实施例涉及机器人领域,具体而言,涉及一种水池地图的生成方法、存储介质及水池机器人。

背景技术

随着人们生活品质的提升,越来越多的家庭或者游乐场里配置了用于观赏或者用于游泳的水池,能够对水池进行清洁的水池机器人便应用而生了。水池机器人能够自动清洁水池的底部、侧壁、水面等,为人们的生活提供了极大的便利。

目前市面上水池机器人只提供了基础的清洁水池(例如,游泳池)的部分功能,但是实际上用户希望获取的不仅如此,为了提供更好的用户体验,提供较为真实的水池展示效果也成为用户的需求,然而,在相关技术中并不存在能够对水池进行较为真实的立体展示的方法。

针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种水池地图的生成方法、存储介质及水池机器人,以至少解决相关技术中存在的无法对水池进行较为真实的立体展示的问题。

根据本申请的一个实施例,提供了一种水池地图的生成方法,包括:将多个二维坐标信息映射到三维地图中,得到目标三维坐标信息,其中,所述二维坐标信息为水池机器人预先探测到的水池内的目标位置点的栅格信息;基于所述目标三维坐标信息中包括的所述水池的底面信息生成水池三维地图中水池的底面模型;以及,基于所述底面信息生成所述水池三维地图中水池的池壁模型以及水面模型。

在一个可选的实施例中,基于所述目标三维坐标信息中包括的所述水池的底面信息生成水池三维地图中水池的底面模型包括:对所述底面信息中包括的相邻的边缘位置信息所对应的坐标点进行连接;基于连接结果生成所述水池三维地图中水池的底面边缘连接图;对所述底面边缘连接图进行渲染,得到所述底面模型。

在一个可选的实施例中,基于所述底面信息生成所述水池三维地图中水池的水面模型包括:获取所述水池机器人预先探测到的水面上的各个第一位置点距离所述水池的底面的距离;基于所述第一位置点距离所述水池的底面的距离生成所述水池三维地图中水池的水面连接图;对所述水面连接图进行渲染,得到所述水面模型。

在一个可选的实施例中,基于所述底面信息生成所述水池三维地图中水池的池壁模型包括:基于所述底面信息生成所述水池三维地图中水池的池壁内侧模型;在所述水池三维地图中对所述池壁内侧模型执行外扩处理,生成所述水池三维地图中所述水池的池壁模型。

在一个可选的实施例中,基于所述底面信息在所述水池三维地图中生成所述水池的池壁内侧模型包括:基于所述底面信息确定所述水池三维地图中水池的边缘线;将所述边缘线向上延伸预定高度,生成所述水池三维地图中所述水池的池壁连接图;对所述池壁连接图进行渲染,得到所述池壁内侧模型。

在一个可选的实施例中,在所述水池三维地图中对所述池壁内侧模型执行外扩处理,生成所述水池三维地图中所述水池的池壁模型包括:在所述水池三维地图中将所述池壁内侧模型外扩预定个像素点,得到池壁外侧模型;将所述池壁内侧模型上的内侧点与所述池壁外侧模型上的外侧点进行连接,形成墙壁缝隙填充几何体;对所述墙壁缝隙填充几何体进行渲染,得到所述池壁模型。

在一个可选的实施例中,在生成所述池壁模型之后,所述方法还包括:将所述池壁模型外侧上的外侧点进行连接,形成所述水池三维地图中所述水池的池壁外侧轮廓;在所述水池三维地图中对所述池壁外侧廓进行镂空处理后,形成位于所述水池周边的地面几何体;对所述地面几何体进行渲染,得到位于所述水池周边的地面模型。

在一个可选的实施例中,所述方法还包括:获取所述水池机器人在所述水池中工作时的机器人位置信息;将所述机器人位置信息映射到所述水池三维地图中,得到所述水池机器人在所述水池三维地图中的路径数据;对所述路径数据进行处理,生成厚度小于目标数量像素点的轨迹几何;对所述轨迹几何进行渲染,得到所述水池机器人在所述水池三维地图中的工作轨迹。

在一个可选的实施例中,将多个二维坐标信息映射到三维地图中,得到目标三维坐标信息包括:对多个所述二维坐标信息中包括的目标二维坐标信息进行拆分操作,得到多组二维坐标信息组,其中,所述目标二维坐标信息为所述水池机器人预先探测到的水池内的底面边缘的栅格信息;将多组所述二维坐标信息组分别映射到所述三维地图中,得到分别与每组所述二维坐标信息组所对应的所述目标三维坐标信息,其中,基于分组映射后得到的所述目标三维坐标信息所生成的模型支持单独渲染的功能。

在一个可选的实施例中,所述方法还包括:接收到对所述目标三维地图的选择指令;基于所述选择指令确定水池中的目标区域;控制所述水池机器人移动至所述目标区域上,并对所述目标区域进行清洁处理。

在一个可选的实施例中,将多个二维坐标信息映射到三维地图中包括:遍历多个所述二维坐标信息,确定出多个所述二维坐标信息中包括的坐标值最大的第二位置点的信息以及坐标值最小的第三位置点的信息;基于位于所述第二位置点和所述第三位置点的中间位置上的第四位置点的信息确定所述水池三维地图的坐标原点;基于每个所述位置信息相对于所述坐标原点的差值将多个所述位置信息映射到所述三维地图中。

根据本申请的另一个实施例,提供了一种水池地图的生成装置,包括:映射模块,用于将多个二维坐标信息映射到三维地图中,得到目标三维坐标信息,其中,所述二维坐标信息为水池机器人预先探测到的水池内的目标位置点的栅格信息;第一生成模块,用于基于所述目标三维坐标信息中包括的所述水池的底面信息生成水池三维地图中水池的底面模型;以及,第二生成模块,用于基于所述底面信息生成所述水池三维地图中水池的池壁模型以及水面模型。

根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本申请的又一个实施例,还提供了一种水池机器人,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本申请,由于在生成水池三维地图时,综合考虑了水池的内部立体构造,以及水池的池壁的立体展示,使得呈现出的水池的效果更贴近实际的水池,有效解决了相关技术中存在的无法对水池进行较为真实的立体展示的问题,提高了用户的视觉体验。

附图说明

图1是本申请实施例的水池地图的生成方法的移动终端的硬件结构框图;

图2是根据本申请实施例的水池地图的生成方法的流程图;

图3-1是根据本申请实施例的水池示意图一;

图3-2是根据本申请实施例的水池示意图一的线条图;

图4-1是根据本申请实施例的水池示意图二;

图4-2是根据本申请实施例的水池示意图二的线条图;

图5-1是根据本申请实施例的水池示意图三;

图5-2是根据本申请实施例的水池示意图三的线条图;

图6是根据本发明实施例的整体流程图;

图7是根据本申请实施例的水池地图的生成装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本申请的实施例。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的水池地图的生成方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的水池地图的生成方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本发明实施例中,水池机器人可以是水池清洁机器人,在该水池机器人初次进入水池进行工作时,或者水池机器人被复位后需要重新生成水池三维地图时,或者在其他的需要生成水池三维地图的场景下,可以利用本发明实施例中的水池地图的生成方式生成水池三维地图,其中,生成的水池三维地图可以在移动端的应用APP界面上进行展示,用户通过该APP可以查看水池的立体效果,此外,用户通过该APP控制水池机器人对水池的特定的区域进行作业,并且,在该APP中也可以看到水池机器人的作业路径。下面对本发明如何生成水池地图进行说明:

图2是根据本申请实施例的水池地图的生成方法的流程图,如图2所示,该流程包括如下步骤:

步骤S202,将多个二维坐标信息映射到三维地图中,得到目标三维坐标信息,其中,所述二维坐标信息为水池机器人预先探测到的水池内的目标位置点的栅格信息;

步骤S204,基于所述目标三维坐标信息中包括的所述水池的底面信息生成水池三维地图中水池的底面模型;

步骤S206,基于所述底面信息生成所述水池三维地图中水池的池壁模型以及水面模型。

其中,上述步骤的执行主体可以为水池机器人内置的控制器,或者是与水池机器人具备关联关系的且具备数据处理、信号交互能力的控制器或控制系统或处理器,或者还可以是其他的具备类似处理能力的处理设备或处理单元等。

在上述实施例中,水池机器人可以对上述水池进行清洁,上述目标水池包括但不限于泳池、观赏型水库,野外水池等等。上述的目标位置点可以是水池机器人在构建水池地图时所探测到的水池内的位置点,包括水池的池底(对应于前述的底面)的位置点、池壁上的位置点,池内的物品(例如,障碍物、池内造景等)上的位置点,其中,水池机器人可以在执行清洁操作前构建水池地图,也可以在执行清洁操作时构建水池地图。

上述的三维地图中包括有依据水池机器人当次在水池中进行移动获得的栅格数据,所映射得到的目标三维坐标信息,通过基于目标三维坐标信息执行各种渲染操作后可以得到水池三维地图,上述三维地图中除了包括有水池三维地图外,还可以包括有其他的已经渲染得到的模型(例如,房屋的模型,树木的模型等),水池机器人在地图中的工作轨迹也相应为水池机器人在水池中移动时所实时产生的轨迹线。此外,上述三维地图也可以是预先构建的地图。此外,在进行水池机器人重定位以确定水池机器人的坐标后,可以将水池机器人移动时所实时产生的轨迹线添加至该水池三维地图中,对于上述三维地图的构建时机,本发明不作限制。

通过上述实施例,由于生成水池三维地图时,综合考虑了水池的内部立体构造,以及水池的池壁的立体展示,使得呈现出的水池的效果更贴近实际的水池,有效解决了相关技术中存在的无法对水池进行较为真实的立体展示的问题,提高了用户的视觉体验。

在一个可选的实施例中,基于所述目标三维坐标信息中包括的所述水池的底面信息生成水池三维地图中水池的底面模型包括:对所述底面位置信息中包括的相邻的边缘位置信息所对应的坐标点进行连接;基于连接结果生成所述水池三维地图中所述水池的底面边缘连接图;对所述底面边缘连接图进行渲染,得到所述底面模型。

在上述实施例中,底面位置信息中可以包括位于池底轮廓附近的边缘位置信息,还可以包括位于池底中心区域附近的位置信息,其中,在构建底面的连接图时,可以将池底的边缘位置信息所对应的坐标点连接起来,以得到底面的连接图,其中,由于水池机器人预先采集到的位置点的数量可能是有限的,因此,该连接图中部分线条可能会过渡的比较突兀,该情况下,可以对较为突兀的线段连接处进行平滑处理以得到线条相对舒缓的池底边缘。此外,池底的边缘可能是直线的,也可能是弯曲的,可以基于对边缘点进行连接后所形成的线段的形状来判断边缘的类型,例如,当边缘点的连接线不成直线线段时,则把之前的连接的线段当成是一段数据墙壁线段。当遇到一系列边缘点都无法连接形成直线时,则把这系列边缘点中开始的数据点到终点标记为不规则曲线数据,当成一段数据。在上述实施例中,可以利用Three.js技术对池底边缘连接图进行渲染,当然,也可以利用其他技术实现上述渲染操作。

在一个可选的实施例中,基于所述底面信息生成所述水池三维地图中水池的水面模型包括:获取所述水池机器人预先探测到的水面上的各个第一位置点距离所述水池的底面的距离;基于所述第一位置点距离所述水池的底面的距离生成所述水池三维地图中所述水池的水面连接图;对所述水面连接图进行渲染,得到所述水面模型。

在上述实施例中,水池机器人预先探测的目标位置点的位置信息包括各目标位置点的坐标信息,一般而言,水池机器人探测到的位置点的坐标信息包括的是二维坐标系中的坐标点信息,即,是水池机器人当前所在的世界坐标系下的坐标值,但是,水池机器人同时可以基于内置的深度探测传感器(例如,雷达传感器、红外线传感器、压强传感器等)或者特定的算法确定出各位置点的深度信息,或者各位置点距离某个参考面(例如,距离池底)的距离,因此,水池机器人内部实际上是会记录预先探测的目标位置点的深度(或相对参考面的高度)的,从而,后续在将各个位置点的信息映射到三维地图中时,是可以实现三轴上的完整映射的。

在上述实施例中,可以基于水池机器人预先探测到的水面上的各个第一位置点的深度(或相对参考面的高度)来确定出各个第一位置点距离池底的距离,进而可以在三维地图中标识出水面上的部分点,进而通过连通标识出的各个点,可以得到水面的部分连接图,在所述水池三维地图中的位置,通过将水面的部分连接图外扩到水池的池壁上,可以得到该水面的整体连接图,从而可以实现对水面的整体连接图执行后续的渲染操作的目的,此外,在本实施例中也可以利用Three.js技术对水面的整体连接图进行渲染,当然,也可以将水面到池底的区域均渲染成水域的纹理。

在一个可选的实施例中,基于所述底面信息生成所述水池三维地图中水池的池壁模型包括:基于所述底面信息生成所述水池三维地图中水池的池壁内侧模型;在所述水池三维地图中对所述池壁内侧模型执行外扩处理,生成所述水池三维地图中所述水池的池壁模型。在本实施例中,实际的水池的池壁是有一定的厚度的,为了达到更贴近实际的水池形状的效果,在生成池壁内侧模型之后,需要对该池壁内侧模型执行一定像素(该像素大小可以基于池壁的实际厚度来确定,或者设定一个固定大小的像素值,或者按照其他的条件来设置该像素值等等)的外扩处理,从而得到更为真实的水池形状。

在一个可选的实施例中,基于所述底面信息在所述水池三维地图中生成所述水池的池壁内侧模型包括:基于所述底面信息确定所述水池三维地图中水池的边缘线;将所述边缘线向上延伸预定高度,生成所述水池三维地图中所述水池的池壁连接图;对所述池壁连接图进行渲染,得到所述池壁内侧模型。在本实施例中,池壁模型实际上都是和底面模型边缘相贴合的,所以,在生成池壁连接图时,可以对底面模型边缘向上(即,三维坐标系中的Z轴方向)做延伸即可,其中,在进行延伸时,具体的延伸高度可以基于实际情况进行设置,例如,可以将池壁模型的高度设置成与水面模型高度持平的,也可以将池壁模型的高度设置成高出水面模型一定高度,此外,还可以利用水池机器人预先探测出池壁和水面之间的高度差,进而基于该预先探测到的高度差来设置池壁模型的高度,具体如何设置可以基于预先配置的方式来设置。

在一个可选的实施例中,在所述水池三维地图中对所述池壁内侧模型执行外扩处理,生成所述水池三维地图中所述水池的池壁模型包括:在所述水池三维地图中将所述池壁内侧模型外扩预定个像素点,得到池壁外侧模型;将所述池壁内侧模型上的内侧点与所述池壁外侧模型上的外侧点进行连接,形成墙壁缝隙填充几何体;对所述墙壁缝隙填充几何体进行渲染,得到所述池壁模型。在本实施例中,水池的池壁实际上都是会有一定的厚度的,为了使三维地图中呈现的水池效果更贴近于实际的水池,可以对生成的池壁内侧模型进行外扩,例如,外扩2个像素点,或者外扩5个像素点,或者其他数量的像素点,或者还可以按照水池的整体宽度外扩一定比例(例如,1/50,1/100等等),其中,外扩实际上是沿XY轴朝远离水池的方向扩展。此外,在对各个池壁内侧模型进行外扩后,池壁模型间会存在缝隙,因此,需要对这些缝隙进行填充,例如,在池壁内侧模型是由多个线段连接而成的情况下,可以将池壁内侧模型中相邻线段的交点与该相邻线段外扩后所形成的两条外扩线段靠近该交点的两个端点进行连接,形成三角形,然后将该三角形由池底延伸至池顶,从而得到上述的墙壁缝隙填充几何体,可选地,在进行连接之后,还可以对连接形成的几何体执行平滑过渡处理,使得池壁连接处能够平滑的连接,例如,将池壁外侧的位置点,偏移一位,然后与池壁内点相连接,最后的数据点与最开始的点连接,就形成了墙壁数量的填充物,这个时候在视觉中墙壁就宽度均匀,连接顺滑。在本实施例中,还可以通过执行数据拆分(即,通过特定的代码或者程序将属于不同的池壁或池底的数据区分开,进而明确哪些位置点对应的是哪个池壁或池底),来实现对池壁模型的拆分渲染,在实现池壁模型的拆分之后,可以后续工作中通过单独选中某个池壁模型或池底模型区域来控制机器人单独对其进行清洁。

在一个可选的实施例中,在生成所述池壁模型之后,所述方法还包括:将所述池壁模型外侧上的外侧点进行连接,形成所述水池三维地图中所述水池的池壁外侧轮廓;在所述水池三维地图中对所述池壁外侧轮廓进行镂空处理后,形成位于所述水池周边的地面几何体;对所述地面几何体进行渲染,得到位于所述水池周边的地面模型。在本实施例中,水池周边还会存在例如草坪、沙滩等地面,为了使水池的显示效果更加贴近于实际效果,可以对水池周边渲染对应的纹理,其中,为了避免在对水池周边渲染时,将水池也一并渲染成与周边同样的纹理,在本发明实施例中采用了镂空水池区域的方式,从而实现了只对水池周边进行渲染的目的。可选地,在构建水池周边的地面时,除了采用上述的连接外侧点后进行镂空的方式外,还可以采用类似于池壁内侧模型外扩的方式对池壁顶面模型进行外扩,此外,外扩后的地面可以与池壁顶面模型持平,也可以低于池壁顶面模型一定的高度。

在一个可选的实施例中,所述方法还包括:获取所述水池机器人在所述水池中工作时的机器人位置信息;将所述机器人位置信息映射到所述水池三维地图中,得到所述水池机器人在所述水池三维地图中的路径数据;对所述路径数据进行处理,生成厚度小于目标数量像素点的轨迹几何;对所述轨迹几何进行渲染,得到所述水池机器人在所述水池三维地图中的工作轨迹。在本实施例中,在对所述路径数据进行处理时,可以利用目标冲压几何模型技术来对路径数据进行处理,其中,上述轨迹几何形状的宽度可以是基于所述水池机器人的宽度所确定的。在上述实施例中,还可以在在三维地图中渲染出二维或三维的水池机器人,以及水池机器人的工作轨迹,其中,水池机器人的工作轨迹是以水池机器人的实际行驶路径来确定的,一般水池机器人的清洁宽度是基于水池机器人本身的宽度来确定的,所以,在生成水池机器人的轨迹几何时,可以获取预先存储的水池机器人的宽度数据,进而按照该宽度数据来渲染水池机器人的轨迹,此外,考虑到水池机器人的相对于水池而言,其高度是较小的,所以,水池机器人的轨迹的厚度可以设置的相对小一些,例如,设置成1个像素点,或者2个像素点等等,其中,在渲染水池机器人的轨迹时,可以利用Three.js中冲压几何模型技术(当然,也可以利用其他技术),根据处理后的路径数据(即,水池机器人移动时所获取的数据,具体处理方式可包括数据解析、坐标转换、纹理映射等等),创建,例如,创建清洁机器人过滤水的涂抹效果。通过渲染出水池机器人的工作轨迹可以使得用户实时查看水池机器人的工作进度,其中,水池机器人的工作轨迹可以参见附图3-1,图3-2,图4-1,图4-2,图5-1和图5-2中的轨迹。对于清洁机器人而言,这样的功能使用户能够直观地了解机器人的清洁进度和覆盖范围,便于后续进行用水评估、排换水评估、水池机器人其它类型的清洁等行为。

在前述实施例中,可以利用Three.js技术,创建三维场景模型并进行渲染,即可以实现水池地图池底渲染、墙壁渲染、水面、环境元素渲染、水池机器人模型渲染等,其中,水池地图的渲染图可以参见附图3-1,图4-1和图5-1,为了更清楚地展示水池地图中的各组成部分,水池地图的各渲染图对应的各线条图可分别参见附图3-2,图4-2和图5-2。常规的根据栅格数据形成地图的方案中,仅仅能生成二维平面的地图,而且当前市面上的水池机器人APP没有任何形式的地图展示,无法满足用户对例如水池清洁的覆盖率以及针对区域的清扫。相比于常规的二维平面地图展示方案,通过本申请实施例可以实现逼真的三维水池地图展示。从而使用户能够以更直观、逼真的方式观察和了解水池的结构和布局。此外,本发明实施例中能够展示水池的池壁和池底,提供多维度的观察和展示。用户可以自由选择特定区域进行观察,并触发机器人对该区域的定向清洁。这样的功能使机器人具备了更强的定点清洁能力。

在一个可选的实施例中,将多个二维坐标信息映射到三维地图中,得到目标三维坐标信息包括:对多个所述二维坐标信息中包括的目标二维坐标信息进行拆分操作,得到多组二维坐标信息组,其中,所述目标二维坐标信息为所述水池机器人预先探测到的水池内的底面边缘的栅格信息;将多组所述二维坐标信息组分别映射到所述三维地图中,得到分别与每组所述二维坐标信息组所对应的所述目标三维坐标信息,其中,基于分组映射后得到的所述目标三维坐标信息所生成的模型支持单独渲染的功能。在本实施例中,在得到二维坐标信息后,是需要对这些二维坐标信息进行拆分的,其中,在进行拆分操作时,主要是要对水池底面的边缘点的二维坐标信息进行拆分。考虑到水池底面可能不是规则的圆形,可能是带有直线线段和/或曲线线段的规则或者不规则的形状,该情况下,需要对水池底面的边缘线进行拆分,也就是说,在该情况下该拆分操作可按照目标二维坐标信息所在的线段的类型执行,需要在执行拆分操作后得到多组位于不同线段上的二维坐标信息组,例如,将各个直线段和/或曲线段拆分出来(实际上是将位于各个直线段、曲线段上的点的二维坐标信息拆分出来),从而可以实现对底面边缘上各个直线段、曲线段对分别对应的水池池壁模型的拆分。可选地,拆分操作也可按照目标二维坐标信息对应的平面执行,例如在执行拆分操作后得到多组位于水池不同面的墙壁上的二维坐标信息组;拆分操作还可按照其它预设要求执行,例如在执行拆分操作后得到多组位于同一面墙壁上的不同块的二维坐标信息组。此外,拆分之后可以实现分组映射,通过分组映射可以方便后续对水池池壁模型的分块渲染,以及分块选择的目的,需要说明的是,本发明中的拆分操作可以是通过特定的代码或者特定的拆分工具来实现的。

在一个可选的实施例中,所述方法还包括:接收到对所述目标三维地图的选择指令;基于所述选择指令确定水池中的目标区域;控制所述水池机器人移动至所述目标区域上,并对所述目标区域进行清洁处理。在本实施例中,可以通过特定app来查看水池地图,还可以通过该app选取水池的某个区域(例如,某个水池壁、池底、水面等等),具体选择效果可参见附图5-1,以及附图5-2,进而触发控制指令来控制水池机器人移动至选取的区域中进行工作,其中,可以控制水池机器人移动至选取的区域中的特定的位置点(例如,区域的中心点,区域中某个边缘上的起始点、区域中某个边缘上的中间点),或者移动至选取的区域中距离水池机器人最近的一个点。

在一个可选的实施例中,将多个二维坐标信息映射到三维地图中包括:遍历多个所述二维坐标信息,确定出多个所述二维坐标信息中包括的坐标值最大的第二位置点的信息以及坐标值最小的第三位置点的信息;基于位于所述第二位置点和所述第三位置点的中间位置上的第四位置点的信息确定所述三维地图的坐标原点;基于每个所述位置信息相对于所述坐标原点的差值将多个所述位置信息映射到所述三维地图中。在本实施例中,在确定第二位置点和第三位置点时,可以以机器人在探测目标位置点时所在的多个世界坐标系中的某一个为参考坐标系,进而得到各个位置点映射到该参考坐标系上的映射坐标,然后,可以从中获取到坐标值最大和最小的两个位置点,此外,由于第二位置点和第三位置点的高度(或深度)信息均是预先知晓的,因此,第四位置点的高度(或深度)信息自然也就能够计算出来,进而,就可以知晓基于第四位置点的信息所确定出的坐标原点的位置信息,然后可以基于其他位置点相对于该坐标原点的坐标差值,确定出各个位置点在三维地图中的位置。在本实施例中,可以直接将第四位置点确定为坐标原点,也可以在第四位置点的基础上进行特定的偏移处理之后来得到坐标原点,此外,通过位置信息映射,可更改目标三维地图的视角,例如使得三维视角下目标三维地图的中心点为水池中心点,从而改善水池地图的生成效果。可选地,在生成水池之前,可以预先对栅格数据进行处理,即,可以利用栅格数据,如地形高程数据、水池结构数据等,进行预处理和转换,以适应Three.js渲染引擎的需求。其中,该预处理包括数据解析、坐标转换、纹理映射等。

上述水池地图的生成过程可以通过安装于终端上的app来查看,此外,还可以通过该app实现用户交互功能,即,实现用户对场景的自由浏览和交互功能,包括旋转、缩放等操作,以便用户能够全面欣赏和体验水池的三维效果。此外,通过用户交互功能,允许用户与水池地图进行交互,使得用户可以选择特定区域,触发水池机器人的定向工作,这样的交互功能增加了用户的参与感,并提高了定点清洁的灵活性和效率。

下面以水池为泳池,水池机器人为清洁机器人为例,对本发明的整体流程进行说明:

图6是根据本发明实施例的整体流程图,如图6所示,包括如下步骤:

S602,根据泳池的初始栅格数据分割数据,其中,对初始栅格数据进行分割主要包括如下几方面:一是将泳池的池底边缘上的各个线段分割出来,从而方便后续对各个池壁模型的分块渲染,二是将明显不属于泳池内的位置点的栅格数据过滤掉,三是将毛刺点拉平,即,对小幅度偏离泳池内的位置点的栅格数据进行调整;

S604,遍历数据点找到在二维角度上最大最小的xy坐标点,其中,遍历方式可以包括对分割后的数据依次进行遍历,或者对分割后的数据进行分块,然后针对每块数据同时进行遍历,将每个数据块中找出的最大最小最标点再次进行比较,来确定出最终的最大最小的坐标点;

S606,根据xy坐标点计算出3D图中的原点坐标,根据原点坐标转换所有坐标点得出在3D图中的新坐标系,其中,可以将最大和最小的xy坐标点的中间点确定为新的坐标原点,通过所有的xy坐标点减去新的坐标原点,将xy坐标点转换为3D场景下的坐标点;

S608,连接池底内坐标点,生成泳池底部(即,底面,或称为池底)模型并贴图,其中,贴图操作可以通过渲染的操作来实现;

S610,根据泳池底部模型的形状生成泳池内部包含的水体模型;

S612,遍历转化分割的墙壁(即,池壁)数据,生成外墙坐标点,并保存;

S614,内墙点与外墙点连接形成墙壁模型;

S616,遍历外墙数据点,并将外墙数据点依次与内墙数据点连接,形成墙壁缝隙填充几何体;

S618,外墙数据点依次连接,形成外墙形状,镂空外墙形状,然后生成周边草坪几何(此处以泳池周边是草坪为例进行说明);

S620,转换泳池机器人的轨迹数据点到3D坐标系中;

S622,生成厚度较小的几何形状,根据轨迹坐标点连接形成轨迹线几何,其中,厚度较小的几何形状可以是厚度为1个像素点的几何形状;

S624,取最新加载的轨迹点渲染机器人模型,生成动态清洁效果。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

在本实施例中还提供了一种水池地图的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图7是根据本申请实施例的水池地图的生成装置的结构框图,如图7所示,该装置包括:

映射模块72,用于将多个二维坐标信息映射到三维地图中,得到目标三维地图坐标信息,其中,所述二维坐标信息为水池机器人预先探测到的水池内的目标位置点的栅格信息;第一生成模块74,用于基于所述目标三维坐标信息中包括的所述水池的底面信息生成水池三维地图中水池的底面模型;第二生成模块76,用于基于所述底面信息生成所述水池三维地图中水池的池壁模型以及水面模型。

在一个可选的实施例中,第一生成模块74包括:第一连接单元,用于对所述底面信息中包括的相邻的边缘位置信息所对应的坐标点进行连接;第一生成单元,用于基于连接结果生成所述水池三维地图中所述水池的底面边缘连接图;第一渲染单元,用于对所述底面边缘连接图进行渲染,得到所述底面模型。

在一个可选的实施例中,第二生成模块76包括:获取单元,用于获取所述水池机器人预先探测到的水面上的各个第一位置点距离所述水池的底面的距离;第二生成单元,用于基于所述第一位置点距离所述水池的底面的距离生成所述水池三维地图中所述水池的水面连接图;第二渲染单元,用于对所述水面连接图进行渲染,得到所述水面模型。

在一个可选的实施例中,第二生成模块76包括:第三生成单元,用于基于所述底面信息生成所述水池三维地图中水池的池壁内侧模型;外扩单元,用于在所述水池三维地图中对所述池壁内侧模型执行外扩处理,生成所述水池三维地图中所述水池的池壁模型。

在一个可选的实施例中,所述第三生成单元包括:确定子单元,用于基于所述底面信息确定所述水池三维地图中水池的边缘线;延伸子单元,用于将所述边缘线向上延伸预定高度,生成所述水池三维地图中所述水池的池壁连接图;第一渲染子单元,用于对所述池壁连接图进行渲染,得到所述池壁内侧模型。

在一个可选的实施例中,所述外扩单元包括,外扩子单元,用于在所述水池三维地图中将所述池壁内侧模型外扩预定个像素点,得到池壁外侧模型;连接子单元,用于将所述池壁内侧模型上的内侧点与所述池壁外侧模型上的外侧点进行连接,形成墙壁缝隙填充几何体;第二渲染子单元,用于对所述墙壁缝隙填充几何体进行渲染,得到所述池壁模型。

在一个可选的实施例中,所述装置还包括:连接单元,用于在生成所述池壁模型之后,将所述池壁模型外侧上的外侧点进行连接,形成所述水池三维地图中所述水池的池壁外侧轮廓;第四生成单元,用于在所述水池三维地图中对所述池壁外侧轮廓进行镂空处理后,形成位于所述水池周边的地面几何体;第三渲染单元,用于对所述地面几何体进行渲染,得到位于所述水池周边的地面模型。

在一个可选的实施例中,所述装置还包括:获取模块,用于获取所述水池机器人在所述水池中工作时的机器人位置信息;映射模块,用于将所述机器人位置信息映射到所述水池三维地图中,得到所述水池机器人在所述水池三维地图中的路径数据;处理模块,用于对所述路径数据进行处理,生成厚度小于目标数量像素点的轨迹几何;第二渲染模块,用于对所述轨迹几何进行渲染,得到所述水池机器人在所述水池三维地图中的工作轨迹。

在一个可选的实施例中,所述映射模块72包括:拆分单元,用于对多个所述二维坐标信息中包括的目标二维坐标信息进行拆分,得到多组二维坐标信息组,其中,所述目标二维坐标信息为所述水池机器人预先探测到的水池内的底面边缘的栅格信息;第一映射单元,用于将多组所述二维坐标信息组分别映射到所述三维地图中,得到分别与每组所述二维坐标信息组所对应的所述目标三维坐标信息,其中,基于分组映射后得到的所述目标三维坐标信息所生成的模型支持单独渲染的功能。

在一个可选的实施例中,所述装置还包括:接收模块,用于接收到对所述目标三维地图的选择指令;确定模块,用于基于所述选择指令确定水池中的目标区域;控制模块,用于控制所述水池机器人移动至所述目标区域上,并对所述目标区域进行清洁处理。

在一个可选的实施例中,所述映射模块72包括:第一确定单元,用于遍历多个所述二维坐标信息,确定出多个所述二维坐标信息中包括的坐标值最大的第二位置点的信息以及坐标值最小的第三位置点的信息;第二确定单元,用于基于位于所述第二位置点和所述第三位置点的中间位置上的第四位置点的信息确定所述水池三维地图的坐标原点;第二映射单元,用于基于每个所述位置信息相对于所述坐标原点的差值将多个所述位置信息映射到所述三维地图中。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种爬升架防坠落装置及安装方法
  • 一种爬升式脚手架防坠落装置
技术分类

06120116334730