CN111552290B - 一种机器人沿墙找直线的方法及清扫方法 - Google Patents
一种机器人沿墙找直线的方法及清扫方法 Download PDFInfo
- Publication number
- CN111552290B CN111552290B CN202010362140.9A CN202010362140A CN111552290B CN 111552290 B CN111552290 B CN 111552290B CN 202010362140 A CN202010362140 A CN 202010362140A CN 111552290 B CN111552290 B CN 111552290B
- Authority
- CN
- China
- Prior art keywords
- robot
- straight line
- wall
- angle
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/28—Floor-scrubbing machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4061—Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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
- G05D1/0227—Control of position or course in two dimensions specially adapted to land vehicles using mechanical sensing means, e.g. for sensing treated area
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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
- G05D1/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
Abstract
本发明涉及一种机器人沿墙找直线的方法和机器人的清扫方法,可以提高机器人找直线的准确性和工作效率。根据所述机器人沿墙找直线的方法,机器人可以对沿墙行走所记录的位置点进行滚动测算,删除不合适的位置点,保留合适的位置点并进行最终拟合处理,最终得到的直线更符合墙体直线特征,准确性更高。根据所述机器人的清扫方法,机器人可以设定垂直于沿墙直线的清扫规划线路,并按照该清扫规划线路进行移动和清扫,清扫路径更规整,清扫效率更高。
Description
技术领域
本发明涉及智能机器人技术领域,具体涉及一种机器人沿墙找直线的方法和机器人的清扫方法。
背景技术
测量墙面的走向对于很多机器人有比较重要的作用,例如清洁类机器人,测量了墙面的走向后,机器人就可以平行于墙面或者垂直于墙面行走,行走的方向与地形一致就会比较高效。自动巡航机器人,通过测量墙面障碍物信息,可以规划自己的路径;具有规划清扫的机器人,测量到了墙面的走向,可以用于机器人的辅助定位。测量墙面,目前比较常见的是通过机器人的沿边行走来获得,也可以通过旋转激光来获得,前者误差比较大,耗时也长,后者成本高,激光头一般在机器上表面,很多障碍物检测不到,还是需要机器自身的沿边行为来辅助。
一篇中国专利公开号为CN109085834B的发明专利,公开了一种机器人确定参考边的方法和机器人筛选参考墙边的方法,可以准确地检测机器人周围的直边,为机器人利用直边进行确定参考边提供有效参考。机器人根据距离传感器检测到的距离值和角度传感器检测到的角度值来确定各检测点的位置坐标,再由相邻两个检测点所构成的直线的斜率情况来确定最终的直边,检测精度和准确性较高,且不需要机器人通过沿边行为来确定直边情况,工作效率大大提高。
发明内容
为解决上述问题,本发明提供了一种机器人沿墙找直线的方法和机器人的清扫方法,可以提高机器人找直线的准确性和工作效率。本发明的具体技术方案如下:
一种机器人沿墙找直线的方法,包括如下步骤:步骤S1,机器人检测到墙壁,进行沿墙行走;步骤S2,机器人每隔预设距离,记录一次坐标位置;步骤S3,当机器人所记录的坐标位置的数量达到预设数值时,将这些坐标位置进行拟合,得到拟合直线方程;步骤S4,机器人将所记录的坐标位置的X值和Y值代入拟合直线方程中,并删除不符合预设条件的坐标位置;步骤S5,机器人判断符合预设条件的坐标位置的数量是否达到预设数值,如果否,则返回步骤S2,如果是,则将这些坐标位置进行拟合,得到最终要找的直线。
进一步地,所述步骤S1具体包括如下步骤:步骤S11,机器人检测到障碍物;步骤S12,机器人沿障碍物的边缘行走;步骤S13,机器人判断行走的距离在设定范围内时,机器人转动的角度是否大于设定角度,如果是,则机器人转动另一角度,朝远离障碍物的方向行走,直到再次检测到障碍物时返回步骤S12,如果否,则进入步骤S2。
进一步地,在所述步骤S11之前,还包括如下步骤:步骤S01,机器人判断是否处于充电座上,如果是,则进入步骤S02,如果否,则进入步骤S04;步骤S02,机器人后退第一距离;步骤S03,机器人向一侧转向第一角度;步骤S04,机器人向前直行,如果行走距离达到第二距离前,机器人检测到障碍物,则进入步骤S12,否则,进入步骤S05;步骤S05,机器人转动角度的次数是否达到预设次数,如果否,则返回步骤S03,如果是,则机器人停止沿墙找直线。
进一步地,所述步骤S3具体包括如下步骤:步骤S31,机器人判断所记录的坐标位置的数量是否达到预设数值,如果否,则机器人继续每隔预设距离,记录一次坐标位置,直到所记录的坐标位置的数量达到预设数值,然后进入步骤S32,如果是,则直接进入步骤S32;步骤S32,机器人利用这些坐标位置的X值和Y值,进行最小二乘拟合,求得拟合直线方程。
进一步地,所述步骤S4具体包括如下步骤:步骤S41,机器人将所记录的坐标位置的X值和Y值代入拟合直线方程中;步骤S42,机器人判断拟合直线方程中等式左右两边的差值是否大于设定值,如果是,则删除对应的坐标位置,如果否,则保留对应的坐标位置。
进一步地,所述步骤S5具体包括如下步骤:机器人判断保留下来的坐标位置的数量是否达到预设数值,如果否,则返回步骤S2,机器人继续采集记录新的坐标位置,如果是,则机器人将这些保留下来的坐标位置重新进行最小二乘拟合,求得最终要找的直线。
进一步地,在机器人判断保留下来的坐标位置的数量没有达到预设数值之后,且在返回步骤S2之前,还包括如下步骤:机器人判断沿墙行走的总路程是否超过设定路程,如果否,则机器人返回步骤S2,如果是,则机器人停止沿墙找直线。
一种机器人的清扫方法,包括如下步骤:机器人基于上述的机器人沿墙找直线的方法,得到最终要找的直线;机器人计算该直线的角度;机器人根据该直线的角度,确定垂直于该直线的清扫规划线路,并按照所述清扫规划线路进行移动和清扫。
进一步地,所述机器人计算该直线的角度,具体包括如下步骤:机器人确定该直线为y=ax+b;机器人确定自身陀螺仪的角度方向,机器人向左转为正方向,向右转为负方向;当a<0时,机器人确定该直线的角度为-arctan(a),当a>0时,机器人确定该直线的角度为arctan(a)。
进一步地,还包括如下步骤:机器人得到最终要找的直线时,确定当前位置作为清扫的起始点,确定陀螺仪检测到的角度;机器人确定其启动并开始沿墙找直线时的基点的坐标;机器人根据所述起始点的坐标和角度以及基点的坐标,得出所述基点相对于所述起始点作为坐标原点的新坐标,使机器人在清扫结束后能准确回到基点所在位置。
根据所述机器人沿墙找直线的方法,机器人可以对沿墙行走所记录的位置点进行滚动测算,删除不合适的位置点,保留合适的位置点并进行最终拟合处理,最终得到的直线更符合墙体直线特征,准确性更高。
根据所述机器人的清扫方法,机器人可以设定垂直于沿墙直线的清扫规划线路,并按照该清扫规划线路进行移动和清扫,清扫路径更规整,清扫效率更高。
附图说明
图1为本发明所述机器人沿墙找直线的方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
在下面的描述中,给出具体细节以提供对实施例的透彻理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实施实施例。例如,电路可以在框图中显示,以便不在不必要的细节中使实施例模糊。在其他情况下,为了不混淆实施例,可以不详细显示公知的电路、结构和技术。
一种机器人沿墙找直线的方法,所述机器人是扫地机器人、拖地机器人或消毒机器人等智能移动型的机器人。所述机器人包括机器主体、感知系统、控制系统、驱动系统、能源系统和人机交互系统等。所述沿墙是指机器人利用其沿边传感器沿着墙体或者靠墙物体的边缘行走。所述方法包括步骤S1至S5。
步骤S1,机器人根据自身的传感器检测到墙壁,进行沿墙行走,然后进入步骤S2。所述墙壁包括墙体或者靠墙物体。
步骤S2,机器人每隔预设距离,记录一次坐标位置,然后进入步骤S3。所述预设距离可以根据具体的产品设计需求进行相应配置,一般可以设置为1厘米至10厘米中的任意一值,优选为5厘米。记录所述坐标位置包括记录该位置所在坐标的X值和Y值。
步骤S3,当机器人所记录的坐标位置的数量达到预设数值时,将这些坐标位置进行拟合,得到拟合直线方程,然后进入步骤S4。所述预设数值也是可以根据具体的产品设计需求进行配置,如果该数值过小,检测结果不够准确,如果该数值过大,浪费机器人数据资源,降低机器人工作效率,一般可以设置为10至30中的任意一值,优选为15。
步骤S4,机器人将所记录的坐标位置的X值和Y值代入拟合直线方程中,并删除不符合预设条件的坐标位置,然后进入步骤S5。所述不符合预设条件主要是指坐标位置偏离拟合直线较远。
步骤S5,机器人判断符合预设条件的坐标位置的数量是否达到预设数值,如果否,则返回步骤S2,继续采集和记录下一个位置数据,如果是,则将这些符合预设条件的坐标位置进行拟合,得到最终要找的直线。
根据本实施例所述方法,机器人可以对沿墙行走所记录的位置点进行滚动测算,删除不合适的位置点,保留合适的位置点并进行最终拟合处理,最终得到的直线更符合墙体直线特征,准确性更高。
作为其中一种实施方式,所述步骤S1具体包括如下步骤:步骤S11,机器人基于自身的碰撞传感器或者红外障碍检测传感器检测到障碍物,然后进入步骤S12。步骤S12,机器人利用其自身的沿边传感器沿障碍物的边缘行走,然后进入步骤S13。步骤S13,机器人判断行走的距离在设定范围内时,机器人转动的角度是否大于设定角度,如果是,表明机器人正在沿边的障碍物很可能是一个孤立物体,不是墙体或者靠墙物体,则机器人转动另一角度,朝远离障碍物的方向行走,直到再次检测到障碍物时返回步骤S12,如果否,表明机器人正在沿边的障碍物就是墙体或者靠墙的物体,则进入步骤S2。所述设定范围也是根据具体的产品设计需求进行配置,一般设置为3米至6米中的任意一值,优选为4米。所述设定角度一般设置为大于250°,且小于360°范围内中的任意一值,优选为280°。通过本实施例所述方法,机器人可以准确判断当前所沿边的物体是不是墙体或者靠墙障碍物,避免机器人在孤立障碍物上找直边而降低工作效率的问题,提高机器人找直边的准确性。
作为其中一种实施方式,在所述步骤S11之前,还包括如下步骤:步骤S01,机器人判断是否处于充电座上,如果是,则进入步骤S02,如果否,则进入步骤S04。步骤S02,机器人后退第一距离,然后进入步骤S03,所述第一距离可以根据设计需求进行配置,一般设置为20厘米至50厘米,优选为30厘米。步骤S03,机器人向一侧转向第一角度,然后进入步骤S04。所述第一角度主要是配合第一距离进行设置,第一距离较大时,第一角度可以设置得小一些,第一距离较小时,第一角度可以设置得大一些,一般可以设置为30度至45°中任意一值,如此可以有效避免机器人碰撞到充电座。步骤S04,机器人向前直行,如果行走距离达到第二距离前,机器人检测到障碍物,则进入步骤S12,否则,进入步骤S05。所述第二距离设置的值可以比第一距离稍微大一些,一般设置为大于40厘米的值。步骤S05,机器人转动角度的次数是否达到预设次数,如果否,表明机器人寻找障碍物的时间还不长,机器人还可以继续寻找,则返回步骤S03,如果是,表明机器人已经耗费了较多的时间依然没有找到障碍物,机器人可能处于一个比较空旷的区域,则机器人停止沿墙找直线,直接进行清扫,以此保证机器人的工作效率。所述预设次数一般设置为3次。机器人根据本实施例所述方法,可以基于当前是否处于充电座的位置,执行不同的找障碍物的动作,如此可以实现高效找到墙体的效果。
作为其中一种实施方式,所述步骤S3具体包括如下步骤:步骤S31,机器人判断所记录的坐标位置的数量是否达到预设数值,如果否,表明机器人采集的数据不够进行数据分析,则机器人继续每隔预设距离,记录一次坐标位置,直到所记录的坐标位置的数量达到预设数值,然后进入步骤S32,如果是,机器人已经可以基于所记录的数据进行分析,则直接进入步骤S32。步骤S32,机器人利用这些坐标位置的X值和Y值,进行最小二乘拟合,求得拟合直线方程。具体为:
设直线方程为:y=ax+b;
残差函数为:e=∑(yi-axi-b)^2;
要求出令∑e^2(残差平方和)最小的a、b的值,只需要分别对a、b求导,使求导后的两方程为0,联立求出a、b;
对a、b求偏导:de/da=2∑(yi-axi-b)xi=0,de/db=-2∑(yi-axi-b)=0;
于是得到关于a,b的线性方程组:(∑xi^2)a+(∑xi)b=∑yixi,(∑xi)a+nb=∑yi;
设A=∑xi^2,B=∑xi,C=∑yixi,D=∑yi;
则方程化为:Aa+Bb=C,Ba+nb=D;
解出a,b得:a=(Cn-BD)/(An-BB),b=(AD-CB)/(An-BB)。
本实施例所述方法,使机器人可以采集到足够的坐标位置数据后再进行分析,如此可以提高机器人找直线的准确性。
作为其中一种实施方式,所述步骤S4具体包括如下步骤:步骤S41,机器人将所记录的坐标位置的X值和Y值代入拟合直线方程中,然后进入步骤S42。步骤S42,机器人判断拟合直线方程中等式左右两边的差值是否大于设定值,如果是,表明该位置点与拟合直线的距离比较远,则删除对应的坐标位置,如果否,则保留对应的坐标位置。所述设定值是一个精度容忍度问题,如果不需要平行墙壁的精度很高,则可以设置大些,反之,设置小些,然后把超出范围的点从记录数组中去掉。本实施例所述方法,通过删除误差较大的位置点数据,可以提高机器人找直线的准确性。
作为其中一种实施方式,所述步骤S5具体包括如下步骤:机器人判断保留下来的坐标位置的数量是否达到预设数值,如果否,则返回步骤S2,机器人继续采集记录新的坐标位置,继续进行后续的拟合分析,如果是,则机器人将这些保留下来的坐标位置重新进行最小二乘拟合,求得最终要找的直线。本实施例所述方法,通过筛选出最合理的位置坐标参数进行拟合,可以保证所求得的直线最符合墙体或靠墙物体的直线延伸特性,进而确保机器人依据该直线进行清扫路线规划的高效性。
作为其中一种实施方式,在机器人判断保留下来的坐标位置的数量没有达到预设数值之后,且在返回步骤S2之前,还包括如下步骤:机器人判断沿墙行走的总路程是否超过设定路程,如果否,则机器人返回步骤S2,如果是,表明当前所沿的并不是直墙,不需要耗费过多时间,以免因此降低机器人工作效率,则机器人停止沿墙找直线,可以直接开始进行清扫。所述设定路程也是根据具体的产品设计需求进行配置的,一般设置为4米或者5米。本实施例所述方法,可以使机器人在找直线比较困难的情况下,及时中止找直线,避免机器人浪费过多时间,保证机器人的工作效率。
一种机器人的清扫方法,包括如下步骤:首先,机器人基于以上实施例所述的机器人沿墙找直线的方法,得到最终要找的直线。接着,机器人计算该直线的角度。最后,机器人根据该直线的角度,确定垂直于该直线的清扫规划线路,并按照所述清扫规划线路进行移动和清扫。根据本实施例所述机器人的清扫方法,机器人可以设定垂直于沿墙直线的清扫规划线路,并按照该清扫规划线路进行移动和清扫,清扫路径更规整,清扫效率更高。
作为其中一种实施方式,所述机器人计算该直线的角度,具体包括如下步骤:机器人确定该直线为y=ax+b;机器人确定自身陀螺仪的角度方向,机器人向左转为正方向,向右转为负方向;当a<0时,机器人确定该直线的角度为-arctan(a),当a>0时,机器人确定该直线的角度为arctan(a)。本实施例所述方法,通过结合陀螺仪的角度方向和直线的斜率,可以快速得出直线的角度,有利于机器人快速构建清扫规划线。
作为其中一种实施方式,所述清扫方法还包括如下步骤:机器人得到最终要找的直线时,确定当前位置作为清扫的起始点,确定陀螺仪检测到的角度;机器人确定其启动并开始沿墙找直线时的基点的坐标;机器人根据所述起始点的坐标和角度以及基点的坐标,得出所述基点相对于所述起始点作为坐标原点的新坐标,使机器人在清扫结束后能准确回到基点所在位置。本实施例所述方法,使机器人能够以找到直线时的位置点作为规划清扫的起始点,如此可以规划出规整的弓字型路线,使得机器人建图更精确。此外,在清扫结束后,还能准确回到最开始的位置,提高了机器人的智能化水平。
下面以扫地机为例进行说明:
扫地机进行清扫时,一般分为两种情况:1)从充电座出发。2)充电座以外的任意一个位置。
1)充电座出发
扫地机退座后,往座子后面的墙壁进行找直线。具体步骤为:扫地机退座50cm,往右转 30 度,然后往前走直线,如此可以保证走直线时,不会碰到充电座,同时最好不要离充电座太远的方向。扫地机走直线,走一段距离,直到撞到障碍物,或者超出一定距离,停止。如果碰到障碍物,则启动沿墙找直线。
如果超出一定距离也没有撞到障碍物,则转一个角度,这个角度没有理论值,按照需要定,然后在往另一个方向尝试,直到撞到障碍物,如果找不到障碍物,则按照实际情况可按同样的流程进行多次的尝试。 如果找不到障碍物,则在最后的位置直接开始清扫。
如果在上面的方法中找到障碍物,则需要开始沿墙找直线,如果碰到不是靠近墙壁的障碍物时,绕大概一圈后,选择出发时的反方向尝试去找一个墙壁。再重复走上面的流程。
2)不从充电座出发
扫地机直接走直线,走一定的距离,直到撞到墙壁,或者超出一定距离,扫地机停止。
如果在一定距离内碰到障碍物,则启动沿墙找直线。
如果超出一定距离,则转一个角度,这个角度没有理论值,按照需要定,然后在往另一个方向尝试,直到找到墙壁,如果找不到障碍物,则按照实际情况可按同样的流程进行多次的尝试。 如果找不到障碍物,则在最后的位置开始清扫。
如果在上面的方法中找到障碍物,则需要开始沿墙找直线,如果碰到不是靠近墙壁的障碍物时,绕大概一圈后,选择出发时的反方向走尝试去找一个墙壁。再重复走上面的流程。
扫地机在找直线过程中,以碰到墙壁开始计算,把位置信息(x,y)记录下来,然后沿墙走过程,每隔一定距离,比如5厘米记录一次当前坐标(x,y),当采集够N个点后,比如16个点为一组数据(约0.75米),对这些坐标点进行最小二乘拟合,便可得到一条与墙壁平行的直线。 在理想情况下,这个直线求出来是平行墙壁的,但是机器沿墙过程,不一定是墙壁,或者墙壁不一定是连续直线,有些墙壁挨着很多凹凸不平的障碍物,如果扫地机直接用记录的点拟出的直线,一定不是理想的直线,很大程度不平行墙体。所以扫地机需要做下面的滤波或者数据重组计算
比如按上面采集到的16个点为例,扫地机拟出来的直线,通过把每个点代入y=ax+b这个公式,如果等式两边的值相差超过预设值,删除该点,否则记下来继续进行动态计算,只要采集够16个点,就计算一次。如此类推,直到每个点都符合条件位置,如果不需要精度高,也可以是N个点满足就可以了(n<=16)。最后把符合条件位置的点进行拟合,就得到理想的直线。
如果扫地机沿边走的总路程超过预设值,则放弃找直线,按照原来出发的方向进行清扫。
当计算出来找到的直线后,需要计算出直线的角度,角度是相对出发角度来说的,上面的直线方程中,如果计算出来的结果: 角度是反正切函数 atan(a). 则角度范围是-90度至90度。假设出发方向是Y轴,为0度, 陀螺仪的角度往左是正,往右是负,则a<0时,直线的角度是-atan(a),反之是atan(a)。
通过上面找直线后,重新出发时的原点位置是当前的位置,这样的话,需要把原来出发点的位置相对现在点的位置反推回来,因为,清扫完毕后,需要的是回到原来出发点的位置,比如充电座的位置。 扫完后,需要导航到真正的充电座位置,而不是找直线后的位置。
转化过程如下:
当前的位置坐标(x,y), 原来的位置坐标(x1, y1),原来的位置一般是指座子的位置或者出发原点位置。求出两个位置的距离Offset_x=x-x1;Offset_y=y-y1;Dis =sqrtf(Offset_x*Offset_x - Offset_y*Offset_y),即进行两个值的平方差,然后开方。求出当前点和原来位置的角度 Angle = atan2f( Offset_x,Offset_y) - 180度 - 当前角度陀螺仪角度。求出原来位置相对现在的坐标为New_x = dis * cos(angle)、 New_y =dis * sin(angle)。
所述机器人在沿边行走过程中,会遇到不同的障碍物,为了有效简化对室内环境的描述,便于在路径规划中提出合理的对应策略,可对室内障碍物做如下处理:1、只要障碍物与墙壁的距离不满足所述机器人通行的最小距离,机器人不能顺利通过,就按靠墙障碍物处理。2、对于直线型障碍物,用矩形代表其轮廓特征;对于非直线型障碍物,可以采用折线逼近法处理。3、当两个障碍物之间的距离很近而无法使所述机器人顺利通过时,可将二者看做一个障碍物进行处理。
本发明的机器人载体上装有陀螺仪用于转动角度角度检测、里程计用于行程距离检测,并且装有能够检测墙面距离的沿边传感器,沿边传感器可以是超声波距离传感器、红外强度检测传感器、红外距离传感器、物理开关检测碰撞传感器,电容或者电阻变化检测传感器等。
显然,上述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。此外,如果实施例中出现“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等术语,其指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位或以特定的方位构造和操作,因此不能理解为对本发明的限制。如果实施例中出现“第一”、“第二”、“第三”等术语,是为了便于相关特征的区分,不能理解为指示或暗示其相对重要性、次序的先后或者技术特征的数量。
本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种机器人沿墙找直线的方法,其特征在于,包括如下步骤:
步骤S1,机器人检测到墙壁,进行沿墙行走;
步骤S2,机器人每隔预设距离,记录一次坐标位置;
步骤S3,当机器人所记录的坐标位置的数量达到预设数值时,将这些坐标位置进行拟合,得到拟合直线方程;
步骤S4,机器人将所记录的坐标位置的X值和Y值代入拟合直线方程中,并删除不符合预设条件的坐标位置;
步骤S5,机器人判断符合预设条件的坐标位置的数量是否达到预设数值,如果否,则返回步骤S2,如果是,则将这些坐标位置进行拟合,得到最终要找的直线;
其中,所述步骤S4具体包括如下步骤:
步骤S41,机器人将所记录的坐标位置的X值和Y值代入拟合直线方程中;
步骤S42,机器人判断拟合直线方程中等式左右两边的差值是否大于设定值,如果是,则删除对应的坐标位置,如果否,则保留对应的坐标位置。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1具体包括如下步骤:
步骤S11,机器人检测到障碍物;
步骤S12,机器人沿障碍物的边缘行走;
步骤S13,机器人判断行走的距离在设定范围内时,机器人转动的角度是否大于设定角度,如果是,则机器人转动另一角度,朝远离障碍物的方向行走,直到再次检测到障碍物时返回步骤S12,如果否,则进入步骤S2。
3.根据权利要求2所述的方法,其特征在于,在所述步骤S11之前,还包括如下步骤:
步骤S01,机器人判断是否处于充电座上,如果是,则进入步骤S02,如果否,则进入步骤S04;
步骤S02,机器人后退第一距离;
步骤S03,机器人向一侧转向第一角度;
步骤S04,机器人向前直行,如果行走距离达到第二距离前,机器人检测到障碍物,则进入步骤S12,否则,进入步骤S05;
步骤S05,机器人转动角度的次数是否达到预设次数,如果否,则返回步骤S03,如果是,则机器人停止沿墙找直线。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述步骤S3具体包括如下步骤:
步骤S31,机器人判断所记录的坐标位置的数量是否达到预设数值,如果否,则机器人继续每隔预设距离,记录一次坐标位置,直到所记录的坐标位置的数量达到预设数值,然后进入步骤S32,如果是,则直接进入步骤S32;
步骤S32,机器人利用这些坐标位置的X值和Y值,进行最小二乘拟合,求得拟合直线方程。
5.根据权利要求4所述的方法,其特征在于,所述步骤S5具体包括如下步骤:
机器人判断保留下来的坐标位置的数量是否达到预设数值,如果否,则返回步骤S2,机器人继续采集记录新的坐标位置,如果是,则机器人将这些保留下来的坐标位置重新进行最小二乘拟合,求得最终要找的直线。
6.根据权利要求5所述的方法,其特征在于,在机器人判断保留下来的坐标位置的数量没有达到预设数值之后,且在返回步骤S2之前,还包括如下步骤:
机器人判断沿墙行走的总路程是否超过设定路程,如果否,则机器人返回步骤S2,如果是,则机器人停止沿墙找直线。
7.一种机器人的清扫方法,其特征在于,包括如下步骤:
机器人基于权利要求1至6中任一项所述的机器人沿墙找直线的方法,得到最终要找的直线;
机器人计算该直线的角度;
机器人根据该直线的角度,确定垂直于该直线的清扫规划线路,并按照所述清扫规划线路进行移动和清扫。
8.根据权利要求7所述的清扫方法,其特征在于,所述机器人计算该直线的角度,具体包括如下步骤:
机器人确定该直线为y=ax+b;
机器人确定自身陀螺仪的角度方向,机器人向左转为正方向,向右转为负方向;
当a<0时,机器人确定该直线的角度为-arctan(a),当a>0时,机器人确定该直线的角度为arctan(a)。
9.根据权利要求7或8所述的清扫方法,其特征在于,还包括如下步骤:
机器人得到最终要找的直线时,确定当前位置作为清扫的起始点,确定陀螺仪检测到的角度;
机器人确定其启动并开始沿墙找直线时的基点的坐标;
机器人根据所述起始点的坐标和角度以及基点的坐标,得出所述基点相对于所述起始点作为坐标原点的新坐标,使机器人在清扫结束后能准确回到基点所在位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010362140.9A CN111552290B (zh) | 2020-04-30 | 2020-04-30 | 一种机器人沿墙找直线的方法及清扫方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010362140.9A CN111552290B (zh) | 2020-04-30 | 2020-04-30 | 一种机器人沿墙找直线的方法及清扫方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552290A CN111552290A (zh) | 2020-08-18 |
CN111552290B true CN111552290B (zh) | 2023-09-05 |
Family
ID=72000390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010362140.9A Active CN111552290B (zh) | 2020-04-30 | 2020-04-30 | 一种机器人沿墙找直线的方法及清扫方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552290B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112869639B (zh) * | 2021-01-29 | 2022-06-14 | 深圳拓邦股份有限公司 | 机器人回充探索方法、装置及扫地机器人 |
GB2618104A (en) * | 2022-04-27 | 2023-11-01 | Dyson Technology Ltd | Method for edge cleaning |
CN114794986A (zh) * | 2022-05-05 | 2022-07-29 | 深圳市无限动力发展有限公司 | 扫地机沿墙打断续扫方法、装置、计算机设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103431812A (zh) * | 2013-08-02 | 2013-12-11 | 南京航空航天大学金城学院 | 一种基于超声雷达探测的清洁机器人及其行走控制方法 |
CN104501811A (zh) * | 2014-11-24 | 2015-04-08 | 杭州申昊科技股份有限公司 | 一种基于环境直线特征的地图匹配方法 |
CN104635730A (zh) * | 2013-11-13 | 2015-05-20 | 沈阳新松机器人自动化股份有限公司 | 一种机器人自主充电方法 |
CN105320140A (zh) * | 2015-12-01 | 2016-02-10 | 浙江宇视科技有限公司 | 一种扫地机器人及其清扫路径规划方法 |
CN106020188A (zh) * | 2016-05-17 | 2016-10-12 | 杭州申昊科技股份有限公司 | 一种基于激光导航的变电站巡检机器人自主充电方法 |
CN106786938A (zh) * | 2016-12-30 | 2017-05-31 | 亿嘉和科技股份有限公司 | 一种巡检机器人定位方法及自动充电方法 |
CN107544517A (zh) * | 2017-10-11 | 2018-01-05 | 珠海市微半导体有限公司 | 智能清洁机器人的控制方法 |
CN108196555A (zh) * | 2018-03-09 | 2018-06-22 | 珠海市微半导体有限公司 | 自主移动机器人沿边行走的控制方法 |
CN108507578A (zh) * | 2018-04-03 | 2018-09-07 | 珠海市微半导体有限公司 | 一种全局边界地图的构建方法及其导航方法 |
CN108968825A (zh) * | 2018-08-17 | 2018-12-11 | 苏州领贝智能科技有限公司 | 一种扫地机器人和机器人扫地方法 |
CN109085834A (zh) * | 2018-08-27 | 2018-12-25 | 珠海市微半导体有限公司 | 机器人检测直边的方法和清洁机器人筛选参考墙边的方法 |
CN109240312A (zh) * | 2018-11-23 | 2019-01-18 | 珠海市微半导体有限公司 | 一种机器人的清扫控制方法和芯片以及清洁机器人 |
CN109240301A (zh) * | 2018-09-28 | 2019-01-18 | 北京奇虎科技有限公司 | 扫地机器人路线规划方法、装置及扫地机器人 |
-
2020
- 2020-04-30 CN CN202010362140.9A patent/CN111552290B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103431812A (zh) * | 2013-08-02 | 2013-12-11 | 南京航空航天大学金城学院 | 一种基于超声雷达探测的清洁机器人及其行走控制方法 |
CN104635730A (zh) * | 2013-11-13 | 2015-05-20 | 沈阳新松机器人自动化股份有限公司 | 一种机器人自主充电方法 |
CN104501811A (zh) * | 2014-11-24 | 2015-04-08 | 杭州申昊科技股份有限公司 | 一种基于环境直线特征的地图匹配方法 |
CN105320140A (zh) * | 2015-12-01 | 2016-02-10 | 浙江宇视科技有限公司 | 一种扫地机器人及其清扫路径规划方法 |
CN106020188A (zh) * | 2016-05-17 | 2016-10-12 | 杭州申昊科技股份有限公司 | 一种基于激光导航的变电站巡检机器人自主充电方法 |
CN106786938A (zh) * | 2016-12-30 | 2017-05-31 | 亿嘉和科技股份有限公司 | 一种巡检机器人定位方法及自动充电方法 |
CN107544517A (zh) * | 2017-10-11 | 2018-01-05 | 珠海市微半导体有限公司 | 智能清洁机器人的控制方法 |
CN108196555A (zh) * | 2018-03-09 | 2018-06-22 | 珠海市微半导体有限公司 | 自主移动机器人沿边行走的控制方法 |
CN108507578A (zh) * | 2018-04-03 | 2018-09-07 | 珠海市微半导体有限公司 | 一种全局边界地图的构建方法及其导航方法 |
CN108968825A (zh) * | 2018-08-17 | 2018-12-11 | 苏州领贝智能科技有限公司 | 一种扫地机器人和机器人扫地方法 |
CN109085834A (zh) * | 2018-08-27 | 2018-12-25 | 珠海市微半导体有限公司 | 机器人检测直边的方法和清洁机器人筛选参考墙边的方法 |
CN109240301A (zh) * | 2018-09-28 | 2019-01-18 | 北京奇虎科技有限公司 | 扫地机器人路线规划方法、装置及扫地机器人 |
CN109240312A (zh) * | 2018-11-23 | 2019-01-18 | 珠海市微半导体有限公司 | 一种机器人的清扫控制方法和芯片以及清洁机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN111552290A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111552290B (zh) | 一种机器人沿墙找直线的方法及清扫方法 | |
CN111596662B (zh) | 一种沿全局工作区域一圈的判断方法、芯片及视觉机器人 | |
CN108507578B (zh) | 一种机器人的导航方法 | |
CN109997089B (zh) | 地面处理机和地面处理方法 | |
EP3271784B1 (en) | Localization and mapping using physical features | |
CN107943025B (zh) | 机器人脱困的处理方法 | |
CN111580525B (zh) | 沿边行走中返回起点的判断方法、芯片及视觉机器人 | |
CN107041718B (zh) | 清洁机器人及其控制方法 | |
CN109407675B (zh) | 机器人回座的避障方法和芯片以及自主移动机器人 | |
CN112137529B (zh) | 一种基于密集障碍物的清扫控制方法 | |
CN111938513B (zh) | 一种机器人越障的沿边路径选择方法、芯片及机器人 | |
US20210096580A1 (en) | Method for robot repositioning | |
CN111906779B (zh) | 一种越障结束判断方法、越障控制方法、芯片及机器人 | |
CN111700546A (zh) | 一种移动机器人的清扫方法及移动机器人 | |
CN108415432B (zh) | 机器人基于直边的定位方法 | |
TW201832710A (zh) | 自走式清潔裝置分區清潔方法及使用該方法的自走式清潔裝置 | |
CN111090282A (zh) | 机器人的避障方法、机器人以及装置 | |
CN108189039B (zh) | 一种移动机器人的行进方法及装置 | |
CN113156970A (zh) | 一种通行区域的路径融合规划方法、机器人及芯片 | |
CN113110497A (zh) | 基于导航路径的沿边绕障路径选择方法、芯片及机器人 | |
CN112180924B (zh) | 一种导航至密集障碍物的移动控制方法 | |
CN111625007A (zh) | 一种识别动态障碍物的方法和移动机器人 | |
CN113110499B (zh) | 一种通行区域的判定方法、路线搜索方法、机器人及芯片 | |
CN112033423B (zh) | 一种基于道路共识的机器人路径规划方法、装置和机器人 | |
CN111897336A (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 | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |