Mobile robotic devices have reduced the human effort required to perform many everyday tasks. For example, automatic cleaning devices help maintain and clean surfaces, such as hardwood floors, carpet and the like. An example of such as device is disclosed in U.S. Pat. No. 9,028,617, titled “Cleaning Device with Single Tank Recycling System,” the disclosure of which is fully incorporated into this document by reference.
Customers who use such devices to clean floors wish to have the machines perform their cleaning tasks in the shortest possible amount of time, while also avoiding collisions with, e.g., walls, storage/shelving units, machinery, in-store displays, and/or other obstacles. This often requires the mobile robotic device to be pre-loaded with a detailed map of the area(s) to be cleaned within a facility, which the device relies upon to identify and avoid known obstacles and follow a predetermined cleaning pattern. While the mobile robotic device is able to operate at higher speeds throughout such a known environment, reliance upon a detailed map of the area(s) to be cleaned requires that the obstacles remain substantially unchanged over time. However, in many facilities such as grocery stores, storage warehouses, etc., obstacles within the cleaning environment often change, sometimes on a daily basis. Thus, the detailed map of the area(s) to be cleaned must be constantly updated or replaced to account for such changes, making their use in many facilities time-consuming and/or impractical.
As an alternative to utilizing detailed maps, some mobile robotic devices are also capable of navigating through one or more areas to be cleaned without any advance knowledge of the area(s), relying primarily on the various on-board sensors to determine a cleaning path, avoid obstacles, etc. While this type of navigation allows for the device to operate in facilities with changing obstacles without the need for pre-loaded maps, there may be disadvantages to such “on-the-fly” operation. For example, because the device is not following any predetermined route, the device may explore openings and/or areas that the user does not desire to be cleaned. Additionally, because the device must rely solely on the on-board sensors for navigation and obstacle avoidance, the overall speed at which the device is able to operate is slower than that of a device utilizing at least some form of pre-loaded map.
This document describes methods and systems that are intended to provide a robotic cleaning devices capable of more efficiently moving through a facility and/or along a cleaning route having changing obstacles.
In some embodiments, this document describes a method of dynamically generating a coverage pattern in an area to be cleaned by a robotic cleaning device, The method includes, using a processor, moving the robotic cleaning device through an area to be cleaned, identifying a plurality of consecutive waypoints through the area to be cleaned, and storing the consecutive waypoints in a memory. As the robotic cleaning device moves between the consecutive waypoints, one or more sensors that are integral with the robotic cleaning device will collect sensor data about a portion of the area. The processor will generate a temporary map of the portion of the area between the consecutive waypoints based on the collected sensor data, and it will use the temporary map of the portion of the area between the consecutive waypoints to generate a cleaning coverage pattern. The robotic cleaning device will then clean the area by moving throughout the portion of the area according to the cleaning coverage pattern. Upon completing the cleaning, the device will retain the consecutive waypoints in the memory while not retaining the temporary map.
Optionally, after completing the cleaning, the processor may receiving a new command to clean the area. If so, then the processor will retrieve the consecutive waypoints from the memory, and the sensor(s) will collect new sensor data about an updated portion of the area as the robotic cleaning device moves between the consecutive waypoints. The processor will generate a new temporary map based on the collected new sensor data, and it will use the new temporary map to generate a new cleaning coverage pattern. The robotic cleaning device will then move through the area according to the new cleaning coverage pattern and clean the area. Upon completing the cleaning according to the new cleaning coverage pattern, the device will continue to retain the plurality of consecutive waypoints in the memory while not retaining the new temporary map.
Optionally, identifying the consecutive waypoints may include identifying locations in the area in which a direction of travel of the robotic cleaning device has changed by at least an angular threshold when the robotic cleaning device is moved through the area. Alternatively, identifying the consecutive waypoints may include identifying locations in which a manually-activated selection is made by an operator when the robotic cleaning device is moved through the area. As yet another alternative, to identify the consecutive waypoints, the system may cause the mobile robotic device to move in a first direction until a first location at which a sensor of the mobile robotic device detects that the mobile robotic device cannot continue to move in the first direction without coming within a threshold distance from a first obstacle, and then causing the mobile robotic device to move in a second direction starting at the first location until a second location at which the sensor of the mobile robotic device that the mobile robotic device cannot continue to move in the second direction without coming within the threshold distance from a second obstacle. In any of these cases, the system will record each of the identified locations as one of the consecutive waypoints.
In other embodiments, a method of causing a robotic cleaning device to clean an area includes moving a robotic cleaning device through an area to be cleaned, identifying a first waypoint and a second waypoint in the area, storing the first waypoint and the second waypoint in a memory, and causing the robotic cleaning device to move from the first waypoint to the second waypoint. As the robotic cleaning device moves from the first waypoint to the second waypoint, at least one sensor that is integral with the robotic cleaning device will collect sensor data about a first portion of the area. The processor will use the collected sensor data to generate a temporary map of the first portion of the area. The processor will use the temporary map to generate a cleaning coverage pattern for the first portion of the area, cause the robotic cleaning device to move according to the cleaning coverage pattern and clean the area. Upon completing the cleaning of the first portion of the area, the processor will retain the first waypoint and the second waypoint in the memory while not retaining the temporary map.
Optionally, the process may also identify a third waypoint in the area to be cleaned, store the third waypoint in the memory, and determine whether a cleaning operation in the first portion of the area has been completed. When the cleaning operation of the first portion of the area has been completed, the processor may cause the robotic cleaning device to move from the second waypoint to the third waypoint. As the robotic cleaning device moves from the second waypoint and the third waypoint, the sensor(s) integral with the robotic cleaning device will collect additional sensor data about an additional portion of the area. The processor will use the collected additional sensor data to generate an additional temporary map of the additional portion of the area. The processor will use the additional temporary map of the additional portion of the area to generate an additional cleaning coverage pattern for the additional portion of the area. The processor will clean the additional portion of the area according to the additional cleaning coverage pattern. Upon completing the cleaning of the additional portion of the area, the system will retain the first waypoint, the second waypoint, and the third waypoint in the memory while not retaining the additional temporary map. Optionally, to identify the first waypoint, the second waypoint, and/or the third waypoint comprises, the processor may record a location in which a direction of travel of the robotic cleaning device has changed by more than an angular threshold when the robotic cleaning device is moved through the area.
In another embodiment, this disclosure describes a method of dynamically generating a coverage pattern for an area to be cleaned by a robotic cleaning device. The method include moving a robotic cleaning device through an area to be cleaned, identifying consecutive waypoints through the area to be cleaned, and storing the consecutive waypoints in a memory. At least one sensor that is integral with the robotic cleaning device will collect sensor data about a portion of the area as the robotic cleaning device moves between the consecutive waypoints. The processor will use the collected sensor data to generate a map of the portion of the area between the consecutive waypoints. The processor will store the map in the memory, use the map of the portion of the area between the consecutive waypoints to generate a cleaning coverage pattern; and save the cleaning coverage pattern to a memory. The system also may cleaning the area by moving the robotic cleaning device throughout the portion of the area according to the cleaning coverage pattern. The system may retain the consecutive waypoints in the memory upon completing the cleaning of the area, but not retain the map in the memory for a predetermined period after completing the cleaning of the area. After completing the cleaning, the system may receive a new command to clean the area, retrieve the consecutive waypoints from the memory, collect new sensor data about an updated portion of the area as the robotic cleaning device moves between the consecutive waypoints, updating the map for the updated portion of the area based on the collected new sensor data, store the updated map in the memory, and using the updated map to generate a new cleaning coverage pattern for the updated portion of the area. The system may then continue to clean the area by moving the robotic cleaning device throughout according to the new cleaning coverage pattern. The system also retain the consecutive waypoints in the memory upon completing the cleaning according to the new cleaning coverage pattern, while deleting the new map from the memory upon completing the cleaning according to the new cleaning coverage pattern. Alternatively, the system may retain the new map in the memory for a period after completing the cleaning of the area according to the new cleaning coverage pattern.
In another embodiment, a method of moving a robotic cleaning device through an area may include loading instructions for a plurality of geometric elements into a processor. Each geometric element will include a starting point, one or more paths of travel, and one or more waypoints. In addition, an ending waypoint of a first geometric element will be connected to the starting point for a subsequent geometric element. The instructions for each geometric element will not include dimensions for the one or more paths of travel. A processor of the robotic cleaning device will cause the robotic cleaning device to move along a first path of travel of the first geometric element until a sensor of the robotic cleaning device detects that the robotic cleaning device has reached a first waypoint. If the first waypoint is the ending waypoint of the first geometric element, the processor will cause the robotic cleaning device to move along a first path of travel of the subsequent geometric element. If the first waypoint is not the ending waypoint of the first geometric element, the processor will cause the robotic cleaning device to change direction and move along a second path of travel of the first geometric element.
Optionally, in this embodiment, as the robotic cleaning device moves along each path of travel, it may operate a cleaning assembly to clean an area that includes each path of travel.
Optionally, the sensor may detect the first waypoint by detecting that the robotic cleaning device has come within a threshold distance from a first obstacle, step or change in floor type that is ahead of it the first path of travel of the first geometric element. The sensor may detect the first waypoint by detecting a visual marker that is positioned along the path of travel. The sensor also may detect the first waypoint by receiving a communication via a beacon that is located at the first waypoint.
In this document, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. In this document, the term “comprising” means “including, but not limited to.” Unless defined otherwise, all technical and scientific terms used in this document have the same meanings as commonly understood by one of ordinary skill in the art.
When used in this document, terms such as “top” and “bottom,” “upper” and “lower”, or “front” and “rear,” are not intended to have absolute orientations but are instead intended to describe relative positions of various components with respect to each other. For example, a first component may be an “upper” component and a second component may be a “lower” component when a device of which the components are a part is oriented in a first direction. The relative orientations of the components may be reversed, or the components may be on the same plane, if the orientation of the structure that contains the components is changed. The claims are intended to include all orientations of a device containing such components.
In this document, the terms “communication link” and “communication path” mean a wired or wireless path via which a first device sends communication signals to and/or receives communication signals from one or more other devices. Devices are “communicatively connected” if the devices are able to send and/or receive data via a communication link. “Electronic communication” refers to the transmission of data via one or more signals between two or more electronic devices, whether through a wired or wireless network, and whether directly or indirectly via one or more intermediary devices.
The terms “memory,” “memory device,” “computer-readable medium,” “data store,” “data storage facility” and the like each refer to a non-transitory device on which computer-readable data, programming instructions or both are stored. Except where specifically stated otherwise, the terms “memory,” “memory device,” “data store,” “data storage facility” and the like are intended to include single device embodiments, embodiments in which multiple memory devices together or collectively store a set of data or instructions, as well as individual sectors within such devices.
The terms “processor” and “processing device” refer to a hardware component of an electronic device that is configured to execute programming instructions. Except where specifically stated otherwise, the singular terms “processor” and “processing device” are intended to include both single-processing device embodiments and embodiments in which multiple processing devices together or collectively perform a process.
A “robot” or “robotic device” is a system that is capable of autonomous movement and that performs both physical and computational activities. The physical activities may be performed using a wide variety of movable parts including various tools, such as scrub brushes, liquid applicators and vacuum systems in a robotic cleaning device. The computational activities may be performed using a suitable processor and computer readable memory devices that are part of the robot, that are external to the robot on a system that communicates with the robot by a communication signal delivered via communication technologies such as Wi-Fi, short range communication, or near field communication. The computational activities may include processing information input from various sensors or other inputs of the robotic device to perform commanded functions such as vacuuming, scrubbing, or applying water or cleaning solution to a floor. Furthermore, while robotic cleaning devices are described throughout the present disclosure, it is to be understood that the “robot” or “robotic device” is not necessarily limited to a robotic cleaning device, and may be any mobile robotic device capable of covering an area, including devices covering the area for purposes other than (or in addition to) cleaning operations.
The sensor assembly 110 may include various components such as a first sensor assembly 112 and a second sensor assembly 114, which assemblies may include a sonar assembly, a light detection and ranging system (LIDAR) assembly, and/or other various sensor mechanisms such as other laser-based sensors, global positioning system (GPS) devices, microwave sensors, cameras, gyroscopes, infrared (IR) sensors, structured light sensors such as structured light cameras and 3D structured light scanners, stereo cameras and other sensors that are capable of capturing information about the environment in which the robot is operating. Any combinations of these sensors may be used, and the sensors may be placed in various locations on the robotic device, such as its front, rear, or sides. The sensors will collect information about the mobile robotic device's surroundings such as coordinates, navigational information, visual information and/or the like. This document may refer to data collected by one or more of the sensors as “sensor data.” For example, if the sensor assembly includes a sonar assembly, the system may include a tunable ultrasonic piezoelectric transducer configured to transmit sound at a desired pressure level, and to receive reflected sound so that the processor may use the reflected signals to calculate a distance between the robot and an obstacle such as a wall.
If the sensor assembly includes a camera, the device may process received images to locate one or more substantially straight, curved or otherwise shaped lines in the image that may be representative of a boundary that is formed by a wall, a step up or down, a transition between flooring types, or another obstacle or edge. For example, a video camera may be able to detect a corner where an aisle of a store or storage facility meets an intersecting aisle. Similarly, a video camera may be able to detect an edge based on a variation in floor type, such as by color contrast. The mobile robotic device may use this information, optionally with information from other sensors of the device to determine its position relative to the detected edge. For example, a mobile robotic device may compare information about its current position, such as its coordinates, heading and/or the like, with information received from the video camera regarding the edge. The mobile robotic device may use this comparison to determine its position relative to the edge, its distance away from the edge and/or the like.
The controller 120 may include a processor 122 and a computer-readable medium 124 such as a hard drive, an optical drive, a flash drive, a read-only memory or a random access memory containing programming instructions that are configured to cause the processor 122 to process information and control the other elements of the robot. In addition or alternatively to an on-board memory with programming instructions, the controller may be connected to a transceiver that is capable of receiving commands from one or more external systems.
The transport assembly 130 includes a mechanical system that is configured to move the robotic device from one place to another, such as a motor, drive system, and set of wheels, rollers, or the like. The speed of the robotic device may be determined via, for example, data received from optical encoders associated with the wheels, rollers, etc. However, other means of determining the speed of the robotic device are also within the scope of this disclosure.
The cleaning assembly 140 may include cleaning elements that are configured to contact, dislodge and/or draw particles from the floor to clean the floor. Examples of such cleaning elements include a cleaning head with and a scrubber, a squeegee, a vacuum system, and one or more motors to activate these elements.
The fluid delivery system 150 may include one or more tanks for holding fresh water and/or cleaning solution that is directed to the floor scrubber and/or other components of the cleaning assembly, and/or used water and/or cleaning solution that the cleaning assembly withdraws from the floor after application. The fluid delivery system 150 also will include elements for directing fluid to, and withdrawing fluid from, the floor such as filter, a discharge line, and a pump. For example, the fluid delivery system 150 may include a fluid dispensing tank, a pump for directing fluid from the dispensing tank to the floor cleaning devices via one or more conduits, a suction assembly such as a suction pump and conduit leading from the underside of the robotic device, and a fluid receiving tank.
The components of the robotic device 100 as described may be configured to perform a wide variety of operations. The robotic device may include a processor 122 that is configured to monitor and control various operations of the robotic device 100. The robotic device also may include a memory device 124 configured to store a variety of programming instructions and/or data used by the processor 122 as well as the other components of the robotic device 100.
The block diagram of
To detect the intersection, the system may rely on information received from its various sensors. For example, if the robotic device includes a video camera positioned on its top or front (i.e., in a forward-facing direction, with “front” in this embodiment being a position facing the robotic device's direction of movement), the system may receive images and, by processing the images, detect a line representing a wall in front of it. The information may include values associated with the slope, the intercept and/or the error of a line detected by the video camera. For example, the slope, intercept and/or error associated with a substantially straight line from an image of a surface, such as a ground surface, a floor surface or other surface over which the mobile robotic device is traveling may be provided to the mobile robotic device. In some embodiments, the video camera may continuously capture images, and the processor may continuously process the images to update information as the robotic device moves in its area. For example, the processor may continue to process received images to update slope values, intercept values and/or error values associated with a detected line several times per second.
In accordance with an aspect of the disclosure, a mobile robotic device may use the various sensor information to determine its position relative to the detected edge. For example, a mobile robotic device may compare information about its current position, such as its coordinates, heading and/or the like, with information received from the video camera regarding the edge. The mobile robotic device may use this comparison to determine its position relative to the edge, its distance away from the edge and/or the like. Other sensor data, such as sonar or LIDAR data, may also be used to detect one or more edges the area.
Referring still to
Alternatively, in other configurations, the use of a pre-loaded detailed map and pre-selected route is replaced with an “on-the-fly” approach in which the mobile robotic device utilizes the data acquisition and navigation abilities from its on-board sensors to travel throughout and clean the facility. While this automated approach may account for changes and/or additions to obstacles throughout a given area from day-to-day, travel of the mobile robotic device is not limited to a pre-selected path. Thus, the mobile robotic device may unnecessarily move through areas of the facility that do not require cleaning and/or the mobile robotic device may travel through undesirable openings in the facility layout (e.g., automated entrance/exit doors, etc.).
Thus, in accordance with an aspect of the disclosure, a system and method of generating an initial predetermined guide for a mobile robotic device to travel through desired areas of a facility is provided, with the system and method also accounting for changes and/or additions in obstacles throughout those desired areas to be cleaned. As will be described below with respect to
Specifically, regarding
Generally, facility operators know which areas of a facility necessitate coverage by a mobile robotic cleaning device, and which areas are to be avoided and/or omitted from coverage. In facility layout 300 shown in
Next, referring to
Next, referring to
Upon completion of a cleaning operation of area 302 between waypoints 316, 318, it is to be understood that a similar cleaning operation may be completed in area 304 between waypoints 318, 320, and then in area 306 between waypoints 320, 322. As described above, the mobile robotic device 301 may generate a temporary map of areas 304, 306 so as to identify any obstacles to avoid within areas 304, 306 without unnecessarily slowing the mobile robotic device 301. After area 306 is fully cleaned, the mobile robotic device 301 may, e.g., end its travel at waypoint 322, return to first waypoint 316, alert an operator that the cleaning operation is complete, etc.
Referring now to
In some embodiments, the temporary maps generated during passes between consecutive waypoints are deleted from the memory of the mobile robotic device (and/or the remote accessible memory) at the end of each cleaning operation of the facility. Thus, while the location of the waypoints are retained, the mobile robotic device must generate a new temporary map with each cleaning operation, thereby ensuring that changes and/or additions to obstacles within the areas to be cleaned are identified and accounted for during each operation. In other, alternative embodiments, the temporary maps may be retained in the memory for a predetermined period of time (e.g., one day, one week, one month, etc.), which may be advantageous in facilities without frequent obstacle variations. In still other alternative embodiments, the temporary maps may be retained in the memory until an operator or technician indicates that new temporary maps must be generated. In these alternative embodiments, re-acquiring temporary maps during each cleaning operation (which may slow the cleaning process) may be avoided, while still obviating the need for detailed, technician-programmed maps of the areas to be cleaned.
Next, regarding
Then, at step 408, a cleaning process is begun. During this process, at step 409, the mobile robotic device automatically drives through a first area to be cleaned between a first waypoint and a second waypoint, collecting data from its sensors and using that data to build an Area Definition (i.e., digital data representing a temporary map) of the first area. The sensor data may include digital video data from a camera, LiDAR data, sonar data, and other sensor data. For example, the sensors may automatically and periodically collect data indicating distance of obstacles (such as walls) or changes in floor surface (such as tile-to-carpet, or one-level-to-step up or down) and return it to the device's processor at periodic intervals. The processor will save this data into a memory as an obstacle map grid or other suitable map structure. The obstacle map grid represents the two-dimensional space around the machine, front, left, right, and behind. For example, the grid is comprised of a set of 128 mm×128 mm cells around the machine. Each cell may be given a weight or score, such as a weight of zero representing no detected obstacle in the location corresponding to the cell. If a sensor reports an obstacle, the corresponding cell's weight may be increased. When there is a non-zero weight in a cell, this indicates to the machine that there is an obstacle near the machine at the location corresponding to the cell. Additional aspects of this example map generation process are disclosed in U.S. Pat. No. 8,958,937, titled “Mapped robot cleaning system,” the disclosure of which is fully incorporated into this document by reference. Additional methods of generating maps that may be used in step 409 are disclosed in, for example, U.S. Pat. No. 9,609,991 titled “Methods and systems for movement of an automatic cleaning device using video signal,” the disclosure of which is fully incorporated into this document by reference.
Once the system generates the temporary map for the first area (between the first and second waypoints), at step 410 the system will then generate a cleaning coverage pattern for the first area and, at step 411, use the cleaning coverage pattern to clean the first area between the first and second waypoints. The cleaning coverage pattern may include instructions to move the device through substantially the entire area without hitting obstacles known in the temporary map. The cleaning coverage pattern also may include several passes through areas using different cleaning modes such as vacuum and/or scrub. The modes may vary based on the type of flooring that the temporary map indicates us under the device at any given time. Methods of generating cleaning coverage patterns are further described in the patents incorporated above by reference.
At step 412, the mobile robotic device drives through the subsequent area to be cleaned between the previous ending waypoint (in this case, the second waypoint) and the next ending waypoint, again building an Area Definition of the subsequent area, generating a cleaning coverage pattern for the subsequent area and cleaning the subsequent area.
Next, at step 414, a determination is made whether or not all areas located between generated waypoints have been cleaned. If no, step 412 is repeated until an Area Definition is built for each area between consecutive waypoints and those areas are cleaned. However, if yes, at step 416, all previously-built Area Definitions (i.e., temporary maps) are deleted from the system memory, while all waypoints are retained within the system memory. The cleaning process is then ended at step 418. Later, a determination is made whether or not the mobile robotic device is to clean the same facility again (step 420). If yes, the process repeats from step 408, as the previously-generated waypoints within the facility are still applicable. However, if no, and a new facility is to be cleaned, the process repeats from step 402, as new waypoints will need to be generated for the new facility.
If the process is repeating for the same facility from step 408, the system will retrieve the previously identified waypoints (from step 406) for the facility and will then collect updated sensor data about updated portions of each area between waypoints, and generate new temporary maps for each area, at steps 409-411 on the updated passes through each area.
By utilizing the method 400 as described above, a mobile robotic device is capable of cleaning desired areas of a facility by relying primarily upon generated waypoints and current Area Definitions as opposed to more detailed, pre-programmed maps of the facility. In this way, minor changes to the layout of the facility and/or obstacles present within the areas to be cleaned may be accounted for without the need for new detailed maps to be generated, thereby obviating the need for repeated technician visits to re-program the mobile robotic device in light of such facility changes.
Referring now to
As shown in
However, unlike the embodiments described above in which pre-generated waypoints are utilized in generally determine the path of the mobile robotic device through the facility, the embodiment shown in
When the mobile robotic device 502 reaches the end of the predetermined arrangement 510 (identified as waypoint 511 in
Each geometric element that is not a straight line may include one or more waypoints at which the mobile robotic device must change its direction of travel. For example, geometric element 510 includes a waypoint 521 at which the mobile robotic device must make a 90° turn to the right. The ends of each geometric element also may be considered waypoints (as in previous embodiments) at which the mobile robotic device will start cleaning another geometric element (i.e. another location of the area to be cleaned). For example, the endpoint 511 of geometric element 510 is a waypoint at which the mobile robotic device must make a 90° turn to the left.
In the embodiment shown in
By joining these simplified, single-turn predetermined arrangements in an end-to-end fashion, a mobile robotic device may be instructed to follow more complex routes through a facility without frequent operator intervention and/or detailed maps. Furthermore, while
While the geometric elements 510, 512, 514 are illustrated as single, 90° turn arrangements, it is to be understood that the method described herein is not limited as such, and that each geometric element may have no turns, a single turn of less than or more than 90°, and/or more than one turn. Given a suitable graphical method of selection, an operator and/or technician may combine geometric elements in any number of ways so as to pre-select a desired path through areas to be cleaned within a facility. Furthermore, in some embodiments, the specific combination of geometric elements may be deleted from the memory of the mobile robotic device 502 after completion of each cleaning operation. However, in other embodiments, the combination(s) of geometric elements may be stored for later use within the same (or a similar) facility.
Although it is not shown in
Additionally, while the method described above with respect to
Furthermore, in other embodiments, one or more of the geometric elements (or a portion of the geometric element(s)) may be defined so as to direct the mobile robotic device 502 to move through an area (or areas) without cleaning. These “move” areas may be portions of the facility that are not to be cleaned, but connect two or more other areas of the facility that are to be cleaned.
Next, referring to
For example, the facility layout 600 shown in
As with the method of
In some embodiments, such as that which is shown in
Referring to
An optional display interface 830 may permit information from the bus 800 to be displayed on a display device 835 in visual, graphic or alphanumeric format. An audio interface and audio output (such as a speaker) also may be provided. Communication with external devices may occur using various communication devices such as a wireless antenna 844, an RFID tag and/or short-range or near-field communication transceiver 842, each of which may optionally communicatively connect with other components of the system. The communication device 840 may be configured to be communicatively attached to a communications network, such as the Internet, a local area network or a cellular telephone data network.
The hardware may also include a user interface sensor 845 that allows for receipt of data from input devices 850 such as a keyboard, a mouse, a joystick, a touchscreen, a touch pad, a remote control, a pointing device and/or microphone. Digital image frames also may be received from a camera 855 that can capture video and/or still images. The system also may include a positional sensor 860 and/or motion sensor 870 to detect position and movement of the device. Examples of motion sensors 870 include gyroscopes or accelerometers. Examples of positional sensors 860 include a GPS sensor device that receives positional data from an external GPS network, and/or the other sensors described above such as a sonar assembly or LIDAR assembly.
The following U.S. patent documents are fully incorporated into this patent document by reference: (1) U.S. Pat. No. 8,958,937, titled “Cleaning Machine with Collision Prevention”; (2) U.S. Pat. No. 8,679,260, titled “Method and System for Movement of an Automatic Cleaning Device using Video Signal”; (3) U.S. Pat. No. 8,532,860, titled “Method and System for Automatic Yield to High Priority Traffic”; and (4) U.S. Pat. No. 8,423,225, titled Method and System for Movement of Robotic Device using Video Signal.
It will be appreciated that the above-disclosed and other features and functions may be combined into many other different systems or applications. All such applications and alternatives are also intended to be encompassed by the disclosure of this patent document.