METHOD OF OPERATING A ROBOT

20220338701 · 2022-10-27

    Inventors

    Cpc classification

    International classification

    Abstract

    A robot and a method of controlling the robot wherein the robot has a service schedule including a number of tasks. The robot receiving or deriving updated information and re-ordering a number of the tasks not yet performed in accordance with timing information in accordance with which the tasks must be completed.

    Claims

    1. A method of controlling a robot, the method comprising: a) feeding a service schedule to a self-propelled robot, the service schedule identifying a plurality of tasks for the robot to perform, at least one task comprising timing information in accordance with which the task is to be performed, b) the robot completing one or more of the plurality of tasks, c) the robot updating information relating to at least one of the tasks, d) deriving, based on the updated information, an order of at least a first plurality of those of the plurality of tasks which are not yet completed and e) performing the first plurality of tasks in the order derived.

    2. The method according to claim 1, wherein step d) comprising deriving an order in which more task are completed within their respective timing information.

    3. The method according to claim 2, wherein step d) comprises providing in the order, a number of the tasks of the first plurality of tasks, which are provided along a route from a present position of the robot to a replenishment station, where the tasks of the number of the tasks may be performed while consuming no more than the current amount of the at least one consumable; wherein step e) comprises performing the number of the tasks in the order determined, then replenishing the at least one consumable at the replenishment station, and then performing a remainder of the first plurality of tasks in the order determined.

    4. The method according to claim 1, wherein, for at least one task, the timing information is a time slot within which the pertaining task must be performed, and wherein step c) comprises determining that a present task will be completed earlier than estimated; and wherein step d) comprises re-ordering the tasks to bring a task later in the order to an earlier position in the order.

    5. The method according to claim 1, wherein, for at least one task, the timing information is a time slot within which the pertaining task must be performed, and wherein step c) comprises determining that a present task will be completed later than estimated; and wherein step d) comprises re-ordering the tasks to bring a task earlier in the order to a later position in the order.

    6. The method according to claim 1, wherein step c) comprises the robot discontinuing a present task; and wherein step d) comprises re-ordering the tasks to bring a task later in the order to an earlier position in the order and to add a remainder of the present task to a position later in the order.

    7. The method according to claim 6, wherein step c) comprises one or more sensors of the robot sensing one or more parameters of surroundings of the robot and discontinuing a present task based on the one or more parameters sensed.

    8. The method according to claim 1, wherein step c) comprises the robot receiving information from a remote source, the information identifying a task which is to be performed urgently, to be delayed or to not be performed; and wherein step d) comprises re-ordering the tasks by removing the identified task or bringing the identified task to a position earlier or later in the order.

    9. A robot comprising a controller configured to control the robot to: a) receive or access a service schedule identifying a plurality of tasks for the robot to perform, each task comprising timing information in accordance with which the task is to be performed, b) complete one or more of the plurality of tasks, c) update information relating to at least one of the tasks, d) derive, based on the updated information, an order of at least a first plurality of those of the plurality of tasks which are not yet completed and e) perform the first plurality of tasks in the order derived.

    10. The robot according to claim 9, wherein the robot comprises a container for one or more consumables, where the controller is configured to have: wherein step c) comprise determining a current amount of at least one of the consumables, where at least one parameter of the tasks relates to the at least one consumable; and wherein step d) comprise determining an order of the first plurality of tasks in which as many tasks as possible can be completed before the amount of the at least one consumable is depleted.

    11. The robot according to claim 10, wherein the controller is configured to have: step d) comprise providing, in the order, a number of the tasks of the first plurality of tasks, which are provided along a route from a present position of the robot to a replenishment station, where each of the number of the tasks may be performed consuming no more than the current amount of the at least one consumable; step e) comprise performing the number of the tasks in the order determined, then replenishing the at least one consumable at the replenishment station, and then performing a remainder of the first plurality of tasks in the order determined.

    12. A robot according to claim 9, wherein, for at least one task, the timing information is a time slot within which the pertaining task must be performed, and wherein the controller is configured to have: step c) comprise determining that a present task will be completed earlier than estimated; and step d) comprise re-ordering the tasks to bring a task later in the order to an earlier position in the order.

    13. A robot according to claim 9, wherein, for at least one task, the timing information is a time slot within which the pertaining task must be performed, and wherein the controller is configured to have: step c) comprise determining that a present task will be completed later than estimated; and step d) comprise re-ordering the tasks to bring a task earlier in the order to a later position in the order.

    14. The robot according to claim 9, wherein the controller is configured to have: step c) comprise the robot discontinuing a present task; and step d) comprise re-ordering the tasks to bring a task later in the order to an earlier position in the order and to add a remainder of the present task to a position later in the order.

    15. The robot according to claim 9, wherein the controller is configured to have: step c) comprise one or more sensors of the robot sensing one or more parameters of surroundings of the robot; and step d) comprise re-ordering the tasks to bring a task later in the order to an earlier position in the order and to add a remainder of the present task to a position later in the order.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0140] In the following, preferred embodiments are described with reference to the drawing, wherein:

    [0141] FIG. 1 illustrates a hotel in which a robot is working,

    [0142] FIG. 2 illustrates a cleaning robot.

    DETAILED DESCRIPTION

    [0143] In FIG. 1, an example embodiment of a robot in its working space. In this example, the working space is a hotel 10 in which the robot 12 operates, such as for cleaning, disinfecting, quality checking, delivering supplies or amenities and the like. The hotel has a reception desk 142 in a reception area 14 as well as a number of rooms 22, an aisle 26 and a grand ballroom 24.

    [0144] The robot 12 may have fixed tasks such as floor cleaning in the reception area 14 and the aisle 26 as well as, or alternatively, disinfecting walls, handrails, tabletops, chairs and the like. The robot 12 may also or alternatively be called for to move supplies, such as fresh towels, from a central storage to local storages close to the rooms 22 or directly to the rooms. In addition, or alternatively, the robot may be called for to do specific tasks, such as bringing amenities, such as snacks, from the reception 142 or a bar/restaurant to an occupant of a room 22.

    [0145] In FIG. 2, a robot 12 is seen having a controller 126, sensors 122 for detecting e.g. obstructions and other elements for navigating, a cleaning element 124 for, in this situation, cleaning floors, a sensor 128 for detecting the cleanliness of the cleaned floor and, optionally or additionally, an arm 129 comprising an irradiating element for irradiating surfaces, such as table tops, with radiation killing bacteria and viruses.

    [0146] Clearly, this situation of a hotel may be expanded or transferred to any other setting, such as an airport, a storage facility, a shop, a house, a building, a town, a city, a field or the like. Depending on the setting, the tasks of the robot may change. Clearly, different robots may have different capabilities, different sensors, actuators, interface elements and the like. A delivery in a hotel may be towels, where in an airport it may be tax free goods for a store. In a storage facility or shop, it may be products or parcels, where in a town or city it may be any type of products, such as groceries, fast food, take-away or the like. In a field, a delivery may be fertilizer or weeding agents.

    [0147] The cleaning schedule of the robot may comprise fixed tasks at fixed points in time or with fixed intervals, such as the sweeping or washing of the floor in the reception area three times each day and in the aisle twice a day, where each room must be vacuumed once each day. Rooms are often vacated in the middle of the day, so that this is the preferred period of time for vacuuming the rooms. On the other hand, the aisle may be the busiest in the morning and late afternoon, so that it may be desired to not clean there in these time intervals.

    [0148] The reception is the busiest in the morning for checking out and in the afternoon for the arrival of new guests. The reception may be very busy at specific, other points in time, such as when the grand ballroom is rented for an event, such as a wedding. Outside of such events, the grand ballroom may be vacated for days, so that the cleaning thereof may be more sporadic, such as before and after an event but perhaps not that time critical.

    [0149] A cleaning operation often will be decided on or ordered as an operation with a particular goal, such as vacuuming of the complete floor of an aisle. It is desirable that the robot logs its operations so that compliance with the operation or task may be proved. However, the robot may not be able to complete the task.

    [0150] Different reasons exist for not completing a task. The robot may be directly prevented from completing the task. Alternatively, the robot may not be able to complete the task, such as if the robot is running out of power or a consumable required to perform the task. Also, the task may have to be performed within certain parameters, such as within a predetermined time interval, so that the task, even when all required activities are performed, is not completed within the required parameters.

    [0151] A robot may be prevented from performing a task for a number of reasons. If the robot is cleaning a floor, luggage, goods or persons may be in the way, so that the robot will have to move around the luggage etc. and clean portions of the floor which are available to it. Then, the robot is prevented from cleaning a portion of the floor. Alternatively, obstacles may exist which prevent the robot from reaching the area in which the task is to be performed.

    [0152] The robot will then output information to this effect. This information may comprise sensor data, such as an image, illustrating or proving the obstacle(s) preventing the robot from performing the task. The robot may also output information relating to the particular task showing that there was a good reason for not cleaning that portion. The robot will then perform other tasks of its service schedule.

    [0153] The robot may then deliver a report describing the area cleaned, the area not cleaned and the reasons therefor. In one example, the service provider may not lose a bonus, if the reason for not completing a task is not due to the service provider.

    [0154] If the robot did not complete the task due to one or more parameters of the task not being met, corresponding information may be stored relating to such parameters, such as the parameter with which the task was performed.

    [0155] A parameter may be a period of time within which a task is to be performed. As described above, cleaning may be desired performed within predetermined time periods or outside of certain time periods. It may be desired that a task is finalized at a certain point in time or is not initiated before a certain point in time.

    [0156] Thus, if the robot performs the task but outside of the allowed time period, the task may be seen as not completed.

    [0157] The report may be combined with an agreed-on set of tasks for the robot, so that discrepancies may be seen. The agreed-on set of tasks may form a Service Level Agreement specifying the individual tasks and any parameters thereof. A bonus for performing the tasks—or each task—may be defined, as may a penalty for not performing a task or not performing the task within the required parameter(s). When a task is defined by a parameter, the bonus or penalty may be defined on the basis of this parameter. If the parameter is time, such as a latest point in time of completing an action of a task, a delay of performing an action may incur a higher penalty if the delay is larger.

    [0158] Then, if the robot has been prevented physically from cleaning a portion, for example, of a floor, the robot may revert to that area at a later point in time in order to attempt again to clean it. It may be possible to clean the area within the allocated time, for example, so that the task is no longer not-completed. Alternatively, it may be possible to perform the task with a tolerable delay so that, for example, a penalty becomes lower or acceptable. If the area is still occupied, corresponding information may be generated.

    [0159] Other parameters may relate to a consumption, speed, quality or other parameter of the robot while performing the task. A consumption, such as a consumption of power or other consumables, such as cleansing agents, may be monitored. If the consumption exceeds a maximum limit for the task, the task may be assumed not completed.

    [0160] Another parameter may be a position, so that if the task is not performed at a desired position, the task may be seen as not completed.

    [0161] Yet another parameter may be a quality of an operation defined by the task. The task may be a cleansing action, such as by the means 124, where the quality has to do with how clean the surface or element is after the cleansing. If the surface or element is still too dirty, the task may be seen as not completed. A cleansing task may be a sweeping, mopping, washing and/or vacuuming of a floor or other surface and/or a disinfecting of a surface. Thus, the robot may comprise one or more sensors 128 for determining this parameter or multiple parameters of the operation of the cleansing means 124. This documentation may be used for determining whether the task has been completed or not.

    [0162] Similarly, if the task is a disinfection of a surface, the intensity or quality of the disinfection may be monitored and compared to set parameters. The intensity may be that of disinfecting radiation or the amount of dispensed disinfecting fluid and/or the speed of movement of the robot vis-à-vis the surface.

    [0163] Another parameter may relate to the operation of the robot. In one situation, where the task is a scrubbing of a floor, a parameter may be set for a force exerted on the floor by the scrub deck. A too low force may not clean the surface sufficiently, and a too large force may wear the floor unnecessarily. Thus, this force may be determined using a sensor and logged. If the parameter setting is not observed during the performing of the task, the task may be seen as not completed.

    [0164] The robot preferably is self-propelled in a manner so that it may perform the tasks without human intervention. Additionally, it may be desired that the robot is so intelligent that it may not only perform the tasks required but may deviate from tasks or even re-arrange their order. The robot may comprise sensors 122 allowing the robot to move autonomously such as by detecting obstacles and/or being able to navigate in a space, such as on the basis of a map of the space, as is known.

    [0165] The robot, or the controller 126, may be configured to communicate with an external controller 13, from where a list of one or more tasks, which may be called a service schedule, may be received together with, if desired, particular parameters for one or more tasks as described above.

    [0166] The robot may then perform the tasks in the determined order. The robot or controller may log its performance and the progress with individual tasks, such as sensor data or parameters determined during the performing of individual tasks.

    [0167] The robot may then determine if a task is completed or not. Alternatively, the data may be fed to the controller 13 which may perform that determination. If the robot determines that a task cannot be completed, such as if the robot is blocked or otherwise prevented from performing or completing a task, the robot may feed such information, such as the information it bases this determination on, to the controller 13.

    [0168] The controller 13 or the controller 126 may in some circumstances re-arrange any remaining tasks in order to have as many tasks performed as possible. For each task, one or more parameters may be defined, according to which the tasks are to be performed. Such parameters may be time or consumption of a consumable, so that the sequence of the remaining tasks may be defined according to the time at which each task may be initiated, must be finalized, or the like. Some tasks may be acceptably performed later than others, for example, so that a rearranging may be desirable. Also, one of the controllers may direct the robot to perform a task which was earlier not completed.

    [0169] Tasks may be rather different from each other. One task may be a cleansing action and another task may be a charging of the robot. Thus, if more energy has been spent than expected, the charging task may be moved forward in time to allow the robot to charge sufficiently so that the remainder of the tasks may be performed. A task may also be an emptying of a waste container, restocking of cleansing fluid or the like.

    [0170] In a particular example, the robot may further comprise operator engaging means 127 for a human operator to engage and control the robot. The robot may comprise a surface for an operator to stand or sit on and handles for the operator to hold and for use to guide the robot. Thus, an operator may engage such means and thereby overrule the operation of the robot. This will also prevent the robot from performing the task at hand or the next task. The operation may then control the robot to perform e.g. an urgent task and may then release the robot for the robot to revert to the remaining tasks. The robot will then output information as to the operator's overriding as information relating to the task which the robot was prevented from performing. Clearly, alternatively, the robot may be remote controllable, whereby the overriding may again be determined and logged.

    [0171] The robot may continuously monitor its performance and how far it has gotten in the service schedule. The robot may use this information for adapting the service schedule. For example, a period of time may be estimated for the performing and completing of a task. However, sometimes the robot may be swifter, such as if less obstacles are in the way or if the surface is cleaner than expected. In other situations, the robot may have to operate more slowly, so that more time is used.

    [0172] The robot may monitor this and rearrange the remaining tasks in accordance therewith. If the robot is ahead of schedule, it may bring a task later in the order to be performed earlier, if this, for example, does not delay the tasks formerly scheduled prior to that task too much. If the robot is running late, a task may be selected and removed from the service schedule or order or it may be postponed to later in the order.

    [0173] Also, the robot may monitor a present state of a consumable, such as power, cleaning fluid, waste space or the like. If the expenditure thereof is more than expected, the robot may have to revert to a replenishment station 19 for replenishment of the consumable. The robot may then select one or more tasks which are to be performed in areas on the route to the replenishment station and which may be performed within the consumable yet available. Then, the order is rearranged to put such tasks earlier in the order, so that the robot will perform these tasks and thus approach the replenishment station. The robot may then replenish the consumable and revert to the remaining tasks.

    [0174] Alternatively, or additionally, the robot may receive other information from the external controller 13, such as updated parameters of tasks or information identifying tasks to no longer be performed or tasks which are to be delayed or performed more urgently.

    [0175] In one example, the external controller has access to a room booking system of a hotel. Rooms are often booked and unbooked, so that the occupancy of a room may change swiftly. The same is the situation for meeting rooms, conference rooms and the like. Thus, if a task relates to a room, the booking situation of which changes, the robot may be informed accordingly. In an airport, airplane delays and gate changes will also greatly affect the occupancy of different areas in the airport.

    [0176] If the room becomes booked but requires cleaning, the robot may be informed of the booking and the task may be provided with a time interval parameter indicating that the room must be cleaned within a short time period. The robot may then rearrange the tasks and put this new task ahead of or early in the order of tasks. If the cleaning of the room was already a task, the reordering would be to move that task to earlier in the order.

    [0177] Alternatively, if a task is vacuuming of a lobby and the weather report indicates immediate rain, this task may be postponed until after the rain has stopped to allow the lobby floor to dry out before vacuuming.

    [0178] Correspondingly, if a room is unbooked, swift cleaning thereof may not be required. The robot may receive information indicating that that task may be performed within a later or longer time period or need not be performed at all. Then, the robot may decide to reorder the tasks and move that task to further down in the order, or the task may be removed altogether.

    [0179] Other types of information may relate to occupancy or other parameters making the performance of a task more difficult, time consuming or not desired. If a room is occupied with many people or other obstacles, the robot may receive such information and then postpone or avoid performing that task. If a room or space becomes vacant before expected, the robot may on the other hand decide to clean it earlier

    [0180] Then, in general, the external processor may be another system of the area or scene, such as a hotel, an airport, a super market or the like, which may comprise information relating to occupancy, degree of cleaning required, or the like of individual areas or portions each related to a task, whereby the robot may adapt its order of tasks to such updated information.

    [0181] It is noted that some tasks may be transport tasks and others may relate to other operations, such as cleaning. Thus, when a cleaning task has been completed, a transport task may be performed bringing the robot to a portion or area where a next cleaning task is to be performed. Different tasks may then be connected to different parameters. A transport task may be represented by a time estimate and a power consumption where a cleaning task may be represented by a time estimate, a power consumption and a consumption of one or more consumables. Then, information may be received relating to a transport task, such as that the path in question may be blocked or otherwise not desired used. The robot may then decide to either perform another task bringing the robot, such as along a different route, to the next cleaning task, or the robot may decide to rearrange tasks and thus perform also the cleaning tasks in another order. Bringing the robot to the beforementioned cleaning task may take too long or may require too much power, so that the robot may rearrange the tasks and thus postpone the beforementioned cleaning task until later.

    [0182] Various embodiments of systems, devices, and methods have been described herein. These embodiments are given only by way of example and are not intended to limit the scope of the claimed inventions. It should be appreciated, moreover, that the various features of the embodiments that have been described may be combined in various ways to produce numerous additional embodiments. Moreover, while various materials, dimensions, shapes, configurations and locations, etc. have been described for use with disclosed embodiments, others besides those disclosed may be utilized without exceeding the scope of the claimed inventions.

    [0183] Persons of ordinary skill in the relevant arts will recognize that the subject matter hereof may comprise fewer features than illustrated in any individual embodiment described above. The embodiments described herein are not meant to be an exhaustive presentation of the ways in which the various features of the subject matter hereof may be combined. Accordingly, the embodiments are not mutually exclusive combinations of features; rather, the various embodiments can comprise a combination of different individual features selected from different individual embodiments, as understood by persons of ordinary skill in the art. Moreover, elements described with respect to one embodiment can be implemented in other embodiments even when not described in such embodiments unless otherwise noted.

    [0184] Although a dependent claim may refer in the claims to a specific combination with one or more other claims, other embodiments can also include a combination of the dependent claim with the subject matter of each other dependent claim or a combination of one or more features with other dependent or independent claims. Such combinations are proposed herein unless it is stated that a specific combination is not intended.

    [0185] Any incorporation by reference of documents above is limited such that no subject matter is incorporated that is contrary to the explicit disclosure herein. Any incorporation by reference of documents above is further limited such that no claims included in the documents are incorporated by reference herein. Any incorporation by reference of documents above is yet further limited such that any definitions provided in the documents are not incorporated by reference herein unless expressly included herein.

    [0186] For purposes of interpreting the claims, it is expressly intended that the provisions of 35 U.S.C. § 112(f) are not to be invoked unless the specific terms “means for” or “step for” are recited in a claim.

    [0187] In one or more examples, the described techniques may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include non-transitory computer-readable media, which corresponds to a tangible medium such as data storage media (e.g., RAM, ROM, EEPROM, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer).

    [0188] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor” as used herein may refer to any of the foregoing structure or any other physical structure suitable for implementation of the described techniques. Also, the techniques could be fully implemented in one or more circuits or logic elements.