一种自动制图装置及方法

文档序号:10552364阅读:322来源:国知局
一种自动制图装置及方法
【专利摘要】本发明实施例提供的自动制图装置及方法,涉及机器人制图领域。本发明的自动制图装置及方法,将未知环境信息,转换为机器人识别的二维动态栅格地图,机器人运动,栅格地图也跟着运动与更新,避免了机器人人为制图带来的多次调整与跟踪机器人的运动姿态带来的繁琐工作,大大减少了机器人制图所用的时间,并且通过建立四叉树模型,明确运动目标点,第一次在局部栅格地图上进行路径规划,全部过程可以自动完成,计算效率高,编程实现简单,同时机器人能够采集充分的点云数据,保证了地图的清晰度。
【专利说明】
_种自动制图装置及方法
技术领域
[0001] 本发明涉及机器人制图领域,具体而言,涉及一种自动制图装置及方法。
【背景技术】
[0002] 随着计算机科学技术与人工智能,计算机视觉技术的发展,智能自主移动机器人 同时定位与地图创建已经成为机器人领域的研究热点,其目的是研究应用计算机视觉技 术,在复杂环境下机器人能高效率高精度的实现自主定位和地图创建,体现了计算机视觉 与机器人技术的最新成果。
[0003] 机器人在未知环境中从一个未知位置开始移动,在移动过程中利用里程计,轮式 码盘,深度摄像头进行位置估计和传感器数据采集实现自身定位,同时建造增量式地图。在 SLAM中,机器人利用自身携带的传感器识别未知环境中的特征标志,然后根据机器人与特 征标志之间的相对位置和里程计的读数估计机器人与特征标志的全局坐标。目前移动机器 人的地图创建过程不能够实现自动化,一般的创建流程如下:机器人通过视觉系统采集未 知环境的深度信息,操作者通过外部设备,比如手机,Google Tango或者键盘控制机器人的 运动,机器人在移动的过程中,一边采集数据,同时完成对未知环境的地图创建,这样,在人 为的控制移动机器人运动姿态下,机器人采集完整个未知环境信息后,通过里程传感器和 闭环检测算法自动实现了对整个未知环境的场景建模,最终生成未知环境对应的点云图, 该方法能满足机器人三维地图创建的精度要求。但是对于复杂环境的地图创建,机器人的 运动轨迹,姿态调整等需要人一直控制,即使对操作经验丰富的工程师,也需要多次实践才 能建立整个未知环境的地图。这个过程往往要花费大量的时间,而且一张完整的地图当中, 对机器人来说,也有可能存在盲区(机器人扫描不到的位置),很难保证与真实环境的一致 性。总的来说,通过人为控制的机器人制图在复杂环境移动过程中通常花费大量的时间和 成本。
[0004] 在人为的控制机器人制图的过程中,机器人与周围障碍物的任何一次碰撞都会对 地图的创建产生很大的匹配误差,每一次的碰撞很有可能导致整个地图创建失败,综合考 虑各种因素,现行的机器人地图创建需要更进一步优化。

【发明内容】

[0005] 有鉴于此,本发明实施例的目的在于提供一种自动制图装置及方法。
[0006] 本发明实施例提供的一种自动制图装置,应用于计算机装置,所述计算机装置与 一安装有视觉系统且可移动的机器人连接,所述自动制图装置包括:
[0007] 地图模型建立模块,用于建立用于生成二维地图模型的二维坐标系,以所述机器 人的初始位置作为机器人在所述二维坐标系中的初始坐标;
[0008] 局部地图建立模块,用于根据所述视觉系统获得的图像信息建立所述初始坐标处 的局部地图;
[0009] 移动控制模块,用于根据初始坐标处的局部地图计算所述机器人的移动路径,按 照预设的策略控制所述机器人进行移动;
[0010] 所述地图模型建立模块还用于记录所述机器人移动后在所述二维坐标系中的节 点坐标;
[0011] 所述局部地图建立模块还用于根据所述视觉系统获得的图像信息建立所述节点 坐标处的局部地图;
[0012] 所述移动控制模块还用于根据节点坐标处的局部地图计算所述机器人的移动路 径,按照预设的策略控制所述机器人进行移动,直到所述机器人所在环境的所有节点坐标 的局部地图全部建立。
[0013] 优选地,所述局部地图建立模块建立局部地图的方式具体为:
[0014] 对所述二维坐标系进行栅格化;
[0015] 在以所述机器人的当前坐标为中心的预设大小的局部地图模型中,根据所述图像 信息获取图像中障碍物在该局部地图模型中的位置,将障碍物所在的网格标记为障碍物网 格,将没有障碍物的网格标记为自由空间网格;
[0016] 其中,所述当前坐标为初始坐标或者节点坐标。
[0017] 优选地,所述局部地图建立模块标记网格的方式具体为:
[0018] 对于包括有障碍物的网络,如果在该网格中障碍物所占的空间超过一半,则将该 网格标记为障碍物网格,如果在该网格中障碍物所占的空间小于一半,则将该网格标记为 自由空间网格。
[0019] 优选地,所述移动控制模块计算所述机器人的移动路径的方式具体为:
[0020] 以所述机器人的当前坐标为中心,将所述局部地图模型划分为四个区域;
[0021] 分别查找每个区域中由连续的自由空间网格组成的可移动区域的中心位置;
[0022]建立四叉树模型,以所述当前坐标为对应的位置为当前节点,以每个区域的可移 动区域的中心位置为所述当前节点的子节点;
[0023] 采用预设的移动路径算法,根据所述机器人的当前坐标、各个区域中的障碍物网 格计算机器人从所述当前坐标移动到每个子节点的移动路径。
[0024] 优选地,所述预设的移动路径算法包括用于规划全局路径的迪杰斯特拉算法和用 于完成局部避障功能的动态窗口法。
[0025] 优选地,所述移动控制模块按照预设的策略控制所述机器人进行移动的方式具体 为:
[0026] 对比各个区域中可移动区域所包括的自由空间网格的数量;
[0027] 按照从大到小的顺序控制所述机器人依次遍历每个所述子节点。
[0028] 优选地,所述移动控制模块按照预设的策略控制所述机器人进行移动的方式还包 括为:
[0029] 当每个区域中的可移动区域所包括的自由空间网格的数量均小于预设的阈值时, 控制所述机器人返回到在四叉树模型中当前节点的上一层节点。
[0030] 优选地,所述移动控制模块按照预设的策略控制所述机器人进行移动的方式还包 括为:
[0031 ]当检测到所述机器人移动到达的节点坐标已经被记录时,判断当前节点的子节点 是否已经全部遍历,如果是,控制所述机器人返回到在四叉树模型中当前节点的上一层节 点。
[0032] 优选地,所述移动控制模块判断所述机器人所在环境的所有节点坐标的局部地图 是否全部建立的方式为:
[0033] 当所述机器人返回到初始坐标对应的根节点时,判断根节点的子节点是否已经全 部遍历,如果是,如果则说明所述机器人所在环境的所有节点坐标的局部地图已经全部建 立。
[0034] 本发明实施例提供的一种自动制图方法,应用于与一安装有视觉系统且可移动的 机器人连接的计算机装置,所述自动制图方法包括:
[0035] 建立用于生成二维地图模型的二维坐标系,以所述机器人的初始位置作为机器人 在所述二维坐标系中的初始坐标;
[0036] 根据所述视觉系统获得的图像信息建立所述初始坐标处的局部地图;
[0037] 根据初始坐标处的局部地图计算所述机器人的移动路径,按照预设的策略控制所 述机器人进行移动;
[0038] 记录所述机器人移动后在所述二维坐标系中的节点坐标;
[0039] 根据所述视觉系统获得的图像信息建立所述节点坐标处的局部地图;
[0040] 根据节点坐标处的局部地图计算所述机器人的移动路径,按照预设的策略控制所 述机器人进行移动并建立局部地图,直到所述机器人所在环境的所有节点坐标的局部地图 全部建立。
[0041] 与现有技术相比,本发明的自动制图装置及方法,将未知环境信息,转换为机器人 识别的二维动态栅格地图,机器人运动,栅格地图也跟着运动与更新,避免了机器人人为制 图带来的多次调整与跟踪机器人的运动姿态带来的繁琐工作,大大减少了机器人制图所用 的时间,并且通过建立四叉树模型,明确运动目标点,第一次在局部栅格地图上进行路径规 划,全部过程可以自动完成,计算效率高,编程实现简单,同时机器人能够采集充分的点云 数据,保证了地图的清晰度。
[0042]为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合 所附附图,作详细说明如下。
【附图说明】
[0043] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附 图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对 范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这 些附图获得其他相关的附图。
[0044] 图1为本发明较佳实施例提供的计算机装置与机器人进行交互的示意图。
[0045] 图2为本发明较佳实施例提供的机器人的方框示意图。
[0046] 图3为本发明实施例提供的自动制图装置的功能模块示意图。
[0047] 图4为本发明实施例提供的划分局部地图模型的示意图。
[0048] 图5为本发明实施例提供的建立四叉树模型的示意图。
[0049] 图6为本发明实施例提供的自动制图方法的流程图。
[0050] 主要元件符号说明

【具体实施方式】
[0052]下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在 此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因 此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的 范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做 出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一 个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的 描述中,术语"第一"、"第二"等仅用于区分描述,而不能理解为指示或暗示相对重要性。 [0054]如图1所示,是本发明较佳实施例提供的计算机装置100与机器人200进行交互的 示意图。所述计算机装置100与机器人200有通信连接,相互之间可以进行信息的传输和交 互。
[0055]所述机器人200为安装有视觉系统且可移动的机器人200。通过所述视觉系统,机 器人200可以获得其周边环境的图像信息,所述视觉系统可以是但不限于红外传感器、摄像 头等。
[0056] 所述计算机装置100可以安装于机器人200内部,通过电学器件与机器人200的控 制系统相连接。也可以是独立的设备,如个人电脑(personal computer,PC)、服务器等具有 数据处理功能的设备,与机器人200的控制系统通过无线网络连接。所述机器人200的控制 系统接收由计算机装置100发送的数据信息,并以此对机器人200进行控制,如控制机器人 200移动和开启视觉系统获得图像信息。同时机器人200内部的信息和由视觉视觉系统获得 图像信息,也由机器人200的控制系统发送到计算机装置100进行处理,以实现建立二维地 图模型的操作。
[0057]如图2所示,是所述计算机装置100的方框示意图。所述计算机装置100包括自动制 图装置10、存储器20以及处理器30。
[0058]所述存储器20和处理器30之间直接或间接地电性连接,以实现数据的传输或交 互。例如,可通过一条或多条通讯总线或信号线实现电性连接。所述自动制图装置10包括至 少一个可以软件或固件(f irmware)的形式存储于所述存储器20中或固化在所述计算机装 置100的操作系统(operating system,OS)中的软件功能模块。所述处理器30用于执行存储 器20中存储的可执行模块,例如所述自动制图装置10包括的软件功能模块或计算机程序。 [0059] 其中,存储器20可以是,但不限于,随机存取存储器(Random Access Memory, RAM),只读存储器(Read Only Memory,R0M),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM), 电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。 其中,存储器20用于存储程序,所述处理器30在接收到执行指令后,执行所述程序,下述本 发明实施例任一实施例揭示的流过程定义的计算机装置100所执行的方法可以应用于处理 器30中,或者由处理器30实现。
[0060]处理器30可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是 通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程 门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以 实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处 理器或者该处理器也可以是任何常规的处理器等。
[0061]请参阅图3,是本发明较佳实施例提供的图2所示的自动制图装置10的功能模块示 意图。所述自动制图装置10包括地图模型建立模块101、局部地图建立模块102、移动控制模 块 103〇
[0062] 地图模型建立模块101,用于建立用于生成二维地图模型的二维坐标系,以所述机 器人200的初始位置作为机器人200在所述二维坐标系中的初始坐标。
[0063] 在开始建立机器人200所在环境的地图模型时,对于该空间的所有信息都是未知 的,因此,在建立用于生成二维地图模型的二维坐标系之后,以所述机器人200的初始位置 作为机器人200在所述二维坐标系中的初始坐标。在本实施例中,可以将初始坐标设为原 点,以初始坐标为中心,开始对该空间的建立地图模型。
[0064] 局部地图建立模块102,用于根据所述视觉系统获得的图像信息建立所述初始坐 标处的局部地图。
[0065]机器人200所使用的视觉系统的探测距离是有限的,因此以某个坐标为中心进行 探测后,可以获得该坐标处一定大小的局部地图。局部地图的大小和视觉系统的探测距离 相关,根据视觉系统获得的图像信息,即可建立该坐标出的局部地图。机器人200所处的初 始位置为初始坐标,因此首先建立初始坐标处的局部地图。
[0066]移动控制模块103,用于根据初始坐标处的局部地图计算所述机器人200的移动路 径,按照预设的策略控制所述机器人200进行移动。
[0067]在建立了初始坐标处的局部地图之后,以初始坐标为起点,控制机器人200向其他 位置移动,机器人200移动的轨迹是根据已经建立的局部地图中的障碍物300确定的。
[0068]所述地图模型建立模块101还用于记录所述机器人200移动后在所述二维坐标系 中的节点坐标。
[0069]机器人200从初始位置离开之后,对其停留的位置的进行记录,并根据该位置与初 始位置之间的相对距离和方向获得停留的位置对应的节点坐标。
[0070]所述局部地图建立模块102还用于根据所述视觉系统获得的图像信息建立所述节 点坐标处的局部地图。
[0071 ]机器人200每移动到一个节点坐标,就建立该节点坐标处的局部地图。建立节点坐 标出的局部地图的方法与建立初始坐标处的相同。
[0072]所述移动控制模块103还用于根据节点坐标处的局部地图计算所述机器人200的 移动路径,按照预设的策略控制所述机器人200进行移动,直到所述机器人200所在环境的 所有节点坐标的局部地图全部建立。
[0073]随着机器人200不断地移动到新的节点坐标,建立了越来越多的局部地图,逐渐构 成了一个完整的机器人200所在环境的二维地图模型。当记录的节点坐标不再增加时,则所 机器人200所在环境的所有节点坐标的局部地图全部建立,将建立的所述局部地图按照初 始坐标和节点坐标组合起来,即可得到机器人200所在环境的二维地图模型。
[0074]在本实施例中,所述局部地图建立模块102建立初始坐标处和节点坐标处的局部 地图的方法是相同的,是基于机器人200的视觉系统在需要建立局部地图的坐标处获得的 图像信息。机器人200的视觉系统在该坐标处进行水平方向上360°的探测,获得其探测范围 内所有障碍物300的位置。为了方便对障碍物300的位置进行准确的描述,首先对二维坐标 系进行栅格化,根据障碍物300的位置对视觉系统范围内的网格进行标记,将障碍物300所 在的网格标记为障碍物300网格,将没有障碍物300的网格标记为自由空间网格。通常,在栅 格化时,一个网格对应实际大小为边长0.1米的正方形。具体地,在对网格进行标记时,对于 一些处于障碍物300边缘、包括有障碍物300的网络,其标记的方法是如果在该网格中障碍 物300所占的空间超过一半,则将该网格标记为障碍物300网格,如果在该网格中障碍物300 所占的空间小于一半,则将该网格标记为自由空间网格。对探测范围内的所有网格都标记 完成后,即得到该坐标处的局部地图。
[0075]在本实施例中,移动控制模块103根据初始坐标处的局部地图计算所述机器人200 的移动路径的方式和根据节点坐标处的局部地图计算所述机器人200的移动路径的方式是 相同的。在完成对某个坐标处的局部地图的建立之后,基于所标记的网格,对机器人200的 移动路径进行计算,具体的方式为:
[0076]以所述机器人200的当前坐标为中心,将所述局部地图模型划分为四个区域。
[0077] 分别查找每个区域中由连续的自由空间网格组成的可移动区域的中心位置。
[0078] 建立四叉树模型,以所述当前坐标为对应的位置为当前节点,以每个区域的可移 动区域的中心位置为所述当前节点的子节点。
[0079]采用预设的移动路径算法,根据所述机器人200的当前坐标、各个区域中的障碍物 300网格计算机器人200从所述当前坐标移动到每个子节点的移动路径。
[0080]如图4所示,本发明实施例提供的划分局部地图模型的示意图。以所述机器人200 的当前坐标为中心,将局部地图划分为A、B、C、D四个区域。然后查找每个区域中由连续的自 由空间网格组成的可移动区域,如果机器人200所在位置的四周存在连续的多个自由空间 网格,说明有可以供机器人200移动的空间。考虑的机器人200本身的体积,在本实施例中, 设置有一预设的阈值,当某个区域中的可移动区域所包括的自由空间网格的数量均小于该 阈值时,说明该区域内不存在可以供机器人200移动的空间。同时,在确定每个区域是否存 在包括的自由空间网格的数量大于阈值的可移动区域后,对于存在可移动区域的区域,将 可移动区域中心位置作为机器人200移动时的目标位置。
[0081 ]在此基础上建立四叉树模型,以所述当前坐标为对应的位置为当前节点,以每个 区域的可移动区域的中心位置为所述当前节点的子节点。每个当前节点的子节点数量,与 局部地图包括的自由空间网格的数量阈值的可移动区域相同,因此子节点数量小于等于4。 如果当前节点的局部地图不包括的自由空间网格的数量阈值的可移动区域,说明该位置周 围都是障碍物300,在完成局部地图的建立后,执行归递操作,即控制机器人200返回到在四 叉树模型中当前节点的上一层节点。由于机器人200每到一个节点,都会对该节点的节点坐 标进行记录,当检测到所述机器人200移动到达的节点坐标已经被记录时,所述机器人200 不是首次到达该节点,此时需要判断当前节点的子节点是否已经全部遍历,如果是,同样执 行归递操作,控制所述机器人200返回到在四叉树模型中当前节点的上一层节点。
[0082] 要建立完整的二维地图模型,需要建立所有节点处的局部地图。因此,需要对所有 当前节点及其子节点进行遍历,即控制机器人200移动到每一个节点,建立其对应的局部地 图。在进行遍历时,需要按一定的顺序进行移动。在本实施例中,采用的方式是对比各个区 域中可移动区域所包括的自由空间网格的数量,按照从大到小的顺序控制所述机器人200 依次遍历每个所述子节点,即先从对应的可移动区域较大的节点开始,并按照可移动区域 从大到小的顺序进行。
[0083] 如图5所示,本发明实施例提供的建立四叉树模型的示意图。a表示根节点,属于根 节点有4个子节点b、c、d、e,对节于点b,其对应的子节点有f、g、h、i,节点c、d不存在子节点, 对节于点e,其对应的子节点有」、1^、1、111,对于节点」,其对应的子节点有11、 〇、?^。机器人200 的初始位置为a,首先建立a的局部地图,根据a的局部地图确定a的存在四个子节点。假设四 个子节点对应所在可移动区域包括的自由空间网格的数量的关系为c〈d〈b〈e,按照上述的 遍历规则,机器人200首先确定移动的目标为e。计算出对应路径到达e后,建立e的局部地 图,根据e的局部地图确定e的存在四个子节点。假设四个子节点对应所在可移动区域包括 的自由空间网格的数量的关系为m〈l〈k〈j,按照遍历规则,机器人200确定下一个移动的目 标为j。计算出对应路径到达j后,建立j的局部地图,根据j的局部地图确定j的还存在四个 子节点。假设四个子节点对应所在可移动区域包括的自由空间网格的数量的关系为q〈P〈〇〈 n,按照遍历规则对四个子节点依次遍历,遍历的过程中,每移动到一个子节点后,没有确定 新的子节点,执行归递操作返回四叉树模型中n、o、p、q的上一层节点j。当从子节点q返回节 点j后,判断j的所有子节点已经遍历,执行归递操作返回四叉树模型中j、k、l、m的上一层节 点e,继续遍历节点e的其他几个子节点。以此类推,当机器人200回溯到根节点a,且判断节 点a的4个子节点已经全部遍历之后,说明机器人200所在环境的所有节点坐标的局部地图 已经全部建立。
[0084] 在上述的遍历过程中,确定了机器人200的移动的目标后,采用预设的移动路径算 法,根据所述机器人200的当前坐标、各个区域中的障碍物300网格计算机器人200从所述当 前坐标移动到目标节点的移动路径。在本实施例中,采用的移动路径算法包括用于规划全 局路径的迪杰斯特拉(Dijkstrala)算法和用于完成局部避障功能的动态窗口法(Dynamic Window Approach,DWA)。其中,通过迪杰斯特拉算法确定机器人200移动的全局方向,而通 过DWA完成机器人200的在移动过程中对障碍物300的躲避和对移动速度的规划,即局部路 径规划。根据这两种算法,即可得到从当前节点到目标节点的曲线路径。
[0085]在本实施例中,机器人200从初始位置出发,最后返回初始位置,结合中途所遍历 的所有节点的局部地图,输出一张二维地图模型,完成整个自动制图过程。
[0086]请参阅图6,是本发明较佳实施例提供的应用于图3所示的自动制图装置10的自动 制图方法的流程图。下面将对图6所示的具体流程进行详细阐述。
[0087]步骤S101,建立用于生成二维地图模型的二维坐标系,以所述机器人200的初始位 置作为机器人200在所述二维坐标系中的初始坐标。
[0088]步骤S102,根据所述视觉系统获得的图像信息建立所述初始坐标处的局部地图。 [0089] 步骤S103,根据初始坐标处的局部地图计算所述机器人200的移动路径,按照预设 的策略控制所述机器人200进行移动。
[0090] 步骤S104,记录所述机器人200移动后在所述二维坐标系中的节点坐标。
[0091] 步骤S105,根据所述视觉系统获得的图像信息建立所述节点坐标处的局部地图。 [0092]步骤S106,判断机器人200所在环境的所有节点坐标的局部地图是否全部建立,如 果是,则结束本方法流程,如果否,执行步骤S107、S104和S105。
[0093] 步骤S107,根据节点坐标处的局部地图计算所述机器人200的移动路径,按照预设 的策略控制所述机器人200进行移动。
[0094]步骤S101和步骤S104由自动制图装置10的地图模型建立模块101执行,关于步骤 S101和步骤S104的具体描述,参照上述对地图模型建立模块101的描述。
[0095]步骤S102和步骤S105由自动制图装置10的局部地图建立模块102执行,关于步骤 S10 2和步骤S105中建立局部地图方法的具体描述,参照上述对局部地图建立模块102的描 述。
[0096] 步骤S103、步骤S106以及步骤S107由自动制图装置10的移动控制模块103执行,关 于步骤S103和步骤S107中计算所述机器人200的移动路径的方法以及控制所述机器人200 进行移动的方法,参照上述对移动控制模块103的描述,关于步骤S106中判断机器人200所 在环境的所有节点坐标的局部地图是否全部建立的方法,参照上述对移动控制模块103的 描述。
[0097] 本发明实施例以移动机器人在室内进行二维自动制图的路径规划为例,说明了机 器人进行制图模式下的基于栅格化局部地图,四叉树模型的路径规划方法,可以为机器人 二维自动制图规划处高地清晰度的地图。本发明也可以运用到移动机器人的室外未知环境 的地图创建,同时适用复杂的地形环境的地图创建。
[0098] 综上所述,本发明的自动制图装置及方法,将未知环境信息,转换为机器人识别的 二维动态栅格地图,机器人运动,栅格地图也跟着运动与更新,避免了机器人人为制图带来 的多次调整与跟踪机器人的运动姿态带来的繁琐工作,大大减少了机器人制图所用的时 间,并且通过建立四叉树模型,明确运动目标点,第一次在局部栅格地图上进行路径规划, 全部过程可以自动完成,计算效率高,编程实现简单,同时机器人能够采集充分的点云数 据,保证了地图的清晰度。
[0099] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过 其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图 显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、 功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一 部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执 行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于 附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也 可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每 个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基 于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0100]另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部 分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。 [0101]所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以 存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说 对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计 算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个 人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-0nly Memory)、随机存取存 储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要 说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与 另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实 际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包 含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括 没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。 在没有更多限制的情况下,由语句"包括一个......"限定的要素,并不排除在包括所述要 素的过程、方法、物品或者设备中还存在另外的相同要素。
[0102] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在 下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需 要对其进行进一步定义和解释。
[0103] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【主权项】
1. 一种自动制图装置,应用于计算机装置,所述计算机装置与一安装有视觉系统且可 移动的机器人连接,其特征在于,所述自动制图装置包括: 地图模型建立模块,用于建立用于生成二维地图模型的二维坐标系,以所述机器人的 初始位置作为机器人在所述二维坐标系中的初始坐标; 局部地图建立模块,用于根据所述视觉系统获得的图像信息建立所述初始坐标处的局 部地图; 移动控制模块,用于根据初始坐标处的局部地图计算所述机器人的移动路径,按照预 设的策略控制所述机器人进行移动; 所述地图模型建立模块还用于记录所述机器人移动后在所述二维坐标系中的节点坐 标; 所述局部地图建立模块还用于根据所述视觉系统获得的图像信息建立所述节点坐标 处的局部地图; 所述移动控制模块还用于根据节点坐标处的局部地图计算所述机器人的移动路径,按 照预设的策略控制所述机器人进行移动,直到所述机器人所在环境的所有节点坐标的局部 地图全部建立。2. 根据权利要求1所述的自动制图装置,其特征在于,所述局部地图建立模块建立局部 地图的方式具体为: 对所述二维坐标系进行栅格化; 在以所述机器人的当前坐标为中心的预设大小的局部地图模型中,根据所述图像信息 获取图像中障碍物在该局部地图模型中的位置,将障碍物所在的网格标记为障碍物网格, 将没有障碍物的网格标记为自由空间网格; 其中,所述当前坐标为初始坐标或者节点坐标。3. 根据权利要求2所述的自动制图装置,其特征在于,所述局部地图建立模块标记网格 的方式具体为: 对于包括有障碍物的网络,如果在该网格中障碍物所占的空间超过一半,则将该网格 标记为障碍物网格,如果在该网格中障碍物所占的空间小于一半,则将该网格标记为自由 空间网格。4. 根据权利要求2所述的自动制图装置,其特征在于,所述移动控制模块计算所述机器 人的移动路径的方式具体为: 以所述机器人的当前坐标为中心,将所述局部地图模型划分为四个区域; 分别查找每个区域中由连续的自由空间网格组成的可移动区域的中心位置; 建立四叉树模型,以所述当前坐标为对应的位置为当前节点,以每个区域的可移动区 域的中心位置为所述当前节点的子节点; 采用预设的移动路径算法,根据所述机器人的当前坐标、各个区域中的障碍物网格计 算机器人从所述当前坐标移动到每个子节点的移动路径。5. 根据权利要求4所述的自动制图装置,其特征在于,所述预设的移动路径算法包括用 于规划全局路径的迪杰斯特拉算法和用于完成局部避障功能的动态窗口法。6. 根据权利要求4所述的自动制图装置,其特征在于,所述移动控制模块按照预设的策 略控制所述机器人进行移动的方式具体为: 对比各个区域中可移动区域所包括的自由空间网格的数量; 按照从大到小的顺序控制所述机器人依次遍历每个所述子节点。7. 根据权利要求6所述的自动制图装置,其特征在于,所述移动控制模块按照预设的策 略控制所述机器人进行移动的方式还包括为: 当每个区域中的可移动区域所包括的自由空间网格的数量均小于预设的阈值时,控制 所述机器人返回到在四叉树模型中当前节点的上一层节点。8. 根据权利要求6所述的自动制图装置,其特征在于,所述移动控制模块按照预设的策 略控制所述机器人进行移动的方式还包括为: 当检测到所述机器人移动到达的节点坐标已经被记录时,判断当前节点的子节点是否 已经全部遍历,如果是,控制所述机器人返回到在四叉树模型中当前节点的上一层节点。9. 根据权利要求7或8所述的自动制图装置,其特征在于,所述移动控制模块判断所述 机器人所在环境的所有节点坐标的局部地图是否全部建立的方式为: 当所述机器人返回到初始坐标对应的根节点时,判断根节点的子节点是否已经全部遍 历,如果是,如果则说明所述机器人所在环境的所有节点坐标的局部地图已经全部建立。10. -种自动制图方法,应用于与一安装有视觉系统且可移动的机器人连接的计算机 装置,其特征在于,所述自动制图方法包括: 建立用于生成二维地图模型的二维坐标系,以所述机器人的初始位置作为机器人在所 述二维坐标系中的初始坐标; 根据所述视觉系统获得的图像信息建立所述初始坐标处的局部地图; 根据初始坐标处的局部地图计算所述机器人的移动路径,按照预设的策略控制所述机 器人进行移动; 记录所述机器人移动后在所述二维坐标系中的节点坐标; 根据所述视觉系统获得的图像信息建立所述节点坐标处的局部地图; 根据节点坐标处的局部地图计算所述机器人的移动路径,按照预设的策略控制所述机 器人进行移动并建立局部地图,直到所述机器人所在环境的所有节点坐标的局部地图全部 建立。
【文档编号】G05D1/02GK105911988SQ201610266803
【公开日】2016年8月31日
【申请日】2016年4月26日
【发明人】戴雄明, 李洪
【申请人】湖南拓视觉信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1