CN112198876B - 一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 - Google Patents
一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 Download PDFInfo
- Publication number
- CN112198876B CN112198876B CN202011045425.6A CN202011045425A CN112198876B CN 112198876 B CN112198876 B CN 112198876B CN 202011045425 A CN202011045425 A CN 202011045425A CN 112198876 B CN112198876 B CN 112198876B
- Authority
- CN
- China
- Prior art keywords
- current
- line
- route
- coordinate
- sweeping
- 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
- 238000010408 sweeping Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000033001 locomotion Effects 0.000 claims abstract description 58
- 238000004891 communication Methods 0.000 claims abstract description 18
- 238000004140 cleaning Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 28
- 230000009471 action Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000012937 correction Methods 0.000 claims description 9
- 238000013459 approach Methods 0.000 claims description 3
- 238000011065 in-situ storage Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 1
- 241001417527 Pempheridae Species 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- 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/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/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- 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
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法,属于控制方法领域,该方法旨在创建一套完整的扫地机带地图清扫的模块化系统,该算法将整个控制流程分为几个不同的模块,各个模块共同处理工作,从而提高系统的容错性及可移植性。单个模块出错时不影响机器本身的运行,机器可以执行原有的不带地图控制的清扫逻辑等待地图模块重启成功。在不同机型之间进行移植操作时,对运动模块中芯片引脚配置进行修改,增加功能时间成本小,可以根据功能新增模块,只需要修改通信模块即可,在清扫中适应不同的环境,覆盖效率及覆盖率远高于随机碰撞式,路线导航方式极大减少机器与墙壁、家具的碰撞,降低对环境以及对产品本身的损坏。
Description
技术领域
本发明涉及控制方法领域,尤其涉及一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法。
背景技术
当前应用于扫地机器人的未划分模块带地图清扫方案有以下缺陷:
(1)、容错率低,未实行模块化的程序运算量大,程序功能之间耦合性高,一旦出错,会导致扫地机无法工作需要手动重启。
(2)、移植难度大,面对不同的机型,需要修改程序中所有和芯片有关的部分,时间成本高。
(3)、功能修改时间成本高,需要新增功能或删减功能时,需要对整个程序进行修改,设计工作量大。
发明内容
本发明的目的在于提供一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法,解决现有扫地机程序出错时机器人停在原地需要手动重启的技术问题。该方法旨在创建一套完整的扫地机带地图清扫的模块化系统,该算法通过将整个控制流程分为几个不同的模块,各个模块共同处理工作,从而提高系统的容错性及可移植性。单个模块出错时不影响机器本身的运行,机器可以执行原有的不带地图控制的清扫逻辑等待地图模块重启成功。
一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法,实现控制方法的系统包括运动模块、通信模块和地图模块,所述运动模块经通信模块与地图模块连接,控制方法为,使用码盘和陀螺仪实时获取扫地机器人的坐标数据,扫地机器人行走一段距离持续接收到周围已清扫的标志,则运动模块开始触发搜索命令传给地图模块并开始等待接收一条前往未清扫栅格坐标的路径,地图模块接收到搜索命令开始进行搜索,搜索完成将路径发送给运动模块,地图模块持续搜索不到未清扫栅格时,则下发清扫完成标志给运动模块,运动模块接收到此标志后开始进行沿墙操作,沿墙过程中地图模块标记开始沿墙点,并持续将扫地机器人当前坐标与开始沿墙点坐标比对,若机器沿墙回到开始沿墙点,则发送沿墙完成命令给运动模块,同时发送返回原点的路径,运动模块接收到沿墙结束命令则停止沿墙,并沿返回原点的路径回到原点。
进一步地,所述运动模块的具体控制过程为:
通过通信模块从地图模块获取目的地的坐标,同时通过码盘和陀螺仪获取当前的坐标,根据两个坐标用三角函数算出目标点的与当前位置的角度,然后调整扫地机器人向目标并进行直线行走,使用勾股定理进行计算,即为坐标轴的X轴坐标的平方加上X轴坐标的平方和小于2560,同时判断已到达目标点。
进一步地,所述地图模块搜索的具体过程为:
地图模块等待接收搜索指令,当收到搜索指令时,获取当前的坐标点,并把当前的坐标点列入搜索队,搜索队的队首坐标出队,然后判断出队坐标是不是未清扫栅格块,如果是,按照入队的坐标构成行走路径,然后把路径发给运动模块,如果不是未清扫栅格块时,继续搜索出队坐标的上、下、左、右栅格的信息是不是未清扫栅格块,如果有一块栅格为未清扫,同时判断该栅格是否为障碍物,如果不是,则按照入队的坐标构成行走路径,然后把路径发给运动模块,如果均不是未清扫栅格块时,继续重复上述寻找周边栅格块是不是未清扫,直到找到未未清扫栅格块或者进入沿墙走指令。
进一步地,扫地机器人沿墙的具体控制过程为:运动模块判断当前模式是不是沿墙行走模式,如果不是继续判断,如果是,记录开始沿墙坐标点,记录距离远点最近的坐标点,然后判断当前坐标距离开始沿墙坐标小于机身半径,如果不是,一边行走,一边判断,直到当前坐标距离开始沿墙坐标小于机身半径时,发送结束沿墙命令给运动模块,发送返回原点的路径给运动模块,回到原点。
进一步地,构成行走路径的具体过程为:
建立直角坐标系,在直角坐标系规划直线行走路线,直线行走路线即为线路总是平行于X坐标轴或Y坐标轴,线路由坐标系中的直线和路径方向决定;扫地机器人沿着规划的直线行走路线进行扫地行走,当出现碰撞或者跌落时,扫地机器人往后退;后退完后,规划下一条直线行走路线,扫地机器人的位置原地旋转90°后的走向即为规划的直线行走路线,如果旋转过程中出现碰撞和跌落时,进入沿墙走模式或者弓扫线路,如果旋转过程中没有出现碰撞和跌落时;转向完成后,通过半径转向控制机器人平滑切入到下一条线路中,根据当前坐标与下一条线路的距离以及下一条线路的朝向角度,执行沿线直走控制。随着机器人与下一条线路之间的距离逐渐减小,机器人的目标运行角度逐渐接近下一条线路的朝向角度,即可实现平滑切入到下一条直线,如果行走完后,如果半径转向控制出现碰撞或者跌落时进入沿墙行走;如果沿墙行走时,使用沿墙算法进行运动导航,在沿墙行走时出现碰撞或者跌落时,进入弓扫线路模式,对触发变化事件进行监听,监听到触发变化事件后,进入沿线直走模式。
进一步地,如果线路是水平于X轴的,其线路函数为y=b,朝向角度由0°和180°两种;如果线路是水平于Y轴的,其线路函数为x=b,朝向由90°和-90°两种。
进一步地,弓扫线路有四种弓字形整体走势,第一种弓字形整体走势为,每条线路水平于X轴,沿Y轴正方向弓扫,第二种弓字形整体走势为,每条线路水平于X轴,沿X轴负方向弓扫,第三种弓字形整体走势为,每条线路水平于Y轴,沿X轴正方向弓扫,第四种弓字形整体走势为,每条线路水平于X轴,沿Y轴负方向弓扫。
进一步地,弓扫线路控制中,设置有可调参数路线间距LS和当前坐标(x1,y1),根据当前弓字形走势类型,有四种换路线的方法,若为第一种弓字形整体走势时:当前路线为y=b,若y1-b>LS,则新线路为y=b+LS,并且将线路朝向角度颠倒180°,若为第二种弓字形整体走势时:当前路线为y=b,若b-y1>LS,则新线路为y=b-LS,并且将线路朝向角度颠倒180°,若为第三种弓字形整体走势时:当前路线为x=b,若x1-b>LS,则新线路为x=b+LS,并且将线路朝向角度颠倒180°,若为第四种弓字形整体走势时:当前路线为x=b,若b-x1>LS,则新线路为x=b-LS,并且将线路朝向角度颠倒180°。
进一步地,触发变化事件包括切入到下一条线路、沿墙一段距离后返回当前线路、行走时间超过设定值、如果当前弓扫方向为Y轴正方向,但当前机器Y坐标小于初始Y坐标减0.5倍弓扫间距、如果当前弓扫方向为Y轴负方向,但当前机器Y坐标大于初始Y坐标加0.5倍弓扫间距、如果当前弓扫方向为X轴正方向,但当前机器X坐标小于初始X坐标减0.5倍弓扫间距和如果当前弓扫方向为X轴负方向,但当前机器X坐标大于初始X坐标加0.5倍弓扫间距,其中设定值的时间为20s。
进一步地,弓扫线路进入沿线直走模式时,沿线直走控制的具体过程为,首先根据当前路线走势类型和当前坐标(x1,y1)计算与目标线路之间的偏距,若当前走势为第一种弓字形整体走势或第二种弓字形整体走势:当前路线为y=b,如果当前线路朝向为0°,则当前位置到目标线路的距离d=y1-b;如果当前线路朝向为180°,则当前位置到目标线路的距离d=b-y1;若当前走势为第三种弓字形整体走势或第四种弓字形整体走势:当前路线为x=b,如果当前线路朝向为90°,则当前位置到目标线路的距离d=b-x1;如果当前线路朝向为-90°,则当前位置到目标线路的距离d=x1-b;若d大于0,则代表当前位置相对于目标线路朝向方向偏左,需要向右修正,反之偏右需要向左修正;修正的具体过程为:根据d计算修正角度a:如果d>LS,则a=90,如果d<-LS,则a=-90,否则,a=d/LS×90,当前目标运行角度A=当前线路角度-a,根据陀螺仪获得当前角度与目标运行角度的偏差值ΔS,根据角度PID计算出两轮之间占空比的差值COF,角度PID的表达式如下:
COF=Kp×ΔSn+Ki×∑ΔS+Kd×(ΔSn-ΔSn-1)
根据占空比差值COF以及最大占空比数值,可分别计算并设置两轮的占空比,驱动机器运动。
本发明采用了上述技术方案,本发明具有以下技术效果:
本发明通过模块之间运行互不影响,上层模块出现错误时,不会影响运动模块工作,机器依然可以正常按照无地图方式进行工作,可移植性高,在不同机型之间进行移植操作时,只需要对运动模块中芯片引脚配置进行修改,增加功能时间成本小,可以根据功能新增模块,只需要修改通信模块即可,在清扫中适应不同的环境,覆盖效率及覆盖率远高于随机碰撞式,路线导航方式极大减少机器与墙壁、家具的碰撞,降低对环境以及对产品本身的损坏。
附图说明
图1为本发明控制方法流程图。
图2为本发明地图模块搜索流程图。
图3为本发明通信模块控制流程图。
图4为本发明运动模块目标点导航流程图。
图5为本发明沿墙控制流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法,如图1所示,实现控制方法的系统包括运动模块、通信模块和地图模块,所述运动模块经通信模块与地图模块连接,控制方法为,使用码盘和陀螺仪实时获取扫地机器人的坐标数据,扫地机器人行走一段距离持续接收到周围已清扫的标志,则运动模块开始触发搜索命令传给地图模块并开始等待接收一条前往未清扫栅格坐标的路径,地图模块接收到搜索命令开始进行搜索,搜索完成将路径发送给运动模块,地图模块持续搜索不到未清扫栅格时,则下发清扫完成标志给运动模块,运动模块接收到此标志后开始进行沿墙操作,沿墙过程中地图模块标记开始沿墙点,并持续将扫地机器人当前坐标与开始沿墙点坐标比对,若机器沿墙回到开始沿墙点,则发送沿墙完成命令给运动模块,同时发送返回原点的路径,运动模块接收到沿墙结束命令则停止沿墙,并沿返回原点的路径回到原点。
该方法旨在创建一套完整的扫地机带地图清扫的模块化系统,该算法通过将整个控制流程分为几个不同的模块,各个模块共同处理工作,从而提高系统的容错性及可移植性。单个模块出错时不影响机器本身的运行,机器可以执行原有的不带地图控制的清扫逻辑等待地图模块重启成功,以解决程序出错时机器人停在原地需要手动重启的问题。此外,系统模块化后方便移植,不同机型只需要修改运动模块中机器的控制部分即可。
该算法通过运动模块在移动过程中不断计算机器坐标,并将机器坐标通过通信模块传输给地图模块,地图模块根据地图信息对运动模块发出具体运动指令,从而完成模块之间协同工作。
如图4所示,所述运动模块的具体控制过程为:
通过通信模块从地图模块获取目的地的坐标,同时通过码盘和陀螺仪获取当前的坐标,根据两个坐标用三角函数算出目标点的与当前位置的角度,然后调整扫地机器人向目标并进行直线行走,使用勾股定理进行计算,即为坐标轴的X轴坐标的平方加上X轴坐标的平方和小于2560,同时判断已到达目标点。地图模块发送行走路径给运动模块时,除了目标点坐标X,Y之外,要发送路径中坐标点的总个数,当前发送为第几个。为了保证运动模块能够正确接收到每一个坐标点,发送前要首先接收来自运动模块发送的当前接收个数,当判断到接受个数大于当前传输个数才开始继续发送下一个坐标点。
如图3所示,通信模块的工作流程,因为与通信模块进行通信的模块不止一个,为了区分,每个模块在发送信息的时候必须带上自己的模块ID。通信类型又分为数据接收和发送,发送信息的时候要带上请求类型,当请求类型为1的时候,通信模块发送信息给请求的模块,当请求类型为0,通信模块准备接收信息。
如图5所示,扫地机器人沿墙的具体控制过程为:运动模块判断当前模式是不是沿墙行走模式,如果不是继续判断,如果是,记录开始沿墙坐标点,记录距离远点最近的坐标点,然后判断当前坐标距离开始沿墙坐标小于机身半径,如果不是,一边行走,一边判断,直到当前坐标距离开始沿墙坐标小于机身半径时,发送结束沿墙命令给运动模块,发送返回原点的路径给运动模块,回到原点。
如图2所实话,所述地图模块搜索的具体过程为:
地图模块等待接收搜索指令,当收到搜索指令时,获取当前的坐标点,并把当前的坐标点列入搜索队,搜索队的队首坐标出队,然后判断出队坐标是不是未清扫栅格块,如果是,按照入队的坐标构成行走路径,然后把路径发给运动模块,如果不是未清扫栅格块时,继续搜索出队坐标的上、下、左、右栅格的信息是不是未清扫栅格块,如果有一块栅格为未清扫,同时判断该栅格是否为障碍物,如果不是,则按照入队的坐标构成行走路径,然后把路径发给运动模块,如果均不是未清扫栅格块时,继续重复上述寻找周边栅格块是不是未清扫,直到找到未未清扫栅格块或者进入沿墙走指令。
构成行走路径的过程为:建立直角坐标系,在直角坐标系规划直线行走路线,直线行走路线即为线路总是平行于X坐标轴或Y坐标轴,线路由坐标系中的直线和路径方向决定;扫地机器人沿着规划的直线行走路线进行扫地行走,当出现碰撞或者跌落时,扫地机器人往后退;后退完后,规划下一条直线行走路线,扫地机器人的位置原地旋转90°后的走向即为规划的直线行走路线,如果旋转过程中出现碰撞和跌落时,进入沿墙走模式或者弓扫线路,如果旋转过程中没有出现碰撞和跌落时;转向完成后,通过半径转向控制机器人平滑切入到下一条线路中,根据当前坐标与下一条线路的距离以及下一条线路的朝向角度,执行沿线直走控制。随着机器人与下一条线路之间的距离逐渐减小,机器人的目标运行角度逐渐接近下一条线路的朝向角度,即可实现平滑切入到下一条直线,如果行走完后,如果半径转向控制出现碰撞或者跌落时进入沿墙行走;如果沿墙行走时,使用沿墙算法进行运动导航,在沿墙行走时出现碰撞或者跌落时,进入弓扫线路模式,对触发变化事件进行监听,监听到触发变化事件后,进入沿线直走模式。
如果线路是水平于X轴的,其线路函数为y=b,朝向角度由0°和180°两种;如果线路是水平于Y轴的,其线路函数为x=b,朝向由90°和-90°两种。
弓扫线路有四种弓字形整体走势,第一种弓字形整体走势为,每条线路水平于X轴,沿Y轴正方向弓扫,第二种弓字形整体走势为,每条线路水平于X轴,沿X轴负方向弓扫,第三种弓字形整体走势为,每条线路水平于Y轴,沿X轴正方向弓扫,第四种弓字形整体走势为,每条线路水平于X轴,沿Y轴负方向弓扫。
弓扫线路控制中,设置有可调参数路线间距LS和当前坐标(x1,y1),根据当前弓字形走势类型,有四种换路线的方法,若为第一种弓字形整体走势时:当前路线为y=b,若y1-b>LS,则新线路为y=b+LS,并且将线路朝向角度颠倒180°,若为第二种弓字形整体走势时:当前路线为y=b,若b-y1>LS,则新线路为y=b-LS,并且将线路朝向角度颠倒180°,若为第三种弓字形整体走势时:当前路线为x=b,若x1-b>LS,则新线路为x=b+LS,并且将线路朝向角度颠倒180°,若为第四种弓字形整体走势时:当前路线为x=b,若b-x1>LS,则新线路为x=b-LS,并且将线路朝向角度颠倒180°。
触发变化事件包括切入到下一条线路、沿墙一段距离后返回当前线路、行走时间超过设定值、如果当前弓扫方向为Y轴正方向,但当前机器Y坐标小于初始Y坐标减0.5倍弓扫间距、如果当前弓扫方向为Y轴负方向,但当前机器Y坐标大于初始Y坐标加0.5倍弓扫间距、如果当前弓扫方向为X轴正方向,但当前机器X坐标小于初始X坐标减0.5倍弓扫间距和如果当前弓扫方向为X轴负方向,但当前机器X坐标大于初始X坐标加0.5倍弓扫间距,其中设定值的时间为20s。
弓扫线路进入沿线直走模式时,沿线直走控制的具体过程为,首先根据当前路线走势类型和当前坐标(x1,y1)计算与目标线路之间的偏距,若当前走势为第一种弓字形整体走势或第二种弓字形整体走势:当前路线为y=b,如果当前线路朝向为0°,则当前位置到目标线路的距离d=y1-b;如果当前线路朝向为180°,则当前位置到目标线路的距离d=b-y1;若当前走势为第三种弓字形整体走势或第四种弓字形整体走势:当前路线为x=b,如果当前线路朝向为90°,则当前位置到目标线路的距离d=b-x1;如果当前线路朝向为-90°,则当前位置到目标线路的距离d=x1-b;若d大于0,则代表当前位置相对于目标线路朝向方向偏左,需要向右修正,反之偏右需要向左修正;修正的具体过程为:根据d计算修正角度a:如果d>LS,则a=90,如果d<-LS,则a=-90,否则,a=d/LS×90,当前目标运行角度A=当前线路角度-a,根据陀螺仪获得当前角度与目标运行角度的偏差值ΔS,根据角度PID计算出两轮之间占空比的差值COF,角度PID的表达式如下:
COF=Kp×ΔSn+Ki×∑ΔS+Kd×(ΔSn-ΔSn-1)
根据占空比差值COF以及最大占空比数值,可分别计算并设置两轮的占空比,驱动机器运动。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (1)
1.一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法,其特征在于:实现控制方法的系统包括运动模块、通信模块和地图模块,所述运动模块经通信模块与地图模块连接,控制方法为,使用码盘和陀螺仪实时获取扫地机器人的坐标数据,扫地机器人行走一段距离持续接收到周围已清扫的标志,则运动模块开始触发搜索命令传给地图模块并开始等待接收一条前往未清扫栅格坐标的路径,地图模块接收到搜索命令开始进行搜索,搜索完成将路径发送给运动模块,地图模块持续搜索不到未清扫栅格时,则下发清扫完成标志给运动模块,运动模块接收到此标志后开始进行沿墙操作,沿墙过程中地图模块标记开始沿墙点,并持续将扫地机器人当前坐标与开始沿墙点坐标比对,若机器沿墙回到开始沿墙点,则发送沿墙完成命令给运动模块,同时发送返回原点的路径,运动模块接收到沿墙结束命令则停止沿墙,并沿返回原点的路径回到原点;
所述运动模块的具体控制过程为:
通过通信模块从地图模块获取目的地的坐标,同时通过码盘和陀螺仪获取当前的坐标,根据两个坐标用三角函数算出目标点的与当前位置的角度,然后调整扫地机器人向目标并进行直线行走,同时判断已到达目标点;
所述地图模块搜索的具体过程为:
地图模块等待接收搜索指令,当收到搜索指令时,获取当前的坐标点,并把当前的坐标点列入搜索队,搜索队的队首坐标出队,然后判断出队坐标是不是未清扫栅格块,如果是,按照入队的坐标构成行走路径,然后把路径发给运动模块,如果不是未清扫栅格块时,继续搜索出队坐标的上、下、左、右栅格的信息是不是未清扫栅格块,如果有一块栅格为未清扫,同时判断该栅格是否为障碍物,如果不是,则按照入队的坐标构成行走路径,然后把路径发给运动模块,如果均不是未清扫栅格块时,继续重复寻找周边栅格块是不是未清扫,直到找到未清扫栅格块或者进入沿墙走指令;
扫地机器人沿墙的具体控制过程为:运动模块判断当前模式是不是沿墙行走模式,如果不是继续判断,如果是,记录开始沿墙坐标点,记录距离远点最近的坐标点,然后判断当前坐标距离开始沿墙坐标小于机身半径,如果不是,一边行走,一边判断,直到当前坐标距离开始沿墙坐标小于机身半径时,发送结束沿墙命令给运动模块,发送返回原点的路径给运动模块,回到原点;构成行走路径的具体过程为:
建立直角坐标系,在直角坐标系规划直线行走路线,直线行走路线即为线路总是平行于X坐标轴或Y坐标轴,线路由坐标系中的直线和路径方向决定;扫地机器人沿着规划的直线行走路线进行扫地行走,当出现碰撞或者跌落时,扫地机器人往后退;后退完后,规划下一条直线行走路线,扫地机器人的位置原地旋转90°后的走向即为规划的直线行走路线,如果旋转过程中出现碰撞和跌落时,进入沿墙走模式或者弓扫线路,如果旋转过程中没有出现碰撞和跌落时;转向完成后,通过半径转向控制机器人平滑切入到下一条线路中,根据当前坐标与下一条线路的距离以及下一条线路的朝向角度,执行沿线直走控制,随着机器人与下一条线路之间的距离逐渐减小,机器人的目标运行角度逐渐接近下一条线路的朝向角度,即可实现平滑切入到下一条直线,如果行走完后,如果半径转向控制出现碰撞或者跌落时进入沿墙行走;如果沿墙行走时,使用沿墙算法进行运动导航,在沿墙行走时出现碰撞或者跌落时,进入弓扫线路模式,对触发变化事件进行监听,监听到触发变化事件后,进入沿线直走模式;
如果线路是水平于X轴的,其线路函数为y=b,朝向角度由0°和180°两种;如果线路是水平于Y轴的,其线路函数为x=b,朝向由90°和-90°两种;
弓扫线路有四种弓字形整体走势,第一种弓字形整体走势为,每条线路水平于X轴,沿Y轴正方向弓扫,第二种弓字形整体走势为,每条线路水平于X轴,沿X轴负方向弓扫,第三种弓字形整体走势为,每条线路水平于Y轴,沿X轴正方向弓扫,第四种弓字形整体走势为,每条线路水平于X轴,沿Y轴负方向弓扫;
弓扫线路控制中,设置有可调参数路线间距LS和当前坐标(x1,y1),根据当前弓字形走势类型,有四种换路线的方法,若为第一种弓字形整体走势时:当前路线为y=b,若y1-b>LS,则新线路为y=b+LS,并且将线路朝向角度颠倒180°,若为第二种弓字形整体走势时:当前路线为y=b,若b-y1>LS,则新线路为y=b-LS,并且将线路朝向角度颠倒180°,若为第三种弓字形整体走势时:当前路线为x=b,若x1-b>LS,则新线路为x=b+LS,并且将线路朝向角度颠倒180°,若为第四种弓字形整体走势时:当前路线为x=b,若b-x1>LS,则新线路为x=b-LS,并且将线路朝向角度颠倒180°;
触发变化事件包括切入到下一条线路、沿墙一段距离后返回当前线路、行走时间超过设定值、如果当前弓扫方向为Y轴正方向,但当前机器Y坐标小于初始Y坐标减0.5倍弓扫间距、如果当前弓扫方向为Y轴负方向,但当前机器Y坐标大于初始Y坐标加0.5倍弓扫间距、如果当前弓扫方向为X轴正方向,但当前机器X坐标小于初始X坐标减0.5倍弓扫间距和如果当前弓扫方向为X轴负方向,但当前机器X坐标大于初始X坐标加0.5倍弓扫间距,其中设定值的时间为20s;
弓扫线路进入沿线直走模式时,沿线直走控制的具体过程为,首先根据当前路线走势类型和当前坐标(x1,y1)计算与目标线路之间的偏距,若当前走势为第一种弓字形整体走势或第二种弓字形整体走势:当前路线为y=b,如果当前线路朝向为0°,则当前位置到目标线路的距离d=y1-b;如果当前线路朝向为180°,则当前位置到目标线路的距离d=b-y1;若当前走势为第三种弓字形整体走势或第四种弓字形整体走势:当前路线为x=b,如果当前线路朝向为90°,则当前位置到目标线路的距离d=b-x1;如果当前线路朝向为-90°,则当前位置到目标线路的距离d=x1-b;若d大于0,则代表当前位置相对于目标线路朝向方向偏左,需要向右修正,反之偏右需要向左修正;修正的具体过程为:根据d计算修正角度a:如果d>LS,则a=90,如果d<-LS,则a=-90,否则,a=d/LS×90,当前目标运行角度A=当前线路角度-a,根据陀螺仪获得当前角度与目标运行角度的偏差值△S,根据角度PID计算出两轮之间占空比的差值COF,角度PID的表达式如下:
COF=Kp×ΔSn+Ki×∑ΔS+Kd×(ΔSn-ΔSn-1)
根据占空比差值COF以及最大占空比数值,可分别计算并设置两轮的占空比,驱动机器运动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011045425.6A CN112198876B (zh) | 2020-09-28 | 2020-09-28 | 一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011045425.6A CN112198876B (zh) | 2020-09-28 | 2020-09-28 | 一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112198876A CN112198876A (zh) | 2021-01-08 |
CN112198876B true CN112198876B (zh) | 2023-10-03 |
Family
ID=74007817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011045425.6A Active CN112198876B (zh) | 2020-09-28 | 2020-09-28 | 一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112198876B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113100669B (zh) * | 2021-04-08 | 2023-02-21 | 云鲸智能(深圳)有限公司 | 清洁机器人及其控制方法、计算机可读存储介质 |
CN114593696A (zh) * | 2022-01-27 | 2022-06-07 | 深圳市无限动力发展有限公司 | 清扫覆盖率测量方法、装置、设备及介质 |
CN115444325A (zh) * | 2022-07-21 | 2022-12-09 | 深圳银星智能集团股份有限公司 | 二次清洁方法、装置、清洁机器人及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013152675A1 (zh) * | 2012-04-13 | 2013-10-17 | 科沃斯机器人科技(苏州)有限公司 | 自移动地面处理机器人及其清洁工作的控制方法 |
CN106970623A (zh) * | 2017-04-18 | 2017-07-21 | 杭州匠龙机器人科技有限公司 | 智能清洁装置及其网格路径作业方法 |
CN107368079A (zh) * | 2017-08-31 | 2017-11-21 | 珠海市微半导体有限公司 | 机器人清扫路径的规划方法及芯片 |
CN107390698A (zh) * | 2017-08-31 | 2017-11-24 | 珠海市微半导体有限公司 | 扫地机器人的补扫方法及芯片 |
CN108354524A (zh) * | 2017-01-26 | 2018-08-03 | 好样科技有限公司 | 自动清洁机及其控制方法 |
CN109298717A (zh) * | 2018-11-24 | 2019-02-01 | 珠海市微半导体有限公司 | 智能机器人的清扫方法和芯片以及智能清洁机器人 |
CN109582015A (zh) * | 2018-11-07 | 2019-04-05 | 深圳乐动机器人有限公司 | 一种室内清扫规划的方法、装置及机器人 |
WO2019144867A1 (zh) * | 2018-01-26 | 2019-08-01 | 广东宝乐机器人股份有限公司 | 一种提高移动机器人边角覆盖率的方法 |
WO2019206133A1 (zh) * | 2018-04-25 | 2019-10-31 | 科沃斯机器人股份有限公司 | 清洁机器人及其贴边行走方法、可读介质 |
-
2020
- 2020-09-28 CN CN202011045425.6A patent/CN112198876B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013152675A1 (zh) * | 2012-04-13 | 2013-10-17 | 科沃斯机器人科技(苏州)有限公司 | 自移动地面处理机器人及其清洁工作的控制方法 |
CN108354524A (zh) * | 2017-01-26 | 2018-08-03 | 好样科技有限公司 | 自动清洁机及其控制方法 |
CN106970623A (zh) * | 2017-04-18 | 2017-07-21 | 杭州匠龙机器人科技有限公司 | 智能清洁装置及其网格路径作业方法 |
CN107368079A (zh) * | 2017-08-31 | 2017-11-21 | 珠海市微半导体有限公司 | 机器人清扫路径的规划方法及芯片 |
CN107390698A (zh) * | 2017-08-31 | 2017-11-24 | 珠海市微半导体有限公司 | 扫地机器人的补扫方法及芯片 |
WO2019144867A1 (zh) * | 2018-01-26 | 2019-08-01 | 广东宝乐机器人股份有限公司 | 一种提高移动机器人边角覆盖率的方法 |
WO2019206133A1 (zh) * | 2018-04-25 | 2019-10-31 | 科沃斯机器人股份有限公司 | 清洁机器人及其贴边行走方法、可读介质 |
CN109582015A (zh) * | 2018-11-07 | 2019-04-05 | 深圳乐动机器人有限公司 | 一种室内清扫规划的方法、装置及机器人 |
CN109298717A (zh) * | 2018-11-24 | 2019-02-01 | 珠海市微半导体有限公司 | 智能机器人的清扫方法和芯片以及智能清洁机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN112198876A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112198876B (zh) | 一种适用于扫地机器人的带地图全覆盖清扫模块化控制方法 | |
CN111546347B (zh) | 一种适用于动态环境下的机械臂路径规划方法 | |
Zips et al. | Optimisation based path planning for car parking in narrow environments | |
CN106054882A (zh) | 一种机器人避障方法 | |
CN110554699A (zh) | 机器人的控制系统及控制方法 | |
CN109978272B (zh) | 一种基于多个全向移动机器人的路径规划系统及方法 | |
CN113534816B (zh) | 一种移动机器人导航跟踪方法 | |
CN113276109B (zh) | 一种基于rrt算法的双机械臂解耦运动规划方法及系统 | |
CN109557929B (zh) | 移动机器人的运动控制方法及装置 | |
CN113739802B (zh) | 无人驾驶推土机路径规划方法、系统、存储介质及设备 | |
CN113741454A (zh) | 一种基于搜索的多智能体路径规划方法及系统 | |
CN111915106A (zh) | 一种路径生成方法、装置、晶面机及存储介质 | |
CN111759241B (zh) | 一种扫地机器人清扫路径规划及导航控制方法 | |
Zhou et al. | Slam algorithm and navigation for indoor mobile robot based on ros | |
CN114055467A (zh) | 基于五自由度机器人的空间位姿在线仿真系统 | |
Tubaileh | Layout of flexible manufacturing systems based on kinematic constraints of the autonomous material handling system | |
CN115805503A (zh) | 一种智能打磨机器人自动打磨决策规划装置及方法 | |
CN114952870B (zh) | 用于高频接触物体消毒的四轴机械臂运动控制方法及系统 | |
CN117021066A (zh) | 一种基于深度强化学习的机器人视觉伺服运动控制方法 | |
CN114527764A (zh) | 路径行走方法、系统、终端设备 | |
CN114801792B (zh) | Agv无线充电方法、装置、电子设备及系统 | |
CN114002996A (zh) | 一种混联机器人c3连续五轴路径转接光顺方法 | |
US20230109223A1 (en) | Intelligent clear path | |
Demir et al. | Heuristic trajectory planning of robot manipulator | |
Khaksar et al. | Multiquery motion planning in uncertain spaces: Incremental adaptive randomized roadmaps |
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 |