MAPPING INTERFACE FOR MOBILE ROBOTS
20210268655 · 2021-09-02
Inventors
- Vanessa Wiegel (Needham, MA, US)
- Stephen O'Dea (Bedford, MA, US)
- Kathleen Ann Mahoney (Spencerport, NY, US)
- Qunxi Huang (Somerville, MA, US)
- Michael Foster (Stoneham, MA, US)
- Brian Ratta (Burlington, MA, US)
- Garrett Strobel (Boston, MA, US)
- Scott Marchant (Saratoga Springs, UT, US)
Cpc classification
A47L9/2857
HUMAN NECESSITIES
B25J9/1666
PERFORMING OPERATIONS; TRANSPORTING
B25J9/0003
PERFORMING OPERATIONS; TRANSPORTING
G01C21/3885
PHYSICS
A47L2201/04
HUMAN NECESSITIES
B25J13/006
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method of operating an autonomous cleaning robot includes presenting, on a display of a handheld computing device, a graphical representation of a map including a plurality of selectable rooms, presenting, on the display, at least one selectable graphical divider representing boundaries of at least one of the plurality of selectable rooms, the at least one selectable graphical divider being adjustable to change at least one of the boundaries of the plurality of selectable rooms, receiving input, at the handheld computing device, representing a selection of an individual selectable graphical divider, receiving input, at the handheld computing device, representing at least one adjustment to the individual selectable graphical divider, the at least one adjustment including at least one of moving, rotating, or deleting the individual selectable graphical divider, and presenting, on the display, a graphical representation of a map wherein the individual selectable graphical divider is adjusted.
Claims
1. A method comprising: presenting, by a display of a handheld computing device, a graphical map of a floor surface traversable by an autonomous cleaning robot; receiving, by the handheld computing device, a user selection of at least a portion of a boundary of a bounded area of the floor surface; presenting, on the graphical map of the floor surface and in response to the user selection, (i) a graphical boundary indicator of the portion of the boundary of the bounded area of the floor surface and (ii) an indicator associated with the bounded area of the floor surface; and providing data indicative of one or more user-selectable bounded areas of the floor surface to control a cleaning operation of the autonomous cleaning robot, and the one or more user-selectable bounded areas comprising the bounded area.
2. The method of claim 1, wherein: the bounded area is a first bounded area of the floor surface; the portion of the boundary of the first bounded area corresponds to a portion of a boundary of a second bounded area of the floor surface the method further comprises: presenting, on the graphical map of the floor surface, an indicator associated with the second bounded area of the floor surface in response to the user selection; and the one or more user-selectable bounded areas comprises the second bounded area.
3. The method of claim 2, further comprising: presenting, on the graphical map of the floor surface, a graphical divider indicative of the portion of the boundary of the first bounded area and the portion of the boundary of the second bounded area.
4. The method of claim 3, wherein: the graphical divider comprises a portion corresponding to the graphical boundary indicator, wherein the graphical boundary indicator represents the portion of the boundary of the first bounded area and the portion of the boundary of the second bounded area.
5. The method of claim 4, wherein: the portion of the graphical divider is a first portion, and the graphical divider comprises a second portion extending beyond a representation of the boundary of the first bounded area and extending beyond a representation of the boundary of the second bounded area.
6. The method of claim 3, wherein: the graphical divider is a user-selectable graphical divider; and presenting the user-selectable graphical divider comprises presenting the user-selectable graphical divider in response to the user selection.
7. The method of claim 6, wherein: the user selection comprises one or more user inputs comprising one or more adjustments of the user-selectable graphical divider, the one or more adjustments causing a representation of relative movement of the user-selectable graphical divider and the graphical map.
8. The method of claim 7, wherein: wherein the representation of relative movement of the user-selectable graphical divider and the graphical map corresponds to a representation of relative rotation of the user-selectable graphical divider and the graphical map.
9. The method of claim 7, wherein: presenting the user-selectable graphical divider comprises presenting a graphical reference point fixed on the user-selectable graphical divider, and the one or more adjustments causes a representation of relative movement of the graphical reference point and the graphical map.
10. The method of claim 9, further comprising: presenting, on the display, a visual alert indicating that the graphical reference point is on the graphical map.
11. The method of claim 10, wherein: the visual alert is a first visual alert; and the method further comprises: presenting, on the display, a second visual alert indicating that the graphical reference point is not on the graphical map.
12. The method of claim 9, wherein: the graphical reference point corresponds to a graphical center point of the user-selectable graphical divider.
13. The method of claim 9, wherein: the representation of relative movement of the user-selectable graphical divider and the graphical map corresponds to a representation of rotation of the user-selectable graphical divider about the graphical reference point.
14. The method of claim 2, wherein: the graphical boundary indicator is a first graphical boundary indicator, the portion of the boundary of the first bounded area of the floor surface is a first portion of the boundary of the first bounded area of the floor surface, the user selection of at least the first portion of the boundary of the bounded area of the floor surface is a first user selection, and the method further comprises: receiving, by the handheld computing device, a second user selection of at least a portion of a second portion of the first bounded area of the floor surface, and resenting, on the graphical map of the floor surface and in response to the second user selection, a second graphical boundary indicator of the second portion of the boundary of the first bounded area.
15. The method of claim 14, wherein: the method further comprises: presenting, on the graphical map of the floor surface and in response to the second user selection, an indicator associated with a third bounded area; the second portion of the boundary of the first bounded area corresponds to a portion of a boundary of the third bounded area on the floor surface; and the one or more user-selectable bounded areas comprises the third bounded area.
16. The method of claim 1, wherein: the indicator associated with the bounded area corresponds to a label for the bounded area.
17. The method of claim 1, wherein: presenting the graphical map of the floor surface comprises: presenting the graphical map of the floor surface based on data collected by the autonomous cleaning robot.
18. The method of claim 17, wherein: the portion of the boundary of the bounded area corresponds to a first portion of the boundary of the bounded area; and presenting the graphical map of the floor surface traversable by the autonomous cleaning robot comprises: presenting a second portion of the boundary of the bounded area.
19. The method of claim 18, wherein: the second portion of the boundary of the bounded area is defined by the data collected by the autonomous cleaning robot; and an end point of the first portion of the boundary of the bounded area is defined by the data collected by the autonomous cleaning robot.
20. The method of claim 1, wherein: the user selection of at least the portion of the boundary of the bounded area on the floor surface corresponds to a user selection of only a single side of the boundary of the bounded area.
21. A handheld computing device comprising: a user input device; a display; and one or more processing devices configured to execute instructions to control operations comprising: presenting, by the display, a graphical map of a floor surface traversable by an autonomous cleaning robot; receiving, by the user input device, a user selection of at least a portion of a boundary of a bounded area of the floor surface; presenting, on the graphical map of the floor surface and in response to the user selection, (i) a graphical boundary indicator of the portion of the boundary of the bounded area of the floor surface and (ii) an indicator associated with the bounded area of the floor surface; and providing data indicative of one or more user-selectable bounded areas of the floor surface to control a cleaning operation of the autonomous cleaning robot, and the one or more user-selectable bounded areas comprising the bounded area.
22. The handheld computing device of claim 21, wherein: the bounded area is a first bounded area of the floor surface; the portion of the boundary of the first bounded area corresponds to a portion of a boundary of a second bounded area of the floor surface; the operations further comprise: presenting, on the graphical map of the floor surface, an indicator associated with the second bounded area of the floor surface in response to the user selection, and presenting, on the graphical map of the floor surface, a graphical divider indicative of the portion of the boundary of the first bounded area and the portion of the boundary of the second bounded area; and the one or more user-selectable bounded areas comprises the second bounded area.
23. The handheld computing device of claim 22, wherein: the graphical divider is a user-selectable graphical divider; and presenting the user-selectable graphical divider comprises presenting the user-selectable graphical divider in response to the user selection.
24. The handheld computing device of claim 23, wherein: the user selection comprises one or more user inputs comprising one or more adjustments of the user-selectable graphical divider, the one or more adjustments causing a representation of relative movement of the user-selectable graphical divider and the graphical map.
25. The handheld computing device of claim 23, wherein: the operations further comprise: presenting, on the display, a first visual alert indicating that a graphical reference point fixed to the user-selectable graphical divider is on the graphical map; and presenting, on the display, a second visual alert indicating that the graphical reference point is not on the graphical map.
26. One or more non-transitory machine-readable storage media storing instructions that are executable on one or more processing devices to perform operations comprising: presenting, by a display of a handheld computing device, a graphical map of a floor surface traversable by an autonomous cleaning robot; receiving, by the handheld computing device, a user selection of at least a portion of a boundary of a bounded area of the floor surface; presenting, on the graphical map of the floor surface and in response to the user selection, (i) a graphical boundary indicator of the portion of the boundary of the bounded area of the floor surface and (ii) an indicator associated with the bounded area of the floor surface; and providing data indicative of one or more user-selectable bounded areas of the floor surface to control a cleaning operation of the autonomous cleaning robot, and the one or more user-selectable bounded areas comprising the bounded area.
27. The one or more non-transitory machine-readable storage media of claim 26, wherein: the bounded area is a first bounded area of the floor surface; the portion of the boundary of the first bounded area corresponds to a portion of a boundary of a second bounded area of the floor surface; the operations further comprise: presenting, on the graphical map of the floor surface, an indicator associated with the second bounded area of the floor surface in response to the user selection, and presenting, on the graphical map of the floor surface, a graphical divider indicative of the portion of the boundary of the first bounded area and the portion of the boundary of the second bounded area; and the one or more user-selectable bounded areas comprises the second bounded area.
28. The one or more non-transitory machine-readable storage media of claim 27, wherein: the graphical divider is a user-selectable graphical divider; and presenting the user-selectable graphical divider comprises presenting the user-selectable graphical divider in response to the user selection.
29. The one or more non-transitory machine-readable storage media of claim 28, wherein: the user selection comprises one or more user inputs comprising one or more adjustments of the user-selectable graphical divider, the one or more adjustments causing a representation of relative movement of the user-selectable graphical divider and the graphical map.
30. The one or more non-transitory machine-readable storage media of claim 28, wherein: the operations further comprise: presenting, on the display, a first visual alert indicating that a graphical reference point fixed to the user-selectable graphical divider is on the graphical map; and presenting, on the display, a second visual alert indicating that the graphical reference point is not on the graphical map.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
DETAILED DESCRIPTION
[0042] An application can be used to control operation of an autonomous cleaning robot for cleaning missions. A master map is gyrated based on the autonomous cleaning robot traversing an area. For example, a master map can be considered a digital representation of the traversable flooring area of an environment (e.g., a residence) that has been generated from data collected by the autonomous cleaning robot over a single cleaning session, a series of cleaning sessions, a training mission, a series of training missions, etc. During a cleaning mission, the autonomous cleaning robot performs cleaning tasks as the autonomous cleaning robot traverses the environment. During a training mission, the autonomous cleaning robot does not perform cleaning tasks (or performs limited cleaning tasks) as the autonomous cleaning robot traverses the environment. The master map is editable and allows a user to customize (e.g., label, resize, reshape, etc.) particular rooms displayed on the master map. Selectable graphical dividers are positionable and allow a user to define boundaries between rooms on the master map. Labels can be applied to rooms on the master map and can be compiled into a list from which a user can select rooms, floors, etc. floors for inclusion in a cleaning mission for the autonomous cleaning robot. In some examples, through the mobile application, the user can manage operations for the autonomous cleaning robot (e.g., select cleaning parameters, schedule the autonomous cleaning robot, view a cleaning status of the autonomous cleaning robot, etc.).
[0043] Referring to
[0044] Overall,
[0045]
[0046] Referring to
[0047] Referring to
[0048] When the user selects the customize button 406, the mobile device 120 presents interface 500, as shown in
[0049] Referring to
[0050] Referring to
[0051] Referring to
[0052] When the center point 908 is positioned in a room 904 on the map 902, the selectable graphical divider is shown to divide 8 room 904. When a user is satisfied that the selectable graphical divider 906 is positioned in a desired position on the map 902, the user presses a button 914 labeled “place”. To delete the selectable graphical divider 906, the user presses a delete button 912. In some implementations, the user may drag the center point 908 of the selectable graphical divider 906 to the delete button 912. To cancel a previously executed operation, the user presses cancel button 918 The selectable graphical divider 906 can be snapped to an angular increment, for example a closest angular increment in increments of 45 degrees, by pressing the snap button 910. An example of snapping is shown in
[0053] Referring to
[0054] An immovable object 1022 is positioned on the map 1002 in the kitchen, room 1012. Immovable objects may be, for example, kitchen islands, permanent pieces of furniture, etc. that are positioned in a room. When the user attempts to place the center point 1008 of the selectable graphical divider 1006 on the immovable object 1022, the center point 1008 will change to provide a visual alert to the user that the selectable graphical divider is improperly placed. In some implementations, the mobile application 124 treats an immovable object as creating a boundary of a room, rather than recognizing the immovable object as being within a room. In such an implementation, outer edges of immovable object 1022 would be defined as boundaries of the kitchen 1012 such that the kitchen included a void. In some implementations, the mobile application 124 may account tor a position of an immovable object 1022 when the immovable object 1022 is intersected with the selectable graphical divider 1006. When the center point 1008 is positioned in the kitchen 1012 such that the selectable graphical divider 1006 extends across the immovable object 1022, portions of the selectable graphical divider 1006 that cross the immovable object 1022 may be shown differently, or may be absent.
[0055]
[0056] Similarly, in
[0057] In
[0058] When the room layout has been completed (i.e., all selectable graphical dividers have been placed and saved), individual rooms can be labelled. An interface 1500, shown in
[0059] Referring to
[0060] Referring to
[0061] Referring to
[0062] Referring to
[0063] Referring to
[0064] Referring to
[0065] Referring to
[0066] Referring to
[0067] The robots and techniques described herein, or portions thereof, can be controlled by a computer program product that includes instructions that are stored on one or more non-transitory machine readable storage media, and that are executable on one or more processing devices to control (e.g., to coordinate) the operations described herein. The robots described herein, or portions thereof, can be implemented as all or part of an apparatus or electronic system that can include one or more processing devices and memory to store executable instructions to implement various operations.
[0068] Operations associated with implementing all or part of the robot operation and control described herein can be performed by one or more programmable processors executing one or more computer programs to perform the functions described herein. For example, the mobile device, a cloud computing system configured to communicate with the mobile device and the autonomous cleaning robot, and the robot's controller may all include processors programmed with computer programs for executing functions such as transmitting signals, computing estimates, or interpreting signals. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable tor use in a computing environment.
[0069] The controllers and mobile devices described herein can include one or more processors. Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only storage area or a random access storage area or both. Elements of a computer include one or more processors for executing instructions and one or more storage area devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from, or transfer data to, or both, one or more machine-readable storage media, such as mass PCBs for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Machine-readable storage media suitable for embodying computer program instructions and data include all forms of non-volatile storage area, including by way of example, semiconductor storage area devices, e.g., EPROM, EEPROM, and flash storage area devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0070] The robot control and operating techniques described herein may be applicable to controlling other mobile robots aside from cleaning robots. For example, a lawn mowing robot or a space-monitoring robot may be trained to perform operations in specific portions of a lawn or space as described herein.
[0071] Elements of different implementations described herein may be combined to form other implementations not specifically set forth above. Elements may be left out of the structures described herein without adversely affecting their operation. Furthermore, various separate elements may be combined into one or more individual elements to perform the functions described herein.