CN112955842A - 移动装置的控制方法及其计算机程序 - Google Patents
移动装置的控制方法及其计算机程序 Download PDFInfo
- Publication number
- CN112955842A CN112955842A CN201980058431.4A CN201980058431A CN112955842A CN 112955842 A CN112955842 A CN 112955842A CN 201980058431 A CN201980058431 A CN 201980058431A CN 112955842 A CN112955842 A CN 112955842A
- Authority
- CN
- China
- Prior art keywords
- mode
- mobile device
- map data
- cpu
- unit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004590 computer program Methods 0.000 title claims description 8
- 238000001514 detection method Methods 0.000 claims abstract description 55
- 238000004364 calculation method Methods 0.000 claims description 60
- 238000004088 simulation Methods 0.000 claims description 54
- 238000010408 sweeping Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 239000000446 fuel Substances 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 239000002828 fuel tank Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009313 farming Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Images
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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0248—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请一实施例包括移动装置(1)的控制方法,其中所述移动装置(1)包括传感器(3),并且所述控制方法包括:根据所述传感器(3)的检测结果生成所述移动装置(1)周围的地图数据的第一步骤;根据第一模式移动所述移动装置(1)的第二步骤;第三步根据所述传感器(3)的检测结果确定是否应更新地图数据的第三步骤;当更新地图数据时,根据更新后的地图数据确定是否应将第一模式切换到另一模式的第四步骤;如果切换第一模式,则按照除第一模式之外的模式移动所述移动装置(1),或者如果不切换第一模式,则按照第一模式移动所述移动装置(1)的第五步骤。
Description
技术领域
下面描述的实施例涉及一种移动装置的控制方法及其计算机程序。
背景技术
一般使用移动装置。但这并不是限制,例如,诸如扫地机器人等移动装置在普通家庭中被广泛使用。
扫地机器人可以是一种自动清洁用户房屋的装置。通常,人们对高质量扫地机器人的需求和要求一直存在。
发明内容
下面描述的实施例涉及一种移动装置的控制方法。
应当理解,下面的公开并不对本申请/本发明造成限制或约束。
第一方面,提供了一种移动装置的控制方法,所述移动装置包括传感器,所述控制方法包括:
根据所述传感器的检测结果生成移动装置周围的地图数据;
按照第一模式移动所述移动装置;
根据所述传感器的检测结果确定是否应更新地图数据;
当更新地图数据时,根据更新后的地图数据确定是否应将第一模式切换到另一模式;
如果切换第一模式,则按照除第一模式之外的模式移动所述移动装置,或者如果不切换第一模式,则按照第一模式移动所述移动装置。
第二方面,提供了第一方面所述的控制方法,还包括:
在上述第五步骤之后,根据所述传感器的检测结果确定是否应更新地图数据;
确定当前模式是否应更改为不同模式(704);
当确定更改当前模式为不同模式时,按照所述不同模式移动所述移动装置,或者当确定不更改当前模式为不同模式时,按照当前模式移动所述移动装置。
第三方面,提供了第一方面或第二方面所述的控制方法,其中
在生成所述地图数据时,所述地图数据被划分为多个单元;
在更新所述地图数据时,所述地图数据被划分为多个单元。
第四方面,提供了第一至第三方面中任一方面所述的控制方法,其中,根据更新后的地图数据确定是否应将第一模式切换到另一模式包括:
根据更新后的地图数据进行模拟计算,并根据模拟结果确定是否将第一模式切换到另一模式。
第五方面,提供了第四方面所述的控制方法,其中
根据从计算结果中获得的被重访单元的数目来确定是否将第一模式切换到另一模式。
第六方面,提供了第四方面所述的控制方法,其中
如果被重访单元的数目超过预定数目,则暂停模拟计算,并且根据从计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将第一模式切换到另一模式。
第七方面,提供了第一至第六方面中任一方面所述的控制方法,其中
在第一模式中,所述移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
第八方面,提供了一种包括计算机指令的非瞬时性计算机可读存储介质,其中,所述计算机程序用于控制所述移动装置,并且所述移动装置包括传感器,所述计算机指令包括:
第一指令,用于根据所述传感器的检测结果生成移动装置周围的地图数据;
第二指令,用于按照第一模式移动所述移动装置;
第三指令,用于根据所述传感器的检测结果确定是否应更新地图数据;
第四指令,用于:当更新地图数据时,根据更新后的地图数据确定是否应将第一模式切换到另一模式;
第五指令,用于:如果切换第一模式,则按照除第一模式之外的模式移动所述移动装置,或者如果不切换第一模式,则按照第一模式移动所述移动装置。
第九方面,提供了第八方面所述的非瞬时性计算机可读存储介质,还包括:
第六指令,用于:在第五指令之后,根据所述传感器的检测结果确定是否应更新地图数据;
第七指令,用于确定当前模式是否应更改为不同模式(704);
第八指令,用于:当确定更改当前模式为不同模式时,按照所述不同模式移动所述移动装置,或者当确定不更改当前模式为不同模式时,按照当前模式移动所述移动装置。
第十方面,提供了第八方面或第九方面所述的非瞬时性计算机可读存储介质,其中
在生成所述地图数据时,所述地图数据被划分为多个单元;
在更新所述地图数据时,所述地图数据被划分为多个单元。
第十一方面,提供了第八至第十方面中任一方面所述的非瞬时性计算机可读存储介质,其中
在第四指令处,根据更新后的地图数据进行模拟计算,并根据模拟结果确定是否将第一模式切换到另一模式。
第十二方面,提供了第十一方面所述的非瞬时性计算机可读存储介质,其中
根据从计算结果中获得的被重访单元的数目来确定是否将第一模式切换到另一模式。
第十三方面,提供了第十一方面所述的非瞬时性计算机可读存储介质,其中
如果被重访单元的数目超过预定数目,则暂停模拟计算,并且根据从计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将第一模式切换到另一模式。
第十四方面,提供了第八至第十三方面中任一方面所述的非瞬时性计算机可读存储介质,其中
在第二指令处,在第一模式中,所述移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
第十五方面,提供了一种移动装置,包括:传感器、存储器和一个或多个处理器,其中所述存储器用于存储计算机指令,当所述计算机指令由所述一个或多个处理器执行时,使得所述一个或多个处理器用于:
根据所述传感器的检测结果生成移动装置周围的地图数据;
控制所述移动装置按照第一模式移动;
根据所述传感器的检测结果确定是否应更新地图数据;
当更新地图数据时,根据更新后的地图数据确定是否将第一模式切换到另一模式;
如果切换第一模式,则控制所述移动装置按照除第一模式之外的模式移动,或者如果不切换第一模式,则控制所述移动装置按照第一模式移动。
第十六方面,提供了第十五方面所述的移动装置,其中,在生成所述地图数据和更新所述地图数据时,所述地图数据被划分为多个单元。
第十七方面,提供了第十五方面或第十六方面所述的移动装置,其中,所述一个或多个处理器用于根据更新后的地图数据进行模拟计算,并根据模拟结果确定是否将第一模式切换到另一个模式。
第十八方面,提供了第十七方面所述的移动装置,其中,根据从计算结果中获得的被重访单元的数目来确定是否将第一模式切换到另一模式。
第十九方面,提供了第十七方面所述的移动装置,其中,如果被重访单元的数目超过预定数目,则暂停模拟计算,并且根据从计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将第一模式切换到另一模式。
第二十方面,提供了第十五至第十九方面中任一方面所述的移动装置,其中
在第一模式中,所述移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
上面的公开并不对本申请/本发明造成限制或约束。
附图说明
图1示出了在下面描述的实施例中公开的移动装置的示例;
图2示出了在下面描述的实施例中公开的移动装置的示例;
图3示出了使用在下面描述的实施例中公开的移动装置的房间的示例;
图4(A)和图4(B)示出了在下面示出的实施例中描述的移动装置的行进路径的示例;
图5示出了在下面示出的实施例中描述的移动装置的行进路径的示例;
图6(A)至图6(S)示出了在下面示出的实施例中描述的移动装置的行进路径的示例;
图7示出了一实施例的移动装置的操作的流程图;
图8(A)至图8(U)示出了在下面示出的实施例中描述的移动装置的行进路径的示例;
图9示出了在下面示出的实施例中描述的移动装置的行进路径的示例;
图10示出了在下面示出的实施例中描述的移动装置的行进路径的示例;
图11示出了在下面示出的实施例中描述的移动装置的行进路径的示例。
具体实施方式
下文所示的公开仅描述示例。应当理解,本申请和本发明不受下面所示的公开的限制和/或约束。
图1示出了一实施例的移动装置。所述移动装置1具有主底盘2和传感器3。
图2示出了所述移动装置1的构成。所述主底盘2包括控制部分4和转向/推进部分7。所述控制部分4包括中央处理单元(central processing unit,简称CPU)5和存储器6。所述控制部分4可以是计算机。所述传感器3可包含在所述主底盘2中。所述传感器3可拆卸地连接到所述主底盘2。
所述存储器6可以是易失性存储器。所述存储器6还可包括非易失性存储器。硬盘等存储介质可用来代替非易失性存储器。所述移动装置1还可包括收发器,以发送/接收存储在所述存储器6中的数据。
所述控制部分4控制所述移动装置1的操作。可选地,所述控制部分4可用于通过可包括在所述主底盘2中的用户接口接收来自用户的指令/请求。进一步可选地,所述控制部分4可用于通过所述收发器与用户终端和/或遥控器通信。例如,可以将Wi-Fi、蓝牙、红外、有线通信、音频通信和其它方法应用于该通信。如果所述移动装置1使用音频通信,则所述移动装置1可包括扬声器和麦克风。
所述传感器3检测所述移动装置1周围的物体。例如,所述传感器3可以是360度激光雷达(光探测和测距/激光成像探测和测距)传感器。例如,所述传感器3可以是毫米波雷达。所述传感器3可以是其它感应器件。
例如,所述转向/推进部分7可以由电动机/发动机和轮子构成。所述转向/推进部分7可包括电池和/或油箱。所述转向/推进部分7传送所述移动装置1。
例如,所述移动装置1可以是扫地机器人。例如,在建筑物中,所述移动装置1可以检测椅子和桌子。所述移动装置1可以是割草机。例如,所述移动装置1可以检测树木和种植者。所述移动装置1可以是拖拉机等耕作装置。例如,在田地中,所述移动装置1可以检测田地与道路、谷仓与树木之间的边界。例如,所述移动装置1可以是包含用于在建筑物内外巡逻/监视的摄像头和通信设备的巡逻/监视装置。例如,所述移动装置1可以是用于检查道路的装置和扫雷器。所述移动装置1可具有供下述各种装置使用的附加构成要素:用于吸尘器的电动机、用于割草机的刀片、电池、油箱、成像设备、红外传感器、收发器等。应当理解,图2不能构成对所述移动装置1的限制。
<第一实施例>
例如,所述移动装置1可以在如图3(A)所示的建筑物中使用。假设所述移动装置1最初设置在左下角。所述移动装置1接收来自用户的指令并开始操作。例如,所述指令可以是由用户打开的电源按钮、从蜂窝电话或遥控器发送的信号以及来自用户的语音命令。可选地,所述移动装置1可以在预定的日期和时间或者当使用的定时器经过预定的时间间隔时开始所述操作。
例如,所述CPU 5通过所述传感器3来检测建筑物中的墙壁和障碍物。例如,所述CPU 5通过所述传感器3来测量所述移动装置1与建筑物内的墙壁/障碍物之间的距离。例如,所述CPU 5通过所述传感器3来测量建筑物内墙壁/障碍物的大小和形状。例如,障碍物可以是家具。如果某个房间在所述传感器3的可检测范围内,则所述CPU 5可以感应到除了障碍物后面的区域以外的整个房间。如果房间大于所述传感器3的可检测范围,则所述传感器3可以检测到所述移动装置1周围的墙壁的布置以及可检测范围内的家具等障碍物。
所述CPU 5输入来自所述传感器3的检测结果。所述CPU 5通过将检测到的房间划分为多个单元来生成地图数据。图3(A)示出了由所述CPU 5生成的地图数据的示例。图3(A)示出了一个空房间,没有家具等障碍物,以便于理解。
例如,如果所述移动装置1是扫地机器人,则其清洁如图3(A)所示的整个房间。例如,如果所述移动装置1是割草机,则其在图3(A)所示的整个室外区域上进行割草操作。如果所述移动装置1是扫地机器人或割草机,则可以理解,所述移动装置1优选访问图3(A)中的所有单元。此外,可以理解,如果所述移动装置1访问同一单元两次或更多次,则会造成电力或燃料的浪费。
所述移动装置1将(0,0)到(4,4)的标识符分配给图3(A)中的每个单元。可以使用其它方式来分配标识符,例如,通过分配一组序列号。如上所述,假设所述移动装置1从位于图3(A)左下区域中的单元(0,0)开始移动。应当理解,这不是对本申请/本发明的限制。例如,所述移动装置1最初可位于房间的中心,即单元(2,2)。
所述CPU 5生成如下所示的状态表并将其存储在所述存储器6中。在所述状态表中,对于所述移动装置1尚未访问的单元,“覆盖(COVERAGE)”为“0”。对于所述移动装置1已访问的单元,“覆盖(COVERAGE)”为“1”。分配给“重访(REVISIT)”的“1”表示所述移动装置1访问过两次或更多次的单元。分配给“重访(REVISIT)”的“0”表示所述移动装置1尚未访问或仅访问过一次的单元。这是当所述移动装置1开始其操作时的情况,因此,所述状态表的“覆盖(COVERAGE)”和“重访(REVISIT)”的所有项目都是“0”。
表1:状态表
所述移动装置1可以沿着如图3(B)所示的四个方向中的一个方向移动。图3(B)包括“N”、“E”、“S”和“W”。它们分别是“北”、“东”、“南”和“西”的缩写。需要说明的是,对于图3(B)中所示的方向,仅指示所述移动装置1在图3(A)的地图上移动的方向。应理解,图3(B)中所示的四个方向可能与实际的北、东、南和西不同。图3(B)中所示的“N”、“E”、“S”和“W”可对应于向上、向右、向下和向左这几个方向。除了图3(B)中所示的四个方向之外,可以修改所述移动装置1以便沿着四个对角线方向移动。此外,可以修改所述移动装置以使其沿着八个方向移动。
所述CPU 5可以参照图3(C)中所示的堆栈301来确定图3(B)所示方向之外的一个方向。图3(C)中所示的所述堆栈301是一种数据结构。只能从所述堆栈301的顶部插入或引用数据。
图4(A)示出了所述移动装置1的行进路径或覆盖路径的示例。如上所述,所述移动装置1最初被布置位于单元(0,0)处。该单元(0,0)可以是用户安装所述移动装置1的地方。该单元(0,0)可以是所述移动装置1的电池充电器所在的地方。
在单元(0,0)处,所述CPU 5根据地图数据确定所述移动装置1将沿其移动的方向。所述CPU 5检测“E”方向中的单元(1,0)和“N”方向中的单元(0,1)。
参照状态表,所述CPU 5确定单元(1,0)和(0,1)是可访问的或能够访问的,因为与这些单元对应的“覆盖(COVERAGE)”是“0”。所述CPU 5按照“N”、“E”、“S”和“W”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入在“N”方向中的单元(0,1)的信息,并插入在“E”方向中的单元(1,0)的信息。所述堆栈301存储有如图4(B)中的“A”所示的信息。
所述CPU 5引用如图4(B)中的“A”所示的所述堆栈301,并且引用存储在所述堆栈301顶部的单元的信息。所述CPU 5确定将所述移动装置1向单元(1,0)移动。
所述CPU 5控制所述转向/推进部分7,以使所述移动装置1朝向单元(1,0)移动。如果所述移动装置1是扫地机器人,则所述移动装置1在朝向单元(1,0)移动过程中清洁地板。如果所述移动装置1是割草机,则所述移动装置1在朝向单元(1,0)移动过程中割草。
所述CPU 5更新存储在所述存储器6中的状态表,如下所示。将单元(0,0)的“覆盖(COVERAGE)”更改为“1”,以指示被访问的单元。
表2:状态表
所述CPU 5更新存储在所述存储器6中的堆栈301,以移除如图4(B)中的“B”所示的单元(1,0)。例如,可以通过预先创建与所述堆栈301的每个元素相对应的标志区域并更新标志以使其为“0”(有效)或“1”(已移除)来实现该移除操作。
所述移动装置1位于图4(A)中的单元(1,0)处。所述CPU 5根据地图数据确定对单元进行检测的方向。所述CPU 5检测“E”方向中的单元(2,0)、“N”方向中的单元(1,1)以及“W”方向中的单元(0,0)。
参照状态表,所述CPU 5确定单元(2,0)和(1,1)是可访问的或能够访问的,因为与这些单元对应的“覆盖(COVERAGE)”是“0”。参照状态表,所述CPU 5确定单元(0,0)是不可访问的或无法访问的,因为与该单元对应的“覆盖(COVERAGE)”是“1”。所述CPU 5按照“N”、“E”、“S”和“W”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入在“N”方向中的单元(1,1)的信息,并插入在“E”方向中的单元(2,0)的信息。所述堆栈301存储有如图4(B)中的“C”所示的信息。
所述CPU 5引用如图4(B)中的“C”所示的所述堆栈301,并且引用存储在所述堆栈301顶部的单元的信息。所述CPU 5确定将所述移动装置1向单元(2,0)移动。
所述CPU 5控制所述转向/推进部分7,以使所述移动装置1朝向单元(2,0)移动。所述CPU 5更新存储在所述存储器6中的状态表,以便将单元(1,0)的“覆盖(COVERAGE)”更改为“1”,以指示被访问的单元。所述CPU 5更新存储在所述存储器6中的堆栈301,以移除如图4(B)中的“D”所示的单元(2,0)。
所述CPU 5重复地执行上述操作并移动所述移动装置直到单元(4,0)。在该操作中,所述CPU 5将所述移动装置1依次移动到单元(2,0)、(3,0)和(4,0)。根据该移动操作,所述堆栈301依次被更新,如图4(B)中的“E”、“F”和“G”所示。之后,状态表更新如下(表3)。
表3:状态表
单元 | 覆盖 | 重访 |
(0,0) | 1 | 0 |
(1,0) | 1 | 0 |
(2,0) | 1 | 0 |
(3,0) | 1 | 0 |
(4,0) | 0 | 0 |
(0,1) | 0 | 0 |
(1,1) | 0 | 0 |
(2,1) | 0 | 0 |
(3,1) | 0 | 0 |
(4,1) | 0 | 0 |
(0,2) | 0 | 0 |
(1,2) | 0 | 0 |
(2,2) | 0 | 0 |
(3,2) | 0 | 0 |
(4,2) | 0 | 0 |
(0,3) | 0 | 0 |
(1,3) | 0 | 0 |
(2,3) | 0 | 0 |
(3,3) | 0 | 0 |
(4,3) | 0 | 0 |
(0,4) | 0 | 0 |
(1,4) | 0 | 0 |
(2,4) | 0 | 0 |
(3,4) | 0 | 0 |
(4,4) | 0 | 0 |
在图4(A)中的单元(1,0)处,所述CPU 5根据地图数据确定对单元进行检测的方向。所述CPU 5检测“N”方向中的单元(4,1)和“W”方向中的单元(3,0)。
参照状态表,所述CPU 5确定单元(4,1)是可访问的或能够访问的,因为与该单元对应的“覆盖(COVERAGE)”是“0”。参照状态表,所述CPU 5确定单元(3,0)是不可访问的或无法访问的,因为与该单元对应的“覆盖(COVERAGE)”是“1”。所述CPU 5按照“N”、“E”、“S”和“W”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入在“N”方向中的单元(4,1)的信息。所述堆栈301存储有如图4(B)中的“I”所示的信息。
所述CPU 5引用如图4(B)中的“I”所示的所述堆栈301,并且引用存储在所述堆栈301顶部的单元的信息。所述CPU 5确定将所述移动装置1向单元(4,1)移动。
所述CPU 5控制所述转向/推进部分7,以使所述移动装置1朝向单元(4,1)移动。所述CPU 5更新存储在所述存储器6中的状态表,以便将单元(4,0)的“覆盖(COVERAGE)”更改为“1”,以指示被访问的单元。所述CPU 5更新存储在所述存储器6中的堆栈301,以移除如图4(B)中的“J”所示的单元(4,1)。
在图4(A)中的单元(4,1)处,所述CPU 5根据地图数据确定对单元进行检测的方向。如图4(A)所示,所述CPU 5检测“N”方向中的单元(4,2)、“W”方向中的单元(3,1)以及“S”方向中的单元(4,0)。
参照状态表,所述CPU 5确定单元(4,2)和(3,1)是可访问的或能够访问的,因为与这些单元对应的“覆盖(COVERAGE)”是“0”。参照状态表,所述CPU 5确定单元(4,0)是不可访问的或无法访问的,因为与该单元对应的“覆盖(COVERAGE)”是“1”。所述CPU 5按照“N”、“E”、“S”和“W”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入在“N”方向中的单元(4,2)的信息,并插入在“W”方向中的单元(3,1)的信息。所述堆栈301存储有如图4(B)中的“K”所示的信息。
所述CPU 5引用如图4(B)中的“K”所示的所述堆栈301,并且引用存储在所述堆栈301顶部的单元的信息。所述CPU 5确定将所述移动装置1向单元(3,1)移动。
所述CPU 5控制所述转向/推进部分7,以使所述移动装置1朝向单元(3,1)移动。所述CPU 5更新存储在所述存储器6中的状态表,以便将单元(4,1)的“覆盖(COVERAGE)”更改为“1”,以指示被访问的单元。所述CPU 5更新存储在所述存储器6中的堆栈301,以移除如图4(B)中的“L”所示的单元(3,1)。
所述移动装置1重复地执行上述操作并且在路径上移动,以便沿着如图4(A)所示的箭头移动,直到单元(4,4)。在该示例中,所有单元均被访问,并且没有所述移动装置1重访的单元。因此,更新了状态表,如下表4所示。所有单元的“覆盖(COVERAGE)”均为“1”,所有单元的“重访(REVISIT)”均为“0”。
表4:状态表
如上所示,当所述CPU 5按照“N”、“E”、“S”和“W”的顺序更新所述堆栈301中的单元的信息时,存在更多的机会使得所述移动装置1沿着如图4(A)所示的水平方向移动。在下文中,这种模式被称为“模式1”。
<第二实施例>
图5(A)示出了图4(A)所示的房间中存在障碍物的示例。单元(2,1)和(4,0)中存在家具等障碍物。假设所述移动装置1按照模式1开始移动。假设所述移动装置1以与图4(A)中类似的方式从单元(0,0)开始移动。当所述CPU 5以如上所述的类似方式使用图3(C)中所示的所述堆栈301和状态表移动所述移动装置1时,所述移动装置1沿着图5(B)中所示的路径移动,如下文参照图6所阐述。
在图6(A)中,所述移动装置1位于单元(0,0),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(0,1)和(1,0)的信息。这与图4(B)中的“A”类似。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(1,0)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(0,0)的“覆盖(COVERAGE)”。
在图6(B)中,所述移动装置1位于单元(1,0),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(1,1)和(2,0)的信息。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(2,0)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(1,0)的“覆盖(COVERAGE)”。
在图6(C)中,所述移动装置1位于单元(2,0),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(3,0)的信息。单元(2,1)中存在障碍物。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(3,0)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(2,0)的“覆盖(COVERAGE)”。
在图6(D)中,所述移动装置1位于单元(3,0),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(3,1)的信息。单元(4,0)中存在障碍物。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(3,1)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(3,0)的“覆盖(COVERAGE)”。
在图6(E)中,所述移动装置1位于单元(3,1),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(4,1)和(3,2)的信息。单元(2,1)中存在障碍物。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(4,1)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(3,1)的“覆盖(COVERAGE)”。
在图6(F)中,所述移动装置1位于单元(4,1),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(4,2)的信息。单元(4,0)中存在障碍物。所述移动装置1已访问单元(3,1)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(4,2)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(4,1)的“覆盖(COVERAGE)”。
在图6(G)中,所述移动装置1位于单元(4,2),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(4,3)和(3,2)的信息。所述移动装置1已访问单元(4,1)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(3,2)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(4,2)的“覆盖(COVERAGE)”。
在图6(H)中,所述移动装置1位于单元(3,2),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(3,3)和(2,2)的信息。所述移动装置1已访问单元(4,2)和(3,1)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(2,2)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(3,2)的“覆盖(COVERAGE)”。
在图6(I)中,所述移动装置1位于单元(2,2),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(2,3)和(1,2)的信息。单元(2,1)中存在障碍物。所述移动装置1已访问单元(3,2)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(1,2)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(2,2)的“覆盖(COVERAGE)”。
在图6(J)中,所述移动装置1位于单元(1,2),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(1,3)、(1,1)和(0,2)的信息。所述移动装置1已访问单元(2,2)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(0,2)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(1,2)的“覆盖(COVERAGE)”。
在图6(K)中,所述移动装置1位于单元(0,2),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(0,3)和(0,1)的信息。所述移动装置1已访问单元(1,2)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(0,1)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(0,2)的“覆盖(COVERAGE)”。
在图6(L)中,所述移动装置1位于单元(0,1),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(1,1)的信息。所述移动装置1已访问单元(0,2)和(0,0)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(1,1)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(0,1)的“覆盖(COVERAGE)”。
在图6(M)中,所述移动装置1位于单元(1,1)。然而,参照地图数据,所述CPU 5检测不到所述移动装置1可访问或能够访问的任何单元,也没有向所述堆栈301添加任何信息。所述移动装置1已访问单元(1,2)、(0,1)和(1,0)。单元(2,1)中存在障碍物。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(0,3)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(1,1)的“覆盖(COVERAGE)”。
所述CPU 5可以跟踪或回退所述移动装置1已移动的相同路径,以到达单元(0,3)。例如,所述CPU 5可以从顶部(单元(0,1)和(0,2))跟踪所述堆栈301的已移除元素并到达作为单元(0,3)的相邻单元的单元(0,2)。然而,根据这样的操作,所述移动装置1重访单元(1,1)、(0,1)和(0,2)。所述CPU 5将“1”应用于与这些被重访的单元对应的状态表的“重访(REVISIT)”。通过检查“覆盖(COVERAGE)”是否为“1”,可以确定是否存在重访操作。
所述CPU 5可以移动所述移动装置1,以最短的距离到达单元(0,3)。例如,可以移动所述移动装置1,以穿过单元(1,2)和(0,2)并到达单元(0,3)。按照这样的操作,重访单元(1,2)和(0,2)。所述CPU 5将“1”应用于与这些被重访的单元对应的状态表的“重访(REVISIT)”。通过检查“覆盖(COVERAGE)”是否为“1”,可以确定是否存在重访操作。
如果所述移动装置1是扫地机器人并且重访同一单元,则所述移动装置1将清洁同一单元两次或更多次。这种重复操作会浪费扫地机器人的电池。如果所述移动装置1是割草机并且重访同一单元,则所述移动装置1将在同一单元割草两次或更多次。这种重复操作会浪费扫地机器人的电池或燃料。
在图6(N)中,所述移动装置1位于单元(0,3),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(0,4)和(1,3)的信息。所述移动装置1已访问单元(0,2)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(1,3)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(0,3)的“覆盖(COVERAGE)”。
在图6(O)中,所述移动装置1位于单元(1,3),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(1,4)和(2,3)的信息。所述移动装置1已访问单元(0,3)和(1,2)。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(2,3)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(1,3)的“覆盖(COVERAGE)”。
所述移动装置1重复进行上述操作。最后,所述移动装置1访问单元(0,4),如图6(P)所示。当所述移动装置1到达单元(0,4)时,状态表被更新,如下所示。需要说明的是,单元(0,1)、(0,2)和(1,1)的“重访(REVISIT)”是“1”,这意味着重访操作。
表5:状态表
这里,在图6(Q)中示出了使用模式1的不同示例,其中,房间的形状较为复杂并且在房间的中心部分包括了障碍物。该示例仅使用模式1,并且假设所述移动装置1在检测到被重访单元时停止其操作。在该示例中,例如,所述移动装置1可以在沿着图6(Q)所示路径移动的同时进行清洁操作。在图6(Q)中,在该图的左侧有一个小型障碍物,并且所述移动装置1可以按照模式1绕着小型障碍物移动。图6(Q)中所示的房间包括所述移动装置1尚未访问的单元或区域。图6(R)使用四个方向的箭头示出了所述移动装置1在图6(Q)中的移动。例如,“#”表示障碍物或墙壁。删除线表示存在所述移动装置1可重访单元/区域的区域,或者所述移动装置1为了避免重访而尚未访问的区域。可以理解,如果所述移动装置1试图访问带删除线的区域,将导致一些区域或单元被重访。
此外,图6(S)示出了所述移动装置1在相同的前提条件/环境中使用模式1和模式2的示例。模式2与模式1不同。有关模式2的详细信息将在下文描述。在该示例中,所述移动装置1可以动态地将模式1/2更改为模式2/1。所述移动装置1从房间的左下区域开始移动。所述移动装置1在同一路径中移动一半的距离,如图6(Q)所示。所述移动装置1可以在图6(S)所示房间的左上部分将模式1更改为模式2。例如,当由于所述传感器3检测到房间左上部分的墙壁而更新地图数据时,所述CPU 5可以进行这种模式的更改。例如,地图数据的更新可受到所述传感器3的检测能力和环境条件(例如房间的形状和障碍物的布置)的影响。因此,在不同的时间和地点,可能会存在由于这种条件而导致模式发生变化。在该示例中,在该房间的右下区域,由于地图数据的更新,所述CPU 5将模式2更改为模式1。在该示例中,在该图的左侧,所述移动装置1没有由于小型障碍物而更改模式。在该示例中,所述移动装置1访问房间的所有单元/区域。下面描述除了模式1之外使用模式2的实施例。
<第三实施例>
在本实施例中,所述移动装置1的构成如图2所示。除了上述模式1之外,所述移动装置1的所述CPU 5按照“W”、“E”、“S”和“N”(图3(B))的顺序将可访问或能够访问的单元的信息插入到所述堆栈301中,该操作称为“模式2”。
在本实施例中,所述CPU 5根据图7中的步骤在模式1和模式2之间切换操作。步骤700和702公开了与上述实施例中相同的操作。在步骤703和704,所述CPU 5切换模式1和模式2。在下面描述的示例中,所述移动装置1在图5(A)所示的房间中进行操作。
在图8(A)中,所述移动装置1位于单元(0,0)处并开始操作。所述CPU 5输入来自所述传感器3的检测结果。所述CPU 5通过将检测到的房间划分为多个单元来生成图8(A)所示的地图数据。然而,例如,所述传感器3无法检测到远离所述移动装置1的墙壁以及障碍物后面的区域/单元。因此,在单元(0,0)处,所述CPU 5可以生成如图8(B)所示的地图数据。最初可以在与(0,0)不同的单元处布置所述移动装置1,并且初始获得的地图数据可以不同于在图8(B)中所示的数据。
图8(A)示出了整个房间,以便理解本实施例。然而,在单元(0,0)处,所述移动装置1获得如图8(B)所示的地图数据,即整个房间的一部分。此外,为了理解本实施例,由所述CPU 5分配给每个单元的标识符与图5(A)相同。例如,所述CPU 5可以将序列号分配给检测到的单元。在图8(A)中,首先,所述CPU 5按照上述模式1开始操作(图7中的步骤702)。
在图8(A)中,所述CPU 5可以根据地图数据来确定模式1还是模式2适合于最初使用。换句话说,所述CPU 5可以使用由所述CPU 5生成并存储在所述存储器6中的地图数据和下面所示的模拟状态表来进行模拟计算。所述CPU 5计算所述移动装置1在如图8(B)所示的地图上移动的模拟结果,并且模拟结果对应于模式1和模式2中的每一个。在该计算过程中,所述CPU 5将“0”或“1”插入到模拟状态表中,并且与图8(B)中所示的每个单元对应的“覆盖(COVERAGE)”和“重访(REVISIT)”可以用“0”或“1”填充。“覆盖(COVERAGE)”和“重访(REVISIT)”如上所述。如果模式1(或模式2)在“覆盖(COVERAGE)”处有更多数目的“1”,则所述CPU 5可以选择模式1(或模式2)中的一个。如果模式1和模式2在“覆盖(COVERAGE)”处具有相同数目的“1”,则如果模式1(或模式2)在“重访(REVISIT)”处有更多数目的“0”,则所述CPU 5可以选择模式1(或模式2)中的一个。如果模式1和模式2在“覆盖(COVERAGE)”和“重访(REVISIT)”处具有相同数目的“1”,则所述CPU 5可以选择预先确定的模式1或模式2中的一个作为默认模式。在下面所示的模拟状态表中,模式1和模式2在“覆盖(COVERAGE)”处具有相同数目的“1”,但模式2在“重访(REVISIT)”处具有更多数目的“0”。在这种情况下,所述CPU 5可以选择模式2作为最初使用的模式。
表6:模拟状态表
以与上述相同的方式,所述CPU 5生成如下所示的状态表并将其存储在所述存储器6中。下面所示的状态表指示了每个单元的实际状态,与模拟状态表不同。这是当所述移动装置1开始其操作时的情况,因此,所述状态表的“覆盖(COVERAGE)”和“重访(REVISIT)”的所有项目都是“0”。例如,下面所示的状态表不包括单元(4,4),因为所述传感器3尚未检测到该单元。
表7:状态表
单元 | 覆盖 | 重访 |
(0,0) | 0 | 0 |
(1,0) | 0 | 0 |
(2,0) | 0 | 0 |
(3,0) | 0 | 0 |
(0,1) | 0 | 0 |
(1,1) | 0 | 0 |
(0,2) | 0 | 0 |
(1,2) | 0 | 0 |
(0,3) | 0 | 0 |
(1,3) | 0 | 0 |
假设所述CPU 5最初按照模式1开始移动。
在图8(A)中,所述移动装置1位于单元(0,0),所述CPU 5按照模式1在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(0,1)和(1,0)的信息。所述CPU 5按照“N”、“E”、“S”和“W”的顺序(即模式1)将可访问单元的信息插入到所述堆栈301中。所述堆栈301存储有如图8(A)中所示的信息。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(1,0)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(0,0)的“覆盖(COVERAGE)”。
在图8(C)中,所述移动装置1位于单元(1,0)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(1,0)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(1,1)和(2,0)的信息。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(2,0)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(1,0)的“覆盖(COVERAGE)”。
在图8(D)中,所述移动装置1位于单元(2,0)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(2,0)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(3,0)的信息。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(3,0)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(2,0)的“覆盖(COVERAGE)”。
在图8(E)中,所述移动装置1位于单元(3,0)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(3,0)处,所述CPU 5检测到来自所述传感器3的检测结果中的新区域,并且确定更新地图数据。新检测到的区域可如图8(F)所示。所述CPU 5使用新检测到的区域来更新地图数据。更新后的地图数据可如图8(G)所示。
地图数据由所述CPU 5更新(图7中的步骤703),并且所述CPU 5可以确定模式1还是模式2是合适的(图7中的步骤704)。换句话说,所述CPU 5可以使用由所述CPU 5生成并存储在所述存储器6中的地图数据和下面所示的模拟状态表来进行模拟计算。所述CPU 5计算所述移动装置1在如图8(G)所示的地图上移动的模拟结果,并且模拟结果对应于模式1和模式2中的每一个。在该计算过程中,所述CPU 5将“0”或“1”插入到模拟状态表中,并且与图8(G)中所示的每个单元对应的“覆盖(COVERAGE)”和“重访(REVISIT)”可以用“0”或“1”填充。“覆盖(COVERAGE)”和“重访(REVISIT)”如上所述。如果模式1(或模式2)在“覆盖(COVERAGE)”处有更多数目的“1”,则所述CPU 5可以选择模式1(或模式2)中的一个。如果模式1和模式2在“覆盖(COVERAGE)”处具有相同数目的“1”,则如果模式1(或模式2)在“重访(REVISIT)”处有更多数目的“0”,则所述CPU 5可以选择模式1(或模式2)中的一个。如果模式1和模式2在“覆盖(COVERAGE)”和“重访(REVISIT)”处具有相同数目的“1”,则所述CPU 5可以选择预先确定的模式1或模式2中的一个作为默认模式。
此外,所述CPU 5可以设有被访问单元数目的阈值或最大值。按照模式1,所述CPU5根据图8(G)所示的地图数据(已经访问了单元(0,0)、(1,0)、(2,0)和(3,0)),在单元(3,0)之后进行模拟计算。例如,如果所述CPU 5在该计算过程中检测到超过3个在“重访(REVISIT)”处具有“1”的单元,则所述CPU 5可以使用模式1暂停计算并使用模式2开始计算。
表8:模拟状态表
在表8的一个示例中,所述CPU 5使用模式1进行模拟计算,并且在完成模拟之前检测到被重访单元(REVISIT)的数目达到了3个。所述CPU 5使用模式1暂停计算。所述CPU 5使用模式2开始进行模拟计算。在表8中,在使用模式2完成模拟之前,所述CPU检测到被重访单元(REVISIT)的数目也达到了3个。所述CPU 5使用模式2恢复计算。
所述CPU 5可比较被访问单元(“覆盖(COVERAGE)”是“1”)的数目,并确定将两个模式中有更多被访问单元的一个应用于在单元(3,0)之后的操作。在表8所示的示例中,两个模式的被访问单元(“覆盖(COVERAGE)”是“1”)的数目是相同的。在这种情况下,所述CPU 5可比较被重访单元的数目(“重访(REVISIT)”是“1”),并确定将两个模式中有更少被重访单元的一个应用于在单元(3,0)之后的操作。如果两个模式的被重访单元(“重访(REVISIT)”是“1”)的数目相同,则所述CPU 5可以继续使用当前使用的模式或决定更改模式。在本实施例中,如表8所示,两个模式的被重访单元(“重访(REVISIT)”是“1”)的数目相同。
在该示例中,假设所述CPU 5决定继续使用模式1。在图8(E)中,所述移动装置1位于单元(3,0),所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(3,1)的信息。单元(4,0)中存在障碍物。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(3,1)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(3,0)的“覆盖(COVERAGE)”。
在图8(H)中,所述移动装置1位于单元(3,1)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(3,1)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
所述CPU 5在所述堆栈301中记录所述移动装置1可访问或能够访问的单元(3,2)和(4,1)的信息。单元(2,1)中存在障碍物。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(4,1)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(3,1)的“覆盖(COVERAGE)”。
在图8(I)中,所述移动装置1位于单元(4,1)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(4,1)处,所述CPU 5检测到来自所述传感器3的检测结果中的新区域,并且确定更新地图数据。新检测到的区域可如图8(J)所示。所述CPU 5使用新检测到的区域来更新地图数据。更新后的地图数据可如图8(K)所示。
地图数据由所述CPU 5更新(图7中的步骤703),并且所述CPU 5可以确定模式1还是模式2是合适的(图7中的步骤704)。该操作与上面描述的操作类似。这里,假设所述CPU 5确定继续使用模式1。
所述移动装置1位于单元(4,1),所述CPU 5在所述堆栈301中记录单元(4,2)的信息。所述CPU 5确定所述移动装置1尚未作为移动目的地进行访问的单元之间的、且属于所述堆栈301的顶部元素的单元(4,2)。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(4,1)的“覆盖(COVERAGE)”。
在图8(L)中,所述移动装置1位于单元(4,2)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(4,2)处,所述CPU 5检测到来自所述传感器3的检测结果中的新区域,并且确定更新地图数据。新检测到的区域可如图8(M)所示。所述CPU 5使用新检测到的区域来更新地图数据。更新后的地图数据可如图8(N)所示。
地图数据由所述CPU 5更新(图7中的步骤703),并且所述CPU 5可以确定模式1还是模式2是合适的(图7中的步骤704)。换句话说,所述CPU 5可以使用由所述CPU 5生成并存储在所述存储器6中的地图数据和下面所示的模拟状态表来进行模拟计算。所述CPU 5计算所述移动装置1在如图8(M)所示的地图上移动的模拟结果,并且模拟结果对应于模式1和模式2中的每一个。在该计算过程中,所述CPU 5将“0”或“1”插入到模拟状态表中,并且与图8(G)中所示的每个单元对应的“覆盖(COVERAGE)”和“重访(REVISIT)”可以用“0”或“1”填充。“覆盖(COVERAGE)”和“重访(REVISIT)”如上所述。如果模式1(或模式2)在“覆盖(COVERAGE)”处有更多数目的“1”,则所述CPU 5可以选择模式1(或模式2)中的一个。如果模式1和模式2在“覆盖(COVERAGE)”处具有相同数目的“1”,则如果模式1(或模式2)在“重访(REVISIT)”处有更多数目的“0”,则所述CPU 5可以选择模式1(或模式2)中的一个。
此外,所述CPU 5可以设有被访问单元数目的阈值或最大值。按照模式1,所述CPU5根据图8(N)所示的地图数据,在单元(4,2)之后进行模拟计算。例如,如果所述CPU 5在该计算过程中检测到超过3个在“重访(REVISIT)”处具有“1”的单元,则所述CPU 5可以使用模式1暂停计算并使用模式2开始计算。另一方面,所述CPU可以在不设被重访单元数目的上限/阈值的情况下进行模拟计算,并继续计算直到覆盖所有单元。下面所示的模拟状态表是不使用被重访单元数目的上限/阈值的示例。
表9:模拟状态表
在表9所示的示例中,所述CPU可以使用两个模式中具有较少被重访单元的一个(图7中的步骤704)。在表9中,模式1有三个被重访单元,模式2没有被重访单元。下文中所述CPU 5可以选择模式2。
下文中,所述CPU 5按照“W”、“E”、“S”和“N”的顺序(即模式2)将可访问单元的信息插入到所述堆栈表301中。在图8(L)中,参照状态表,所述CPU 5确定“W”方向中的单元(3,2)和“N”方向中的单元(4,3)是可访问的或能够访问的,因为与这些单元对应的“覆盖(COVERAGE)”为“0”。所述CPU 5按照“W”、“E”、“S”和“N”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入单元(3,2)的信息,并插入单元(4,3)的信息。所述堆栈301存储有如图8(L)中所示的信息。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(4,2)的“覆盖(COVERAGE)”。
在图8(O)中,所述移动装置1位于单元(4,3)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(4,3)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
下文中,所述CPU 5按照“W”、“E”、“S”和“N”的顺序(即模式2)将可访问单元的信息插入到所述堆栈表301中。在图8(O)中,参照状态表,所述CPU 5确定“W”方向中的单元(3,3)和“N”方向中的单元(4,4)是可访问的或能够访问的,因为与这些单元对应的“覆盖(COVERAGE)”为“0”。所述CPU 5按照“W”、“E”、“S”和“N”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入单元(3,3)的信息,并插入单元(4,4)的信息。所述堆栈301存储有如图8(O)中所示的信息。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(4,3)的“覆盖(COVERAGE)”。
在图8(P)中,所述移动装置1位于单元(4,4)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(4,4)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
下文中,所述CPU 5按照“W”、“E”、“S”和“N”的顺序(即模式2)将可访问单元的信息插入到所述堆栈表301中。在图8(P)中,参照状态表,所述CPU 5确定“W”方向中的单元(3,4)是可访问的或能够访问的,因为与该单元对应的“覆盖(COVERAGE)”为“0”。所述CPU 5按照“W”、“E”、“S”和“N”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU5插入单元(3,4)的信息。所述堆栈301存储有如图8(P)中所示的信息。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(4,4)的“覆盖(COVERAGE)”。
在图8(Q)中,所述移动装置1位于单元(3,4)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(3,4)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
下文中,所述CPU 5按照“W”、“E”、“S”和“N”的顺序(即模式2)将可访问单元的信息插入到所述堆栈表301中。在图8(Q)中,参照状态表,所述CPU 5确定“W”方向中的单元(2,4)和“S”方向中的单元(3,3)是可访问的或能够访问的,因为与这些单元对应的“覆盖(COVERAGE)”为“0”。所述CPU 5按照“W”、“E”、“S”和“N”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入单元(2,4)的信息,并插入单元(3,3)的信息。所述堆栈301存储有如图8(Q)中所示的信息。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(4,3)的“覆盖(COVERAGE)”。
在图8(R)中,所述移动装置1位于单元(3,3)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(3,3)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
下文中,所述CPU 5按照“W”、“E”、“S”和“N”的顺序(即模式2)将可访问单元的信息插入到所述堆栈表301中。在图8(R)中,参照状态表,所述CPU 5确定“W”方向中的单元(2,3)和“S”方向中的单元(3,2)是可访问的或能够访问的,因为与这些单元对应的“覆盖(COVERAGE)”为“0”。所述CPU 5按照“W”、“E”、“S”和“N”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入单元(2,3)的信息,并插入单元(3,2)的信息。所述堆栈301存储有如图8(R)中所示的信息。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(3,3)的“覆盖(COVERAGE)”。
在图8(S)中,所述移动装置1位于单元(3,2)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(3,2)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
下文中,所述CPU 5按照“W”、“E”、“S”和“N”的顺序(即模式2)将可访问单元的信息插入到所述堆栈表301中。在图8(S)中,参照状态表,所述CPU 5确定“W”方向中的单元(2,2)是可访问的或能够访问的,因为与该单元对应的“覆盖(COVERAGE)”为“0”。所述CPU 5按照“W”、“E”、“S”和“N”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU5插入单元(2,2)的信息。所述堆栈301存储有如图8(S)中所示的信息。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(3,2)的“覆盖(COVERAGE)”。
在图8(T)中,所述移动装置1位于单元(2,2)。所述CPU 5输入所述传感器3的检测结果,并确定是否需要更新地图数据(图7中的步骤703)。如果检测到新的区域,则所述CPU5会更新地图数据。假设在单元(2,2)处,所述CPU 5没有检测到来自所述传感器3的检测结果中的新区域,并且确定不更新地图数据。
下文中,所述CPU 5按照“W”、“E”、“S”和“N”的顺序(即模式2)将可访问单元的信息插入到所述堆栈表301中。在图8(T)中,参照状态表,所述CPU 5确定“W”方向中的单元(1,2)和“N”方向中的单元(2,3)是可访问的或能够访问的,因为与这些单元对应的“覆盖(COVERAGE)”为“0”。所述CPU 5按照“W”、“E”、“S”和“N”的顺序将可访问单元的信息插入到所述堆栈301中。换句话说,所述CPU 5插入单元(1,2)的信息,并插入单元(2,3)的信息。所述堆栈301存储有如图8(T)中所示的信息。所述CPU 5更新所述状态表以便将“1”应用于被访问单元即单元(2,2)的“覆盖(COVERAGE)”。
所述CPU 5重复地执行上述相同的操作并到达如图8(U)所示的单元(0,4)。所述移动装置1已经访问了所有单元而没有引起被重访单元。在本实施例中,与图5(B)相比,被重访单元的数目更少,可以预期所述移动装置1能够节省电池或燃料。
在上面描述的示例中使用了模式1和模式2。所述移动装置1可使用和/或添加与模式1和模式2不同的模式。例如,在图9中,所述移动装置1使用包含对角线路径的模式3。例如,区域900可以是由墙壁和/或树林包围的房间或体育场。障碍物901和902可以是家具和/或仓库。
在图9中,假设所述移动装置1使用模式1从右下部分开始移动。如果所述移动装置1仅使用模式1,则所述移动装置1有可能无法为靠近对角布置的障碍物901和902的单元进行清洁或割草。在图9所示的示例中,所述CPU 5在单元903处将模式1更改为模式3,并且在单元904处将模式3更改为模式2。
除模式1和模式2之外,所述CPU 5还可以使用对角线模式3。例如,可以根据模拟计算来更改在单元903和904处的模式,以确定哪个模式将覆盖更多单元,以及哪个模式将减少被重访单元的数目。例如,如上所述,当所述CPU 5根据从所述传感器3输入的感应结果检测到地图数据的更新时,可以进行模拟计算。如上所述,所述CPU 5可以使用模拟状态表和堆栈301。
除了模式1至模式3之外,所述移动装置1还可以使用与模式1至模式3不同的模式。例如,所述移动装置1可以使用包含曲线路径的模式4。例如,在图10中,所述移动装置1使用模式4,其中所述移动装置1可沿着圆形障碍物1001和1002在曲线路径上移动。障碍物1001和1002可以是家具或树林。
在图10中,假设所述移动装置1使用模式1从右下部分开始移动。如果所述移动装置1仅使用模式1,则所述移动装置1有可能无法为靠近圆形障碍物1001和1002的单元进行清洁或割草。在图10所示的示例中,所述CPU 5在单元1003和1005处将模式1更改为模式4,并且在单元1004处将模式4更改为模式1。
如图10所示,除了模式1至模式3之外,所述移动设备10还可以使用模式4。可以根据模拟计算来更改模式,以确定哪个模式将覆盖更多单元,以及哪个模式将减少被重访单元的数目。例如,如上所述,当所述CPU 5根据从所述传感器3输入的感应结果检测到地图数据的更新时,可以进行模拟计算。如上所述,所述CPU 5可以使用模拟状态表和堆栈301。
所述移动装置1可以根据环境/条件来组合模式1至模式4和其它模式。这些模式不限于上述示例。例如,如图11所示,所述移动装置1可以沿着房间的墙壁顺时针/逆时针方向使用螺旋模式(当所述移动装置1移动时,所述移动装置1的右侧边缘或左侧边缘始终接触墙壁、障碍物或被访问单元)。此外,所述移动装置1可以使用随机模式,其中当所述移动装置1检测到障碍物或墙壁并且无法继续沿着当前方向移动时,所述移动装置开始沿着预定方向移动,并且根据预定的随机数随机改变其方向。
此外,所述移动装置1可以预先接收地图数据。例如,所述移动装置1可以从用户的蜂窝电话接收房间的多个图片。这些图片可以从不同的位置和角度拍摄。所述移动装置1可以计算房间/障碍物的形状以及障碍物的布置。例如,所述移动装置1可以在开始其操作之前使用所述传感器3和精确的地图数据来测量从所述移动装置1到墙壁/障碍物的实际距离。
其它附加方面如下所示。
第一方面,提供了一种移动装置的控制方法,所述移动装置包括传感器,所述控制方法包括:
根据所述传感器的检测结果生成移动装置周围的地图数据;
按照第一模式移动所述移动装置;
根据所述传感器的检测结果确定是否应更新地图数据;
当更新地图数据时,根据更新后的地图数据确定是否应将第一模式切换到另一模式;
如果切换第一模式,则按照除第一模式之外的模式移动所述移动装置,或者如果不切换第一模式,则按照第一模式移动所述移动装置。
第二方面,提供了第一方面所述的控制方法,还包括:
在上述第五步骤之后,根据所述传感器的检测结果确定是否应更新地图数据;
确定当前模式是否应更改为不同模式(704);
当确定更改当前模式为不同模式时,按照所述不同模式移动所述移动装置,或者当确定不更改当前模式为不同模式时,按照当前模式移动所述移动装置。
第三方面,提供了第一方面或第二方面所述的控制方法,其中
在生成所述地图数据时,所述地图数据被划分为多个单元;
在更新所述地图数据时,所述地图数据被划分为多个单元。
第四方面,提供了第一至第三方面中任一方面所述的控制方法,其中,根据更新后的地图数据确定是否应将第一模式切换到另一模式包括:
根据更新后的地图数据进行模拟计算,并根据模拟结果确定是否将第一模式切换到另一模式。
第五方面,提供了第四方面所述的控制方法,其中
根据从计算结果中获得的被重访单元的数目来确定是否将第一模式切换到另一模式。
第六方面,提供了第四方面所述的控制方法,其中
如果被重访单元的数目超过预定数目,则暂停模拟计算,并且根据从计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将第一模式切换到另一模式。
第七方面,提供了第一至第六方面中任一方面所述的控制方法,其中,按照第一模式移动所述移动装置包括:
将移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
第八方面,提供了一种包括计算机指令的非瞬时性计算机可读存储介质,其中,所述计算机程序用于控制所述移动装置,并且所述移动装置包括传感器,所述计算机指令包括:
第一指令,用于根据所述传感器的检测结果生成移动装置周围的地图数据;
第二指令,用于按照第一模式移动所述移动装置;
第三指令,用于根据所述传感器的检测结果确定是否应更新地图数据;
第四指令,用于:当更新地图数据时,根据更新后的地图数据确定是否应将第一模式切换到另一模式;
第五指令,用于:如果切换第一模式,则按照除第一模式之外的模式移动所述移动装置,或者如果不切换第一模式,则按照第一模式移动所述移动装置。
第九方面,提供了第八方面所述的非瞬时性计算机可读存储介质,还包括:
第六指令,用于:在第五指令之后,根据所述传感器的检测结果确定是否应更新地图数据;
第七指令,用于确定当前模式是否应更改为不同模式(704);
第八指令,用于:当确定更改当前模式为不同模式时,按照所述不同模式移动所述移动装置,或者当确定不更改当前模式为不同模式时,按照当前模式移动所述移动装置;
第九指令,用于重复地执行第六至第八指令的操作。
第十方面,提供了第八方面或第九方面所述的非瞬时性计算机可读存储介质,其中
在生成所述地图数据时,所述地图数据被划分为多个单元;
在更新所述地图数据时,所述地图数据被划分为多个单元。
第十一方面,提供了第八至第十方面中任一方面所述的非瞬时性计算机可读存储介质,其中
在第四指令处,根据更新后的地图数据进行模拟计算,并根据模拟结果确定是否将第一模式切换到另一模式。
第十二方面,提供了第十一方面所述的非瞬时性计算机可读存储介质,其中
根据从计算结果中获得的被重访单元的数目来确定是否将第一模式切换到另一模式。
第十三方面,提供了第十一方面所述的非瞬时性计算机可读存储介质,其中
如果被重访单元的数目超过预定数目,则暂停模拟计算,并且根据从计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将第一模式切换到另一模式。
第十四方面,提供了第八至第十三方面中任一方面所述的非瞬时性计算机可读存储介质,其中
在第二指令处,在第一模式中,所述移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
第十五方面,提供了一种移动装置,包括:传感器、存储器和一个或多个处理器,其中所述存储器用于存储计算机指令,当所述计算机指令由所述一个或多个处理器执行时,使得所述一个或多个处理器用于:
根据所述传感器的检测结果生成移动装置周围的地图数据;
控制所述移动装置按照第一模式移动;
根据所述传感器的检测结果确定是否应更新地图数据;
当更新地图数据时,根据更新后的地图数据确定是否将第一模式切换到另一模式;
如果切换第一模式,则控制所述移动装置按照除第一模式之外的模式移动,或者如果不切换第一模式,则控制所述移动装置按照第一模式移动。
第十六方面,提供了第十五方面所述的移动装置,其中,在生成所述地图数据和更新所述地图数据时,所述地图数据被划分为多个单元。
第十七方面,提供了第十五方面或第十六方面所述的移动装置,其中,所述一个或多个处理器用于根据更新后的地图数据进行模拟计算,并根据模拟结果确定是否将第一模式切换到另一个模式。
第十八方面,提供了第十七方面所述的移动装置,其中,根据从计算结果中获得的被重访单元的数目来确定是否将第一模式切换到另一模式。
第十九方面,提供了第十七方面所述的移动装置,其中,如果被重访单元的数目超过预定数目,则暂停模拟计算,并且根据从计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将第一模式切换到另一模式。
第二十方面,提供了第十五至第十九方面中任一方面所述的移动装置,其中
在第一模式中,所述移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
上述实施例和示例可以实现为存储在所述存储器6或用户的终端/设备中的计算机程序。所述计算机程序可以加载到所述移动装置1。
上述实施例和示例不是对本申请/本发明的范围的限制/约束。
Claims (20)
1.一种移动装置的控制方法,其特征在于,所述移动装置包括传感器,所述控制方法包括:
根据所述传感器的检测结果生成移动装置周围的地图数据(701、702);
按照第一模式移动所述移动装置(702);
根据所述传感器的检测结果确定是否应更新所述地图数据(703);
当更新所述地图数据时,根据更新后的地图数据确定是否应将所述第一模式切换到另一模式(704);
如果切换所述第一模式,则按照除所述第一模式之外的模式移动所述移动装置,或者如果不切换所述第一模式,则按照所述第一模式移动所述移动装置。
2.根据权利要求1所述的控制方法,其特征在于,还包括:
根据所述传感器的检测结果确定是否应更新地图数据(703);
确定当前模式是否应更改为不同模式(704);
当确定更改当前模式为不同模式时,按照所述不同模式移动所述移动装置,或者当确定不更改当前模式为不同模式时,按照当前模式移动所述移动装置。
3.根据权利要求1或2所述的控制方法,其特征在于,
在生成所述地图数据时,所述地图数据被划分为多个单元;
在更新所述地图数据时,所述地图数据被划分为多个单元。
4.根据权利要求1至3中任一项所述的控制方法,其特征在于,根据更新后的地图数据确定是否应将第一模式切换到另一模式包括:
根据所述更新后的地图数据进行模拟计算;
根据模拟结果确定是否将所述第一模式切换到所述另一模式。
5.根据权利要求4所述的控制方法,其特征在于,
根据从所述计算结果中获得的被重访单元的数目来确定是否将所述第一模式切换到所述另一模式。
6.根据权利要求4所述的控制方法,其特征在于,
如果所述被重访单元的数目超过预定数目,则暂停所述模拟计算,并且根据从所述计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将所述第一模式切换到所述另一模式。
7.根据权利要求1至6中任一项所述的控制方法,其特征在于,按照第一模式移动所述移动装置包括:
将所述移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
8.一种包括计算机指令的非瞬时性计算机可读存储介质,其特征在于,所述计算机程序用于控制所述移动装置,并且所述移动装置包括传感器,所述计算机指令包括:
第一指令,用于根据所述传感器的检测结果生成移动装置周围的地图数据(701、702);
第二指令,用于按照第一模式移动所述移动装置(702);
第三指令,用于根据所述传感器的检测结果确定是否应更新所述地图数据(703);
第四指令,用于:当更新所述地图数据时,根据更新后的地图数据确定是否应将所述第一模式切换到另一模式(704);
第五指令,用于:如果切换所述第一模式,则按照除所述第一模式之外的模式移动所述移动装置,或者如果不切换所述第一模式,则按照所述第一模式移动所述移动装置。
9.根据权利要求8所述的非瞬时性计算机可读存储介质,其特征在于,还包括:
第六指令,用于:在第五指令之后,根据所述传感器的检测结果确定是否应更新地图数据(703);
第七指令,用于确定当前模式是否应更改为不同模式(704);
第八指令,用于:当确定更改当前模式为不同模式时,按照所述不同模式移动所述移动装置,或者当确定不更改当前模式为不同模式时,按照当前模式移动所述移动装置。
10.根据权利要求8或9所述的非瞬时性计算机可读存储介质,其特征在于,
在生成所述地图数据时,所述地图数据被划分为多个单元;
在更新所述地图数据时,所述地图数据被划分为多个单元。
11.根据权利要求8至10中任一项所述的非瞬时性计算机可读存储介质,其特征在于,
在第四指令处,根据所述更新后的地图数据进行模拟计算,并根据模拟结果确定是否将所述第一模式切换到所述另一模式。
12.根据权利要求11所述的非瞬时性计算机可读存储介质,其特征在于,
根据从所述计算结果中获得的被重访单元的数目来确定是否将所述第一模式切换到所述另一模式。
13.根据权利要求11所述的非瞬时性计算机可读存储介质,其特征在于,
如果所述被重访单元的数目超过预定数目,则暂停所述模拟计算,并且根据从所述计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将所述第一模式切换到所述另一模式。
14.根据权利要求8至13中任一项所述的非瞬时性计算机可读存储介质,其特征在于,
在所述第二指令处,在所述第一模式中,所述移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
15.一种移动装置,其特征在于,包括:传感器、存储器和一个或多个处理器,其中所述存储器用于存储计算机指令,当所述计算机指令由所述一个或多个处理器执行时,使得所述一个或多个处理器用于:
根据所述传感器的检测结果生成所述移动装置周围的地图数据(701、702);
控制所述移动装置按照第一模式移动(702);
根据所述传感器的检测结果确定是否应更新所述地图数据(703);
当更新所述地图数据时,根据更新后的地图数据确定是否将所述第一模式切换到另一模式(704);
如果切换所述第一模式,则控制所述移动装置按照除所述第一模式之外的模式移动,或者如果不切换所述第一模式,则控制所述移动装置按照所述第一模式移动。
16.根据权利要求15所述的移动装置,其特征在于,在生成所述地图数据和更新所述地图数据时,所述地图数据被划分为多个单元。
17.根据权利要求15或16所述的移动装置,其特征在于,所述一个或多个处理器用于根据更新后的地图数据进行模拟计算,并根据模拟结果确定是否将所述第一模式切换到所述另一个模式。
18.根据权利要求17所述的移动装置,其特征在于,根据从所述计算结果中获得的被重访单元的数目来确定是否将所述第一模式切换到所述另一模式。
19.根据权利要求17所述的移动装置,其特征在于,如果所述被重访单元的数目超过预定数目,则暂停所述模拟计算,并且根据从所述计算结果中获得的与每个模式相关联的可访问单元的数目来确定是否将所述第一模式切换到所述另一模式。
20.根据权利要求15至19中任一项所述的移动装置,其特征在于,
在所述第一模式中,所述移动装置移动到在按照预定顺序选择的四个方向中的一个方向的可访问单元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/110296 WO2021068150A1 (en) | 2019-10-10 | 2019-10-10 | Controlling method of mobile apparatus and computer program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112955842A true CN112955842A (zh) | 2021-06-11 |
CN112955842B CN112955842B (zh) | 2023-04-28 |
Family
ID=75436908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980058431.4A Active CN112955842B (zh) | 2019-10-10 | 2019-10-10 | 移动装置的控制方法及其计算机程序 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112955842B (zh) |
WO (1) | WO2021068150A1 (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105116902A (zh) * | 2015-09-09 | 2015-12-02 | 北京进化者机器人科技有限公司 | 一种移动机器人避障导航的方法和系统 |
CN105911988A (zh) * | 2016-04-26 | 2016-08-31 | 湖南拓视觉信息技术有限公司 | 一种自动制图装置及方法 |
CN107328419A (zh) * | 2017-06-21 | 2017-11-07 | 上海斐讯数据通信技术有限公司 | 一种清扫机器人的清扫路径的规划方法及清扫机器人 |
CN107357293A (zh) * | 2017-07-31 | 2017-11-17 | 上海应用技术大学 | 移动机器人路径规划方法和系统 |
CN107357297A (zh) * | 2017-08-21 | 2017-11-17 | 深圳市镭神智能系统有限公司 | 一种扫地机器人导航系统及其导航方法 |
CN108646761A (zh) * | 2018-07-12 | 2018-10-12 | 郑州大学 | 基于ros的机器人室内环境探索、避障和目标跟踪方法 |
CN109008817A (zh) * | 2018-08-22 | 2018-12-18 | 深圳市云鼠科技开发有限公司 | 一种高智能扫地机器人应用控制系统及控制方法 |
CN109144067A (zh) * | 2018-09-17 | 2019-01-04 | 长安大学 | 一种智能清洁机器人及其路径规划方法 |
CN109459026A (zh) * | 2018-11-08 | 2019-03-12 | 北京理工大学 | 一种多运动体协同全覆盖路径规划方法 |
US20190182628A1 (en) * | 2017-11-30 | 2019-06-13 | Mapsted Corp. | Self-learning localization data repository |
-
2019
- 2019-10-10 CN CN201980058431.4A patent/CN112955842B/zh active Active
- 2019-10-10 WO PCT/CN2019/110296 patent/WO2021068150A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105116902A (zh) * | 2015-09-09 | 2015-12-02 | 北京进化者机器人科技有限公司 | 一种移动机器人避障导航的方法和系统 |
CN105911988A (zh) * | 2016-04-26 | 2016-08-31 | 湖南拓视觉信息技术有限公司 | 一种自动制图装置及方法 |
CN107328419A (zh) * | 2017-06-21 | 2017-11-07 | 上海斐讯数据通信技术有限公司 | 一种清扫机器人的清扫路径的规划方法及清扫机器人 |
CN107357293A (zh) * | 2017-07-31 | 2017-11-17 | 上海应用技术大学 | 移动机器人路径规划方法和系统 |
CN107357297A (zh) * | 2017-08-21 | 2017-11-17 | 深圳市镭神智能系统有限公司 | 一种扫地机器人导航系统及其导航方法 |
US20190182628A1 (en) * | 2017-11-30 | 2019-06-13 | Mapsted Corp. | Self-learning localization data repository |
CN108646761A (zh) * | 2018-07-12 | 2018-10-12 | 郑州大学 | 基于ros的机器人室内环境探索、避障和目标跟踪方法 |
CN109008817A (zh) * | 2018-08-22 | 2018-12-18 | 深圳市云鼠科技开发有限公司 | 一种高智能扫地机器人应用控制系统及控制方法 |
CN109144067A (zh) * | 2018-09-17 | 2019-01-04 | 长安大学 | 一种智能清洁机器人及其路径规划方法 |
CN109459026A (zh) * | 2018-11-08 | 2019-03-12 | 北京理工大学 | 一种多运动体协同全覆盖路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112955842B (zh) | 2023-04-28 |
WO2021068150A1 (en) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210260773A1 (en) | Systems and methods to control an autonomous mobile robot | |
US11132000B2 (en) | Robot with automatic styles | |
US11144059B2 (en) | Unmanned aerial vehicle operating method and device | |
CN105377015B (zh) | 用于监视和控制至少一个园艺设备在至少一个活动领域之内的活动的系统 | |
US20170364091A1 (en) | Modular multitier mobile units | |
CN104470685B (zh) | 提供用于家庭环境控制的环境绘图的移动机器人 | |
CN110286669B (zh) | 自移动机器人的行走作业方法 | |
US11564348B2 (en) | Moving robot and method of controlling the same | |
CN116185079B (zh) | 一种基于自适应巡航的无人机施工巡检航线规划方法 | |
WO2011115534A1 (en) | Method and system for navigating a robotic garden tool | |
JP2022527029A (ja) | 遠隔操作型ロボットのためのシステム、装置、及び、方法 | |
WO2021237448A1 (zh) | 路径规划方法、装置及系统 | |
KR20200092857A (ko) | 로봇의 이동 경로를 결정하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 | |
CN107735737A (zh) | 一种航点编辑方法、装置、设备及飞行器 | |
WO2022095067A1 (zh) | 路径规划方法、路径规划装置、路径规划系统和介质 | |
CN108687784A (zh) | 送餐机器人 | |
CN112955842B (zh) | 移动装置的控制方法及其计算机程序 | |
CN111694360A (zh) | 确定扫地机器人位置的方法、装置及扫地机器人 | |
TW201825869A (zh) | 自主移動式加工設備之導航及自定位方法 | |
WO2024131639A1 (zh) | 障碍物遍历方法、装置、割草机器人以及存储介质 | |
WO2023217231A1 (zh) | 作业边界生成方法、作业控制方法、设备及存储介质 | |
CN116009547A (zh) | 一种自主设备作业方法、装置、设备及存储介质 | |
KR102537049B1 (ko) | 다목적 소형 로봇 | |
CN115562295A (zh) | 地图优化方法、电子设备及可读存储介质 | |
Amigoni et al. | A decision-theoretic framework to select effective observation locations in robotic search and rescue scenarios |
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 |