本发明涉及智能机器人,具体涉及一种基于单点tof的作业规划方法、芯片和机器人。
背景技术:
1、随着科技的发展,智能家居也慢慢渗透到每个家庭里,人们也开始越来越依赖智能设备所带来的便捷,比如越来越受人欢迎的智能扫地机器人。智能扫地机器人就是在不需要人工干预的情况下,能自动完成清扫功能的机器人,是智能家用电器的一种。其中,大部分的智能扫地机器人还是基于传统的随机算法实现的,传统的随机清扫技术,因为没有地图的规划,缺乏目标性,给人的感觉是乱扫,效率非常的低下。现有的惯导扫地机器人主要靠码盘、陀螺仪和各种碰撞传感器获取来进行作业规划,但是使用这种方案来进行作业规划,不仅降低机器人的行走精度,机器人作业后的地图也不够美观,不能满足客户需求。
技术实现思路
1、为解决上述问题,本发明提供了一种基于单点tof的作业规划方法、芯片和机器人,提高机器人的行走精度。本发明的具体技术方案如下:
2、一种基于单点tof的作业规划方法,该方法包括以下步骤:s1:机器人自转一圈,通过单点tof传感器获取环境中的点云数据,然后获取点云数据中的外轮廓数据,并从点云数据中提取角点;s2:机器人合并从点云数据中提取到的外轮廓数据和角点,然后基于合并后的外轮廓数据和角点来构建作业区域的边界,并基于边界上点间距离大于或等于设定距离的相邻两点构建待定区域;s3:机器人在作业区域中进行作业,并在作业过程中对待定区域进行判断,然后根据判断结果将待定区域划分房门区域、扩展区域或墙,并执行相应的操作;s4:机器人在作业区域中完成作业任务后,通过房门区域移动到作业区域之外,然后重复步骤s1至步骤s4,直至完成所有区域的作业。
3、进一步地,步骤s1中,机器人获取点云数据中的外轮廓数据,包括以下步骤:机器人将获取到的点云数据放置到行走地图上,然后将行走地图转换为二值图;机器人选取二值图中一个像素值非零的像素点作为目标像素点,然后检索与目标像素点相邻且像素值非零的像素点;机器人将检索到的像素值非零的像素点作为目标像素点,然后再次检索与目标像素点相邻且像素值非零的像素点;机器人再将检索到的像素值非零的像素点作为目标像素点,然后再次检索与目标像素点相邻且像素值非零的像素点;以此类推,机器人通过该方式检索完与目标像素点相邻且像素值非零的像素点,并将检索到的像素点组合成像素点集合;机器人获取若干个像素点集合,将位于最外部的像素点集合中的像素点作为外轮廓数据。
4、进一步地,步骤s1中,机器人从点云数据中提取角点,包括以下步骤:机器人计算二值图中每个像素点的上下左右方向的四个像素点的像素值,然后根据计算得到的像素值确定角点;机器人将获取到的角点的坐标按照单向链表的方式进行保存。
5、进一步地,步骤s2中,机器人合并从点云数据中提取到的外轮廓数据和角点,然后基于合并后的外轮廓数据和角点来构建作业区域的边界,包括以下步骤:机器人将获取到的角点与外轮廓数据进行重叠,然后将位于外轮廓数据构成的边框上且相邻的角点两两相连,得到作业区域的边界。
6、进一步地,步骤s3中,机器人在作业区域中作业过程中,会判断自身是否在作业区域中:机器人以自身当前位置为起点做水平向左或竖直向上的射线,若所述射线与当前的作业区域的边界的交点的个数为奇数,则判断机器人在当前作业区域中;若所述射线与当前的作业区域的边界的交点的个数为偶数,则判断机器人不在作业区域中。
7、进一步地,步骤s2中,机器人基于边界上点间距离大于或等于设定距离的相邻两点构建待定区域,包括以下步骤:机器人以点间距离大于或等于设定距离的相邻两点来作为矩形的两个端点,然后将所述相邻两点向边界内部水平或垂直平移设定距离来作为矩形的另两个端点,并连接四个端点来构建矩形区域,所述矩形区域为待定区域。
8、进一步地,步骤s3中,机器人在作业过程中对待定区域进行判断,然后根据判断结果将待定区域划分房门区域、扩展区域或墙,包括以下步骤:机器人移动到待定区域中,自转一圈,并在自转过程中通过单点tof传感器获取环境中的点云数据,然后对待定区域进行判断;若待定区域中的相邻点之间的最大点间距离小于设定距离,则判断该待定区域为墙,并将获取到的点云数据作为作业区域的边界;若待定区域中的相邻点之间的最大点间距离大于或等于设定距离且在待定区域中发现凹凸点,则判断该待定区域为房门区域,并进行保存;若待定区域中的相邻点之间的最大点间距离大于或等于设定距离且在待定区域中没有发现凹凸点,则判断该待定区域为扩展区域,并对作业区域进行扩区;其中,所述凹凸点为函数发生凹凸性变化的点。
9、进一步地,机器人对作业区域进行扩区,包括以下步骤:机器人在扩展区域自转一圈,通过单点tof传感器获取环境中的点云数据,然后获取点云数据中的外轮廓数据,并从点云数据中提取角点;机器人合并从点云数据中提取到的外轮廓数据和角点,然后基于合并后的外轮廓数据和角点来构建作业区域的边界,并将边界上相邻两点之间的距离大于或等于设定距离的区域设置为待定区域;机器人在扩区后的作业区域中进行作业,并在作业过程中对待定区域进行判断,然后根据判断结果将待定区域划分房门区域、扩展区域或墙,并执行相应的操作。
10、进一步地,步骤s4中,机器人在作业区域中完成作业任务后,在作业区域中沿边移动一圈。
11、进一步地,机器人在作业区域进行沿边移动时,机器人在经过房门区域时,若在房门区域和作业区域之外检测到的点云数据大于或等于设定值,则对该房门区域进行确认;若在房门区域和作业区域之外检测到的点云数据小于设定值,则将该房门区域设置为待定区域,并再次进入该待定区域进行判断。
12、进一步地,步骤s4中,机器人通过房门区域移动到作业区域之外时,选取距离机器人最近的房门区域,且机器人没有通过该房门区域移动到作业区域之外。
13、一种芯片,该芯片用于存储程序,该程序被配置为执行上述的基于单点tof的作业规划方法。
14、一种机器人,包括主控芯片,所述主控芯片为上述的芯片。
15、与现有的技术相比,本发明的有益效果在于:本申请的技术方案的机器人通过单点tof传感器获取环境中的点云数据来构建作业区域,并在作业区域进行作业过程中来对作业区域进行调整,使机器人作业的精度更高,提高机器人的作业效率;机器人通过单点tof传感器获取环境中的点云数据来将作业环境划分为一个个作业区域进行作业,提高了区域划分的合理性,使作业后的行走地图更加美观。
1.一种基于单点tof的作业规划方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的基于单点tof的作业规划方法,其特征在于,步骤s1中,机器人获取点云数据中的外轮廓数据,包括以下步骤:
3.根据权利要求2所述的基于单点tof的作业规划方法,其特征在于,步骤s1中,机器人从点云数据中提取角点,包括以下步骤:
4.根据权利要求3所述的基于单点tof的作业规划方法,其特征在于,步骤s2中,机器人合并从点云数据中提取到的外轮廓数据和角点,然后基于合并后的外轮廓数据和角点来构建作业区域的边界,包括以下步骤:
5.根据权利要求1所述的基于单点tof的作业规划方法,其特征在于,步骤s3中,机器人在作业区域中作业过程中,会判断自身是否在作业区域中:机器人以自身当前位置为起点做水平向左或竖直向上的射线,若所述射线与当前的作业区域的边界的交点的个数为奇数,则判断机器人在当前作业区域中;若所述射线与当前的作业区域的边界的交点的个数为偶数,则判断机器人不在作业区域中。
6.根据权利要求1所述的基于单点tof的作业规划方法,其特征在于,步骤s2中,机器人基于边界上点间距离大于或等于设定距离的相邻两点构建待定区域,包括以下步骤:
7.根据权利要求6所述的基于单点tof的作业规划方法,其特征在于,步骤s3中,机器人在作业过程中对待定区域进行判断,然后根据判断结果将待定区域划分房门区域、扩展区域或墙,包括以下步骤:
8.根据权利要求7所述的基于单点tof的作业规划方法,其特征在于,机器人对作业区域进行扩区,包括以下步骤:
9.根据权利要求1所述的基于单点tof的作业规划方法,其特征在于,步骤s4中,机器人在作业区域中完成作业任务后,在作业区域中沿边移动一圈。
10.根据权利要求9所述的基于单点tof的作业规划方法,其特征在于,机器人在作业区域进行沿边移动时,机器人在经过房门区域时,若在房门区域和作业区域之外检测到的点云数据大于或等于设定值,则对该房门区域进行确认;若在房门区域和作业区域之外检测到的点云数据小于设定值,则将该房门区域设置为待定区域,并再次进入该待定区域进行判断。
11.根据权利要求1所述的基于单点tof的作业规划方法,其特征在于,步骤s4中,机器人通过房门区域移动到作业区域之外时,选取距离机器人最近的房门区域,且机器人没有通过该房门区域移动到作业区域之外。
12.一种芯片,该芯片用于存储程序,其特征在于,该程序被配置为执行权利要求1至11任一项所述的基于单点tof的作业规划方法。
13.一种机器人,包括主控芯片,其特征在于,所述主控芯片为权利要求12所述的芯片。