fig1 a shows a house 40 having a roof 45 supported by walls 43 . the roof 45 is sloped and includes tar shingles , cedar shakes , or another roof - building material . a rain gutter 51 is disposed along the eaves of the roof 45 . also , a drain spout 52 drains water from the gutter 51 via a hole in the bottom of the gutter 51 . as rain or other water falls on the roof 45 , the rainwater slides down to the eaves where it collects in the gutter 51 and flows down through the drain spout 52 . another example of a roof having a rain gutter is shown in fig1 b , in which the rain gutter 51 includes a corner 53 where two straight sections are joined . debris 91 also collects in the gutter 51 , and includes material such as silt , leaves , branches , and other detritus . fig2 illustrates a gutter cleaning robot 10 traversing the gutter 51 . as the gutter cleaning robot 10 moves forward through the gutter 51 , the gutter cleaning robot 10 ejects debris 91 out from the gutter 51 . in accordance with a first embodiment , fig2 shows a gutter cleaning robot 10 for traversing the gutter 51 and clearing debris 91 . the gutter cleaning robot 10 includes a main body 101 onto which rear drive wheels 175 are disposed , as well as two front wheels 176 . a drive motor 170 , such as a dc brushed or brushless motor with encoders , provides motivating force to rotate the rear wheels 175 , which may preferably be aligned in an oblique orientation so as to contact the interior side walls of the gutter 51 rather than only the bottom interior surface thereof . the power output of the drive motor 170 may be transmitted directly to the treads 179 or wheels 175 ; or , alternatively , a reducing mechanical transmission may be interposed between the drive motor 170 and the treads 179 or wheels 175 . the gutter cleaning robot 10 also includes a detachable debris auger 350 for agitating or moving the debris 91 . the debris auger 350 is connected to a debris auger motor 160 within the main body 101 via a debris auger shaft 163 . the drive motor 170 and debris auger motor 160 are preferably controlled by an electronic controller having a memory store for storing computer instructions for controlling the drive motor 170 and / or the auger motor 160 . in a preferred embodiment , a microcontroller serves as the electronic controller ; or , in a possible alternative embodiment , the microcontroller may be a microprocessor . as a further alternative , the electronic controller may include a pla or fpga device . the gutter shown in fig1 c illustrates four common kinds of rain gutter hanging arrangements in which straps or braces are used . the inside hanger method employs straps 1101 spanning the width of the rain gutter 51 , in which screws or nails go through the strap from inside the gutter into a fascia board at the edge of the roof . the outside hanger method uses outside hangers 1102 a , 1102 b mounted to the fascia board behind the rain gutter 51 , and the rain gutter 51 is disposed on the outside hangers 1102 a , 1102 b . in the strap hanger method , straps 1103 are nailed under shingles into the roof sheathing . the spike and ferrule method uses spikes 1104 driven through the rain gutter 51 into the fascia board , in which ferrules are used to maintain the appropriate width of the gutter trough and to prevent the spikes 1104 from pulling against or distorting the rain gutter 51 . in each of the above - noted gutter hanging arrangements , a strap or spike crosses the trough of the gutter transversely , and presents a possible obstacle to any gutter cleaning robot 10 moving along the through of the rain gutter 51 . accordingly , in a preferred embodiment , the gutter cleaning robot 10 has an overall height profile that is low enough to afford sufficient clearance between the topmost part of the gutter cleaning robot 10 and the straps or spikes that cross over the trough of the rain gutter 51 . as illustrated in fig1 d , for example , a gutter cleaning robot 10 includes a detachable handle 180 and caterpillar treads 179 that are disposed so as to permit the gutter cleaning robot 10 to pass underneath spikes 1104 that support the rain gutter 51 . another example of a gutter cleaning robot 10 including a detachable handle 180 is illustrated in fig2 . the detachable handle 180 facilitates handling and transportation of the gutter cleaning robot 10 by a user , and may be removed when the gutter cleaning robot 10 is operated in a rain gutter 51 having low overhead clearance . the detachable handle 180 may be fastened to the chassis 101 using a latch , wingnuts , magnets , velcro , or any other fastening arrangement suitable to permit attachment and removal of the detachable handle 180 to the gutter cleaning robot 10 . many rain gutters 51 have either a round trough bottom or a substantially flat trough bottom . rain gutters for residential housing typically have a width of between four to six inches , with the typical k - style gutter being five inches wide and the typical half - round gutter being six inches wide ; thus , typical widths for rain gutters 51 may range between three to seven inches . the depth of many installed rain gutters 51 is approximately 75 % the width of the rain gutter , and rain gutter depths typically range between about 60 % to 90 % of the width of the rain gutter . drain spouts commonly installed to rain gutters typically have 2 × 3 ″, 3 × 4 ″ or 4 × 5 ″ rectangular cross - sections , and the rain gutters generally have rectangular holes of similar shape where they interface with the drain spouts . the gutter cleaning robot 10 preferably has a width and caterpillar tread arrangement ( or wheel , or other drive system ) suitable to traverse rectangular hole of at least about three inches by four inches . the gutter cleaning robot 10 may alternatively have a width and drive system placement suitable to traverse holes having a width in the range of about two to five inches , and / or a length in the range of about two to six inches . many installed rain gutters 51 can support up to about 50 pounds per lineal foot . accordingly , the gutter cleaning robot 10 preferably has a weight sufficiently low so as to be supported by the weight load capacity of common rain gutters , taking into account the weight of a typical load of debris 91 . fig3 a shows a rear aspect view of the gutter cleaning robot 10 . in this example , the debris auger 350 has flaps , the end portions of which extend beyond the outer perimeter of the main body 101 and are thus visible . also , fig3 b shows a front aspect view of the gutter cleaning robot 10 . because the gutter cleaning robot 10 may be required to traverse both flat - bottom rain gutters and round - bottom rain gutters , in a preferred embodiment the gutter cleaning robot 10 has a longitudinal cross - section having a substantially rounded bottom and a substantially flattened top , as illustrated in fig5 or fig2 ( as non - limiting examples ), in order to facilitate movement along either round - bottom or flat - bottom rain gutters while affording sufficient overhead clearance to permit the gutter cleaning robot 10 to pass underneath obstacles such as support braces . alternatively , the gutter cleaning robot 10 may have other types of longitudinal cross - section outline such as a cylinder , rectangle , or other polygonal shape . fig4 illustrates an embodiment of a gutter cleaning robot 10 having caterpillar treads 179 as a traction drive and a removable handle 180 disposed on top of the chassis 101 of the gutter cleaning robot 51 . in addition , batteries 177 are disposed within the chassis 101 . the batteries 177 may include a single rechargeable cell , or include one or more commercially available cells , such as “ d ”- size alkaline cells , nicd cells , nickel metal hydride cells , lithium cells , or any other kind of battery suitable for providing sufficient current and power the drive system 170 and auger 350 of the gutter cleaning robot 10 . in a preferred embodiment , the treads 179 or wheels 175 are disposed toward the edges of the gutter cleaning robot 10 so that they are separated horizontally by a distance of at least about 2 inches . because drain spouts 52 often have a width in the range of about two to six inches , the wheels 175 or treads 179 are preferably disposed apart by a distance sufficient to enable the gutter cleaning robot 10 to straddle a hole while moving forward through a rain gutter 51 . as an example , the horizontal distance between the wheels 175 or treads 179 may be chosen from a range extending from substantially two inches to substantially six inches . the wheels 175 or treads 179 may be spring mounted to the chassis 101 of the gutter cleaning robot 10 , to increase the traction pressure applied by the wheels 175 or treads against the side walls of the rain gutter 51 . this increased traction pressure minimizes torsion caused by the action of the auger 350 , and / or may further ensure that the gutter cleaning robot 10 remains within the rain gutter 51 during operation , such as when the gutter cleaning robot 10 is performing an escape behavior in response to becoming stuck . in fig5 , a preferred embodiment is illustrated in which the gutter cleaning robot 10 includes caterpillar treads 179 , and has a top chassis section 101 b and a bottom chassis section 101 a that house the drive system 170 , batteries 177 and the auger motor 160 . the batteries 177 are disposed substantially laterally in an in - line arrangement , so as to minimize the necessary height of the chassis sections 101 a , 101 b . the top and bottom chassis sections 101 a , 101 b are contoured so as to closely conform to the shape of the components housed therewithin , providing a compact , substantially flat profile of the assembled gutter cleaning robot 10 . accordingly , the height of the gutter cleaning robot 10 may be minimized , and overhead clearance optimized . a typical clearance between the bottom - most point of a common rain gutter 51 and a fastening strap is 2 . 75 inches . preferably , the gutter cleaning robot 10 has a maximum height and diameter of about 2 . 5 inches ; or , alternatively , the gutter cleaning robot 10 may have a height and / or diameter up to substantially 2 . 75 inches , or to another distance representing the clearance from a rain gutter bottom to a fastening strap or brace . a typical “ d ” size battery has a diameter of approximately 1 . 3465 inches . thus where “ d ” size batteries are used , the gutter cleaning robot 10 preferably has a diameter equal to or slightly larger than the diameter of a standard d cell battery . for example , the gutter cleaning robot 10 may have a height of at least 1 . 4 inches . alternatively , the gutter cleaning robot 10 may have a height and / or diameter within the range of between about 1 . 4 inches to about 2 . 5 inches ; or a height and / or diameter of at least 1 . 4 inches , inter alia . in one example , as shown in fig4 , a gutter cleaning robot 10 has a chassis 2 . 5 inches in diameter , and uses “ d ” size batteries 177 disposed within the chassis 101 . because the “ d ” size batteries 177 have a width of 1 . 3465 inches , no more than two “ d ” size batteries can be placed on top of the other , or else they will not fit within the chassis 101 . several example battery arrangements are illustrated in fig3 a through 30d : fig3 a shows four batteries 177 arranged one battery high in a square pattern ; fig3 b shows four batteries arranged squarely two batteries high , with two sets of two batteries next to each other and stacked on top of one another ; fig3 c shows three batteries , in which first and second batteries are arranged horizontally aligned , one atop the other , and the third battery is disposed perpendicular to the other two batteries ; and fig3 d shows three batteries arranged in a triangular pattern such that a first battery is disposed on top of second and third batteries placed side by side , all in horizontal alignment . in embodiments in which other types of batteries are used , the gutter cleaning robot 10 may have a height or diameter equal to or greater than at least the exterior diameter of that type of battery , for example . the wheel 175 or tread 179 assembly may include a mechanical switch to determine whether the gutter cleaning robot 10 has fallen out of the rain gutter 51 , or whether one of the wheels 175 is stuck in a hole . the switch is activated by a decrease in spring tension between the wheels 175 or treads 179 and the walls of the rain gutter 51 . when the spring &# 39 ; s tension is low enough to activate the mechanical switch , the gutter cleaning robot may alert the user and promptly cease powering the drive motor 170 and auger motor 160 . this switch &# 39 ; s state is preferably reset each time the gutter cleaning robot 10 is powered up , and may be ignored until after initialization . furthermore , the switch is preferably only active when the gutter cleaning robot 10 is powered on ; also , in at least one embodiment , a dip switch can be included on the gutter cleaning robot 10 to cause the gutter cleaning robot 10 to either monitor or ignore the switch . the gutter cleaning robot 10 may be directed using a remote control 6 , as shown in fig6 . the remote control 6 includes a joystick and / or buttons for entering commands to be sent to the gutter cleaning robot 10 ( such as , for example , start / stop commands ). the remote control 6 may transmit user - entered commands to the gutter cleaning robot 10 via radio frequency communication , which the gutter cleaning robot 10 receives via antennae 116 . the remote control 6 and the gutter cleaning robot 10 may each include a respective light emitting diode ( led ) or other visual or audible indicator , such as a light bulb or buzzer , for indicating when the remote control 6 is transmitting and / or when the gutter cleaning robot 10 is receiving a signal from the remote control 6 . for example , when the remote control 6 is transmitting a signal , the led on the remote control may blink ; and / or when the gutter cleaning robot 10 receives a signal from the remote control 6 , the led on the gutter cleaning robot 10 may blink . fig7 a through 14b illustrate isometric views of various augers that may be interchangeably attached to the gutter cleaning robot 10 . these debris augers may be replaced with another debris auger 350 when appropriate ; for example , when matted debris is clogging a gutter , the user may affix a screw - type debris auger 350 to the gutter cleaning robot 10 for effectively penetrating the matted debris . later , if the user desires not to drop debris 91 onto a walkway below the gutter 51 but instead to move the debris 91 to another portion of the gutter 51 , the user can detach the screw - type debris auger 350 and then affix a plow - type debris auger 350 that can push the debris 91 rather than move it out of the gutter 51 . the auger 350 preferably has a diameter at least equal to the diameter of the chassis 101 of the gutter cleaning robot 10 , as measured tip - to - tip . in one embodiment , the auger 350 has a diameter no greater than substantially 3 inches . alternatively , the diameter of the auger 350 may be within the range of between about 2 . 5 inches to about 3 . 5 inches . the auger 350 preferably operates at a speed in the range of between about 1000 rpm ( rotations per minute ) to about 1500 rpm . the auger 350 may be made of a substantially flexible material , such as a polymer or plastic , that can deform when it comes into contact with rigid objects . because the diameter of the auger 350 may exceed the clearance between the gutter &# 39 ; s floor and a support strap or brace , the auger 350 may come into contact with straps or braces as the gutter cleaning robot 350 travels under the straps or braces . in order to ensure mobility , the auger 350 is preferably made of a material that deforms when it comes into contact with the type of strap or brace used to support the rain gutter 51 . in fig7 a and 7b , a flail - type debris auger 350 includes several flexible protruding flails . when the flail - type debris auger 350 is rotated under the power of the debris auger motor 160 , the flails contact debris 91 and fling the debris 91 out of the gutter 51 . fig8 a and 8b illustrate a brush - type debris auger 350 having several rows of bristles affixed to a central wire , similar to a pipe cleaner . the bristles rotate , thereby agitating debris 91 and moving it out of the gutter 51 . fig9 a and 9b illustrate a flap - type debris auger 350 including flexible flaps centrally connected to a spool . the flaps may include a rubber or elastomeric material that adheres to debris 91 , to effectively grab the debris 91 and facilitate removal of the debris 91 from the gutter 51 . a twisting flap - type debris auger 350 is shown in fig1 a and 10b . the twisting flap - type debris auger 350 may be similar to the flap - type debris auger 350 shown in fig9 a and 9b , differing in that the flaps are connected along a twisting path to the central spool rather than in a straight ( parallel to the longitudinal axis ) arrangement . fig1 a and 11b illustrate a screw - type debris auger 350 . the screw - type debris auger 350 includes a conical spiral screw , similar to a drill bit , having screwed threading for effectively penetrating matted debris 91 and motivating loosened debris material out of the gutter 51 . an irregular protrusion - type debris auger 350 is shown in fig1 a and 12b , having a hemispherical portion from which irregular finger - like protrusions extend to effectively seize chunks of debris 91 . the irregular protrusion - type debris auger 350 may have a form similar to a spaghetti mixer , as a non - limiting example . fig1 a and 13b illustrate a horizontal tines - type debris auger 350 that has straight tines extending forward from a circular outer track . the tines , when revolving , can agitate large masses of debris 91 . fig1 a and 14b illustrate an screw - and - flaps - type debris auger 350 combining the features of the screw - type debris auger 350 with the flaps of the flap - type debris auger 350 . accordingly , the screw - and - flaps - type debris auger 350 can both penetrate matted debris 91 and also seize granular debris 91 that may be agitated loose from the matted debris 91 during a cleaning operation of the gutter cleaning robot 10 . although the debris augers shown in fig7 a through 14b are illustrated as non - limiting examples , the varieties and types of debris augers are not limited thereto . as further non - limiting examples , fig2 illustrates a pneumatic debris auger 350 and fig2 a and 26b illustrate a plow - type debris auger 350 . the pneumatic - type debris auger 350 shown in fig2 includes a conical portion that may include screwed threading like the screw - type debris auger 350 shown in fig1 a and 11b , for example . in addition , the pneumatic - type debris auger 350 includes a hollow central passage 333 and openings 335 through which a fluid , such as pressurized gas ( which may include air , nitrogen , helium , or any other suitable gas or combination of gases ) or liquid may be passed . the pressurized air preferably emerges from the openings 335 at a velocity and rate of flow sufficient to agitate the debris 91 . accordingly , the breaking up of matted or chunky debris 91 is further enhanced by the action of the pressurized gas . alternatively , pressurized liquid — such as water — may instead be passed through the central passage 333 and openings 335 , and likewise applied to the debris 91 . the pressurized liquid may include any suitable liquid , such as water or an aqueous cleaning solution ( for example , detergents or surfactants dissolved in water ); furthermore , the liquid may be heated above the ambient temperature , in order to aid in the break - up of leaf resin or tar and to promote agitation of the debris 91 , for example . fig2 a and 26b illustrate a plow - type debris auger 350 having a form similar to a cow - catcher . when the plow - type debris auger 350 is affixed to the gutter cleaning robot 10 , the gutter cleaning robot 10 pushes the debris 91 forward through the gutter 51 instead of ejecting the debris 91 out of the gutter 51 . this can be useful when the user prefers to avoid debris 91 from spilling onto a clean area of ground below the gutter 51 , for example . after the debris 91 is pushed to a more appropriate section of the gutter 51 , the user can exchange the plow - type debris auger 350 with another debris auger 350 for ejecting the debris 91 . also , fig2 illustrates various additional non - limiting examples of debris augers . the debris auger 350 may be non - interchangeably connected to the gutter cleaning robot 10 , by forming the debris auger 350 integrally with the gutter cleaning robot 10 or by permanently affixing the debris auger 350 to the gutter cleaning robot 10 by welding or using adhesives , for example . preferably , however , the debris auger 350 is detachably and interchangeably connectable to the gutter cleaning robot 10 . as shown in fig1 , the debris auger 350 may include a debris auger connector 310 disposed on a gutter cleaning robot 10 — facing end of the debris auger 350 . the debris auger connector 310 includes one or more concavities , such as first , second and third concavities 321 , 322 , 333 , for example . fig1 illustrates a conical screw - with - sweeping - flaps - type debris auger 351 having a debris auger connector 310 for interfacing with a corresponding robot connector 130 disposed on the gutter cleaning robot 10 ( for example , the robot connector 130 may be provided as part of , and / or at the distal end of , the debris auger shaft 163 ). the robot connector 130 includes one or more protrusions , such as first , second and third protrusions 131 , 132 , 133 that each extend into a respective concavity 321 , 322 or 323 in the debris auger connector 310 . when the debris auger 351 is affixed to the gutter cleaning robot 10 , the protrusions of the robot connector 130 impart rotating force against the inner surfaces of the concavities of the debris auger connector 321 , thus motivating the debris auger 361 . fig1 shows another example , in which a flail - type debris auger 352 includes a debris auger connector 310 ; and fig1 illustrates an example of a flap - type debris auger 353 having a debris auger connector 310 . in accordance with another embodiment , a shroud 315 may be provided surrounding the debris auger connector 310 . as shown in fig1 , the shroud 315 may extend outward from the surface onto which the debris auger connector 310 is disposed , so as to envelope or extend over the robot connector 130 when the debris auger 350 is connected to the gutter cleaning robot 10 . the shroud 315 may further include an annular locking protrusion 316 extending partially inward toward the central longitudinal axis of the shroud 315 , with the robot connector 130 correspondingly including a locking collar concavity 138 disposed therealong . when the debris auger 350 having the shroud 315 is attached to the gutter cleaning robot 10 , the annular locking protrusion 316 flexibly extends into the locking collar concavity of the robot connector 130 , thus tending to retain the debris auger 350 in connection with the gutter cleaning robot 10 until force sufficient to dislodge the annular locking protrusion 316 out of the locking collar concavity 136 is applied to separate the debris auger 350 from the gutter cleaning robot 10 . fig2 illustrates a suspension of the gutter cleaning robot 10 . the rear wheels 175 are obliquely angled with regard to the vertical axis , in order to wedge the rear wheels 175 against the side and / or bottom surfaces of the gutter and improve tractional contact therebetween . also , a spring suspension may further be provided to permit the rear wheels 175 ( driven by the drive motor 170 ) to remain in frictional contact with the gutter 51 even when the main body 101 is jolted during a cleaning operation . accordingly , even when the gutter cleaning robot 10 encounters a section of gutter 51 having a hole at the bottom where the drain spout 52 connects to the gutter 51 , the gutter cleaning robot 10 can nonetheless safely traverse the hole . in accordance with another embodiment , the gutter cleaning robot 10 may include a debris auger shaft 163 that extends both to the front and rear end portions of the main body 101 . accordingly , as illustrated in fig2 , a debris auger 350 may be affixed to either end ( or even both ends simultaneously ) of the gutter cleaning robot 10 . accordingly , in this embodiment , the user can detach the debris auger 350 from one end of the gutter cleaning robot 10 and attach it to the opposite end , without having to remove the gutter cleaning robot 10 from the rain gutter 51 , for example . as shown in fig2 , the debris auger connector 310 may include a single concavity 324 that preferably has an outline suitable for imparting rotational force to the debris auger connector 310 . the debris auger connector 310 in the example of fig2 has a hexagonal concavity 324 . fig2 illustrates a robot connector 130 that has a single hexagonal protrusion for inserting into the hexagonal concavity 324 of the debris auger connector 310 . the gutter cleaning robot 10 may operate entirely under the control of the user using a remote control 6 ; alternatively , the gutter cleaning robot 10 may operate autonomously or semi - autonomously . for example , the gutter cleaning robot 10 may include an on - board controller that executes a control routine for modulating the forward motion of the gutter cleaning robot 10 through the gutter 51 . the gutter cleaning robot 10 may include sensors and monitors , such as an ammeter for monitoring the drive current provided to the drive motor 160 and / or the debris auger 350 current provided to the debris auger motor 170 . fig2 illustrates a method for controlling the drive motor 160 and the debris auger motor 170 in response to a mechanical drive resistance as ascertained by an ammeter monitoring the drive current supplied to the drive motor 160 . at step 2901 , the routine ascertains the drive current from the ammeter ( for example , by reading a memory - mapped register that is updated by the ammeter ). if step 2902 determines that the drive current exceeds a deadlock threshold current value ( which corresponds to a drive current high enough to indicate that the gutter cleaning robot 10 is futilely attempting to proceed against an obstacle that prevents any forward motion by the gutter cleaning robot 10 ), then step 2903 halts both the drive motor 160 and the debris auger motor 170 in order to prevent burnout or damage to the gutter cleaning robot 10 or debris auger 350 . otherwise , step 2904 determines whether the drive current exceeds a bogged threshold ( that is , a threshold current value corresponding to a state in which the gutter cleaning robot 10 can proceed , but only slowly because of copious debris 91 in the gutter 51 , referred to as being “ bogged ”). if not , the routine returns to step 2901 ; otherwise , step 2905 reduces the commanded drive speed of the drive motor 160 . accordingly , the example method illustrated in fig2 monitors the drive current and appropriately responds to obstacles or resistance encountered when traversing the gutter 51 — if the gutter cleaning robot 10 is entirely prevented from moving forward , then the gutter cleaning robot 10 is halted so that the user can remedy the situation ; if instead the gutter cleaning robot 10 is moving forward , albeit slowly , then the gutter cleaning robot 10 reduces the commanded velocity of traversal . the gutter cleaning robot 10 may perform an escape behavior when triggered by appropriate sensor conditions . for example , the operating speed and / or direction of the drive motor 170 and / or the auger motor 160 may be repeatedly or cyclically shifted , in order to agitate or break free of an obstacle . tables 1 illustrates various current sensor conditions and example escape behavior responses : when the gutter cleaning robot 10 has already performed an escape behavior but the triggering sensor conditions have not been resolved after an appropriate length of time , the gutter cleaning robot 10 may then perform a panic behavior as a second level response . table 1 illustrates example panic behaviors that may be performed in response to various conditions :