Mapping for autonomous mobile robots
43 claims: 5 independent, 38 dependent
- 1方法であって、環境の地図を、第1の清掃ミッションの遂行中に前記環境内で自律清掃ロボットによって生成された地図作成データに基づき構築するステップであって、前記地図作成データの一部に関連付けられている環境内の特徴に関連付けられたラベルを提供するステップを含み、前記特徴が、第1の状態及び第2の状態を含む複数の定義された 状 態に関連付けら れ ている特徴タイプに対応する、前記地図を構築するステップと、前記地図に基づく前記環境の視覚的表現、前記ラベルの視覚的インジケータ、および前記第1の状態又は第2の状態の視覚的インジケータをリモートコンピューティングデバイスに提示させるステップと、第2の清掃ミッションの遂行中に前記ラベルに且つ前記第1の状態に関連付けられている動作を、前記第2の清掃ミッションの遂行中に前記特徴が前記第1の状態にあることに基づき、前記自律清掃ロボットに開始させるステップとを含 み、 前記環境の前記視覚的表現は、前記環境内の物体の視覚的配置構成を示す、 方法。
- 2前記特徴は第1の特徴であり、前記ラベルは第1のラベルであり、前記地図作成データの前記一部は前記地図作成データの第1の部分であり、前記地図を構築するステップは、前記地図作成データの第2の部分に関連付けられている第2のラベルを提供するステップであって、前記第2のラベルは前記環境内の第2の特徴に関連付けられ、前記第2の特徴は前記複数の定義された 状 態に関連付けられた前記特徴タイプに対応する、ステップを含み、前記方法は、前記リモートコンピューティングデバイスに前記第2のラベルの視覚的インジケータを提示させるステップをさらに含む請求項1に記載の方法。
- 3前記第1の特徴および前記第2の特徴が各々前記特徴タイプに対応することを、前記第1の特徴の画像および前記第2の特徴の画像に基づき決定するステップをさらに含む請求項2に記載の方法。
- 4前記第1の特徴の前記画像および前記第2の特徴の前記画像は、前記自律清掃ロボットによってキャプチャされる請求項3に記載の方法。
- 5前記第1の特徴の前記画像および前記第2の特徴の前記画像は、前記環境内の1つまたは複数の画像キャプチャデバイスによってキャプチャされる請求項3に記載の方法。
- 6前記第2の清掃ミッションの遂行中に前記第2の特徴が前記第1の状態にあることに基づき前記自律清掃ロボットに前記動作を開始させるステップをさらに含む請求項2に記載の方法。
- 7前記動作は第1の動作であり、前記方法は、前記第2の清掃ミッションの遂行中に前記第2の特徴が前記第2の状態にあることに基づき前記自律清掃ロボットに第2の動作を開始させるステップをさらに含む請求項2に記載の方法。
- 8前記第2の清掃ミッションの遂行中に前記特徴が前記第1の状態にあることに基づき前記自律清掃ロボットに前記動作を開始させるステップは、前記自律清掃ロボットが前記特徴が前記第1の状態にあることを検出したことに応答して前記自律清掃ロボットに前記動作を開始させるステップを含む請求項1に記載の方法。
- 9前記特徴は、前記環境内の床面の一領域であり、前記第1の状態は、前記床面の前記一領域の汚れの第1のレベルであり、前記第2の状態は、前記一領域の汚れの第2のレベルである請求項1に記載の方法。
- 10前記第1の状態に関連付けられている第1の動作における前記自律清掃ロボットは、前記第2の状態に関連付けられている第2の動作における前記一領域内の清掃の第2の程度より大きい前記一領域内の清掃の第1の程度をもたらす請求項9に記載の方法。
- 11前記一領域は第1の領域であり、前記ラベルは第1のラベルであり、前記地図作成データの前記一部は前記地図作成データの第1の部分であり、前記地図を構築するステップは、前記地図作成データの第2の部分に関連付けられている第2のラベルを提供するステップであって、前記第2のラベルは前記複数の定義された 状 態を有する前記環境内の第2の領域に関連付けられる、ステップを含む請求項9に記載の方法。
- 12前記ラベルは第1のラベルであり、前記一領域は第1の領域であり、前記第1の領域は、前記環境内の第1の物体に関連付けられ、前記方法は、前記環境内の第2の物体のタイプが前記環境内の前記第1の物体のタイプと同一であることに基づき前記環境内の第2の領域に関連付けられている第2のラベルを提供するステップであって、前記第2の領域は前記第2の物体に関連付けられる、ステップをさらに含む請求項9に記載の方法。
- 13前記特徴は、前記環境の第1の部分と前記環境の第2の部分との間の前記環境内のドアであり、前記第1の状態は前記ドアの開いた状態であり、前記第2の状態は前記ドアの閉じた状態である請求項1に記載の方法。
- 14前記開いた状態に関連付けられている第1の動作における前記自律清掃ロボットは、前記環境の前記第1の部分から前記環境の前記第2の部分に移動し、前記閉じた状態に関連付けられている第2の動作における前記自律清掃ロボットは、前記ドアを検出し、前記ドアを動かして前記開いた状態にするための命令を提供する請求項13に記載の方法。
- 15前記第1の清掃ミッションの遂行中に、前記ドアは前記開いた状態にあり、前記第2の清掃ミッションの遂行中に、前記ドアは前記閉じた状態にある請求項14に記載の方法。
- 16前記ドアは第1のドアであり、前記ラベルは第1のラベルであり、前記地図作成データの前記一部は前記地図作成データの第1の部分であり、前記地図を構築するステップは、前記地図作成データの第2の部分に関連付けられている第2のラベルを提供するステップであって、前記第2のラベルは前記複数の定義された 状 態を有する前記環境内の第2のドアに関連付けられる、ステップを含む請求項13に記載の方法。
- 17ユーザが前記閉じた状態にある前記ドアを操作して前記開いた状態にする要求を前記リモートコンピューティングデバイスに発行させるステップをさらに含む請求項13に記載の方法。
- 18前記ドアは、電子制御可能なドアであり、前記第2の清掃ミッションの遂行中に前記特徴が前記第1の状態にあることに基づき前記自律清掃ロボットに前記動作を開始させるステップは、前記電子制御可能なドアを動かして前記閉じた状態から前記開いた状態にすることを行わせるためのデータを伝送することを前記自律清掃ロボットに行わせるステップを含む請求項13に記載の方法。
- 19前記特徴の状態を変更する要求を前記リモートコンピューティングデバイスに発行させるステップをさらに含む請求項1に記載の方法。
- 20前記ラベルは、前記第1の清掃ミッションの遂行中の前記自律清掃ロボットの第1のナビゲーション動作に関連付けられている前記環境内の領域に関連付けられ、前記動作は、前記第1のナビゲーション動作に基づき選択された第2のナビゲーション動作である請求項1に記載の方法。
- 21前記第1のナビゲーション動作において、前記自律清掃ロボットは前記領域を横断せず、前記自律清掃ロボットは、前記領域を横断するために前記第2のナビゲーション動作を開始する請求項20に記載の方法。
- 22前記地図作成データは、第1の地図作成データであり、前記ラベルは、第3の清掃ミッションの遂行中に収集された第2の地図作成データの一部に関連付けられ、前記第2の地図作成データの前記一部は、前記自律清掃ロボットが前記領域を横断する第3のナビゲーション動作に関連付けられ、前記第2のナビゲーション動作のパラメータは、前記第3のナビゲーション動作のパラメータと一致するように選択される請求項20に記載の方法。
- 23前記パラメータは、前記自律清掃ロボットの速度、または前記領域に関する前記自律清掃ロボットのアプローチ角である請求項22に記載の方法。
- 24前記第1のナビゲーション動作において、前記自律清掃ロボットは、前記領域を通る第1の経路に沿って移動し、前記第1の経路は前記領域への第1の個数の進入点を有し、前記自律清掃ロボットは、前記領域を通る第2の経路に沿って移動する前記第2のナビゲーション動作を開始し、前記第2の経路は前記第1の個数の進入点より少ない前記領域への第2の個数の進入点を有する請求項20に記載の方法。
- 25前記地図作成データは、第1の地図作成データであり、前記方法は、前記自律清掃ロボットによって生成された第2の地図作成データが前記領域からの1つまたは複数の障害物の除去を示したことに応答して前記ラベルを削除するステップをさらに含む請求項24に記載の方法。
- 26前記地図は、前記環境内の複数の電子デバイスによってアクセス可能であり、前記複数の電子デバイスは前記自律清掃ロボットを含む請求項1に記載の方法。
- 27前記自律清掃ロボットは第1の自律清掃ロボットであり、前記環境内の前記複数の電子デバイスは第2の自律清掃ロボットを含む請求項26に記載の方法。
- 28前記地図作成データの前記一部は、前記環境内の障害物に関連付けられ、前記方法は、前記ラベルに基づき、前記障害物に接触することなく前記障害物を回避し、前記障害物を検出することを自律移動ロボットに行わせるステップをさらに含む請求項1に記載の方法。
- 29前記特徴が前記第2の状態にあると決定するステップと、前記特徴が前記第2の状態にあると決定したことに応答して、前記特徴が前記第2の状態にあることを示す視覚的インジケータを提示することを前記リモートコンピューティングデバイスに行わせるためのデータを伝送するステップとをさらに含む請求項1に記載の方法。
- 30自律清掃ロボットであって、環境内の床面の上で前記自律清掃ロボットをサポートするための駆動システムであって、前記駆動システムは前記自律清掃ロボットが前記床面上を動き回るように構成される、駆動システムと、前記自律清掃ロボットが前記床面上を動き回るときに前記床面を清掃する清掃アセンブリと、センサシステムと、前記駆動システム、前記清掃アセンブリ、および前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、第1の清掃ミッションの遂行中に前記センサシステムを使用して前記環境の地図作成データを生成することと、前記地図作成データから構築された地図を取得することであって、前記地図が、(i)前記環境内の特徴に関連付けられたラベルであって、前記特徴が、第1の状態及び第2の状態を含む複数の定義された 状 態に関連付けら れ ている特徴タイプに対応する、ラベルと、(ii)前記特徴が前記第1の状態にあることの表示とを含む、地図を取得することと、前記特徴が前記第1の状態にあることの前記表示に基づき第2の清掃ミッションの遂行中に動作を開始することであって、前記特徴が、前記第1の清掃ミッションの遂行中に生成された前記地図作成データの一部に関連付けられる、動作を開始することとを含む、コントローラとを備える自律清掃ロボット。
- 31モバイルコンピューティングデバイスであって、ユーザ入力デバイスと、ディスプレイと、前記ユーザ入力デバイスおよび前記ディスプレイに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、前記ディスプレイを使用して、第1の清掃ミッションの遂行中に環境内で自律清掃ロボットによって生成される地図作成データに基づく環境の視覚的表現、前記地図作成データの一部に関連付けられているラベルの視覚的インジケータ、および前記ラベルに関連付けられている前記環境内の特徴の第1の状態の視覚的インジケータを提示することであって、前記特徴が、前記第1の状態及び第2の状態を含む複数の定義された 状 態に関連付けら れ ている特徴タイプに対応する、前記視覚的インジケータを提示することと、第2の清掃ミッションの遂行中に前記自律清掃ロボットによって生成される地図作成データに基づき、前記ラベルの前記視覚的インジケータおよび前記特徴の前記第2の状態の前記視覚的インジケータを含むように前記環境の前記視覚的表現を更新することであって、前記地図作成データは前記特徴が前記第2の状態になることを示す、前記視覚的表現を更新することとを含む、コントローラとを備 え、 前記環境の前記視覚的表現は、前記環境内の物体の視覚的配置構成を示す、 モバイルコンピューティングデバイス。
- 32前記複数の定義された 状 態の数は、少なくとも3つである、請求項1に記載の方法。
- 33前記地図作成データは、前記自律清掃ロボットの第1のセンサルーチンによって生成され、前記動作は、前記第1のセンサルーチンとは異なる第2のセンサルーチンを含む、請求項1に記載の方法。
- 34前記動作はナビゲーション動作を含み、前記ナビゲーション動作は、前記自律清掃ロボットの速度、前記自律清掃ロボットの加速度、および前記特徴に対する前記自律清掃ロボットのアプローチ角のうちの少なくとも1つを含む、請求項1に記載の方法。
- 35前記動作はナビゲーション動作を含み、前記ナビゲーション動作は、前記自律清掃ロボットの速度、前記自律清掃ロボットの加速度、および前記特徴に対する前記自律清掃ロボットのアプローチ角のうちの少なくとも1つを含む、請求項30に記載の自律清掃ロボット。
- 36前記特徴は第1の特徴であり、前記ラベルは第1のラベルであり、前記地図作成データの前記一部は前記地図作成データの第1の部分であり、前記地図を構築することが、前記地図作成データの第2の部分に関連付けられている第2のラベルを提供することを含み、前記第2のラベルは前記環境内の第2の特徴に関連付けられ、前記第2の特徴は前記複数の定義された 状 態に関連付けられた前記特徴タイプに対応し、前記オペレーションは、リモートコンピューティングデバイスに前記第2のラベルの視覚的インジケータを提示させることをさらに含む、請求項30に記載の自律清掃ロボット。
- 37前記特徴は、前記環境内の前記床面の一領域であり、前記第1の状態は、前記床面の前記一領域の汚れの第1のレベルであり、前記第2の状態は、前記一領域の汚れの第2のレベルである、請求項30に記載の自律清掃ロボット。
- 38前記地図作成データは、前記自律清掃ロボットの第1のセンサルーチンによって生成され、前記動作は、前記第1のセンサルーチンとは異なる第2のセンサルーチンを含む、請求項30に記載の自律清掃ロボット。
- 39前記特徴は第1の特徴であり、前記ラベルは第1のラベルであり、前記地図作成データの前記一部は前記地図作成データの第1の部分であり、前記オペレーションは、前記ディスプレイを用いて、第2のラベルの視覚的インジケータを提示することを含み、前記第2のラベルは前記環境内の第2の特徴に関連付けられ、前記第2の特徴は前記複数の定義された 状 態に関連付けられた前記特徴タイプに対応する、請求項31に記載のモバイルコンピューティングデバイス。
- 40前記特徴は、前記環境内の床面の一領域であり、前記第1の状態は、前記床面の前記一領域の汚れの第1のレベルであり、前記第2の状態は、前記一領域の汚れの第2のレベルである、請求項31に記載のモバイルコンピューティングデバイス。
- 41前記特徴は、前記環境の第1の部分と前記環境の第2の部分との間の前記環境内のドアであり、前記第1の状態は前記ドアの開いた状態であり、前記第2の状態は前記ドアの閉じた状態である、請求項31に記載のモバイルコンピューティングデバイス。
- 42前記オペレーションは、前記特徴の状態を変更する要求を発行することをさらに含む、請求項31に記載のモバイルコンピューティングデバイス。
- 43前記複数の定義された 状 態の数は、少なくとも3つである、請求項31に記載のモバイルコンピューティングデバイス。
Independent claims43
210 paragraphs, as filed
The present specification relates to mapping, in particular mapping for autonomous mobile robots.
Autonomous mobile robots include autonomous cleaning robots that perform cleaning tasks autonomously within an environment, eg, within a home. Many types of cleaning robots are autonomous to some degree and in different ways. The cleaning robot includes a controller, which may be configured to autonomously navigate the robot as it moves about the environment so that the robot can pick up debris as it moves.
<p>As the autonomous mobile cleaning robot moves about in the environment, the robot will generate an intelligent robot-facing map of the environment. can collect data that can be used to build a map). Based on the data collected by the robot, features in the environment, such as doors, dirty areas, or other features, can be labeled and shown on the map, and the state of the feature is also shown on the map. be able to. The robot can choose actions based on these labels and the state of the features associated with those labels. For example, a feature may be a door labeled and shown on a map, and the state of the door may be open or closed. If the door is in the closed state, the robot can choose a navigation action in which the robot does not attempt to cross the door threshold; You can choose the navigation behavior you want to try. The intelligent robot-facing map is visually represented in a user-readable form in which both labels and feature states are visually presented to the user, thereby allowing the user to see a representation of the robot-facing map and allowing the robot to Commands that directly relate to labels on the facing map can easily be provided.</p><p>The advantages of the foregoing may include, but are not limited to, those described below and elsewhere herein.</p>
<p>The implementations described herein can improve the reliability of autonomous mobile robots to traverse the environment without encountering error conditions and improve task accomplishment performance. Instead of relying solely on the autonomous mobile robot's immediate response to the detection of features by its sensor system, the autonomous mobile robot relies on data collected from previous missions to intelligently route around the environment to avoid error conditions. can be planned to In subsequent cleaning missions after the first cleaning mission in which the robot discovered the feature, the robot can plan around the feature to avoid the risk of triggering error conditions associated with the feature. In addition, the robot intelligently plans its mission execution utilizing data collected from previous missions so that the robot can focus on areas in the environment that require more attention. can be done.</p><p>Implementations described herein can improve fleet management for autonomous mobile robots that may traverse similar or overlapping regions. Cartographic data shared among autonomous mobile robots in a fleet improves map building efficiency, facilitates smart action selection in the environment for robots in the fleet, and allows robots to identify notable features in the environment, for example, Learning more quickly about features that require more attention by the robot, that can trigger error conditions for the robot, or that can have changing states that would affect the robot's behavior. can make it possible. For example, a fleet of autonomous mobile robots in a home may include multiple types of autonomous mobile robots for performing various tasks in the home. The first robot may be equipped with a more sophisticated set of sensors than those on board the second robot in the fleet. A first robot equipped with an advanced sensor suite can generate cartographic data that a second robot cannot generate, and then the first robot can generate cartographic data, e.g. It would be possible to provide the cartographic data to the second robot by providing the cartographic data to a remote computing device accessible by the second robot. Even if the second robot does not have sensors capable of generating specific cartographic data, the second robot can generate cartographic data to improve its performance in performing tasks in the home. can be used. Additionally, the second robot may be equipped with a number of sensors capable of collecting cartographic data usable by the first robot, so that the fleet of autonomous mobile robots builds a map of the home. cartographic data can be generated more quickly to</p><p>Implementations described herein may enable autonomous mobile robots to integrate with other smart devices in the environment. An environment may include a number of smart devices that are connectable to each other or to a network accessible by the devices in the environment. These smart devices may include one or more autonomous mobile robots, which together with the autonomous mobile robots are controlled by the robots to navigate and perform tasks within the environment. It can generate cartographic data that can be used. Smart devices in the environment can each generate data that can be used to build a map. The robot can then use this map to improve its ability to perform tasks within the environment and improve the efficiency of the paths it takes within the environment.</p><p>Furthermore, when integrated with other smart devices, the autonomous mobile robot is configured to control other smart devices so that the robot can traverse the environment unhindered by some smart devices. obtain. For example, an environment can include smart doors and autonomous mobile robots. In response to detecting the smart door, the robot can manipulate the smart door to ensure that it is in an open state, thereby allowing the robot to locate the first door in the environment. One can easily move from one room to a second room in an environment separated from the first room by a door.</p><p>Implementations described herein can improve the efficiency of autonomous mobile robot navigation within an environment. An autonomous mobile robot can plan a path through an environment based on a constructed map, and the planned path is more efficient than an autonomous mobile robot that traverses the environment and performs tasks without the aid of a map. robots to perform tasks across environments. In a further example, an autonomous mobile robot can plan paths that allow the robot to efficiently navigate between obstacles in its environment. Obstacles may, for example, be arranged in ways that increase the likelihood that the robot will adopt an inefficient strategy. With a map, the robot can plan a path around obstacles that reduces the likelihood of the robot adopting such inefficient strategies. In a further example, the map allows the robot to consider the state of various features within the environment. The state of features in the environment can affect the paths the robot can take to traverse the environment. In this regard, knowing the state of features in the environment allows the robot to plan a path that can avoid the feature when the feature is in several states. For example, if the feature is a door that separates a first room from a second room, the robot can plan a path through the first room when the door is in a closed state and the door is open. A path can be planned through both the first room and the second room when in a state.</p><p>Implementations described herein can reduce the likelihood that an autonomous mobile robot will trigger an error condition. For example, an autonomous mobile robot can select navigation actions within a region of a room based on features along a portion of the floor surface within that region. A feature may, for example, be a raised portion of the floor, and the robot may increase the risk of getting stuck along this raised portion when traversing the raised portion. The robot can select navigational maneuvers, eg, the angle or speed at which the robot approaches the bump, that will reduce the likelihood of the robot getting stuck on the bump.</p><p>Implementations described herein can further improve the cleaning efficiency of autonomous cleaning robots used to clean floor surfaces in an environment. Labels on the map can correspond to dirty areas in the environment, for example. The autonomous cleaning robot can select actions for each soiled area depending on the condition of each soiled area, eg, the degree of soiling of each soiled area. For dirtier areas, this action allows the robot to spend more time traversing the area, traverse the area multiple times, or increase suction to traverse the area. . By selectively initiating actions depending on how dirty an area is, the robot can more effectively clean the dirtier areas of the environment.</p><p>The implementations described herein can provide a richer user experience in several respects. First, labels can provide an improved visualization of maps for autonomous mobile robots. These labels form a common frame of reference for the robot and user to communicate. Compared to maps without labels, the maps described herein may be more readily comprehensible by users when presented to them. Additionally, the map allows the robot to be more easily used and controlled by the user.</p><p>In one aspect, the method includes constructing a map of the environment based on cartographic data generated by the autonomous cleaning robot within the environment during performance of the first cleaning mission. Constructing the map includes providing a label associated with the portion of the cartographic data. The method includes causing a visual representation of the map-based environment and a visual indicator of the label to be displayed on the remote computing device. The method includes causing the autonomous cleaning robot to initiate actions associated with the label during performance of a second cleaning mission.</p><p>In another aspect, an autonomous cleaning robot includes a drive system that supports the autonomous cleaning robot over a floor surface within an environment. The drive system is configured to move the autonomous cleaning robot around the floor surface. The autonomous cleaning robot includes a cleaning assembly for cleaning the floor surface as the autonomous cleaning robot moves about the floor surface, a sensor system, and a controller operatively connected to the drive system, the cleaning assembly, and the sensor system. Prepare. The controller uses the sensor system to create mapping data of the environment during the first cleaning mission, and during the second cleaning mission based on the labels in the map constructed from the cartographic data. and initiating an operation at a time. The label is associated with a portion of the cartographic data generated during the performance of the first cleanup mission.</p><p>In another aspect, a mobile computing device includes a user input device, a display, and a controller operably connected to the user input device and the display. The controller, using the display, is associated with a visual representation of the environment based on the cartographic data generated by the autonomous cleaning robot within the environment during the performance of the first cleaning mission, a portion of the cartographic data. It is configured to execute instructions to perform an operation including presenting a visual indicator of the label and a visual indicator of the state of the feature within the environment associated with the label. The operation includes updating the label visual indicator and the feature status visual indicator based on cartographic data generated by the autonomous cleaning robot during performance of the second cleaning mission.</p><p>In some implementations, labels are associated with features in the environment that are associated with portions of cartographic data. A feature in the environment can have multiple states, including a first state and a second state. The step of causing the autonomous cleaning robot to initiate the action associated with the label during performance of the second cleaning mission includes causing the autonomous cleaning robot to initiate the action associated with the label during performance of the second cleaning mission based on the characteristic being in the first state. Including the step of initiating an action. In some implementations, the feature is the first feature with the feature type, the label is the first label, and the portion of the cartographic data is the first portion of the cartographic data. Constructing the map may include providing a second label associated with a second portion of the cartographic data. A second label may be associated with a second feature in the environment having a feature type and a number of states. The method can include causing the remote computing device to present a visual indicator of the second label. In some implementations, the method further includes determining which feature type the first feature and the second feature each have based on the first feature image and the second feature image. In some implementations, the image of the first feature and the image of the second feature are captured by an autonomous cleaning robot. In some implementations, the image of the first feature and the image of the second feature are captured by one or more image capture devices in the environment. In some implementations, the method further includes causing the autonomous cleaning robot to initiate motion based on the second characteristic being in the first state during performance of the second cleaning mission. In some implementations, the action is the first action and the method instructs the autonomous cleaning robot to perform the second action based on the second feature being in the second state during performance of the second cleaning mission. further comprising initiating the</p><p>In some implementations, causing the autonomous cleaning robot to initiate motion based on the feature being in the first state during performance of the second cleaning mission includes determining that the autonomous cleaning robot is in the feature in the first state. causing the autonomous cleaning robot to initiate action in response to detecting that.</p><p>In some implementations, the feature is a region of the floor within the environment. The first condition may be a first level of soiling of the area of the floor and the second condition may be a second level of soiling of the area. In some implementations, the autonomous cleaning robot in a first action associated with a first state is greater than the second degree of cleaning of the area in a second action associated with a second state. Provides the first degree of cleaning in the area. In some implementations, the region is the first region, the label is the first label, and the portion of the cartographic data is the first portion of the cartographic data. Constructing the map may include providing a second label associated with a second portion of the cartographic data. A second label may be associated with a second region within the environment having a number of states. In some implementations, the label is the first label and the region is the first region. A first region may be associated with a first object in the environment. The method includes providing a second label associated with the second region in the environment based on the type of the second object in the environment being identical to the type of the first object in the environment. can further include: A second region may be associated with a second object.</p><p>In some implementations, the feature is a door in the environment between the first part of the environment and the second part of the environment, the first state being the open state of the door, and the second state being the open state of the door. The state is the closed state of the door. In some implementations, the autonomous cleaning robot in a first action associated with the open state moves from a first portion of the environment to a second portion of the environment. An autonomous cleaning robot in a second action associated with the closed state can detect the door and provide instructions to move the door to the open state. In some implementations, the door is open and closed while the second cleaning mission is being performed. In some implementations, the door is the first door, the label is the first label, and the portion of the cartographic data is the first portion of the cartographic data. Constructing the map may include providing a second label associated with a second portion of the cartographic data. A second label may be associated with a second door in the environment having a number of states. In some implementations, the method further includes causing the remote computing device to issue a request to open the door that the user has closed. In some implementations, the door is an electronically controllable door. Initiating movement of the autonomous cleaning robot based on the feature being in the first state during the second cleaning mission includes moving an electronically controllable door from a closed state to an open state. The step of causing the autonomous cleaning robot to transmit data to cause it to do so may be included.</p><p>In some implementations, the method further includes having the remote computing device issue a request to change the state of the feature.</p><p>In some implementations, the label is associated with an area within the environment associated with the first navigational motion of the autonomous cleaning robot during the performance of the first cleaning mission. This action may be a second navigation action selected based on the first navigation action. In some implementations, the autonomous cleaning robot does not traverse the area in the first navigational motion. The autonomous cleaning robot can initiate a second navigational motion to traverse the area. In some implementations, the cartographic data is first cartographic data. The label may be associated with a portion of the second cartographic data collected during performance of the third cleaning mission. A portion of the second cartographic data may be associated with a third navigational motion through which the autonomous cleaning robot traverses the area. The parameters of the second navigation action can be selected to match the parameters of the third navigation action. In some implementations, this parameter is the speed of the autonomous cleaning robot or the approach angle of the autonomous cleaning robot with respect to the area. In some implementations, in a first navigation operation, the autonomous cleaning robot travels along a first path through the area, the first path having a first number of entry points into the area. . The autonomous cleaning robot can initiate a second navigational motion that moves along a second path through the area. The second path can have a second number of entry points into fewer regions than the first number of entry points. In some implementations, the cartographic data is first cartographic data, and the method is such that second cartographic data generated by the autonomous cleaning robot effects removal of one or more obstacles from the area. deleting the label in response to the indication.</p><p>In some implementations, the map is accessible by multiple electronic devices in the environment. A number of electronic devices can include autonomous cleaning robots. In some implementations, the autonomous cleaning robot is a first autonomous cleaning robot and the plurality of electronic devices in the environment includes a second autonomous cleaning robot.</p><p>In some implementations, a portion of the cartographic data is associated with obstacles in the environment. The method may further include having the autonomous mobile robot avoid and detect the obstacle without contacting the obstacle based on the label.</p><p>In some implementations, labels are associated with features in the environment that are associated with portions of cartographic data. A feature in the environment can have multiple states, including a first state and a second state. A portion of the cartographic data may be associated with a first state of the feature. The method may further include causing the remote computing device to present a visual indicator that the feature is in the first state. In some implementations, the method comprises presenting a visual indicator that the feature is in the second state in response to determining that the feature is in the second state. Further comprising transmitting data to cause the device to perform.</p><p>Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other potential features, aspects, and advantages will become apparent from the description, drawings, and claims.</p>
<figref num="1A">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="1B">1 is a front view of a user device showing a visual representation of a map; FIG.</figref><figref num="2">1 is a cross-sectional side perspective view of an autonomous cleaning robot; FIG.</figref><figref num="3A">It is a cross-sectional bottom perspective view of an autonomous cleaning robot.</figref><figref num="3B">1 is a cross-sectional top perspective view of an autonomous cleaning robot; FIG.</figref><figref num="4">1 is a diagram of a communication network; FIG.</figref><figref num="5">FIG. 4 is a diagram of the associations between features in the environment, cartographic data, and labels on the map;</figref><figref num="6">1 is a block diagram of a process for presenting indicators of features in an environment to a user or initiating actions based on features in the environment; FIG.</figref><figref num="7A">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="7B">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="7C">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="7D">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="8A">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="8B">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="9A">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="9B">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="9C">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="9D">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="10A">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="10B">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="11A">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="11B">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="11C">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref><figref num="11D">1 is a schematic top view of an environment with an autonomous cleaning robot; FIG.</figref>
Like reference numbers and designations in the various drawings indicate like elements.
An autonomous mobile robot can be controlled to move around on a floor surface in an environment. As these robots move about the floor surface, they can generate cartographic data, for example using sensors attached to the robot, which then builds a labeled map. can be used for Labels on the map may correspond to features in the environment. The robot can initiate actions that depend on the label and on the state of features in the environment. Additionally, the user can monitor the environment and the robot using the visual representation of the labeled map.
FIG. 1A shows an example of an autonomous cleaning robot 100 within an environment 20, such as a floor surface 10 within a home. User 30 may operate user computing device 31 to view a visual representation 40 of a map of environment 20 (shown in FIG. 1B). As the robot 100 moves about the floor surface 10 , the robot 100 generates cartographic data that can be used to generate a map of the environment 20 . The robot 100 may be controlled, for example, autonomously by a controller of the robot 100, manually by a user 30 operating a user computing device 31, or otherwise controlled to initiate actions in response to features within the environment 20. can do. For example, features in environment 20 include doors 50a, 50b, dirty areas 52a, 52b, 52c, and raised portions 54 (eg, thresholds between rooms in environment 20). Robot 100 may be equipped with one or more sensors capable of detecting these characteristics. As described herein, one or more of these features may be labeled in maps constructed from the cartographic data collected by robot 100 . The labels for these features are used by the robot 100 to initiate the specific action associated with the label and can be visually represented on the visual representation of the map presented to the user 30. As shown in FIG. 1B, the map visual representation 40 includes indicators 62a, 62b for doors 50a, 50b; indicators 64a, 64b, 64c for dirty areas 52a, 52b, 52c; and indicator 65 for. Additionally, the visual representation 40 further includes indicators 66a-66f of the status, type, and/or placement of features within the environment 20. FIG. For example, indicators 66a-66e indicate the current status of doors 50a, 50b and dirty areas 52a, 52b, 52c, respectively, and indicators 66a-6 6f shows feature types for doors 50a, 50b, soiled areas 52a, 52b, 52c, and raised portion 54, respectively. For example, the type of doors 50a, 50b is indicated as "door" and the states of doors 50a, 50b are indicated as "closed" and "open" respectively. The type of soiled areas 52a, 52b, 52c is indicated as "dirty area" and the status of soiled areas 52a, 52b, 52c is "highly soiled" and "medium soiled" respectively. , and "low fouling".
Exemplary Autonomous Mobile Robot FIGS. 2 and 3A-3B show an example of a robot 100. FIG. Referring to FIG. 2, robot 100 collects debris 105 from floor surface 10 as robot 100 traverses over floor surface 10 . Robot 100 can be used to perform one or more cleaning missions to clean floor surface 10 within environment 20 (shown in FIG. 1A). A user can send a command to the robot 100 to initiate a cleaning mission. For example, the user can send a start command that causes the robot 100 to start a cleaning mission upon receiving the start command. In another example, the user may provide a schedule that causes the robot 100 to start cleaning missions at the scheduled times indicated in the schedule. The schedule may include multiple scheduled times for the robot 100 to begin cleaning missions. In some implementations, between the start and end of a single cleaning mission, the robot 100 stops the cleaning mission to charge the robot 100, e.g., to charge the energy storage unit of the robot 100. obtain. The robot 100 can then resume cleaning missions after the robot 100 has been sufficiently charged. Robot 100 can be self-charging at docking station 60 (shown in FIG. 1A). In some implementations, in addition to charging the robot 100 , the docking station 60 can eject trash from the robot 100 when the robot 100 is docked to the docking station 60 .
Referring to FIG. 3A, robot 100 includes housing infrastructure 108 . Housing infrastructure 108 may define the structural perimeter of robot 100 . In some examples, housing infrastructure 108 includes a chassis, cover, bottom plate, and bumper assembly. Robot 100 is a domestic robot with a small profile so that robot 100 can fit under furniture in the home. For example, the height H1 (shown in FIG. 2) of robot 100 relative to the floor may be 13 centimeters or less. Robot 100 is also compact. Overall length L1 (shown in FIG. 2) and overall width W1 (shown in FIG. 3A) of robot 100 are each between 30 and 60 centimeters, for example, between 30 and 40 centimeters, and between 40 and 50 centimeters. between centimeters or between 50 and 60 centimeters. Overall width W1 may correspond to the width of housing infrastructure 108 of robot 100 .
Robot 100 comprises a drive system 110 including one or more drive wheels. Drive system 110 further comprises one or more electric motors including electrically driven portions forming part of electrical circuit 106 . Housing infrastructure 108 supports electrical circuitry 106 , including at least one controller 109 , within robot 100 .
Drive system 110 is operable to propel robot 100 across floor surface 10 . The robot 100 can be propelled in a forward driving direction F or a backward driving direction R. The robot 100 can also be propelled such that the robot 100 turns in place or turns while moving in the forward drive direction F or the rearward drive direction R. In the example shown in FIG. 3A, robot 100 includes drive wheels 112 that pass through bottom 113 of housing infrastructure 108 . Drive wheels 112 are rotated by motors 114 to move robot 100 along floor surface 10 . Robot 100 further comprises passive caster wheels 115 that pass through bottom 113 of housing infrastructure 108 . Caster wheels 115 are not powered. Therewith, drive wheels 112 and caster wheels 115 cooperate to support housing infrastructure 108 above floor surface 10 . For example, caster wheels 115 are disposed along rear portion 121 of housing infrastructure 108 and drive wheels 112 are disposed forward of caster wheels 115 .
Referring to FIG. 3B, robot 100 comprises a substantially rectangular front portion 122 and a substantially semi-circular rear portion 121 . The front portion 122 includes side surfaces 150,152, a front surface 154, and corner surfaces 156,158. Corner surfaces 156 , 158 of front portion 122 connect side surfaces 150 , 152 to front surface 154 .
In the example shown in FIGS. 2, 3A, and 3B, the robot 100 is an autonomous mobile floor cleaning device comprising a cleaning assembly 116 (shown in FIG. 3A) operable to clean the floor surface 10. is a robot. For example, robot 100 is a vacuum cleaning robot operable to clean floor surface 10 by cleaning assembly 116 picking up debris 105 (shown in FIG. 2) from floor surface 10 . Cleaning assembly 116 includes cleaning inlet 117 through which debris is collected by robot 100 . Cleaning inlet 117 is positioned forward of the center of robot 100 , eg, center 162 , and along front portion 122 of robot 100 between side surfaces 150 , 152 of front portion 122 .
Cleaning assembly 116 includes one or more rotatable members, such as rotatable member 118 driven by motor 120 . Rotatable member 118 extends horizontally across front portion 122 of robot 100 . The rotatable member 118 is positioned along the forward portion 122 of the housing infrastructure 108 and extends along 75% to 95% of the width of the forward portion 122 of the housing infrastructure 108, e.g., along a width corresponding to the overall width W1 of the robot 100. extended. Also referring to FIG. 2, cleaning inlet 117 is positioned between rotatable members 118 .
As shown in FIG. 2, the rotatable members 118 are rollers that rotate in opposite directions relative to each other. For example, rotatable member 118 is rotatable about parallel horizontal axes 146, 148 (shown in FIG. 3A) to agitate debris 105 on floor surface 10 and move debris 105 into robot 100. , into the cleaning inlet 117 and into the suction path 145 (shown in FIG. 2). Referring again to FIG. 3A, rotatable member 118 may be positioned to fit entirely within forward portion 122 of robot 100 . Rotatable members 118 contact debris 105 on floor surface 10 as rotatable members 118 rotate with respect to housing infrastructure 108, forcing debris 105 through cleaning inlet 117 between rotatable members 118 and robot 100. with an elastomeric shell that leads into the interior of, for example, a trash can 124 (shown in FIG. 2). Rotatable member 118 also contacts floor surface 10 and agitates debris 105 on floor surface 10 .
Robot 100 includes a vacuum system 119 operable to generate an air flow through cleaning inlet 117 between rotatable members 118 and into waste bin 124 . Vacuum system 119 includes an impeller and a motor for rotating the impeller to generate airflow. Vacuum system 119 cooperates with cleaning assembly 116 to draw debris 105 from floor surface 10 into bin 124 . In some cases, the airflow generated by the vacuum system 119 exerts sufficient force to draw debris 105 on the floor 10 upwardly into the bin 124 through the gaps between the rotatable members 118 . Occur. In some implementations, the rotatable member 118 contacts the floor surface 10 and agitates the debris 105 on the floor surface 10 so that the debris 105 is more easily picked up by the airflow generated by the vacuum system 119. enable
The robot 100 further comprises a brush 126 that rotates about a non-horizontal axis, for example an axis that forms an angle between 75 and 90 degrees with respect to the floor surface 10 . The non-horizontal axis, for example, forms an angle between 75 and 90 degrees with respect to the longitudinal axis of rotatable member 118 . Robot 100 includes a motor 128 operably connected to brush 126 to rotate brush 126 .
Brushes 126 are side brushes that are laterally offset from the fore-aft axis FA of robot 100 such that brushes 126 extend beyond the perimeter of housing infrastructure 108 of robot 100 . For example, the brush 126 can extend beyond one of the side surfaces 150, 152 of the robot 100, thereby removing portions of the floor surface 10 that the rotatable member 118 typically cannot reach, such as , may be able to engage debris on a portion of the floor surface 10 outside of the portion of the floor surface 10 directly below the robot 100 . Brushes 126 are also forwardly offset from lateral axis LA of robot 100 such that brushes 126 also extend beyond front surface 154 of housing infrastructure 108 . As shown in FIG. 3A, brushes 126 extend beyond side surfaces 150, corner surfaces 156, and front surface 154 of housing infrastructure . In some implementations, the horizontal distance D1 that the brush 126 extends beyond the side surface 150 is at least, for example, 0.2 centimeters, for example, at least 0.25 centimeters, at least 0.3 centimeters, at least 0.4 centimeters, At least 0.5 centimeters, at least 1 centimeter, or more. Brush 126 is positioned to contact floor surface 10 during rotation so that brush 126 can readily engage debris 105 on floor surface 10 .
The brush 126 is rotatable about a non-horizontal axis in a manner that drives debris on the floor surface 10 with the brush into the cleaning path of the cleaning assembly 116 as the robot 100 moves. For example, in the example where the robot 100 is moving in the forward drive direction F, the brush 126 will move the dirt that the brush 126 contacts toward the cleaning assembly and the floor surface 10 in front of the cleaning assembly 116 in the forward drive direction F. and is rotatable in a clockwise direction (when viewed from the top viewpoint of robot 100) to move toward a portion of the robot 100; As a result, the cleaning inlet 117 of the robot 100 can collect the dust swept by the brush 126 when the robot 100 moves in the forward driving direction F. In the example where the robot 100 moves in the rear drive direction R, the brush 126 moves in the rear drive direction R toward a portion of the floor surface 10 behind the cleaning assembly 116 (robot 100) is rotatable in the counterclockwise direction. As a result, the cleaning inlet 117 of the robot 100 can collect the dust swept by the brush 126 when the robot 100 moves in the rear driving direction R.
In addition to controller 109, electrical circuitry 106 includes, for example, memory storage element 144 and a sensor system having one or more electrical sensors. The sensor system, as described herein, can generate signals indicative of the current placement of the robot 100, indicating the placement of the robot 100 as it moves along the floor surface 10. A signal can be generated. Controller 109 is configured to execute instructions to perform one or more operations as described herein. A memory storage element 144 is accessible by the controller 109 and disposed within the housing infrastructure 108 . One or more electrical sensors are configured to detect features within environment 20 of robot 100 . For example, referring to FIG. 3A, the sensor system includes cliff sensors 134 disposed along bottom portion 113 of housing infrastructure 108 . Each of the cliff sensors 134 is an optical sensor that can detect the presence or absence of an object beneath the optical sensor, such as the floor surface 10 . Thus, the cliff sensor 134 can detect obstacles such as drop-offs and cliffs under the portion of the robot 100 on which the cliff sensor 134 is located and redirect the robot accordingly.
Referring to FIG. 3B, the sensor system comprises one or more proximity sensors capable of detecting objects along the floor surface 10 that are near the robot 100. FIG. For example, the sensor system can include proximity sensors 136a, 136b, 136c disposed proximate to the front surface 154 of the housing infrastructure 108. FIG. Each of the proximity sensors 136a, 136b, 136c comprises an optical sensor facing outward from the front surface 154 of the housing infrastructure 108 and capable of detecting the presence or absence of an object in front of the optical sensor. For example, detectable objects include obstacles such as furniture, walls, people, and other objects within environment 20 of robot 100 .
The sensor system comprises a bumper system including bumper 138 and one or more bump sensors that detect contact between bumper 138 and obstacles in environment 20 . Bumper 138 forms part of housing infrastructure 108 . For example, bumper 138 can form side surfaces 150 , 152 as well as front surface 154 . The sensor system can include, for example, bump sensors 139a, 139b. Bump sensors 139 a , 139 b may include break beam sensors, capacitive sensors, or other sensors capable of detecting contact between robot 100 , eg bumper 138 , and objects in environment 20 . In some implementations, bump sensor 139a can be used to detect movement of bumper 138 along front-to-back axis FA (shown in FIG. 3A) of robot 100, and bump sensor 139b can It can be used to detect movement of bumper 138 along lateral axis LA of robot 100 (shown in FIG. 3A). Proximity sensors 136a, 136b, 136c can detect an object before robot 100 contacts the object, and bump sensors 139a, 139b, for example, can detect bumper 138 in response to robot 100 contacting an object. can detect objects that come into contact with
The sensor system comprises one or more obstacle following sensors. For example, robot 100 may include obstacle following sensors 141 along side surface 150 . Obstacle following sensor 141 includes an optical sensor facing outward from side surface 150 of housing infrastructure 108 that can detect the presence or absence of an object adjacent side surface 150 of housing infrastructure 108 . . The obstacle following sensor 141 is perpendicular to the forward driving direction F of the robot 100 and can emit a light beam horizontally in a direction perpendicular to the side surfaces 150 of the robot 100 . For example, detectable objects include obstacles such as furniture, walls, people, and other objects within environment 20 of robot 100 . In some implementations, the sensor system can include an obstacle following sensor along the side surface 152, and the obstacle following sensor can detect the presence or absence of an object adjacent to the side surface 152. . The obstacle following sensor 141 along side surface 150 is the right obstacle following sensor and the obstacle following sensor along side surface 152 is the left obstacle following sensor. One or more obstacle following sensors, including obstacle following sensor 141, may also serve as obstacle detection sensors, for example similar to the proximity sensors described herein. In this regard, the left obstacle following sensor can be used to determine the distance between the robot 100 and an object on the left side of the robot 100, e.g. can be used to determine the distance between the robot 100 and an object to the right of the , eg, an obstacle plane.
In some implementations, at least some of the proximity sensors 136a, 136b, 136c and the obstacle following sensor 141 each include an optical emitter and an optical detector. The optical emitter emits a light beam outward from the robot 100 , eg, horizontally outward, and the optical detector detects reflections of the light beam reflected from objects near the robot 100 . The robot 100, for example, uses the controller 109 to determine the time of flight of the light beam, thereby determining the distance between the optical detector and the object, and thus the distance between the robot 100 and the object. be able to.
In some implementations, the proximity sensor 136a comprises an optical detector 180 and multiple optical emitters 182,184. One of the optical emitters 182, 184 may be positioned to direct the light beam outward and downward, and the other of the optical emitters 182, 184 may be positioned to direct the light beam outward and upward. The optical detector 180 can detect reflections of the light beam or scattering from the light beam. In some implementations, optical detector 180 is an image sensor, camera, or some other type of detection device for sensing optical signals. In some implementations, the light beam illuminates a horizontal line along a vertical plane in front of robot 100 . In some implementations, optical emitters 182, 184 each emit a beam that fans outward toward an obstacle surface such that a one-dimensional grid of dots appears on one or more obstacle surfaces. The one-dimensional grid of dots can be positioned on horizontally extending lines. In some implementations, the grid of dots may extend across multiple obstacle surfaces, eg, multiple obstacle surfaces adjacent to each other. Optical detector 180 can capture images representing the grid of dots formed by optical emitter 182 and the grid of dots formed by optical emitter 184 . Based on the size of the dots in the image, the robot 100 can determine the distance of the object on which the dots appear with respect to the optical detector 180, eg, with respect to the robot 100. FIG. The robot 100 can make this determination for each of the dots, thus allowing the robot 100 to determine the shape of the object on which the dot appears. Additionally, if multiple objects are in front of the robot 100, the robot 100 can determine the shape of each of the objects. In some implementations, the objects can include one or more objects that are laterally offset from the portion of the floor 10 directly in front of the robot 100.
The sensor system further comprises an image capture device 140, such as a camera, directed towards the top 142 of the housing infrastructure 108. FIG. The image capture device 140 produces digital images of the environment 20 of the robot 100 as the robot 100 moves about the floor 10 . The image capture device 140 is angled in an upward direction, eg, between 30 and 80 degrees from the floor surface 10 that the robot 100 navigates. The camera, when angled upwards, can capture images of the walls of the environment 20 such that features corresponding to objects on the walls can be used for localization.
When controller 109 causes robot 100 to perform a mission, controller 109 operates motor 114 to drive drive wheels 112 to propel robot 100 along floor surface 10 . In addition, controller 109 operates motor 120 to rotate rotatable member 118, motor 128 to rotate brush 126, and vacuum system 119 motor to generate airflow. To cause robot 100 to perform various navigation and cleaning operations, controller 109 executes software stored on memory storage element 144 that causes robot 100 to perform by operating various motors of robot 100. . Controller 109 operates various motors of robot 100 to cause robot 100 to perform actions.
The sensor system may further comprise sensors for tracking the distance traveled by robot 100 . For example, the sensor system can include encoders associated with the motors 114 for the drive wheels 112, and these encoders can track the distance traveled by the robot 100. In some implementations, the sensor system comprises an optical sensor facing downward toward the floor. The optical sensor may be an optical mouse sensor. For example, an optical sensor can be positioned to direct light through the bottom surface of the robot 100 and toward the floor surface 10 . The optical sensors can detect the reflection of light and can detect the distance traveled by the robot 100 based on changes in floor characteristics as the robot 100 moves along the floor surface 10 .
The controller 109 uses the data collected by the sensors of the sensor system to control navigational movements of the robot 100 during missions. For example, the controller 109 uses sensor data collected by the obstacle detection sensors of the robot 100, e.g. Allows the robot 100 to avoid obstacles in the environment 20 during execution.
The sensor data is used by the controller 109 for a simultaneous self-locating environment mapping (SLAM) technique in which the controller 109 extracts features of the environment 20 represented by the sensor data and builds a map of the floor 10 of the environment 20. can be Sensor data collected by image capture device 140 is used by controller 109 to extract visual features corresponding to objects in environment 20, such as vision-based SLAM (VSLAM), where these visual features are used to construct a map. technology. As the controller 109 directs the robot 100 to move about the floor surface 10 during the performance of a mission, the controller 109 uses SLAM techniques to detect features represented by the collected sensor data and By comparing the features to previously stored features, the placement of the robot 100 within the map is determined. A map formed from sensor data can show the placement of traversable and non-traversable spaces within environment 20 . For example, the placement of obstacles is shown on the map as non-traversable space, and the placement of empty floor space is shown on the map as traversable space.
Sensor data collected by any of the sensors may be stored in memory storage element 144 . In addition, other data generated for SLAM techniques can be stored in memory storage element 144 . These data generated during mission performance may include persistent data that was generated during mission performance and is available during further mission performance. For example, the mission may be a first mission and the further mission may be a second mission that takes place after the first mission. In addition to storing software for causing the robot 100 to perform its motions, the memory storage element 144 stores sensor data or sensor data accessed by the controller 109 from one mission to another. Stores the data obtained as a result of the processing. For example, the map is a persistent map that can be used and updated by the controller 109 of the robot 100 from one mission to another to navigate the robot 100 moving around the floor 10 .
Persistent data, including persistent maps, enables robot 100 to clean floor surface 10 efficiently. For example, the persistent map allows the controller 109 to guide the robot 100 towards empty floor spaces and avoid spaces that are not traversable. Additionally, for subsequent missions, the controller 109 can plan the navigation of the robot 100 through the environment 20 using the persistent map to optimize the paths taken during mission performance.
The sensor system may further comprise a debris detection sensor 147 capable of detecting debris on floor surface 10 of environment 20 . Dirt detection sensor 147 may be used to detect portions of floor 10 of environment 20 that are dirtier than other portions of floor 10 of environment 20 . In some implementations, the debris detection sensor 147 (shown in FIG. 2) can detect the amount of debris, or the velocity of debris, passing through the suction path 145 . Debris detection sensor 147 may be an optical sensor configured to detect debris as it passes through suction path 145 . Alternatively, the dust detection sensor 147 may be a piezoelectric sensor that detects dust when it hits the walls of the suction path 145 . In some implementations, debris detection sensor 147 detects debris before debris is ingested by robot 100 into suction path 145 . Dirt detection sensor 147 may be, for example, an image capture device that captures an image of a portion of floor surface 10 in front of robot 100 . Controller 109 can then use these images to detect the presence of debris on this portion of floor 10 .
Robot 100 may further comprise a wireless transceiver 149 (shown in FIG. 3A). Wireless transceiver 149 enables robot 100 to wirelessly communicate data with a communication network (eg, communication network 185 described herein with respect to FIG. 4). The robot 100 can transmit and receive data using the wireless transceiver 149 , for example, can receive data representing maps and transmit data representing cartographic data collected by the robot 100 .
Exemplary Communications Network Referring to FIG. 4, an exemplary communications network 185 is illustrated. The nodes of communication network 185 include robot 100, mobile device 188, autonomous mobile robot 190, cloud computing system 192, and smart devices 194a, 194b, 194c. Robot 100 , mobile device 188 , robot 190 , and smart devices 194 a , 194 b , 194 c are networked devices, ie devices connected to communication network 185 . Using communication network 185, robot 100, mobile device 188, robot 190, cloud computing system 192, and smart devices 194a, 194b, 194c communicate with each other to send data to each other and receive data from each other. be able to.
In some implementations, robot 100 , robot 190 , or both robot 100 and robot 190 communicate with mobile device 188 through cloud computing system 192 . Alternatively or additionally, robot 100 , robot 190 , or both robot 100 and robot 190 communicate directly with mobile device 188 . Various types and combinations of wireless networks (eg, Bluetooth, radio frequency, optical-based, etc.) and network architectures (eg, mesh networks) may be employed in communication network 185 .
In some implementations, user computing device 31 (shown in FIG. 1A) is one type of mobile device 188 . Mobile device 188 as shown in FIG. 4 can be a remote device that can be linked to cloud computing system 192 and that can allow user 30 to provide input to mobile device 188 . . Mobile device 188 may include user input elements such as, for example, one or more of a touch screen display, buttons, microphone, mouse, keyboard, or other device that responds to input provided by user 30. . Mobile device 188 alternatively or additionally includes immersive media (eg, virtual reality) that user 30 interacts with to provide user input. In these cases, mobile device 188 is, for example, a virtual reality headset or head-mounted display. A user can provide input corresponding to commands to the mobile device 188 . In such a case, mobile device 188 transmits a signal to cloud computing system 192 that causes cloud computing system 192 to transmit command signals to robot 100 . In some implementations, the mobile device 188 can present augmented reality images. In some implementations, mobile device 188 is a smart phone, laptop computer, tablet computing device, or other mobile device.
In some implementations, communication network 185 may comprise additional nodes. For example, nodes of communication network 185 may include additional robots. Alternatively or additionally, the nodes of communication network 185 may include network connection devices. In some implementations, networked devices can generate information about environment 20 . The networked device may include one or more sensors for detecting features of environment 20, such as acoustic sensors, image capture systems, or other sensors that produce signals from which features may be extracted. Networked devices can include home cameras, smart sensors, and the like.
In the communication network 185 shown in FIG. 4 and other implementations of the communication network 185, the wireless links are Bluetooth class, Wi-Fi, Bluetooth-low-energy also called BLE, 802.15.4, Worldwide Interoperability for Microwave Access (WiMAX), infrared channels, or satellite bands. In some cases, a wireless link includes any cellular network standard used to communicate between mobile devices, including but not limited to standards recognized as 1G, 2G, 3G, or 4G. Network standards, when utilized, are recognized as one or more generations of mobile communication standards by meeting specifications or standards, such as those maintained by the International Telecommunications Union. The 3G standard, if used, corresponds to, for example, the International Mobile Telecommunications-2000 (IMT-2000) specification and the 4G standard corresponds to the International Mobile Telecommunications-2000 (IMT-2000) specification. It may correspond to the Mobile Telecommunications Advanced (IMT-Advanced) specification. Examples of cellular network standards include AMPS, GSM, GPRS, UMTS, LTE, LTE Advanced, Mobile WiMAX, and WiMAX-Advanced. Cellular network standards may use different channel access methods, eg, FDMA, TDMA, CDMA, or SDMA.
Smart devices 194 a , 194 b , 194 c are electronic devices in the environment that are nodes in communication network 185 . In some implementations, the smart devices 194a, 194b, 194c are sensors suitable for monitoring the environment, sensors suitable for monitoring occupants of the environment, sensors suitable for monitoring the operation of the robot 100. A sensor is provided. These sensors can include, for example, image sensors, occupancy sensors, environmental sensors, and the like. Image sensors in smart devices 194a, 194b, 194c can include visible light, infrared cameras, sensors using other portions of the electromagnetic spectrum, and the like. Smart devices 194 a , 194 b , 194 c transmit images produced by these image sensors over communication network 185 . The occupancy sensors of the smart devices 194a, 194b, 194c are, for example, passive or active transmissive or reflective infrared sensors, time-of-flight or triangulation distance sensors using light, sonar, or radio frequency, occupancy characteristics microphones to recognize sound or pressure, airflow sensors, cameras, wireless receivers or transceivers to monitor frequencies and/or WiFi frequencies for sufficiently strong received signal strength, natural and artificial lighting It includes one or more of a light sensor capable of detecting ambient light and/or other suitable sensors for detecting the presence of user 30 or another occupant in the environment. The occupancy sensor alternatively or additionally detects movement of the user 30 or movement of the robot 100 . The occupancy sensors of the smart devices 194a, 194b, 194c generate signals indicative of robot 100 movement if the occupancy sensors are sufficiently sensitive to robot 100 movement. Environmental sensors of smart devices 194a, 194b, 194c may include electronic thermometers, barometers, humidity or moisture sensors, gas detectors, airborne particle counters, and the like. smart device 194a, 194b, 194c transmit sensor signals to cloud computing system 192 from a combination of image sensors, occupancy sensors, environmental sensors, and other sensors present within smart devices 194a, 194b, 194c. These signals serve as input data to the cloud computing system 192 that performs the processes described herein to control or monitor the operation of the robot 100.
In some implementations, smart devices 194a, 194b, 194c are electronically controllable. A smart device 194a, 194b, 194c can include multiple states and can be changed in response to commands from another node in the communication network 185, e.g., user 30, robot 100, robot 190, or another smart device. It may be placed in a particular state. Smart devices 194a, 194b, 194c may be, for example, electronically controllable doors with open and closed states, lamps with on, off, and/or multiple states of varying brightness, environmental It can include elevators with states corresponding to each level, or other devices that can be placed in different states.
Exemplary Maps As described herein, maps 195 of environment 20 may be constructed based on data collected by various nodes of communication network 185 . Referring also to FIG. 5, map 195 may include multiple labels 1 . . . N associated with features 1 . Cartographic data 197 is generated and portions of cartographic data 197, data 1 . . . N, are associated with features 1 . The networked devices 1...M can then access the map 195 and use the labels 1...N on the map 195 to control the operation of the devices 1...M.
The environment 20 can include multiple features, features 1...N. In some implementations, each of the features 1...N has a corresponding current state and type. For example, a feature may be in a current state selected from a number of states. Features also have a type that can be shared with other features that have the same type. In some implementations, a feature can have a type where the current state of the feature can be a permanent state that typically does not change over a period of time, e.g., one month, one year, multiple years, and the like. For example, the type of the first feature may be "floor type" and the condition of the first feature may be "carpet". Also, a second feature in the environment may have a type corresponding to "floor type" and the state of this second feature may be "hardwood". In such implementations, the first feature and the second feature have the same type, but different states. In some implementations, a feature can have a type where the current state of the feature can generally be a transient state that changes over a shorter period of time, such as an hour or a day. For example, the type of the first feature may be "door" and the current state of the first feature may be "closed". The first feature is operated to be placed in an "open" state, and such operation can generally occur over a shorter period of time. The second feature can also have a type corresponding to "door". Features of the same type can have the same possible states. For example, the possible states of the second feature, such as "open" and "closed", can be identical to the states of the first feature. In some implementations, three or more states, e.g., "closed", "closed and locked", "slightly open", "open There can be such things as
Cartographic data 197 represents data indicative of features 1 . . . N within environment 20 . Data collections 1 . . . N of cartographic data 197 may indicate current states and types of features 1 . The cartographic data 197 can indicate the geometry of the environment. For example, the cartographic data 197 may include room size (eg, room area or volume), room dimensions (eg, room width, length, or height), environment size (eg, environment area or volume). ), dimensions of the environment (e.g., width, length, or height of the room), shape of the room, shape of the environment, shape of the edge of the room (e.g., traversable and non-traversable areas of the room). edge that defines the boundary between traversable and non-traversable areas of the environment), the shape of the edge of the environment (e.g., the edge that defines the boundary between traversable and non-traversable areas of the environment), and/or other may indicate the geometrical characteristics of The cartographic data 197 can indicate objects in the environment. For example, the cartographic data 197 may include object placement, object type, object size, object footprint on the floor, whether the object is an obstacle to one or more devices in the environment, and/or or other characteristics of objects in the environment.
Cartographic data 197 may be generated by different devices within environment 20 . In some implementations, a single autonomous mobile robot generates all of the cartographic data 197 using sensors on the robot. In some implementations, two or more autonomous mobile robots generate all of the cartographic data 197 . In some implementations, two or more smart devices generate all of the cartographic data 197 . One or more of these smart devices may include autonomous mobile robots. In some implementations, a user, such as user 30 , provides input for generating cartographic data 197 . For example, a user can operate a mobile device, eg, mobile device 188 to generate cartographic data 197 . In some implementations, a user can operate a mobile device to upload an image showing the layout of environment 20 , which can be used to generate cartographic data 197 . In some implementations, a user may provide input indicating the layout of environment 20 . For example, a user can draw the layout of the environment 20 using, for example, a mobile device's touch screen. In some implementations, smart devices used to generate at least a portion of cartographic data 197 may include devices in environment 20 that include sensors. For example, devices can include mobile devices, such as mobile device 188 . Image capture devices, gyroscopes, global positioning system (GPS) sensors, motion sensors, and/or other sensors on mobile devices can be used to generate cartographic data 197 . Cartographic data 197 may be generated as a user carrying mobile device 188 moves about environment 20 . In some implementations, the user
A map 195 is constructed based on the cartographic data 197 and includes data showing features 1...N. In particular, data sets 1...N correspond to labels 1...N, respectively. In some implementations, data sets 1 . . . N correspond to sensor data generated using sensors on devices in environment 20 . For example, an autonomous mobile robot (eg, robot 100 or robot 190) may be equipped with a sensor system that generates some of the data sets 1...N. Alternatively or additionally, smart devices other than autonomous mobile robots may be equipped with sensor systems that generate some of the data sets 1...N. For example, a smart device may comprise an image capture device capable of capturing images of environment 20 . Images can serve as cartographic data and thus can constitute some of the data sets 1...N. In some implementations, one or more of data sets 1 . . . N may correspond to data collected by multiple devices in environment 20 . For example, one set of data is data collected by a first device, e.g., a smart device or an autonomous mobile robot, and data collected by a second device, e.g., another smart device or another autonomous mobile robot. It can correspond to a combination with data. This one set of data can be associated with a single label on map 195 .
Map 195 corresponds to data available by various devices in environment 20 to control the operation of those devices. Map 195 can be used to control the operation of devices within environment 20, such as autonomous mobile robots. Map 195 can also be used to provide indicators to users through devices, for example through mobile devices. As described herein, the map 195 can be labeled 1...N, and these labels 1...N are used to control devices within the environment 20 for controlling behavior and operations. may each be usable by some or all of the The map 195 further includes data representing the states of the features 1...N associated with the labels 1...N.
Maps 195 can be labeled based on cartographic data 197, as described herein. In this regard, in implementations in which multiple devices generate cartographic data 197, labels 1...N may be provided based on data from different devices. For example, one label may be presented on map 195 by cartographic data collected by one device, while the other label may be presented on map 195 by cartographic data collected by the other device. .
In some implementations, maps 195 with labels 1 . . . N may be stored on one or more servers remote from devices in environment 20 . In the example shown in FIG. 4, cloud computing system 192 may host map 195 and each of the devices in communication network 185 may access map 195 . Devices connected to communication network 185 can access map 195 from cloud computing system 192 and use map 195 to control operations. In some implementations, one or more devices connected to communication network 185 can generate a local map based on map 195 . For example, robot 100, robot 190, mobile device 188, and smart devices 194a, 194b, 194c may include maps 196a-196f generated based on map 195. FIG. Maps 196a-196f may be copies of map 195 in some implementations. In some implementations, maps 196a-196f may include portions of map 195 that relate to operation of robot 100, robot 190, mobile device 188, and smart devices 194a, 194b, 194c. For example, each of maps 196a-196f may include a subset of labels 1...N on map 195, each subset of labels associated with a particular device using maps 196a-196f. corresponds to a set.
Map 195 can provide the advantage of a single labeled map usable by each of the devices in environment 20 . Rather than the devices in environment 20 generating separate maps that may contain conflicting information, the devices may refer to map 195 that is accessible by each of the devices. Each of the devices may use local maps, such as maps 196a-196f, but local maps may be updated when map 195 is updated. Labels on maps 196a-196f match labels 1...N on map 195. In this regard, data collected by robots 100, robots 190, mobile devices 188, and smart devices 194a, 194b, 194c can be used to update map 195, and any updates to map 195 can be It can easily be used to update the labels 1...N on each of the maps 196a-196f that contain updated labels. For example, robot 190 can generate cartographic data used to update labels 1...N on map 195, and these updates to labels 1...N on map 195 are , can be propagated to labels on the map 196 a of the robot 100 . Similarly, in another example, in implementations in which the smart devices 194a, 194b, 194c include sensors for generating cartographic data, the smart devices 194a, 194b, 194c may be used to update labels on the map 195. The cartographic data used can be generated. Because the labels on maps 195, 196a-196f are consistent with each other, updates to these labels on map 195 can be easily propagated to map 196a of robot 100 and map 196b of robot 190, for example. .
Devices 1...M may receive at least a portion of map 195 that includes at least some of labels 1...N. In some implementations, one or more of the devices 1 . . . M are autonomous mobile robots, eg robot 100 . A robot can initiate an action associated with one of the labels 1...N. A robot can receive a subset of labels 1...N and initiate a corresponding action associated with each label in the subset. Since the labels 1...N are associated with features 1...N in the environment 20, actions initiated by the robot can react to the features, e.g. A specific path may be followed, a specific navigation action may be used when the robot is close to the feature, and a specific cleaning action may be used when the robot is near or on the feature. Additionally, the portion of the map received by the robot can indicate the status or type of features. The robot can thus initiate specific actions in response to the feature, the current state of the feature, the type of feature, or a combination thereof.
In some implementations, one or more of the devices are mobile devices, such as mobile device 188 . The mobile device can receive the subset of labels 1...N and provide feedback to the user based on the subset of labels 1...N. The mobile device can present an audible, tactile, or visual indicator showing the labels 1...N. Indicators presented by the mobile device may indicate the placement of the feature, the current state of the feature, and/or the type of feature.
In the example shown in FIG. 5, device 1 receives at least a portion of map 195 and data representing label 1 and label 2 . Device 1 does not receive data representing labels 3...N. Device 2 also receives at least a portion of map 195 . Like device 1, device 2 also receives data representing label 2. Unlike Device 1 , Device 2 receives data representing Label 3 . Finally, device M receives at least part of map 195 and data representing label N. FIG.
Exemplary process robot 100, robot 190, mobile device 188, and smart devices 194a, 194b, 194c can be controlled in several ways according to the processes described herein. Although some operations of these processes may be described as being performed by the robot 100, by a user, by a computing device, or by other agents, these operations may in some implementations be described as It may be performed by a different actor than what is being performed. For example, operations performed by robot 100 may be performed by cloud computing system 192 or by another computing device (or multiple computing devices) in some implementations. In other examples, operations performed by user 30 may be performed by a computing device. In some implementations, cloud computing system 192 does not perform any operations. Rather, other computing devices perform the operations described as being performed by cloud computing system 192, and these computing devices interact directly (or indirectly) with each other and with robot 100. ) can communicate. And, in some implementations, robot 100 performs operations described as being performed by cloud computing system 192 or mobile device 188 in addition to operations described as being performed by robot 100. can do. Other variations are also possible. Furthermore, although the methods, processes, and operations described herein have been described as including some operations or sub-operations, other implementations may include any of these operations or sub-operations.
FIG. 6 is a flowchart of a process 200 of using a map of an environment, eg, environment 20 (shown in FIG. 1A), eg, to control an autonomous mobile robot and/or to control a mobile device. is shown. Process 200 includes operations 202 , 204 , 206 , 208 , 210 , 212 . Operations 202, 204, 206, 208, 210, 212 are shown and described as being performed by robot 100, cloud computing system 192, or mobile device 188, but are described herein. As such, in other implementations, the actors performing these operations may be different.
In operation 202, cartographic data of the environment are generated. The cartographic data generated in operation 202 includes features in the environment, such as walls in the environment, placement of smart devices, dirty areas, obstacles in the environment, objects in the environment, junk in the environment, floors in the environment, and so on. , the docking station 60, or data associated with areas that may cause an autonomous mobile robot error condition in the environment. As described herein with respect to FIG. 5, cartographic data may be generated using sensors on devices in the environment. In the example shown in FIG. 6, the robot 100 may generate cartographic data using the sensor system of the robot 100, such as the sensor system described with respect to FIGS. 2, 3A, and 3B. can.
At operation 204 the cartographic data is transmitted from the robot 100 to the cloud computing system 192 . At operation 206 , cartographic data is received from robot 100 by cloud computing system 192 . In some implementations, the robot 100 transmits cartographic data while performing a cleaning mission. For example, robot 100 may transmit cartographic data to cloud computing system 192 as robot 100 generates cartographic data in operation 202 . In some implementations, the robot 100 transmits cartographic data after completing a cleaning mission. For example, robot 100 may transmit cartographic data when robot 100 is docked at docking station 60 .
At operation 208, a map is constructed to generate a map containing labels associated with features in the environment. The labels are each associated with a portion of the cartographic data generated by robot 100 in operation 202 . Cloud computing system 192 can generate these labels. Each feature can have a corresponding label generated in operation 208, as described herein.
After operation 208, operation 210 and/or operation 212 may be performed. At operation 210, the robot 100 initiates action based on the characteristics associated with one of the labels. The robot 100 may generate cartographic data at operation 202 while performing a first cleaning mission and begin operation at operation 210 while performing a second cleaning mission. In this regard, the map built in operation 208 can represent a persistent map that robot 100 can use across multiple discrete cleaning missions. The robot 100 can collect cartographic data in each cleaning mission and can update the maps built in operation 208 as well as the labels on the maps provided in operation 208 . The robot 100 can update maps with newly collected cartographic data in subsequent cleaning missions.
At operation 212, mobile device 188 provides the user with an indicator of a characteristic associated with one of the labels. For example, mobile device 188 can provide a visual representation of the map constructed at operation 208 . The visual representation can show the visual arrangement of objects within environment 20 , for example, the arrangement of walls and obstacles within environment 20 . A feature indicator can indicate the location of the feature and can indicate the current state and/or type of the feature as described herein. The visual representation of the map of environment 20 and feature indicators may be updated as additional cartographic data is collected.
Illustrated examples of an autonomous mobile robot that controls its operation based on a map and labels presented on the map are shown in FIGS. 1A-1B, 7A-7D, 8A-8B, 9A-9D, and 10A. 10B and 11A-11D. Referring again to FIG. 1A, the robot 100 is illustrated in relation to cartographic data, such as FIG. 5, used to construct a map, such as the map 195 described in relation to FIG. Cartographic data 197 can be generated. In some implementations, environment 20 includes other smart devices that can be used to generate cartographic data for building maps. For example, environment 20 includes image capture device 70a and image capture device 70b that are operable to capture images of environment 20 . Images of the environment 20 can also be used as cartographic data for constructing maps. In other implementations, additional smart devices within environment 20, such as those described herein, may be used to generate cartographic data for building maps.
The robot 100 generates cartographic data as the robot 100 is maneuvered to move around the environment 20 and operate to clean the floor surface 10 within the environment 20 . The robot 100 can generate cartographic data showing the configuration of walls and obstacles within the environment 20 . In this regard, these cartographic data can indicate traversable and non-traversable portions of the floor surface 10 . The cartographic data generated by robot 100 can indicate other features of environment 20 as well. In the example shown in FIG. 1A, the environment 20 includes dirty areas 52a, 52b, 52c corresponding to areas on the floor surface 10. In the example shown in FIG. The soiled areas 52a, 52b, 52c may be detected by the robot 100 using the robot's 100 dirt detection sensors, for example. The robot 100 may detect dirty areas 52a, 52b, 52c during the first cleaning mission. In detecting these dirty areas 52a, 52b, 52c, the robot 100 generates a portion of the cartographic data.
This portion of the cartographic data can also indicate the current state of the soiled areas 52a, 52b, 52c. The number of possible states of dirty regions 52a, 52b, 52c is the same. As visually represented by indicators 66c, 66d, 66e, the current state of soiled areas 52a, 52b, 52c may differ from each other. The conditions of the soiled areas 52a, 52b, 52c correspond to first, second and third levels of soiling. The state of the dirty region 52a is the state of "high degree of dirtiness", the state of the dirty region 52b is the state of "medium degree of dirtiness", and the state of the dirty region 52c is the state of "high degree of dirtiness". "low" state. In other words, dirty region 52a is dirtier than dirty region 52b, which is dirtier than dirty region 52c.
In the first cleaning mission, the robot 100 cleans each of the soiled areas 52a, 52b, 52c in response to detecting debris in the soiled areas 52a, 52b, 52c during the first cleaning mission. An intensive cleaning operation can be started at . For example, in response to detecting debris within the soiled areas 52a, 52b, 52c, the robot 100 may initiate an intensive cleaning operation that performs intensive cleaning of the soiled areas 52a, 52b, 52c. can. In some implementations, based on the amount of debris detected within the soiled areas 52a, 52b, 52c or the percentage of debris collected by the robot 100 within the soiled areas 52a, 52b, 52c, the robot 100 can provide different degrees of cleaning to dirty areas 52a, 52b, 52c. The degree of cleaning for soiled area 52a may be greater than the degree of cleaning for soiled area 52b and the degree of cleaning for soiled area 52c.
The cartographic data collected during the performance of the first cleaning mission, particularly the cartographic data indicating dirty areas 52a, 52b, 52c, are used to control the motion of the robot 100 in the second cleaning mission. be able to. During the second cleaning mission, the robot 100 concentrates cleaning on the dirty areas 52a, 52b, 52c based on the detection of debris in the dirty areas 52a, 52b, 52c during the first cleaning mission. A focus cleaning operation can be initiated that performs As described herein, detection of debris within dirty areas 52a, 52b, 52c during the first cleaning mission is used to control robot 100 in the second cleaning mission. Can be used to provide possible map labels. In particular, the robot 100 may receive labels generated using cartographic data collected during the performance of the first cleaning mission. During the second cleaning mission, the robot 100 can initiate focused cleaning operations based on labels on the map. The robot 100 initiates an intensive cleaning operation in response to detecting that the robot 100 is within a dirty area 52a, 52b, or 52c.
In some implementations, while performing the second cleaning mission, the robot 100 removes dirt without first detecting debris in areas 52a, 52b, 52c that are dirty during the second cleaning mission. A concentrated cleaning operation is initiated for the areas 52a, 52b, 52c where the During the second cleaning mission, the robot 100 detects a different amount of dirt in the dirty areas 52a, 52b, 52c than during the first cleaning mission. , the robot 100 can generate cartographic data that can be used to update the labels for the dirty areas 52a, 52b, 52c. In some implementations, the map is updated so that the current state of the dirty regions 52a, 52b, 52c reflects the current level of dirt in the dirty regions 52a, 52b, 52c. can be updated. In some implementations, based on the cartographic data from the second cleaning mission or further cleaning missions, the map, for example, corresponds to at least "less dirt" with respect to the dirty areas. It can be updated to remove labels for areas that are dirty by no longer having a level of dirt.
Figures 7A-7D show another example of an autonomous cleaning robot that uses a labeled map to control cleaning actions on dirty areas. Referring to FIG. 7A, an autonomous cleaning robot 700 (similar to robot 100) begins a first cleaning mission to clean a floor surface 702 within an environment 704. As shown in FIG. In some implementations, in performing the first cleaning mission, the robot 700 may move multiple substantially parallel rows, e.g., at most 5 to 10 degrees from each other, to cover the floor surface 702. Move along a path 705 that includes rows that extend along the axis that forms the minimum angle. The path followed by robot 700 may be selected such that robot 700 passes through a traversable portion of floor surface 702 at least once. During the performance of the first cleaning mission, robot 700 detects enough debris to trigger an intensive cleaning action at locations 706a-706f.
Referring to FIG. 7B, the cartographic data collected by robot 700 can be used to construct a map of environment 704, wherein at least some of the cartographic data generated by robot 700 is dirty. It can be used to provide a label on the map that indicates the area 708 . For example, in some implementations, a region corresponding to the dirty region 708 is designated, for example, by a user operating a mobile device, and then designated that region corresponds to the dirty region 708. may be labeled as shown. Alternatively, areas corresponding to dirty areas 708 may be labeled automatically. Soiled area 708 can include at least locations 706a-706f. In some implementations, the width of the dirty region 708 is greater than the maximum widthwise distance between the arrangements 706a-706f, e.g., 5-50%, 5%-40%, 5%-30%. , or 5% to 20% larger, the length of the dirty region 708 being greater than the maximum longitudinal distance between the arrangements 706a-706f. In some implementations, the dirty area 708 is 10% to 30% or less of the total area of the traversable portion of the environment 704, e.g., 10% to 20% of the total area of the traversable portion of the environment 704. , 15% to 25%, or 20% to 30% or less.
The label for the soiled area 708 can then be used by the robot 700 in a second cleaning mission to initiate an intensive cleaning operation that performs intensive cleaning of the soiled area 708 . Referring to FIG. 7C, in some implementations, in a second cleaning mission, robot 700 follows a path 709 that includes multiple substantially parallel rows similar to path 705 of FIG. 7A. Robot 700 moves along path 709 to cover floor surface 702 and clean it. Next, after completing the path 709, the robot 700 cleans the dirty area 708 again so that the robot 700 cleans the dirty area 708 again to perform intensive cleaning of the dirty area 708. Initiate an intensive cleaning operation that moves along the upwardly extending path 711 . The robot 700 initiates this focused cleaning action based on the label for the dirty area 708 on the map. Alternatively, referring to FIG. 7D , in a second cleaning mission, based on the label for the soiled area 708 , the robot 700 may move other portions of the floor surface 702 within the environment 704 that the robot 700 can traverse. The robot 700 begins to perform focused cleaning of the dirty area 708 without covering most of the traversable portion of the floor surface 702 within the environment 704 so that it does not have to spend time cleaning the do. Even if the robot 700 does not move along the path to cover most of the traversable portion of the floor surface 702 (eg, path 709), the robot 700 may continue along the path 713 after starting the second cleaning mission. , move to the dirty area 708 , then cover the dirty area 708 and clean the dirty area 708 .
The data indicative of debris within the dirty areas 502a, 502b, 502c may correspond to some of the cartographic data used to construct the map and its labels, although in other implementations the robot 100 Data indicative of navigation actions may correspond to a portion of the cartographic data. 8A-8B show an example of an autonomous cleaning robot 800 (similar to robot 100) moving along a floor 802 within an environment 804 and detecting a door 806. FIG. Referring to FIG. 8A, the robot 800 can move from a first room 808, through a corridor 809, through a door 810, and into a second room 812 during a first cleaning mission. Door 806 remains open during the execution of the first cleaning mission. Referring to FIG. 8B, while performing a second cleaning mission, robot 800 moves from first room 808 through hallway 809 and then encounters door 806 . Robot 800 detects door 806 using, for example, its sensor system, its obstacle detection sensors, or image capture device, and door 806 closes because robot 800 cannot move from hallway 809 to second room 812. state.
The cartographic data provided by robot 800 can be used to generate a label for door 806 to provide data indicating that door 806 is in a closed state. In some implementations, the robot 800 can maneuver with respect to the door 806 in a manner that avoids the robot 800 contacting the door 806 when the door 806 is indicated to be in a closed state. For example, rather than contacting door 806 to trigger a bump sensor on robot 800, robot 800 may move along door 806 without contacting door 806 if door 806 is in a closed state. can. The planned path through the door 806 can take into account the closed state of the door 806 so that the robot 800 does not have to use the bump sensor of the robot 800 to detect the state of the door 806 during the mission. . The robot 800 can detect the state of the door to verify that the door 806 is in fact in the closed state, for example using proximity sensors or other sensors of the sensor system of the robot 800 . In some implementations, the robot 800 contacts the door 806 when it first encounters the door 806 before the state of the door 806 is shown on the map, and moves to the door 806 while contacting the door 806 multiple times. It may attempt to move past door 806 by following along. Such actions can generate cartographic data that can be used to indicate on a map that door 806 is in a closed state. When robot 800 is near door 806 during subsequent cleaning missions, e.g., in subsequent cleaning missions or in the same cleaning mission, robot 800 reduces attempts to move past door 806. be able to. In particular, the robot 800 detects that the door 806 is in a closed state, verifies that state shown on the map is correct, and then determines if the door 806 is a non-traversable obstacle. like door 80
In some implementations, a user may be issued a request to move the door 806 open so that the robot 800 can clean the second room 812 . In some implementations, if the door 806 is a smart door, the robot 800 sends commands to a communication network (similar to the communication network 185 described herein) to move the door 806 open. can be provided through Door 806 is an electronically controllable door, and robot 800 can transmit data to move door 806 from a closed state to an open state.
9A-9D illustrate an example of an autonomous cleaning robot 900 (similar to robot 100) that performs navigational actions along a floor surface 902 based on labels for regions 906 within an environment 904. FIG. Regions 906 are, for example, ridges in floor surface 902 that cannot be easily traversed by robot 900 when robot 900 attempts to traverse with certain navigation parameters, such as certain approach angles, certain velocities, or certain accelerations. It may be a portion (similar to raised portion 504 described herein). Robot 900 may, in some cases, enter an error state when robot 900 attempts to climb over a ridge. For example, one of the robot's 900 cliff sensors can be triggered when the robot 900 climbs over a ridge, thereby triggering an error condition and causing the robot 900 to stop its cleaning mission. In a further example, region 906 may correspond to a region that includes a length of cord or another flexible member that may become entangled in a rotatable member of robot 900 or a wheel of robot 900 . This may trigger an error condition in robot 900 .
Referring to FIG. 9A, robot 900 normally moves across area 906 during the first cleaning mission. The cartographic data generated by robot 900 in the first cleaning mission indicates the navigation parameters of robot 900 as robot 900 successfully traverses area 906 . A map constructed from the cartographic data includes labels associated with the region 906 as well as information indicative of the first set of navigation parameters. These navigation parameters may include approach angle, velocity, or acceleration for area 906 . A first set of navigation parameters is associated with a successful attempt to traverse region 906 .
Referring to FIG. 9B, in a second cleaning mission, robot 900 attempts to traverse area 906 and fails. The cartographic data generated by robot 900 in the second cleaning mission indicates the navigational parameters of robot 900 when robot 900 attempts to traverse area 906 unsuccessfully. The map is updated to associate the label with information indicative of the second set of navigation parameters. A second set of navigation parameters is associated with error conditions. In this regard, based on the label and the second set of navigation parameters, the robot 900 can avoid the error condition by avoiding the second set of navigation parameters in subsequent cleaning missions.
Referring to FIG. 9C, in a third cleaning mission, robot 900 attempts to traverse area 906 and fails. The cartographic data generated by robot 900 in the third cleaning mission shows navigation parameters of robot 900 when robot 900 unsuccessfully traverses area 906 . The map is updated to associate the label with information indicative of the third set of navigation parameters. A third set of navigation parameters is associated with error conditions. In this regard, based on the label and the third set of navigation parameters, the robot 900 can avoid the error condition by avoiding the third set of navigation parameters in subsequent cleaning missions.
Referring to FIG. 9D, robot 900 successfully traverses area 906 in a fourth cleaning mission. The robot 900 can select the fourth set of navigation parameters based on the label and one or more of the first, second, or third sets of navigation parameters, for example. The robot 900 avoids the second path 908 associated with the second set of navigation parameters and the third path 909 associated with the third set of navigation parameters and instead uses the third set of navigation parameters. A first path 907 associated with a set of 1's can be selected. This fourth set of navigation parameters may be calculated based on two or more of the first, second, or third sets of navigation parameters. For example, based on the first, second, and third sets of navigation parameters, a range of values for the navigation parameters that are likely to result in robot 900 successfully traversing region 906 may be calculated. Alternatively, the fourth set of navigation parameters may be the same as the first set of navigation parameters that successfully traversed region 906 while performing the first cleaning mission.
10A-10B illustrate an example of an autonomous cleaning robot 1000 (similar to robot 100) that performs navigational actions along a floor surface 1002 based on labels for regions 1006 within an environment 1004. FIG. Referring to FIG. 10A, during a first cleaning mission, robot 1000 performing a first navigational motion moves on path 1008 along floor surface 1002 . The robot 1000 initiates a covering motion in which the robot 1000 attempts to move in substantially parallel rows along the floor surface 1002 to cover the floor surface 1002 . The robot 1000 encounters obstacles 1010a-1010f near the area 1006 and avoids the obstacles 1010a-1010f in response to detecting the obstacles, eg, using the sensor system of the robot 1000. The robot 1000 can clean around obstacles by following the edges of the obstacle using sensors. In this regard, the path 1008 of the robot 1000 has multiple paths in which the robot 1000 initiates an obstacle avoidance motion to avoid the obstacles 1010a-1010f and an obstacle following motion to clean around the obstacles 1010a-1010f. Contains instances. In addition, robot 1000 enters and exits area 1006 through multiple entry and exit paths 1012a-1012f. In the example shown in FIG. 10A, area 1006 includes six entry/exit paths 1012a-1012f, and robot 1000 enters and exits area 1006 multiple times through at least some of these points.
Labels associated with regions 1006 may be presented on a map constructed from cartographic data generated by robot 1000 . The label may indicate that area 1006 is a junk area containing multiple closely spaced obstacles resulting in several narrow entry and exit paths. For example, the plurality of ingress/egress paths 1012a-1012f can have a width between one and two widths of the robot 1000. FIG. A junk area may be defined in part by the distance between obstacles. For example, the length of the junk area is greater than the distance between the two obstacles furthest apart from each other along the first dimension, and the width of the junk area is the distance furthest from each other along the second dimension. may be greater than the distance between two adjacent obstacles. The first dimension can be perpendicular to the first dimension. In some implementations, the junk area is 1-5 meters, e.g., 1-2 meters, 2-3 meters, 3-4 meters, 4-5 meters, about 2 meters, about 3 meters, about 4 meters, etc. a region having a length of 1-5 meters and a width of, for example, 1-2 meters, 2-3 meters, 3-4 meters, 4-5 meters, about 2 meters, about 3 meters, about 4 meters, etc. can be covered.
Referring to FIG. 10B, during the execution of the second cleaning mission, the robot 1000 can plan a path 1014 that can clean the area 1006 more quickly. In addition to detecting obstacles 1010a-1010f (shown in FIG. 10A) using the sensor system of robot 1000 and then avoiding obstacles 1010a-1010f based on detecting obstacles 1010a-1010f. Then, the robot 1000 can initiate a cleaning action based on previous identification of the location of junk. Robot 1000 relies on the map generated during the first cleaning mission rather than using only obstacle detection sensors to initiate movement in response to detecting obstacles 1010a-1010f. A route 1014 can be planned. Some of paths 1014 are more efficient than paths 1008 . In a second navigational action, selected based at least in part on the first navigational action, robot 1000 travels along path 1014 while performing a second cleaning mission. In this second navigation action, the robot 1000 enters the region 1006 less times than the robot entered the region in the first navigation action. In particular, the number of entry points into region 1006 for path 1014 is less than the number of entry points into region 1006 for path 1008 . Additionally, path 1014 can include multiple substantially parallel rows that are also substantially parallel to the length of region 1006 . In contrast, path 1008 includes multiple substantially parallel columns that are perpendicular to region 1006 . Instead of initiating obstacle avoidance and obstacle following behaviors multiple times, the robot 1000 moves through the area 1006 as well as the area around the obstacle during one portion of the cleaning mission rather than multiple different portions of the cleaning mission. The robot 1000 can initiate these actions less often so that it can clean the .
In some implementations, one or more of the obstacles 1010a-1010f may be removed from the environment 1004. When the obstruction is removed, the region 1006 can be adjusted in size, thereby adjusting the label associated with the region 1006. FIG. In some implementations, when all of the obstacles 1010a-1010f are removed, the region 1006 no longer exists and the label can be deleted. Mapping data collected by the robot 1000 in further cleaning missions may indicate obstacle removal or removal of all obstacles.
11A-11D illustrate the autonomous mobile robot 1100 (shown in FIG. 11A) generating cartographic data that can be used by the autonomous mobile robot 1101 (shown in FIG. 11C) navigating around the floor 1102 within the environment 1104. shown). In some implementations, one or both of robots 1100 , 1101 are similar to robot 100 . In some implementations, one of robots 1100, 1101 is a cleaning robot similar to robot 100, and the other of robots 1100, 1101 has a drive system and sensor system similar to that of robot 100. and an autonomous mobile robot with a sensor system.
Referring to FIG. 11A, in a first mission, robot 1100 moves around floor surface 1102 and detects object 1106 . Robot 1100 detects object 1106 using, for example, an image capture device on robot 1100 . Referring to FIG. 11B, as the robot 1100 continues to move around the floor surface 1102, the robot 1100 contacts the object 1106 and uses the obstacle detection sensor to detect that the object 1106 is an obstacle for the robot 1100. The robot 1100 can then avoid obstacles and complete its mission. In some implementations, the obstacle detection sensor is triggered even if the robot 1100 does not touch the object 1106 . The obstacle detection sensor may be a proximity sensor or other non-contact sensor for detecting obstacles. In some implementations, robot 1100 obstacle detection sensors are triggered by features in the environment near object 1106 . For example, the object 1106 may be near a feature in the environment that triggers an obstacle detection sensor of the robot 1100, and the robot 1100 uses the visual image captured using the image capture device to trigger the obstacle detection sensor. can be associated.
The cartographic data generated by the robot 1100 can include visual images captured using image capture devices and obstacle detection results captured by obstacle detection sensors. A label may be presented on the map indicating that the object 1106 is an obstacle, and the label may be further associated with a visual image of the object 1106. FIG.
Referring to FIG. 11C, in a second mission, robot 1101 moves around floor 1102 and detects object 1106 . For example, robot 1101 can detect object 1106 using an image capture device on robot 1101 . The visual image captured by the image capture device may match the visual image associated with the label for object 1106 . Based on this match, the robot 1101 can determine that the object 1106 is an obstacle, or can associate the detection of the object 1106 by the image capture device with obstacle avoidance behavior. Referring to FIG. 11D, robot 1101 can avoid object 1106 without triggering obstacle detection sensors. For example, if the obstacle detection sensor is a bump sensor, robot 1101 can avoid object 1106 without contacting the obstacle and triggering the bump sensor. In some implementations, the robot 1101 can avoid triggering bump sensors and can follow along obstacles using proximity sensors. By relying on maps generated from cartographic data collected by robot 1100, robot 1101 is able to avoid some sensor observations associated with object 1106, particularly obstacle detection sensor observations.
In some implementations, the timing of the second mission may overlap the timing of the first mission. The robot 1101 may be operating in the environment at the same time the robot 1101 is operating in the environment.
Additional Alternative Implementations A number of implementations have been described, including alternative implementations. Nevertheless, it will be understood that further alternative implementations are possible and various modifications may be made.
Referring to FIG. 1B, indicators 66a-66f are described as providing indications of the status, type, and/or placement of features within environment 20. In FIG. These indicators 66 a - 66 f may be superimposed on the visual representation 40 of the map of the environment 20 . User device 31 may present other indicators in further implementations. For example, user device 31 may indicate the current position of robot 100, the current position of docking station 60, the current state of robot 100 (eg, cleaning, docking, error state, etc.), or the current state of docking station 60. (eg, charging, draining, off, on, etc.) can be presented. The user device 31 may also present an indicator of the path of the robot 100 , the expected path of the robot 100 , or the suggested path for the robot 100 . In some implementations, the user device 31 can present a list of labels provided on the map. The list may contain the current state and type of features associated with the label.
Other labels can also be visually represented by the user device. For example, the maps of the environment described with respect to FIGS. 7A-7D, 8A-8B, 9A-9D, 10A-10B, and 11A-11D are the visual maps described with respect to FIG. 1B. can be visually represented in a manner similar to the physical representation 40. Furthermore, the labels described with respect to FIGS. 7A-7D, 8A-8B, 9A-9D, 10A-10B, and 11A-11D can also be represented visually. For example, locations 706a-706f may be visually represented by indicators associated with labels and superimposed on a visual representation of a map of the environment. Dirty area 708, door 806, area 906, obstacles 1010a-1010f, area 1006, and object 1106 can also be visually represented with indicators.
The conditions of the soiled area are described as "highly soiled", "medium soiled" and "low soiled" conditions. Other implementations are also possible. For example, in some implementations, the possible states of a soiled area can include states that indicate different frequencies of soiling. For example, a soiled area can have a "dirty daily" status indicating that the soiled area is soiled on a daily basis. For soiled areas with this status, based on the soiled area label and the "dirty daily" status, the autonomous cleaning robot will perform intensive cleaning of the soiled area at least once a day. It is also possible to initiate a cleaning operation. A soiled area can have a status of "Weekly soiled" indicating that the soiled area becomes soiled weekly. For dirty areas with this status, the autonomous cleaning robot may initiate an intensive cleaning operation to perform intensive cleaning of the dirty area at least once a week.
Alternatively, or in addition, possible conditions of the soiled area may include conditions indicative of periodicity of soiling. For example, a soiled area may have a month-specific soiled state, such that the soiled area will only be soiled during a particular month. For soiled areas with such status, based on the soiled area label and the month-specific soiling status, the autonomous cleaning robot will perform intensive cleaning of the soiled area only on specified months. A cleaning operation can be initiated. A soiled area may have a seasonal soiling condition in which the soiled area is soiled only during certain seasons, eg, spring, summer, autumn, winter. For soiled areas with such conditions, based on the soiled area's label and the seasonal soiling status, the autonomous cleaning robot performs intensive cleaning of the soiled area only in the specified season. Action can be started.
A focused cleaning operation may vary in implementation. In some implementations, an intensive cleaning operation may involve increasing the vacuum power of the robot. For example, the robot's vacuum power can be set to two or more different levels. In some implementations, focused cleaning operations may involve slowing the robot so that it spends more time in a particular area. In some implementations, an intensive cleaning operation may involve making multiple passes through a particular area to make that area cleaner. In some implementations, the focused cleaning action is a specific cleaning pattern, such as a series of substantially parallel rows covering a specific area to be cleaned, or a spiral cleaning pattern covering a specific area to be cleaned. It can be accompanied by a pattern.
The labels described herein may vary in implementation. In some implementations, labels can be associated with different floor types in the environment. For example, a first label may be associated with a portion of a floor surface that includes a carpet floor type, and a second label may be associated with a portion of a floor surface that includes a tile floor type. A first autonomous cleaning robot can initiate navigation actions based on first and second labels that the first robot moves over and cleans both carpets and tiles. The first robot can be a vacuum robot suitable for cleaning both types of floors. A second autonomous cleaning robot can initiate navigation actions based on the first and second labels that the second robot moves to and cleans only the tiles. The second robot may be a wet cleaning robot that is not suitable for cleaning carpets.
In some implementations, a number of objects in the environment can be correlated with a number of labels such that the labels can be provided in response to cartographic data showing the objects. For example, as described herein, labels for areas of dirt may be provided on a map in response to cartographic data indicating detection of debris. In some implementations, an object can have a type associated with a dirty area. For example, in response to detection of an object by an autonomous mobile robot, an image capture device on the robot, or an image capture device in the environment, labels for dirty areas may be presented on a map. When new objects of the same type are moved into the environment, new labels for dirty regions can be presented on the map. Similarly, if the robot is moved to a new environment and operated in the new environment, the map created for the new environment will automatically be populated with labels for areas that are dirty based on detection of objects of the same type. obtain. For example, the object may be a table, and labels associated with dirty areas may be provided on the map in response to detecting other tables in the environment. In another example, the object may be a window, and a label associated with the dirty region may be provided on the map in response to detecting other windows in the environment.
Object types can be automatically associated with dirty areas through detection by devices in the environment. For example, the cloud computing system can determine that a dirty area detected using a dust detection sensor correlates with detection of a table in the environment by an image capture device in the environment. Based on this determination, cloud computing can provide labels associated with dirty regions in response to receiving data indicating new tables added to the environment. Alternatively, or in addition, the object type can be manually associated with the soiled area. For example, a user provides a command that correlates a particular object, eg, a table, with a dirty area, thereby providing a label on the map for the dirty area when the table is detected. Alternatively, or in addition, the user may provide instructions to perform focused cleaning within a floor area of the environment. The cloud computing system, in some implementations, can determine that a region corresponds to a region covered by or near a particular type of object in the environment. The cloud computing system can accordingly correlate the user-selected area for focused cleaning with the type of object, thereby creating a label associated with the focused cleaning action when this type of object is detected. be done.
In some implementations, user confirmation is requested before the label is provided. For example, a robot or mobile device presents a request for user confirmation, and the user provides the request through user input on the robot or mobile device, eg, a touch screen, keyboard, buttons, or other suitable user input. In some implementations, the label is provided automatically and the user can operate the robot or mobile device to remove the label.
In the example described with respect to FIGS. 8A-8B, robot 800 can transmit data to cause a user to issue a request to change the state of the door. In other implementations, the autonomous cleaning robot can transmit data that causes the user to issue a request to change the state of another object in the environment. For example, a request can be a request to move an obstacle, a request to reorient an obstacle, a request to relocate a region's rug, a request to extend a portion of the region's rug, or a request to adjust the state of another object. can respond.
Although autonomous cleaning robots are described herein, in some implementations other mobile robots may be used. For example, robot 100 is a vacuum cleaning robot. In some implementations, an autonomous wet cleaning robot may be used. The robot can have a pad that can be attached to the bottom of the robot and can be used to perform cleaning missions in which the robot scrubs floor surfaces. The robot can be equipped with systems similar to those described with respect to robot 100 . In some implementations, patrol robots equipped with image capture devices may be used. The patrol robot can include a mechanism for moving the image capture device relative to the patrol robot body. Although robot 100 is described as a circular robot, in other implementations, robot 100 may be a robot that includes a substantially rectangular front portion and a substantially semi-circular rear portion. In some implementations, robot 100 has a perimeter that is substantially rectangular.
Robot 100 and several other robots described herein are described to perform cleaning missions. In some implementations, robot 100 or other autonomous mobile robots within environment 20 perform other types of missions. For example, a robot can perform a vacuum mission that activates the robot's vacuum system to pick up debris on the floor surface of the environment. The robot can perform patrol missions in which the robot moves across a floor surface and captures images of the environment that can be presented to the user through a remote mobile device.
Some implementations are described herein with respect to multiple cleaning missions, wherein in a first cleaning mission, an autonomous cleaning robot generates cartographic data characterizing and then labels are based on the cartographic data. provided. For example, Figures 7A-7D are described with respect to a first cleaning mission and a second cleaning mission. In some implementations, the robot 700 is described with respect to FIGS. 7C and 7D in the same cleaning mission that the robot 700 detects the soiled area 708 as described with respect to FIGS. 7A and 7B. Intensive cleaning operations can be performed. For example, the robot 700 can detect enough debris at locations 706a-706f and can be presented with a label for the dirty area 708 during the performance of a single cleaning mission. During this single cleaning mission, the robot 700 moves over the dirty area 708 again after first detecting debris at locations 706a-706f and after being presented with a label for the dirty area 708. can move around. Robot 700 can then begin the concentrated cleaning operation described with respect to FIG. 7C. In some implementations, after the robot 700 has covered most of the traversable portion of the floor surface 702, in the same cleaning mission the robot 700 first detected debris at locations 706a-706f, specifically: You can move around again over the dirty area 708 . In this regard, the focused cleaning operation described with respect to FIG. 7D is performed during the same cleaning mission in which locations 706a-706f are detected and used to present labels for areas 708 that are dirty. obtain. Similarly, referring again to FIG. 1A, labels for soiled areas 52a, 52b, 52c may be presented during the same cleaning mission in which soiled areas 52a, 52b, 52c were first detected. . The robot 100 will return to these areas during the same cleaning mission to clean these dirty areas.
8A-8B, robot 800 encounters door 806 in a second cleaning mission. In some implementations, robot 800 may encounter door 806 in a first cleaning mission. For example, robot 800 may encounter door 806 in the same cleaning mission in which robot 800 moved from first room 808 to second room 812 without encountering door 806 . Robot 800 may encounter door 806 on a second pass through environment 804 . The door 806 can transition from an open state to a closed state during the performance of the first cleaning mission. As a result, the state of the door 806 labeled on the map may change during the performance of the first cleaning mission, and the robot 800 may adjust its operation accordingly in the first cleaning mission.
Figures 9A-9D describe the first through fourth cleaning missions. In some implementations, the operations described with respect to Figures 9A-9D may occur during the performance of three or fewer cleaning missions. For example, the robot 900 may attempt or traverse the area 906 multiple times during the performance of a single cleaning mission. Robot 900 successfully traverses region 906 first (as described with respect to FIG. 9A) and unsuccessfully attempts to traverse region 906 (as described with respect to FIGS. 9B and 9C). The actions described with respect to FIG. 9D can be performed in the same cleaning mission as in .
10A-10B, robot 1000 may perform the motion described with respect to FIG. 10B in the same cleaning mission as robot 1000 performs the first navigation motion described with respect to FIG. 10A. can. Robot 1000 may, for example, move around environment 1004 a second time in a first cleaning mission and move through area 1006 to clean area 1006 more quickly in the manner described with respect to FIG. 10B.
In some implementations, cartographic data generated by a first robot, e.g., robot 100, robot 700, robot 800, robot 900, robot 1000, or robot 1100, constructs a map and labels the map. A second autonomous mobile robot can then access the map and initiate actions as described herein. A first robot is capable of generating cartographic data in a first mission, and a second robot has access to a map generated from the cartographic data for use during performance of a second mission, The behavior of the second robot can be controlled. The first mission and the second mission may overlap in time. For example, the end time of the first mission may be after the start time of the second mission.
In some implementations, the user device presents the indicator overlaid on the image of the environment. For example, in an augmented reality mode, an image of the environment may be presented on the user device and indicators similar to those described herein may be presented overlaid on the image of the environment.
The robots and techniques described herein, or portions thereof, are stored in one or more non-transitory machine-readable storage media to control (e.g., coordinate) the operations described herein. may be controlled by a computer program product comprising instructions executable on one or more processing devices for performing). The robots, or portions thereof, described herein are devices or electronic systems that can include one or more processing devices and memory for storing executable instructions that implement various operations. It can be implemented in whole or in part.
Operations associated with performing all or part of the robot operations and controls described herein involve executing one or more computer programs to perform the functions described herein. It can be executed by one or more programmable processors that execute. For example, a mobile device, a cloud computing system configured to communicate with the mobile device and the autonomous cleaning robot, and the robot's controller can all transmit signals, calculate estimates, or interpret signals. It may comprise a processor programmed by a computer program to perform functions such as: A computer program may be written in any form of programming language, including compiled or interpreted languages, and may be either a stand-alone program or a module, component, subroutine, or other unit suitable for use in a computing environment. It can be deployed in any form, including
The controllers and mobile devices described herein may comprise one or more processors. Processors suitable for the execution of a computer program include, for example, general purpose microprocessors, special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor receives instructions and data from read-only and/or random-access storage areas. Elements of a computer include one or more processors for executing instructions and one or more storage devices for storing instructions and data. Generally, computers also include one or more machine-readable storage media, such as mass PCBs, for storing data, e.g., magnetic disks, magneto-optical disks, or optical disks, for receiving data from or and/or to transfer data to. Machine-readable storage media suitable for embodying computer program instructions and data include, for example, semiconductor storage devices such as EPROM, EEPROM, and flash storage devices; magnetic disks, such as internal hard disks or removable disks; Includes all forms of non-volatile storage including magneto-optical disks, and CD-ROM and DVD-ROM disks.
The robotic control and manipulation techniques described herein may also be applicable to controlling other mobile robots besides cleaning robots. For example, a lawn mowing robot or space monitoring robot can be trained to perform operations on a particular portion of a lawn or space as described herein.
Elements of different implementations described herein can also be combined to form other implementations not specifically mentioned above. Elements may be removed from the structures described herein without adversely affecting their operation. Additionally, various separate elements may be combined into one or more separate elements to perform the functions described herein.
A number of implementations have now been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the claims.
Ten Floor
20 environment
30 A user
31 user computing device
40 visual representation
50a, 50b door
52a, 52b, 52c dirty areas
54 Raised part
60 docking station
62a, 62b indicators
64a, 64b, 64c indicators
65 indicator
66a~66f indicators
70a, 70b image capture device
100 autonomous cleaning robot
105 rubbish
106 electric circuit
108 housing infrastructure
109 controller
110 drive system
112 driving wheel
113 bottom
114 motor
115 passive caster wheel
116 cleaning assembly
117 Cleaning entrance
118 rotatable member
119 vacuum system
120 motor
121 rear part
122 front part
124 Garbage can
126 brush
128 motor
134 cliff sensor
136a, 136b, 136c proximity sensor
138 bumper
139a, 139b Bump sensor
140 image capture device
142 top
141 Obstacle tracking sensor
144 memory storage element
145 suction path
146, 148 parallel horizontal axis
147 Dust detection sensor
149 wireless transceiver
150, 152 side surface
154 anterior surface
156, 158 corner surfaces
162 center
180 optical detector
182, 184 optical emitters
185 communication network
188 mobile device
190 autonomous mobile robot
192 cloud computing system
194a, 194b, 194c smart devices
195 map
196a~196f Map
197 Cartographic data
200 process
202, 204, 206, 208, 210, 212 operations
700 autonomous cleaning robot
702 Floor
704 environment
705 route
Placement 706a~706f
708 dirty area
709 route
713 route
800 autonomous cleaning robot
802 Floor
804 environment
806 door
808 1st room
809 hall
810 door
812 second room
900 autonomous cleaning robot
902 Floor
904 environment
906 region
907 first route
908 2nd route
909 3rd route
1000 autonomous cleaning robot
1002 Floor
1004 environment
1006 region
1008 route
1010a~1010f Obstacles
1012a~1012f Entrance/exit route
1014 route
1100 autonomous mobile robot
1101 autonomous mobile robot
1102 Floor
1104 environment
1106 object
24 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP2018139720A | Cites | Japan |
| WO2019097012A1 | Cites | World Intellectual Property Organization (WIPO) |
| JP2019121365A | Cites | Japan |
| WO2018208879A1 | Cites | World Intellectual Property Organization (WIPO) |
13 members in 5 offices
Members13
| Document | Office | Kind | |
|---|---|---|---|
| WO2021029918A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2021124354A1 | United States of America | A1 | |
| US11249482B2 | United States of America | B2 | |
| CN114402366A | China | A | |
| EP4010904A1 | European Patent Office (EPO) | A1 | |
| JP2022536559A | Japan | A | |
| US2022269275A1 | United States of America | A1 | |
| JP7204990B2This record | Japan | B2 | |
| JP2023058478A | Japan | A | |
| EP4010904A4 | European Patent Office (EPO) | A4 | |
| US11966227B2 | United States of America | B2 | |
| JP7695227B2 | Japan | B2 | |
| JP2025138663A | Japan | A |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 | |
| Explanation of circumstances concerning accelerated examinationJAPANESE INTERMEDIATE CODE: A871A871 | A871 |
Numbers
- Publication
- 7204990
- Application
- 2022506823
Titles2
- Japanese
- 自律移動ロボットのための地図作成
- English
- Mapping for autonomous mobile robots
Classification
- CPC, 13
- G05D1/0246
- G05D1/0212
- G05D1/0274
- G05D1/0044
- G01C21/3848
- G01C21/005
- G05D1/0088
- A47L11/4011
- A47L11/4061
- A47L2201/04
- A47L2201/06
- G05D1/646
- G05D1/227
- IPC, 2
- A47L9 28
- G05D1 02
