REMOTE CONTROL SCHEDULER AND METHOD FOR AUTONOMOUS ROBOTIC DEVICE

20170113354 ยท 2017-04-27

    Inventors

    Cpc classification

    International classification

    Abstract

    A method of scheduling a robotic device enables the device to run autonomously based on previously loaded scheduling information. The method consists of a communication device, such as a hand-held remote device, that can directly control the robotic device, or load scheduling information into the robotic device such that it will carry out a defined task at the desired time without the need for farther external control. The communication device can also be configured to load a scheduling application program into an existing robotic device, such that the robotic device can receive and implement scheduling information from a user.

    Claims

    1-33. (canceled)

    34. A robotic system comprising: a stationary charging device; an autonomous cleaning robot including a vacuum system, the autonomous cleaning robot configured to initiate, according to scheduling information, a cleaning operation in which the autonomous cleaning robot autonomously navigates about a floor surface to clean the floor surface, and initiate a docking operation in which the autonomous cleaning robot autonomously returns to the stationary charging device; a user operable remote device operable to cause the remote device to wirelessly transmit, to the autonomous cleaning robot, control information to specify a power level at which the autonomous cleaning robot performs the cleaning operation.

    35. The robotic system of claim 34, wherein the stationary charging device stores the scheduling information.

    36. The robotic system of claim 34, wherein the scheduling information is indicative of a future time at which the autonomous cleaning robot initiates the cleaning operation.

    37. The robotic system of claim 34, wherein the stationary charging device includes a transmitter to send an infrared signal along a designated path, and the autonomous cleaning robot is configured change movement direction based on sensing the infrared signal.

    38. The robotic system of claim 34, wherein the control information includes drive information to move the autonomous cleaning robot forward, left, right, or backward.

    39. The robotic system of claim 34, wherein the control information includes a command to initiate a spot cleaning operation to clean a spot on the floor surface.

    40. The robotic system of claim 34, wherein the control information includes a command to initiate the docking operation in which the autonomous cleaning robot returns to the stationary charging device to dock at the stationary charging device.

    41. The robotic system of claim 34, wherein the control information includes a command to initiate stopping of the cleaning operation.

    42. The robotic system of claim 34, wherein the control information is indicative of a length of time for which the autonomous cleaning robot performs the cleaning operation.

    43. The robotic system of claim 34, wherein the user operable remote device comprises user input buttons operable to cause the user operable remote device to transmit the control information to specify the power level at which the autonomous cleaning robot performs the cleaning operation.

    44. The robotic system of claim 34, wherein the user operable remote device is a hand-held remote device separate from the autonomous cleaning robot and separate from the stationary charging device.

    45. A method of controlling operations of an autonomous cleaning robot, the method comprising: wirelessly receiving a command to initiate a cleaning operation; initiating departure from a stationary charging device at which the autonomously cleaning robot is docked and navigating about a floor surface to clean the floor surface in accordance to the command to initiate the cleaning operation; wirelessly receiving control information to control the cleaning operation, the control information indicative of a power level at which the autonomous cleaning robot performs the cleaning operation; and adjusting the power level for performing the cleaning operation in accordance to the control information indicative of the power level.

    46. The method of claim 45, further comprising: wirelessly receiving drive information to move the autonomous cleaning robot forward, left, right, or backward; and initiating movement of the autonomous cleaning robot in accordance to the drive information.

    47. The method of claim 45, further comprising: wirelessly receiving a command to initiate a docking operation; initiating one or more docking operations to return the autonomous cleaning robot to the stationary charging device.

    48. The method of claim 45, further comprising: wirelessly receiving a command to initiate stopping of the cleaning operation; and initiating stopping of the cleaning operation in accordance to the received command.

    49. The method of claim 45, further comprising: wirelessly receiving control information indicative of a length of time for which the autonomous cleaning robot performs the cleaning operation; and performing the cleaning operation in accordance to the control information indicative of the length of time.

    50. The method of claim 45, wherein the command to initiate the cleaning operation is received in response to a hand-held remote device being operated.

    51. The method of claim 50, wherein the control information is received in response to the hand-held remote device being operated.

    52. The method of claim 45, further comprising: wirelessly receiving a command to initiate a spot cleaning operation; and initiating the spot cleaning operation to clean a spot on the floor surface.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0023] The objects and features of the invention can be better understood with reference to the drawings described below, and the claims. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the drawings, like numerals are used to indicate like parts throughout the various views.

    [0024] FIG. 1 is a block diagram showing one configuration of the communication device and robotic device system, in accordance with one embodiment of the invention.

    [0025] FIG. 2A is a schematic front-end view of the communication device and/or configuration tool, in accordance with one embodiment of the invention.

    [0026] FIG. 2B is a schematic top view of the communication device of FIG. 2A.

    [0027] FIG. 2C is a schematic left-side view of the communication device of FIG. 2A.

    [0028] FIG. 2D is a schematic right-side view of the communication device of FIG. 2A.

    [0029] FIG. 2E is a schematic rear-end view of the communication device of FIG. 2A.

    [0030] FIG. 3 is a schematic perspective view of the communication device and/or configuration tool with an open front cover, in accordance with one embodiment of the invention.

    [0031] FIG. 4 is a schematic display for a communication device and/or configuration tool, in accordance with one embodiment of the invention.

    [0032] FIG. 5 is a schematic top view of a communication device and/or configuration tool with the display of FIG. 4, in accordance with one embodiment of the invention.

    [0033] FIG. 6A is a schematic diagram illustrating a communication device in wireless communication with mobile and stationary robotic devices, in accordance with one embodiment of the invention.

    [0034] FIG. 6B is a schematic diagram illustrating a communication device in communication, through a communication port and cable, with a mobile robotic device, in accordance with one embodiment of the invention.

    [0035] FIG. 6C is a schematic diagram illustrating a communication device in direct physical communication with a mobile robotic device, in accordance with one embodiment of the invention.

    [0036] FIG. 7 is a block diagram featuring a method for implementing and using a system including a robotic device and a communication device, in accordance with one embodiment of the invention.

    DETAILED DESCRIPTION

    [0037] The invention provides a method and apparatus for configuring a robotic device to run autonomously according to stored scheduling information. The apparatus includes a communication device that can be used to directly control a function of the robotic device. For example, the communication device can be used to provide directional control to a mobile robotic device such as a cleaning robot. The communication device can also be used to load configuration information, such as a scheduling application program, into the robotic device, such that the robotic device can run autonomously without further user input upon storing user define scheduling information. This scheduling information can also be communicated to the robotic device via the communication device.

    [0038] FIG. 1 is a block diagram showing one possible configuration of a combined scheduling tool and communication device 10. In this configuration, a single communication device 12 is adapted and configured to carry out multiple tasks related to the scheduling and control of a robotic device. Firstly, the communication device 12 can be linked with a robotic device in order to download configuration information 14 into the robotic device. This configuration information 14 may include a new application program to enable the robotic device to carry out new tasks, or be adapted to enhance the tasks it can already perform. For example, the configuration information 14 can include a scheduling application program 20, to enable the robotic device to carry out a set task at a set time. The task to be performed and time at which it is to be performed can be downloaded with the application program or communicated at a later date through the communication device 12, based on the requirements of the user. The application can also configure the robotic device to receive signals remotely from the communication device 12 in order to enable user defined scheduling.

    [0039] In one embodiment of the device, this configuration information 14 can be sent through a wireless connection with the robotic device, with the information sent by infrared (IR), radio frequency (RF), or other appropriate signal. In alternative embodiments, the scheduling information could be sent through communication ports linked by a cable (for example a USB or serial port link), or even by a direct physical connection between the communication device 12 and the robotic device. For a direct communication, a male connector (e.g. USB, serial port or other appropriate connection element) on one device mates directly with a female connector on the other device. In further alternative embodiments, the direct communication can include a docking station on the robotic device, such that the communication device can be removeably attached to the robotic device, thus allowing the communication device to act as a direct user interface between a user and the robotic device.

    [0040] The configuration information 12 can also include information 22 for upgrading the existing capabilities of the robotic device or reprogramming the device to carry out new tasks. This upgrading information 22 can include, but is not limited to, new versions of the software installed in the robotic device, diagnostic information to check the status of the robotic device, and programs to allow the robotic device to send information to the communication device (either prompted by the user or upon the occurrence of a certain event). Further upgrading or reprogramming information 22 can include programs and applications allowing the robotic device to carry out completely new tasks (such as, but not limited to, working as a toy, security device, or searching device for lost objects) or learning programs and applications allowing the robotic device to adapt its own programming based on information gained through carrying out specified tasks. These learning programs can, for example, allow a mobile robotic device 26 to map out a room and remember where the objects in the room are placed, or adapt its scheduling based on prior patterns of user behavior.

    [0041] The communication device 12 can also be configured to communicate scheduling information 16 to a robotic device. In one embodiment, this scheduling information 16 is sent through a wireless connection between the communication device 12 and the robotic device, although again in alternative embodiments, communication ports providing a wired link (such as a USB or serial port link), or a direct physical connection can be used. The scheduling information can be communicated to both a stationary robotic device 24, or a mobile robotic device 26. The mobile robotic device 26 can, for example, be a cleaning robot such as the Roomba brand floor vacuum sweeper available from iRobot Corporation, Burlington, Mass. The stationary robotic device 24 can, for example, be a portable barrier signal transmitter designed to send an IR beam along a designated path. The mobile robotic device 26 can be configured to change direction upon encountering this signal, thus the IR beam from the portable barrier signal transmitter acts as a virtual wall for the mobile robotic device (see U.S. Pat. No. 6,690,134, incorporated herein by reference in its entirety). The stationary robotic device 24 can also be a docking station, home-base, or charging device for the robotic device.

    [0042] In one embodiment of the invention, scheduling information 16 can be input into the communication device 12 through a user interface of the device 12. This information can then be communicated to a stationary 24 or mobile 26 robotic device through a wireless connection between the communication device 12 and the robotic device. The robotic device stores this information and runs according to the stored scheduling information 16 without the need for any other input from a user, controller or communication device 12. Changes in the scheduling information 16 stored in the robotic device can be made by simply inputting new scheduling information 16 into the communication device 12 and communicating it to the robotic device. In an alternative embodiment, a further step, such as but not limited to clearing the stored scheduling information 16 from the robotic device's memory or inputting a code (either into the communication device 12 or directly into the robotic device), may be required before new scheduling information 16 can be loaded into the robotic device.

    [0043] In one embodiment of the invention, the robotic device can be configured to provide a visual or audio signal upon the completion of a transfer of configuration or scheduling information. In an alternative embodiment, a return signal can be sent from the robotic device to the communication device 12 upon the successful completion of an information transfer. The robotic device can also be configured to illuminate a status light on either device if and when a scheduling program is stored in the memory.

    [0044] The scheduling information 16 can include, but not be limited to, the date, day and time at which the robotic device operates, and may also include other information such as the length of time the robotic device should operate during a scheduled event, the mission or task it should carry out for each scheduled operation, and the number of missions or tasks it should carry out during a scheduled operation. The scheduling information can also include more complex calendar based information, such that the robotic device may be able to adjust its start time based on the time of year (for example due to time differences for daylight savings time or for the available hours of daylight), or adjust its schedule for holidays.

    [0045] A robotic device can be configured or programmed to run a number of separate programs. For example, a mobile cleaning robot can be configured to clean different areas of a room or building, clean a particular spot on a floor, clean at varying power levels between a minimum to a maximum setting, return to a docking station when power drops to a specific level or the dirt compartment is full, or carry out other specific tasks. Using the scheduling information 16, the missions or tasks that the robotic device carries out can then be tailored to a user's requirements, for example by only carrying out a high power cleaning mission at times when nobody is in the house, In one embodiment of the invention, a stationary robotic device 24, such as a portable barrier signal transmitter, can be scheduled to operate at the same time as a mobile cleaning robot, thus saving power. Alternatively, the stationary robotic device 24 may only turn on during some scheduled operations depending on whether a user want to clean the area potentially blocked by the portable barrier signal transmitter or not.

    [0046] In one embodiment, the communication device 12 can also be used to provide direct control information 18 to a robotic device, based on a user input. This can involve directly driving a function of a robotic device 28, or initiating the robotic device to carry out a preprogrammed mission or task 30. In one embodiment of the invention, the communication device 12 includes a user input, or a number of inputs, such as, but not limited to, switches, a joystick, buttons, a touch sensitive pad, and a roller-ball. Using one of, or a combination of, these user inputs, a user can command the robot to carry out a specific movement or action immediately. For example, the driving information 28 may include, but not be limited to, commands to make a moveable robotic device turn left, turn right, move forward, and move backward. In the specific embodiment of a mobile cleaning robot, the driving information 28 may also include such commands as start and stop cleaning, or clean at a specific power level.

    [0047] The driving information 28 may also include commands to carry out pre-programmed missions, tasks or actions. For example, the communication device 12 can include buttons or other user inputs that command a robotic device to specific task when the user input is enabled. For a mobile cleaning robot, these task commands 30 could include cleaning a specific spot, carrying out a specified cleaning mission, cleaning at a specific power level, stop and power down, power up, or return to a docking station.

    [0048] FIGS. 2A-2E show five views of an example of a particular communication device 40. FIG. 2A shows a front-end view of the communication device 40, showing a wireless communication port 42, allowing the communication device 40 to communicate remotely, using for example IR signals, with a robotic device or other electronic device. The wireless communication port 42 can be used to provide configuration, scheduling, and control information to a robotic device, and optionally also receive information from a robotic or other device.

    [0049] In one embodiment of the invention, the communication device can be configured to receive a range of information from a robotic device. In the case of a robotic cleaning device, this information can include, but not be limited to, receiving power level or dirt compartment level status reports, error reports, information on when filters, sensors or brushes need to be cleaned, dirt alerts when a dirty area of floor is detected, or mission status reports (e.g. mission completed/abandoned/battery depleted, etc.)

    [0050] FIG. 2B shows a top or plan view of the communication device 40. The communication device 40 includes a number of user input devices, including a button 44, a set of buttons 48, and a second set of buttons 50. Each of these buttons (i.e., switches) can be configured to input different information into the communication device 40, or provide different information to a robotic device. In one embodiment of the invention, the function of these buttons can differ when a front cover or flip lid 54 is in either an open or closed position. In this embodiment, with the front cover 54 open, the buttons can be used to input and store scheduling or other information into the communication device 40, while with the lid 54 closed the buttons can be used to communicate with a robotic device and provide configuration, scheduling, and control information to the robotic device.

    [0051] In one embodiment, button 44 could be used to initiate the communication of configuration or scheduling information to a robotic device, control a specific task of the robotic device (such as initiating docking), or turn the robotic device, or the communication device 40, on and off. Buttons 48 can be used to provide input information into the communication device 40 when setting up scheduling information, enable the loading of specific configuration information into a robotic device, or control a specific mission, task or action of the robotic device. Buttons 50 may be used to input scheduling information into the communication device 40, enable the loading of configuration or scheduling information into a robotic device, and control a specific action of the robotic device. In one embodiment of the invention the buttons 50 could be used to control directly the movement of a cleaning robot, with the three buttons assigned to turning left, turning right, and moving forward. In an alternative embodiment, one or other of the buttons can also be used to lock the robotic device in a certain mode of operation, or in an off setting.

    [0052] The communication device shown in FIG. 2B also includes a display 46. This display 46 can for example be a liquid crystal display (LCD), allowing the user to see the information being inputted into the communication device 40, showing which configuration information, scheduling information or control information a robotic device is being sent, or for showing information sent from the robotic device to the communication device 40.

    [0053] FIG. 2C shows a left-side view of the communication device 40. This view shows the side of the flip lid 54 when the lid is closed. This front cover 54 can be used to, but not limited to, change the functions of the user inputs, show or hide portions of the display 46, uncover other hidden user inputs, or uncover instructions for the use of the device. Indentations 58 below the edge of the front cover 54 are included to allow for easy opening of the cover 54 by a user. The casing 56 or the communication device 40 can be made of either metal or plastic, and can include a removable cover to allow access to a battery compartment (not shown).

    [0054] FIG. 2D shows a right-side view of the communication device 40. This view includes a communication port 52 to allow the communication device 40 to connect to another device for uploading and downloading information, such as, but not limited to, authenticating information, configuration information, scheduling information, control information, and technical information. The communication port 52 can be, but is not limited to, a serial port, a parallel port, a USB port, an IEEE 1394 Firewire port, a PS/2 port, a modern port, or an Ethernet network port.

    [0055] FIG. 2D shows a rear-end view of the communication device 40. In one embodiment of the invention, the communication device 40 of FIGS. 2A-2E is sized and shaped to fit in a users hand, and can be used in the same manner as a television or video remote control. In an alternative embodiment of the invention, other user input devices can be used as a communication device 40 to communicate with a robotic device. Such alternative devices include, but are not limited to, another hand-held remote device, a stationary remote communication device with user interface, a PC, a laptop computer, and a wireless communication device, such as a mobile phone or personal digital assistant (PDA).

    [0056] FIG. 3 is a schematic view of the communication device 40 of FIGS. 2A-2E with an open front cover 54. As previously discussed, the opening of the front cover 54 can be used to, amongst other things, uncover hidden user inputs, change the function of certain user inputs, uncover a portion of the display 46, enable certain locked functions of the communication device 40, or uncover instructions printed on the inside of the cover 54.

    [0057] FIG. 4 is a image of an example display 60 for a communication device. This display 60 includes a day of the week indicator 62, a schedule frequency indicator 64, indicating whether a specific scheduling task is to be performed once or repeatedly on a weekly basis, and time indicators showing whether a scheduled task is to be performed in the am or pm 66, and at what specific time 68. The display 60 also includes a power indicator 70 and a signal indicator 72 that can indicate when a signal is being communicated from or to the communication device. A further indicator 74 can be used to display additional information, such as, but not limited to, the number of the scheduled task, the type of task to be performed, and the status of a device.

    [0058] In alternative embodiments of the invention, the display 60 could also be configured to show such things as options for the type of configuration information that can be communicated, the range and type of scheduling information available for a given robotic device, and previously transmitted scheduling information. A display 60 can also be configured to show information received from a robotic device, as discussed above.

    [0059] FIG. 5 shows an image of a communication device 80 with the display 60, in accordance with one embodiment of the invention. This configuration conforms generally with the communication device 40 shown in FIGS. 2A-2E and FIG. 3, with the user inputs assigned specific tasks. In this configuration, button 82 is an on/off switch, button 84 enables a new scheduling program or saves an inputted scheduling program, button 86 deletes inputted information, and button 88 enables the communication device 80 to send scheduling information to a robotic device. Further user inputs are configured to provide direct control commands to a mobile robotic device, with button 90 providing a move forward command, button 92 providing a turn left command, and button 94 providing a turn right command to the robotic device. The display 60 unit embedded in the communication device 80 conforms generally with that of FIG. 4.

    [0060] FIGS. 6A-6C show various means of linking a communication device with a stationary or mobile robotic device. In the system configuration 100 shown in FIG. 6A, a communication device 102 is configured to communicate through a wireless connection with either or both of a mobile robotic device 104 and a stationary robotic device 106. In one embodiment, the wireless link consists of an IR signal 108, which can be sent from the communication device 102 to the mobile 104 and stationary 106 robotic devices. In this configuration, further IR signals 108 can be sent from the robotic devices to the communication device 102, as indicated by the arrows 110. In this system, configuration, scheduling, and control information can be communicated from the communication device 102 to the mobile 104 and stationary 106 robotic devices, while information such as, but not limited to, status reports and error reports can be communicated back to the communication device 102 from the robotic devices. In alternative embodiments, the communication device 102 can communicate information to a single mobile 104 or stationary 106 robotic device, that can then send the communicated information to further devices directly, without the need for additional linking to the communication device 102. In this configuration, multiple mobile 104 or stationary 106 robotic devices can be configured, scheduled, and/or controlled through a link with only a single robotic device.

    [0061] In the system configuration 120 shown in FIG. 6B, a mobile robotic device 104 is linked to a communication device 102 through a cable 122. The cable connects both devices through communication ports located on each device. These ports can be a serial port, parallel ports, USB ports, IEEE 1394 Firewire ports, PS/2 ports, modem ports, Ethernet network ports, or other appropriate communication ports. In one embodiment of this system configuration 120, the cable connection 122 can be used to quickly load configuration information into a mobile robotic device 104. This system configuration 120 can also be used to load configuration information into a stationary robotic device 106. This configuration information can be used to either enable a new scheduling function on the robotic device, or upgrade or reprogram existing functions of the robotic device, as discussed above. After the configuration information has been loaded through the cable 122, the cable 122 can be removed. Further scheduling information and control information can then be communicated to the robotic device using a wireless connection, as shown in system configuration 100 and FIG. 6A.

    [0062] In the system configuration 130 shown in FIG. 6C, a mobile robotic device 104 is linked to a communication device 102 through a direct connection 132. This direct connection can consist of a male connection port on the communication device 102, that mates directly to a female connection port on the mobile robotic device 104. Again, this system configuration 130 can also be used to link the communication device 102 to a stationary robotic device 106. As in system configuration 120, shown in FIG. 6B, this system configuration can be used to load configuration information into a robotic device, after which scheduling or control information can be communicated to the robotic device through the wireless communication configuration 100 shown in FIG. 6A. In one embodiment of the invention, the male connection port on the communication device 102 can retract or fold into the communication device 102 when not in use.

    [0063] FIG. 7 shows a block diagram featuring one method 140 for implementing and using a system including a robotic device and a communication device. In this method 140, a single communication device can be used to provide configuring, scheduling, and control information to a robotic device.

    [0064] For a robotic device without a pre-installed scheduling application program, or a robotic device needing reprogramming or upgrading, the communication device can be used to load the required configuration information into the robotic device. This requires first linking 142 the communication device to the robotic device, either through a wireless connection, communication port, or direct connection. Upon optional authentication of the link using an authenticator (e.g., by hardware or software based systems), the desired configuration information can be loaded 144 into the robotic device, at which time it is stored 146 in memory of the robotic device. After this has been completed, the robotic device is ready for use 148. For robotic devices that have already been configured, steps 142, 144, and 146 are not necessary.

    [0065] Once the robotic device and communication device are ready for use 148, the communication device can be used to provide scheduling information or direct control information to the robotic device. In one embodiment, this information is communicated through a wireless link, although a communication port link or direct link is also possible.

    [0066] For enabling the robotic device to run according to a user defined schedule, the scheduling information is first entered into the communication device 150. The communication device can then be linked 152 to the robotic device and, upon optional authentication of this link, the scheduling information can be loaded 154 into the robotic device and stored 156 in the device's memory. The robotic device is then free to run autonomously 158, based on this stored scheduling information. Depending on the schedule, the robotic device can start immediately or at a future time.

    [0067] As well as providing scheduling information to a robotic device, the communication device can also directly control one or more function of the robotic device. Again, with the communication device and robotic device ready for use 148, a link can be formed 160 between the communication device and robotic device. Once the link has been authenticated, control information entered 162 into the communication device is received 164 immediately by the robotic device, which then operates 166 according to the user inputted control information.

    [0068] The scheduling and control functions can run independently, such that the robotic device can be controlled by the user even when the robotic device is not scheduled to run, and alternatively run a scheduled mission without any need for control information. In one embodiment of the invention, the control function can be configured to overrule the scheduling function, so that during a scheduled event a user can take direct control of the robotic device without waiting until the scheduled task is completed. In an alternative embodiment, the scheduling function can be set as the dominant function, and thus upon the start of a scheduled task overrule any direct user control information being communicated at that time.

    [0069] It should be noted that these functions can at any time be modified or updated by downloading new configuration information into the robotic device. In one embodiment of the invention the communication device can also be configured, updated or reprogrammed by linking the communication device to another device, such as but not limited to a PC, laptop, or other programming or diagnostic tool. As a result, both the communication device and the robotic device can be constantly updated to meet the requirements of the user and advancements developed by the system manufacturers or suppliers.

    [0070] The invention may be embodied in other specific forms without departing form the spirit or essential characteristics thereof. The foregoing embodiments, therefore, are to be considered in all respects illustrative rather than limiting the invention described herein. Scope of the invention is thus indicated by the appended claims, rather than by the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are intended to be embraced therein.