United States Patent (10) Patent No.: US 9.420,741 B2: Balutis Et Al. (45) Date of Patent: Aug. 23, 2016
United States Patent (10) Patent No.: US 9.420,741 B2: Balutis Et Al. (45) Date of Patent: Aug. 23, 2016
United States Patent (10) Patent No.: US 9.420,741 B2: Balutis Et Al. (45) Date of Patent: Aug. 23, 2016
(56) References Cited Put Your Roomba . . . On “Automatic' Roomba Timer Timed
Cleaning-Floorvac Robotic Vacuum webpages: http://cgi. ebay.com/
OTHER PUBLICATIONS ws/eBayISAPI.dll?ViewItem&category=43575198387&rd=1.
accessed Apr. 20, 2005.
Hitachi: News release: The home cleaning robot of the autonomous RoboMaid Sweeps Your Floors So You Won't Have to, the Official
movement type (experimental machine) is developed, website: Site, website: http://www.thereobomaid.com/, acessed Mar. 18,
http://www.i4u.com/japanreleases/hitachirobot.htm., accessed Mar. 2005.
18, 2005. Robotic Vacuum Cleaner-Blue, website: http://www.sharperimage.
International Preliminary Report on Patentability dated Sep. 23. com/us/en/catalog/productview.jhtml?sku=S1727BLU, accessed
2008 from International Application No. PCT/US2007/064323. Mar. 18, 2005.
International Preliminary Report on Patentability dated Sep. 23.
2008 from International Application No. PCT/US2007/064326. Schofield, Monica, “Neither Master nor Slave” A Practical Study in
International Search Report and Written Opinion in International the Development and Employment of Cleaning Robots, Emerging
Application No. PCT/US2015/050477, dated Dec. 1, 2015, 12 Technologies and Factory Automation, 1999 Proceedings EFA'99
pageS. 1999 7th IEEE International Conference on Barcelona, Spain Oct.
Kahney, “Robot Vacs are in the House.” Retrieved from the Internet: 18-21, 1999, pp. 1427-1434.
URL.<www.wired.com/news/technology/0.1282.59237.00.html>. 5 Thrun, Learning Occupancy Grid Maps With Forward Sensor
pages, Jun. 2003. Models, School of Computer Science, Carnegie Mellon University,
Karcher Product Manual Download webpage: "http://ww pp. 1-28.
wkarchercombtaf downloadens.html?ACTION=SELECTTEILENR Wigley, M. “The Electric Lawn”, in The American Lawn, Princeton
&ID=rc3000&SubmitButtonName=Select+Product-i-Manual' and Architectural Press new York with Canadian Centre for Architecture
associated pdf file “5959-915enpdf (47 MB) English/English” Montreal, pp. 155-195 (1999).
accessed Jan. 21, 2004. Wired News: Robot Vacs Are in the House, website: http://www.
Karcher RC 3000 Cleaning Robot—user manual Manufacturer: wired.com/news/print/0,1294.59237,00.html, accessed Mar. 18,
Alfred-Karcher GmbH & Co, Cleaning Systems, Alfred Karcher— 2005.
Str28-40, PO Box 160, D-71349 Winnenden, Germany, Dec. 2002. Zoombot Remote Controlled Vaccum-RV-500 NEW Roomba 2,
Karcher RoboCleaner RC 3000 Product Details webpages: "http:// website: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItems&cat
wwwrobocleanerde/english/screen3.html” through “ egory=43526&item=4373497618&rd=1, accessed Apr. 20, 2005.
screenóhtml’ accessed Dec. 12, 2003. United States Office Action issued in U.S. Appl. No. 1 1/688,213,
Karcher USA, RC3000 Robotic Cleaner, website: http://www. dated Nov. 2, 2011, 12 pages.
karcher-usa.com/showproducts.php?op=view prod¶m1 = 143 United States Office Action issued in U.S. Appl. No. 1 1/688,213,
¶m2=¶m3=, accessed Mar. 18, 2005. dated Aug. 16, 2012, 14 pages.
Koolvac Robotic Vacuum Cleaner Owner's Manual, Koolatron, United States Office Action issued in U.S. Appl. No. 1 1/688,213,
2004, 13 pages. dated May 22, 2013, 12 pages.
Kubitz et al. "Application of radio frequency identification devices United States Office Action issued in U.S. Appl. No. 1 1/688,213,
to Support navigation of autonomous mobile robots.” Vehicular dated Oct. 3, 2013, 12 pages.
Technology Conference, vol. 1, pp. 126-130, May 4, 1997. United States Notice of Allowance issued in U.S. Appl. No.
Matthies et al., “Detecting Water Hazards for Autonomous Off 11/688,213, dated Jun. 18, 2014, 5 pages.
Road Navigation.” Proceedings of SPIE Conference 5083: United States Notice of Allowance issued in U.S. Appl. No.
Unmanned Ground Vehicle Technology V, Orlando, FL, Apr. 2003, 12488,094, dated Apr. 12, 2012, 11 pages.
pp. 231-242. United States Notice of Allowance issued in U.S. Appl. No.
Morland, "Autonomous Lawnmower Control'. Downloaded from 12488,094, dated Aug. 24, 2012, 13 pages.
the internet at: http://cns.bu.edu/~cimorlan? robotics/lawnmower/re United States Notice of Allowance issued in U.S. Appl. No.
port.pdf, 10 pages, Jul. 2002. 12488,094, dated Feb. 14, 2013, 10 pages.
NorthStar Low-Cost, Indoor Localization, Evolution robotics, Pow United States Notice of Allowance issued in U.S. Appl. No.
ering Intelligent Products. 12488,094, dated Jun. 19, 2013, 11 pages.
On Robo, “Robot Reviews Samsung Robot Vacuum (VC-RP3OW).” United States Notice of Allowance issued in U.S. Appl. No.
Retrieved from the Internet: URL <www.onrobo.com/reviews/AT 12488,094, dated Jan. 31, 2014, 6 pages.
Home/vacuumcleaners?on(00vcrb30rosam/index.htm>. 2 pages, United States Notice of Allowance issued in U.S. Appl. No.
2005. 12488,094, dated May 9, 2014, 6 pages.
Partial International Search Report from counterpart application
PCT/US2007/064323 dated Mar. 14, 2008. * cited by examiner
U.S. Patent Aug. 23, 2016 Sheet 1 of 18 US 9.420,741 B2
U.S. Patent Aug. 23, 2016 Sheet 2 of 18 US 9.420,741 B2
OT S,
U.S. Patent Aug. 23, 2016 Sheet 3 of 18 US 9.420,741 B2
U.S. Patent Aug. 23, 2016 Sheet 4 of 18 US 9.420,741 B2
S y/ :
S
U.S. Patent Aug. 23, 2016 Sheet S of 18 US 9.420,741 B2
U.S. Patent US 9.420,741 B2
098
U.S. Patent Aug. 23, 2016 Sheet 7 of 18 US 9.420,741 B2
805
452
456 FG. 4B
U.S. Patent Aug. 23, 2016 Sheet 8 of 18 US 9.420,741 B2
452
FG. 4C
U.S. Patent Aug. 23, 2016 Sheet 9 of 18 US 9.420,741 B2
452
FG. 4D
U.S. Patent Aug. 23, 2016 Sheet 10 of 18 US 9.420,741 B2
462
460
FG. 4E
U.S. Patent Aug. 23, 2016 Sheet 11 of 18 US 9.420,741 B2
464
SSSSSS3
O SS O m O
sg, S2\
s
460
FIG. 4F
U.S. Patent Aug. 23, 2016 Sheet 12 of 18 US 9.420,741 B2
464
FG. 4G
U.S. Patent Aug. 23, 2016 Sheet 13 of 18 US 9.420,741 B2
Wix.
SS
SSSRSSSSSS
W SSSSS
460
470
FIG. 4H
U.S. Patent Aug. 23, 2016 Sheet 14 of 18 US 9.420,741 B2
450
FG. 4
U.S. Patent Aug. 23, 2016 Sheet 15 of 18 US 9.420,741 B2
48O
e
482
U.S. Patent Aug. 23, 2016 Sheet 16 of 18 US 9.420,741 B2
U.S. Patent Sheet 17 of 18 US 9.420,741 B2
?70 9|-
~ZO 9 ~90 9
809~- -
U.S. Patent Aug. 23, 2016 Sheet 18 of 18 US 9.420,741 B2
US 9,420,741 B2
1. 2
ROBOT LAWNMOWER MAPPNG the area and determine the first and second geographic
coordinates for the first and reference points using the GPS
TECHNICAL FIELD receiver at the first and second reference points. The system
of one or more computing devices comprises a mobile
This invention relates to mapping an area to be mowed by device, the mobile device comprises a global positioning
a robot lawnmower. system (GPS) receiver, and receiving the first and second
geographic coordinates for the first and second reference
BACKGROUND points comprises: displaying instructions to a user to move
the mobile device to the first reference point; in response to
Autonomous robots that perform household functions 10 receiving user input indicating that the mobile device is at
Such as floor cleaning and lawn cutting are now readily the first reference point, determining the first geographic
available consumer products. Some robots are generally coordinates using the GPS receiver, displaying instructions
confined within (i) touched walls and other obstacles within to the user to move the mobile device to the second reference
the rooms of a dwelling, (ii) IR-detected staircases (cliffs) point; and in response to receiving user input indicating that
leading downward; and/or (iii) user-placed detectable bar 15 the mobile device is at the second reference point, deter
riers such as directed IR beams, physical barriers or mag mining the second geographic coordinates using the GPS
netic tape. Walls often provide much of the confinement receiver.
perimeter. Other robots may try to map the dwelling using The system includes a docking station for the robot
a complex system of sensors and/or active or passive bea lawnmower at the first or second reference point. The robot
cons (e.g., Sonar, RFID or bar code detection, or various lawnmower comprises a first global positioning system
kinds of machine vision). (GPS) receiver; the docking station comprises a second GPS
Some autonomous robotic lawnmowers use a continuous receiver, receiving the first geographic coordinates com
boundary marker (e.g., a boundary wire) for confining prises receiving the first geographic coordinates from the
random motion robotic mowers. The boundary wire is robot lawnmower using the first GPS receiver; and receiving
intended to confine the robot within the lawn or other 25 the second geographic coordinates comprises receiving the
appropriate area, so as to avoid damaging non-grassy areas second geographic coordinates from the docking station
of the yard or intruding onto a neighboring property. The using the second GPS receiver. The docking station com
boundary wire is typically a continuous electrically conduc prises a first global positioning system (GPS) receiver; the
tive loop around the property to be mowed. Although the system of one or more computing devices comprises a
boundary wire can be drawn into the property in peninsulas 30 mobile device that comprises a second GPS receiver; receiv
to Surround gardens or other off-limit areas, it remains a ing the first geographic coordinates comprises receiving the
continuous loop, and is energized with an AC current first geographic coordinates from the docking station using
detectable as a magnetic field at a distance of a few feet. The the first GPS receiver; and receiving the second geographic
boundary wire loop must be supplied with power, usually coordinates comprises receiving the second geographic
from a wall socket. Within the bounded area, a mowing 35 coordinates from the mobile device using the second GPS
robot may “bounce' randomly as the robot nears the guide receiver. The system of one or more computing devices
conductor, or may follow along the guide conductor. Some comprises a mobile device; receiving the mapping data from
mowers also touch and bounce from physical barriers. the robot lawnmower comprises receiving the mapping data
over a wired or wireless communications link between the
SUMMARY 40 robot lawnmower and the mobile device; and aligning the
mapping data to a coordinate system of the map image
In some implementations of this disclosure, a robot lawn comprises Supplying the mapping data to a mapping server
mower system includes: a plurality of beacons positioned system of one or more computers and receiving the map
with respect to an area to be mowed; a robot lawnmower image from the mapping server system.
comprising: a detection system configured to detect the 45 The mapping data includes a mowing path, and wherein
beacons; and a controller configured to, while traversing the displaying the map image comprises displaying the map
area to be mowed, detect the beacons using the detection image with an overlaid visual indicator of the mowing path.
system and collect mapping data; one or more computer Displaying the map image comprises displaying beacon
readable mediums storing instructions that, when executed indicators of locations of the beacons within the area using
by a system of one or more computing devices, cause the 50 the mapping data. Aligning the mapping data to the coor
system to perform operations comprising: receiving the dinate system of the map image comprises one or more of
mapping data from the robot lawnmower, receiving at least shifting, rotating, and scaling the mapping data so that first
first and second geographic coordinates for first and second and second locations on the map image of the area match the
reference points that are within the area and are specified in first and second reference points. The controller is config
the mapping data; aligning the mapping data to a coordinate 55 ured to cause the robot lawnmower to traverse the area
system of a map image of the area using the first and second starting from the first or second reference point. The opera
geographic coordinates; and displaying the map image of the tions can include: Supplying the mapping data and the first
area based on aligning the mapping data to the coordinate and second geographic coordinates for the first and second
system. reference points to a remote server system of one or more
These and other implementations can optionally include 60 computers; receiving, from the remote server System, one or
the following features. The operations include receiving more suggested positions within the area for the beacons;
confirmation by a user of the area to be mowed. The and displaying, on the map image, indicators for the Sug
operations include configuring the controller of the robot gested positions for the beacons.
lawnmower to autonomously mow the area. The robot The operations can include: for at least one beacon,
lawnmower comprises a global positioning system (GPS) 65 determining first and second distances to first and second
receiver, and the controller is configured to move the robot nearest neighbor beacons to the at least one beacon; deter
lawnmower to the first and second reference points within mining that a difference between the first and second dis
US 9,420,741 B2
3 4
tances is greater than a threshold distance; determining a may comprise a rotary cutter, a spreader, or a gatherer. A
Suggested beacon location for the at least one beacon at a grass comber 510 may also be carried by the body 100. The
mid-point between the first and second nearest neighbor robot body 100 supports a power source 106 (e.g., a battery)
beacons along a perimeter of the area to be mowed; and for powering any electrical components of the robot lawn
displaying, on the map image, an indicator for the Suggested mower 10, including the drive system 400.
beacon location of the at least one beacon. The operations A computing device, e.g., a wireless operator feedback
can include: receiving tracking data from the robot lawn unit 502, sends a signal to an emitter/receiver 151 on the
mower while the robot lawnmower is mowing the area; and robot lawnmower 10 that is in communication with a
displaying, on the map image, a graphic overlay indicating controller 150. The wireless operator feedback unit 502 can
progress of the robot lawnmower. The operations can 10 be a mobile device comprising a processor, memory, and a
include: projecting a path of the robot lawnmower to com digital communications system. The drive system 400 is
plete mowing the area; and displaying, on the map image, a configured to follow the signal received from the operator
graphic overlay indicating the projected path of the robot feedback unit 502. The robot lawnmower 10 may be docked
lawnmower. The operations can include: displaying a user at a base station or dock 12. In some examples, the dock 12
interface element indicating an estimated amount of time to 15 includes a charging system for changing the power source
completion. The detection system comprises an emitter/ 106 housed by the robot body 100. In some implementa
receiver configured to emit a signal, and wherein the bea tions, the robot 10 includes a magnetometer 315. The
cons are configured to reflect an emitted signal from the magnetometer can be useful, e.g., for rotationally aligning a
detection system back onto the detection system. map of the lawn 20.
The details of one or more embodiments of the invention To prepare for the use of the robot lawnmower 10, a
are set forth in the accompanying drawings and the descrip perimeter 21 of the lawn 20 to be mowed is defined. In some
tion below. Other features, objects, and advantages of the implementations, as a safety measure autonomous use of the
invention will be apparent from the description and draw robot lawnmower 10 can only be executed once a perimeter
ings, and from the claims. has been determined and stored in non-transitory memory of
25 the robot lawnmower 10. In some implementations, a human
DESCRIPTION OF DRAWINGS operator 500 manually defines a perimeter 21 by pushing the
robot 10 using a handle 116 attached to the robot body 100,
FIGS. 1A-1C are block diagrams illustrating an autono as shown in FIG. 1B. In some implementations, the human
mous robot lawnmower 10 that is configured to mow a lawn operator 500 defines the perimeter 21 by controlling the
20. 30 robot 10 as the robot 10 moves using the drive system 400.
FIGS. 2A-B are block diagrams illustrating an area to be For example, the human operator 500 can control the robot
mowed having a perimeter defined by boundary markers 10 using the wireless operator feedback unit 502, standing
805. within at least a certain distance from the robot 10 for safety.
FIG. 3 is a block diagram of an example system 350 for Once the perimeter has been taught, the robot can navigate
displaying a map of an area to be mowed by a robot 35 the lawn? area to be cut without further human intervention.
lawnmower 10. Referring to FIG. 1B, in a perimeter teaching mode, a
FIGS. 4A-4K depict example map images and mapping human operator 500 manually guides the robot lawnmower
data to illustrate the use of the system 350 of FIG. 3. 10 to establish the perimeter 21 of the lawn 20. Determining
FIG. 5 is a flow diagram of an example method 5000 the perimeter 21 can include guiding the robot lawnmower
performed by a computing device, e.g., mobile device 502, 40 10 with a push bar or handle 116 attached to the body 100.
for displaying a map image of an area to be mowed. The push bar 116 may be detachable from or stowable on the
FIG. 6 is a flow chart of an example method 6000 for robot body 100. In some cases, the push bar 116 includes a
projecting the remaining path of a robot lawnmower 10. Switch, speed setting, or joystick to advance and steer the
FIG. 7 is a flow chart of an example method 7000 for robot lawnmower 10. The push bar 116 can include a
determining Suggested beacon locations. 45 mechanical linkage permitting movement of a blade cowl
Like reference symbols in the various drawings indicate for close edge cutting capability.
like elements. In some implementations, the push bar 116 includes one
or more pressure or strain sensors, monitored by the robot
DETAILED DESCRIPTION lawnmower 10 to move or steer in a direction of pressure
50 (e.g., two sensors monitoring left-right pressure or bar
FIGS. 1A-1C are block diagrams illustrating an autono displacement to turn the robot lawnmower 10). In some
mous robot lawnmower 10 that is configured to mow a lawn other implementations, the push bar 116 includes a dead man
20. The autonomous robot lawnmower 10 moves about the or kill switch 117A in communication with the drive system
lawn 20 and cuts grass 22 as it is traversing the lawn 20. The 400 to turn off the robot lawnmower 10. The Switch 117A
robot lawnmower 10 includes a body 100, a surface treater 55 may be configured as a dead man Switch to turn off the robot
200 secured to the body 100, a drive system 400 including lawnmower 10 when an operator of the push bar 116 ceases
at least one motorized wheel 410, and a sensor System to use, or no longer maintains contact with, the push bar 116.
having at least one surface sensor 310 carried by the body The switch 117A may be configured act as a kill switch when
100 and responsive to at least one surface characteristic. The the push bar 116 is stowed, allowing the robot lawnmower
drive system 400 is carried by the body 100. In some 60 10 to operate in autonomous mode. The dead man or kill
implementations, the drive system 400 is configured to switch 117A may include a capacitive sensor or a lever bar.
maneuver the robot lawnmower 10 across lawn 20 while In some implementations, the push bar 116 includes a
following at least one surface characteristic. clutch 117B to engage/disengage the drive system 400. The
In this example, surface treater 200 includes a recipro robot lawnmower 10 may be capable of operating at a faster
cating symmetrical grass cutter floating on a following 65 speed while manually operated by the push bar 116. For
wheel 410. In some examples the wheel can be a continuous example, the robot lawnmower 10 may operate at an autono
track, or tank tread. In other examples, surface treater 200 mous speed of about 0.5 msec and a manual speed greeter
US 9,420,741 B2
5 6
than 0.5 msec (including a “turbo' speed actuatable to to be mowed, the robot lawnmower 10 may alert the
120-150% of normal speed). In some examples, the push bar operator that a second run is needed. In some examples, the
116 may be foldable or detachable during the robots operator hits a STOP button to affirmatively indicate
autonomous lawn mowing. Alternatively, the push bar 116 completion of a teaching run around the perimeter 21 of the
can be configured as one of a pull bar, pull leash, rigid lawn 20. In some implementations, the teaching routine
handle, or foldable handle. In some embodiments, the push determines a taught-path grade or score, e.g., on a scale, to
bar 116 can be stowed on or in the robot body 100. aid the operator in understanding how close a previous
As noted above, prior to autonomously mowing the lawn, traversal of the lawn 20 was to being acceptable.
the robot lawnmower 10 completes a teaching phase. During In some examples, the robot lawnmower 10 allows the
the perimeter teaching phase, the human operator 500 may 10 operator to either complete the second teaching run right
pilot the robot lawnmower 10 in a manner that requires after the first teaching run or wait until later. If the operator
correction, thus putting the robot lawnmower 10 in an completes a second or Subsequent teaching run and the robot
unteachable state. When the robot lawnmower 10 detects lawnmower detects a variance between the two determined
that it is in an unteachable state during a teach run, the robot perimeters that is greater than a threshold variance, the robot
lawnmower 10 alerts the operator (e.g., via operator feed 15 lawnmower 10 alerts the user to the apparent discrepancy
back unit 502 such as a display on a mobile device or a and prompts another teaching run to learn the perimeter 21
display integrated in a handle 116) to change a direction or of the lawn 20.
speed of the robot lawnmower 10 to enable the robot When the perimeter-teaching process is complete, the
lawnmower 10 to continue to record the perimeter 21 and/or user may dock the robot lawnmower 10 in its dock 12 (see
return to traveling on traversable terrain. For instance, the FIG. 1A), allowing the robot lawnmower 10 to recharge
robot lawnmower 10 may enter the unteachable state when before mowing.
the operator pushes the robot lawnmower 10 into an area of FIGS. 2A-B are block diagrams illustrating an area to be
the lawn 20 where the robot lawnmower 10 loses ability to mowed having a perimeter defined by boundary markers
determine its location, when the user is on a second teaching 805. In some implementations, the robot lawnmower 10
path that varies from a first teaching path, or when the user 25 includes a boundary detection system 800 that includes the
pushes the robot lawnmower 10 too fast or over terrain that emitter/receiver 151 disposed on the robot body 100 and
is too bumpy or tilted. boundary markers 805 (FIG. 2A). The types of passive
For example, the human operator may try to push the boundary markers 805 may include: LIDAR scan match,
robot lawnmower 10 between a divot and a rock, causing the passive LIDAR retro-reflectors (beacons) or both of those
robot lawnmower 10 to tilt at an excessive angle (e.g., over 30 together. In some examples, the boundary markers 805
30 degrees). Or the operator may attempt to teach the robot include: RADAR scan matching (blips), RADAR retro
lawnmower 10 a path that goes through topography that the reflectors or both. In implementations including boundary
robot lawnmower 10 cannot traverse in the autonomous markers 805 placed along the perimeter 21 of the lawn 20,
mode. In such cases, the robot lawnmower 10 alerts the the boundary markers 805 are individually identifiable by
operator (e.g., via the operator feedback unit 502) to select 35 adjacent scan match data performed by the emitter/receiver
a different path. As previously described, the robot lawn 151 (see FIG. 1B).
mower 10 may alert the operator via the operator feedback In Scan matching, the robot lawnmower 10 can match
unit 502 by any appropriate feedback mechanism, e.g., a scans taken at a given time while driving with scans stored
visual signal on a display, an audible signal through a in memory that are characteristic of each boundary marker
speaker, an olfactory feedback signal, and/or a tactile signal, 40 805, and the robot lawnmower 10 is thus able to determine
such a vibration from a vibrational unit of the operator its position relative to each of the individually identifiable
feedback unit 502. boundary markers 805. In some implementations, the
If the human operator is pushing the robot lawnmower 10 boundary markers 805 includes other individual identifica
too fast or too slow during the teaching mode, thus placing tion means perceptible to the robot lawnmower 10, such as
the robot in the unteachable state, the robot lawnmower 10 45 a bar code or encoded signal to enable the robot lawnmower
prompts the user to either increase or decrease the speed of 10 to determine its relative position.
the robot lawnmower 10. In some examples, operator feed As shown in FIG. 2A, boundary markers 805 (e.g.,
back unit 502 includes a speed indicator that will light or beacons) are placed around the perimeter of the lawn 20 to
flash (green, yellow, red light) when the robot lawnmower constrain or influence behavior of the robot lawnmower 10.
10 is going at a speed greater or lower than a threshold 50 A user places the boundary markers 805 at desired positions
speed. along the perimeter 21. In some examples, the boundary
As will be discussed below in reference to FIG. 2A, markers 805 are each within a line of sight of an adjacent
boundary markers 805 may be placed along the perimeter of boundary marker 805.
the lawn 20 to aid localization of the robot lawnmower 10. The boundary markers 805 may include a home marker
In some cases, boundary markers 805 send out a signal that 55 that an operator can place in a position indicating a global
the robot lawnmower interprets to determine its position origin (e.g., dock 12 or two boundary markers placed side by
relative to the boundary marker. In other examples, bound side). The operator distributes the boundary markers 805 as
ary markers 805 are passive. In either case, when the robot evenly as possible along the perimeter 21 of the lawn 20.
lawnmower 10 loses contact with the boundary markers 805, In some examples, beacons can be placed in the environ
the robot lawnmower 10 may alert the user, e.g., to change 60 ment, and the robot can use the beacons to localize its
paths to remain within the confinement of the boundary position. The beacons can communicate using, e.g., Wide
markers 805 or to move one or more of the boundary Band (WB) or Ultra-wide Band (UWB) technology, 2.4
markers 805. GHz (802.11 V) technology, or other types of radio-fre
In some examples, the teaching routine requires the quency time of flight technology. These beacons can be
operator to traverse the perimeter 21 of the lawn 20 a second 65 placed inside the mowable area (e.g., beacon 810b), on the
time (or more). Once the operator completes a first teaching boundary (e.g., beacon 810a), or outside the boundary (e.g.,
run, completing a closed loop about the perimeter of the area beacon 810c). These beacons 810 (FIG. 2B) include trans
US 9,420,741 B2
7 8
ceivers 811 that communicate with each other as well as with To display the map, the mobile device 502 receives the
a transceiver 11 located on the lawnmower robot 10. mapping data from the robot 10. The mobile device 502 also
Respective WB or UWB transceivers are placed on the receives first and second geographic coordinates for first and
robot lawnmower 10 (e.g., the robot lawnmower 10 includes second reference points within the area. Then, the mobile
a receiver?emitter 151 communicating with each of the device 502 aligns the mapping data to a coordinate system
beacons 810a-c), each of the beacons 810a-c, and optionally of a map image of the area using the first and second
the dock 12. Several beacons 810a-c are placed about a reference points. The mobile device 502 displays the map
mowable area and are spaced apart from each other and from image of the area with an indicator of the perimeter overlaid
the dock 12. As shown by the solid lines emanating from the on the map image based on the aligned mapping data.
robot lawnmower 10 in FIG. 2B, the robot lawnmower 10
10 Example systems and methods for displaying the map are
communicates with each of the beacons 810a-c and the dock described further below with reference to FIG.3 and FIG. 5.
12. Each beacon 810a-c communicates with each of the FIG. 3 is a block diagram of an example system 350 for
displaying a map of an area to be mowed by a robot
other beacons and the dock 12 as illustrated by the dashed lawnmower 10. The example system 350 includes the robot
lines. 15 lawnmower 10, a mobile device 502, and a docking station
If WB or UWB signals from WB or UWB beacons 810a-c 12. Those devices can communicate over a data communi
positioned about a yard are to be used to determine the robot cations network 158 with a mapping system 600 of one or
lawnmower's location within the yard, the location of the more computers. The network 158 can include, e.g., a
WB or UWB beacons 810a-c can be established by the robot wireless router that communicates with the devices wire
lawnmower. In general, upon initial setup of a WB or UWB lessly and is connected to the Internet to communicate with
system, an initialization process is performed. The process the mapping system 600. In other examples, the robot 10 and
can be based, in part, on a multidimensional scaling algo docking station 12 can communicate with the mobile device
rithm used to determine the location of the WB or UWB and the mobile device can relay information to the mapping
beacons 810a-C relative to one another, which in turn can be system.
used to establish the location of the robot 10 relative to the 25 The robot lawnmower 10 includes a controller 150, a
beacons. detection system 160 configured to detect beacons, and an
Thus, a human operator 500 is not required to place the optional location system 152, e.g., a Global Positioning
WB or UWB beacons 810a-cat particular locations because System (GPS) receiver. The mobile device 502 includes a
the system automatically determines the locations of the WB processor system 510 and an optional location system 512,
or UWB beacons 810a-c upon initialization. In some imple 30 e.g., a GPS receiver. The docking station 12, in some
mentations, the robot 10 determines the quantity of beacons implementations, can be a charging station that does not
deployed, e.g., by user input from the human operator 500. communicate on the network 158, and in some other imple
In those cases, the robot 10 can compare the quantity of mentations, can have a controller 154 and/or a location
beacons deployed with the number of beacons that are system 156, e.g., a GPS receiver.
visible. If the number of beacons that are visible is fewer 35 In operation, the robot lawnmower 10 traverses an area to
than the number of beacons deployed, the robot 10 can alert be mowed. To train the robot lawnmower 10, a human
the human operator 500, and may suggest relocation, e.g., by operator can push the robot lawnmower 10 around a perim
identifying the beacons that are not visible by beacon eter of the area to be mowed, as described above with
identifier numbers. reference to FIGS. 1A-C. The robot controller 150, using the
This flexibility in positioning of the WB or UWB beacons 40 detection system, detects beacons while traversing the area
810a-c can provide the advantage of simplifying the instal and collects mapping data that specifies the perimeter of the
lation and setup procedure for the autonomous lawnmowing area to be mowed.
robot system. Additionally, due to the omni-directional After the robot lawnmower 10 collects the mapping data,
nature of the signal, the WB or UWB beacons 810a-c can be the robot lawnmower 10 transmits the mapping data to the
lower to the ground than in certain line-of-sight based 45 mobile device 502. For example, the robot lawnmower 10
systems because the robot 10 does not need to align (e.g., in can communicate with the mobile device 502 over a Blu
a line-of-Sight arrangement) with the beacon in order for a etooth connection or over a local wireless network. The
signal to be received from the beacon. The omni-directional mobile device 502 can initiate the transmission by launching
nature of the signal also allows the beacons 810a-c to be a mapping application executed by the processor System
placed off-plane and/or be rotated/tilted with respect to one 50 51O.
another, the dock 12, and/or the robot 10. The mobile device 502 receives at least two reference
In some examples, the beacons have a height of between geographic coordinates for reference points within the area.
about 12 inches and about 24 inches from the ground (e.g., In some examples, the geographic coordinates include a
between about 12 inches and about 24 inches; between about latitude and a longitude. However, other geolocation data
16 inches and about 20 inches; about 18 inches). Upon 55 could be used. The reference points correspond to positions
Subsequent use (e.g., prior to each time the robot lawnmower specified by the mapping data. The mobile device 502 can
mows the lawn), a calibration or confirmation process can be acquire the reference coordinates using any of various
performed to confirm that the WB or UWB beacons 810a-c appropriate techniques. For purposes of illustration, con
are still in their expected, previously determined locations. sider the following three examples.
After collecting mapping data defining the perimeter 21, 60 In a first example, suppose that the robot lawnmower 10
the human operator 500 may wish to confirm the location of and the docking system 12 do not have or do not use location
the perimeter using a computing device 502, which can be systems 152, 156. The mobile device 502 will use its
a mobile device. The human operator 500 can launch a location system 512 to acquire the reference coordinates. For
mapping application on the mobile device 502. The mobile example, the mobile device 502, in executing a mapping
device 502, in executing the mapping application, displays 65 application, can instruct a human operator to move the
a map of the area to be mowed with the perimeter overlaid mobile device 502 to the docking station 12, which can be
on the map for the human operator 500 to confirm. a point specified in the mapping data by virtue of the robot
US 9,420,741 B2
9 10
lawnmower 10 starting at the docking station 12 while FIG. 4A depicts an example perimeter 450 of an area to
collecting the mapping data. When at the docking station 12, be mowed. The perimeter 450 can be stored in any appro
the human operator provides input to the mobile device 502 priate data structure, e.g., as a series of X,Y coordinates
indicating that the mobile device 502 is at the docking referenced in a coordinate system 454. The coordinates can
station, and the mobile device 502 uses its location system be distances (e.g., X and Y distances) from a starting point,
512 to obtain a first geographic reference coordinate. e.g., a docking station 12, of the robot lawnmower 10 when
Then, the mobile device 502 instructs the human operator it was collecting mapping data. The mapping data can
to move the mobile device 502 to another point in the area include the location of beacons 805 which can be illustrated
that is specified in the mapping data. For example, the 10
with dots or other symbols. FIG. 4I illustrates the perimeter
mobile device 502 can instruct the human operator to move 450 as a Cartesian grid of cells that are marked as being
the mobile device 502 to the closest beacon or to another inside, outside, or on the boundary of the mowable region.
beacon, or the mobile device 502 can instruct the human FIG. 4B depicts an example map image 452 of an area to
operator to walk a certain distance along the path taken be mowed. A mobile device 502 can obtain the map image
while the robot lawnmower 10 was collecting the mapping 15 452 from a mapping system 600. The mapping system 600
data. When the human operator reaches the second point, the may store map images or obtain map images from another
mobile device 502 uses its location system 512 to obtain the system. To obtain the appropriate map image 452, the
second geographic reference coordinate. mobile device 502 provides location data to the mapping
In a second example, Suppose that the robot lawnmower system 600. For example, the mobile device 502 can send
10 does have a location system 152. The robot lawnmower GPS coordinates to the mapping system, or the mobile
10, while collecting the mapping data, can also obtain the device 502 can prompt a human operator 500 to enter an
reference coordinates. For example, when the robot lawn address. The map image 452 is displayed with reference to
mower 10 starts collecting the mapping data at the location a coordinate system 456.
of the docking station 12, the robot lawnmower 10 uses the FIG. 4C depicts the map image 452 with the perimeter
location system 152 to obtain the first geographic reference 25 450 overlaid on top of the map image 452. The perimeter
coordinates (e.g., latitude and longitude coordinates). Then, 450 has not been adjusted to account for the different
after the robot lawnmower 10 moves to another location in coordinate system 456. Consequently, the perimeter 450
the area that is at least a certain distance from the docking does not accurately depict the boundary of the area to be
station 12, the robot lawnmower 10 uses the location system mowed with respect to the map image 452.
152 to obtain additional geographic reference coordinates. 30 FIG. 4D depicts the map image 452 with the perimeter
This process can be repeated to obtain any number of 450 overlaid after the mapping data has been adjusted to
additional geographic reference coordinates. The robot account for the different coordinate systems 454, 456. The
lawnmower 10 sends the mapping data and the geographic mobile device 502 and/or the mapping system 600 can
reference coordinates to the mobile device 502. In some adjust the mapping data by shifting, rotating, and/or scaling
cases, e.g., where the location of the reference points is not 35 the mapping data so that the mapping data is aligned to the
already specified, the robot lawnmower 10 can send data coordinate system of the map image 452. When aligned, the
specifying how the geographic reference coordinates corre geographic coordinates of the reference points within the
spond to the mapping data. mapping data will match with geographic coordinates for the
In a third example, Suppose that the docking station 12 has map image.
and uses a location system 156. The docking station 12 can 40 In adjusting the mapping data, the perimeter path 450 is
Supply the first geographic reference coordinates (e.g., lati translated to the same coordinate frame as the map image
tude and longitude coordinates), and robot lawnmower 10 or 452. The difference between the first reference point location
the mobile device 502 can obtain the second geographic in the robot coordinate system 454 and the first reference
reference coordinates at a point at least a certain distance point location in the image coordinate system 456 is calcu
away from the docking station 12 within the area. It may be 45 lated. All data within the robot coordinate system 454,
useful to have a location system 156 in the docking station including beacon locations 805 and the perimeter path 450,
12 instead of the robot lawnmower 10, e.g., to reduce the can be shifted by that difference, resulting in translated data.
weight of the robot lawnmower 10. The first reference point in the image coordinate system can
The mobile device 502 uses the geographic reference be used as the vertex to calculate the angle between the
coordinates and the mapping data to display a map image of 50 second reference point from the translated robot coordinate
the area to be mowed. In some implementations, the mobile system 454 and the second reference point from the image
device 502 obtains a map image from the mapping system coordinate system 456. This angle can used to rotate all data
600, orients the mapping data to a coordinate system of the in the translated data in the image coordinate system.
map image from the mapping system 600, and then displays FIG. 4E depicts an example screenshot of the displayed
the map image with a graphic overlay of the perimeter of the 55 map image 460 with a user interface element 462 requesting
area to be mowed. In some other implementations, the a user to confirm the location of the boundary on the map
mobile device 502 sends the mapping data and the geo image. The user can inspect the map image 460 to confirm
graphic reference coordinates to the mapping system 600, that the perimeter 450 was correctly captured by the robot
and the mapping system 600 generates a map image with a lawnmower 10 and/or that the perimeter 450 has been
graphic overlay of the perimeter of the area to be mowed. In 60 correctly aligned to the map image 460. Because the map
one particular example, the first geographic reference coor image 460 is for user perception of the boundary and
dinate is used to identify a common location between the mowing location/progress and is not used to control or
map image and the boundary and the second geographic identify the boundary for the robot lawnmower 10, it is not
reference is used to rotationally align the map image with the necessary for the alignment to be exact. More particularly,
mapping data. 65 the robot determines its location relative to the trained
FIGS. 4A-4K depict example map images and mapping boundary using the coordinate system defined during the
data to illustrate the use of the system 350 of FIG. 3. training process.
US 9,420,741 B2
11 12
FIG. 4F depicts an example screenshot of the displayed In some implementations, the controller 150 of the robot
map image 460 with a graphic overlay 466 showing the lawnmower 10 authenticates to the mobile device 502.
progress of the robot lawnmower 10 as it mows the lawn. If the robot lawnmower 10 has not yet traversed the lawn
More particularly, the robot sends information about its to collect mapping data, the mobile device 502 can prompt
location during mowing to the mobile device and the mobile the user to cause the robot lawnmower 10 to collect the
device 502 updates the map with the graphic overlay show mapping data. For example, the mobile device 502 can
ing the path traversed by the robot 10. The map image 460 display instructions for the user to interact with robot
also includes a user interface element 464 depicting an lawnmower 10, and the mobile device 502 can place a phone
estimated time to completion. The time to completion can be call to a customer service department if the user desires to
estimated based on, e.g., the area remaining to be mowed 10 get help from a person. In some implementations, the user
within the perimeter 450 of the area to be mowed. The user pushes the robot lawnmower 10 about the yard, e.g., as
described above with reference to FIGS 1A-C.
interface element 464 can be any appropriate user interface The mobile device 502 receives the mapping data from
element.
FIG. 4G depicts an example screenshot of the displayed the robot lawnmower 10 (5004). The mapping data can
map image 460 with a graphic overlay 468 showing a
15 define a perimeter of the area to be mowed and other data,
e.g., locations of beacons placed about the area to be mowed.
graphic overlay 466 showing the progress of the robot The mapping data can be stored in any appropriate data
lawnmower 10 and a projected remaining path of the robot structure, e.g., as a list of coordinates with respect to a
lawnmower 10 as it mows the lawn. This allows the user to starting point, or as vector data.
visualize both the portion of the yard that has been mowed The mobile device 502 receives geographic coordinates of
and a path the root lawnmower 10 will follow to complete reference points within the area (5006). For example, the
mowing of the yard. The projected path can be projected, mobile device 502 can receive the geographic coordinates of
e.g., based on the shape of the perimeter 450 and the current reference points as described above with reference to FIG.
progress of the robot lawnmower 10. Projecting the remain 3. The mobile device 502 receives geographic coordinates
ing path of the robot lawnmower 10 is described in further 25 for at least two reference points. The reference points can be,
detail below with reference to FIG. 6. In some examples, the e.g., the location of a docking station 12 and a nearest
robot lawnmower 10 can encounter unexpected obstacles beacon 850 or other point at least a certain distance away
during the mowing process. For example, a tree limb could from the docking station 12.
block the robot lawnmower 10 from mowing a particular The mobile device 502 receives a map image of the area
location or area of the yard. In some examples, when the 30 to be mowed (5007). For example, the mobile device 502
robot lawnmower 10 encounters an unexpected obstacle, an can use one of the reference points (e.g., the latitude and
indicator (not shown) can be provided on the display at the longitude) to retrieve the map image from a database of map
location where the unexpected obstacle was encountered. images. In another example, the mobile device can request
This can provide an indication to the user (e.g., the home that the user enter an address and use the address to retrieve
owner) that he/she should remove an obstacle from the yard 35 the map image from the database of map images. The
to allow the robot lawnmower 10 to traverse the area and received map image can be an overhead photograph of the
mow the area during its next scheduled mowing time. lawn and Surrounding image Such as a satellite image.
FIG. 4H depicts an example screenshot of the displayed The mobile device 502 aligns the mapping data to a
map image 460 with a suggested location 470 of a beacon. coordinate system of a map image of the area to be mowed
The suggested location 470 can be an alternative to an 40 (5008). For example, the mobile device 502 can obtain the
existing location of a beacon. Because users may choose map image and data associated with the map image that
their own beacon locations, it can be useful to provide specifies a correspondence between portions of the map
Suggested locations for beacons with reference to a map image and geographic coordinates. The mobile device can
image 460 to help show users where beacon placement may then align the mapping by data by shifting, rotating, and/or
improve performance factors (e.g., accuracy, efficiency) of 45 Scaling the mapping data so that the first and second refer
the robot lawnmower 10. Determining Suggested beacon ence points match first and second locations on the map
locations is described in further detail below with reference image as specified by the data specifying the correspondence
to FIG. 7. between portions of the map image and geographic coordi
FIG. 5 is a flow diagram of an example method 5000 nates.
performed by a computing device, e.g., mobile device 502, 50 In the case where there is insufficient information (e.g.,
for displaying a map image of an area to be mowed. For one of the reference points is missing or believed to be noisy
purposes of illustration, the method 5000 will be described or incorrect) the mobile device 502 and/or the mapping
as being performed by the mobile device 502 of FIG. 3. The system can search for features in the map that correspond
mobile device 502 can perform the method, for example, to with the perimeter 450. Image classifiers can be used on the
produce the screen shots of FIGS. 4D-4H. The mobile 55 map image 452 to find commonly traced features, such as
device 502 can begin performing the method 5000 when a the corner of a house or building, the edge of a lawn, or any
user launches a mapping application on the mobile device other distinct path that matches well with the perimeter 450.
SO2. The mobile device 502 can also incorporate other sources of
The mobile device 502 initializes communication with the information with the same geodetic coordinate system as the
robot lawnmower 10 (5002). For example, the mobile device 60 map image 452. Such as public boundary and property lines.
502 can establish a Bluetooth connection with the robot In implementations where the robot 10 includes a mag
lawnmower 10, or the mobile device 502 can connect with netometer 315, the robot 10 can include directional data with
the robot lawnmower 10 over a wireless network. In some the mapping data. The mobile device 502 and/or the map
implementations, the mobile device 502 prompts a user for ping system can then use the directional data, e.g., instead of
information to correctly identify the robot lawnmower 10; in 65 one of the reference points or in addition to the two reference
some other implementations, the mobile device 502 is points to improve the alignment. For example, the robot 10
configured to wirelessly probe for the robot lawnmower 10. can include, with the mapping data, data indicating which
US 9,420,741 B2
13 14
direction is north. The mapping system can also then deter image in any appropriate way, e.g., using the geographic
mine which direction, for the map image, faces north, and coordinates for the reference points, or by using the user's
the mobile device 502 and/or the mapping system can align street address.
the mapping data and/or the map image so that the two The mobile device 502 displays the map image using the
directions match. aligned mapping data (5010). For example, the mobile
In some implementations, image registration techniques device 502 can display the map image with a graphic overlay
from computer vision are used to align the map data with the illustrating a perimeter of the area to be mowed. In another
map image. The map is converted to a grid representation (if example, the mobile device 502 can display the map image
it is not already in that format), where each cell is marked 10
with the area to be mowed highlighted or shaded.
as either inside or outside the mowable region, and each cell Once the mapping data has been aligned to the coordinate
value can be represented by a pixel with a different intensity. system of the map image, the map image and the mapping
For example, mowable cells can be marked by white pixels data can be used for various optional tasks (5012). For
and non-mowable cells can be marked by black pixels. The example, the mobile device 502 can prompt the user to
map image is also processed by an algorithm that converts 15
confirm the area to be mowed. The mobile device 502 can
colors to intensities based on the probability that each color present a display that shows the progress of the robot
corresponds to a mowable region. For example, green pixels lawnmower 10 in real-time or near real-time while it is
may be converted to white pixels (high likelihood of being mowing the lawn, e.g., by having the robot lawnmower 10
mowable), yellow and brown pixels may be converted to communicate its position to the mobile device 502 while it
gray pixels (medium likelihood of being mowable), and mows the lawn. The mobile device 502 can present a display
pixels of other colors may be converted to black pixels (low that shows the projected remaining path of the robot lawn
likelihood of being mowable. mower 10 and/or the projected time remaining for the robot
In some implementations, a machine learning algorithm lawnmower 10 to complete mowing the lawn.
(e.g. Support vector machine, neural network) can be used to FIG. 6 is a flow chart of an example method 6000 for
learn which colors of the map image are most likely to 25 projecting the remaining path of a robot lawnmower 10. The
represent mowable areas based on example images. The method 6000 is performed by a computing device, e.g., the
machine learning algorithm can then be used with the map mobile device 502 of FIG. 3. For purposes of illustration, the
image to create two grass probability images (GPIs), one for method 6000 will be described as being performed by the
mobile device 502 of FIG. 3.
the mowable area and one for the map image, can then be
aligned using standard image registration techniques. FIG. 30 The mobile device 502 receives mapping data defining a
4J illustrates an example grass probability image 480 for the perimeter around the area to be mowed (6002). The mobile
mowable area. FIG. 4K illustrates an example grass prob device 502 receives tracking data specifying a portion of the
ability image 482 for the map image. area that the robot lawnmower 10 has already mowed
These techniques can include intensity-based algorithms (6004).
35 The mobile device 502 plots a projected path for the robot
and feature-based algorithms. In both approaches, the geo lawnmower 10 from the robot lawnmower's current location
referenced points measured using, e.g., GPS (on the robot that could be followed by the robot lawnmower 10 to finish
10, dock 12, or mobile device 502) can be used as an initial mowing the area inside of the perimeter that has not been
guess of the alignment between the map GPI and the map mowed (6006). In some implementations, the mobile device
image GPI. In an intensity-based approach, the map GPI is 40 502 plots the projected path by simulating a navigational
then transformed (using translation and rotation) and corre algorithm stored on the controller 150 of the robot lawn
lated with the map image GPI, and the transformation with mower 10.
the highest correlation value is used to align the images. The In some implementations, the controller generates a cov
search of transformation space can either be exhaustive in a erage path based on a Boustrephedon (e.g., cornrow) algo
limited region near the initial guess, or non-linear optimi 45 rithm applied to a grid map representation of the lawn. In
Zation techniques such as hill climbing, gradient descent, or this grid map, cells are marked as being inside, outside, or
simulated annealing can be used to reduce the time required on the boundary of the mowable area. In some cases, the
for alignment. robot may start at one corner of the lawn (as in the example
In a feature-based approach, local features are detected in in FIG. 4F), and then move parallel to the lawn edge until it
the map GPI and the map image GPI. These features can 50 encounters a lawn boundary cell. At this point the robot
include lines and corners, as well as Scale-invariant features makes a 180 degree turn and then mows down a new path
such as SIFT (Scale-Invariant Feature Transform), SURF that is parallel to the first row, and offset laterally by no more
(Speeded Up Robust Features), or HOG (Histogram of than the width of the cutting mechanism (to insure that there
Oriented Gradients). Once the locations of these features are is no gap between the cut grass in each row).
detected in both GPIs, the feature locations in the map GPI 55 The user could also select the orientation of these ranks
can be transformed and matched with those in the map (vertical, horizontal, or an arbitrary angle as preferred by
image GPI using the same techniques as described above for them). The user can also block off an area of the lawn that
intensity-based approaches. The best transformation is then they would like the robot lawnmower to not cover during its
used for the map alignment. current mission or designate an area that should be more
In some implementations, the mobile device 502 receives 60 thoroughly mowed (by way of slower movement or multiple
the map image from a mapping system 600 and aligns the passes). In some implementations, the boundary of this
mapping data to the map image. In some other implemen “keep-out Zone are marked in the grid map as boundary
tations, the mobile device 502 supplies the mapping data and cells, while the cells inside the keep-out Zone are marked as
geographic coordinates for the reference points to the map non-mowable. Paths can have other configurable metrics
ping system 600, and the mapping system aligns the map 65 that allows the user to select between different mow patterns
ping data and Supplies a map image using the aligned or styles or can have pseudo-random attributes that allow for
mapping data. The mapping system can select the map varying paths to be generated.
US 9,420,741 B2
15 16
The mobile device 502 generates a map image of the area While this specification contains many specific details,
to be mowed with a graphic overlay of the projected path these should not be construed as limitations on the scope of
(6008). The mobile device can align the mapping data and the disclosure or of what may be claimed, but rather as
the tracking data to a coordinate system of a map image, e.g., descriptions of features specific to particular implementa
as described further above with reference to FIG. 5. The tions of the disclosure. Certain features that are described in
mobile device can include various features in the map this specification in the context of separate implementations
image, e.g., a first graphic overlay showing the area that the can also be implemented in combination in a single imple
robot lawnmower 10 has already mowed and a second mentation. Conversely, various features that are described in
graphic overlay showing the projected path and an indicator 10
the context of a single implementation can also be imple
of a projected time to completion. The projected time to mented in multiple implementations separately or in any
completion can be based on, e.g., the size of the area suitable sub-combination. Moreover, although features may
remaining to be mowed and a speed of the robot lawnmower be described above as acting in certain combinations and
10 and the amount of overlap between the rows/ranks. The even initially claimed as such, one or more features from a
time remaining may also be based on the amount of battery 15
claimed combination can in Some cases be excised from the
that the robot lawnmower 10 has left and can be calculated combination, and the claimed combination may be directed
by the amount of energy left in the battery and/or the amount to a Sub-combination or variation of a Sub-combination.
of energy left in the battery less the energy required to get Similarly, while operations are depicted in the drawings in
the robot lawnmower 10 back to the docking station 12 a particular order, this should not be understood as requiring
divided by the average power consumption. The total time that such operations be performed in the particular order
remaining to mow the lawn can also be displayed, including shown or in sequential order, or that all illustrated operations
the time required to return to the charger, recharge, and then be performed, to achieve desirable results. In certain cir
mow the remaining area. cumstances, multi-tasking and parallel processing may be
FIG. 7 is a flow chart of an example method 7000 for advantageous. Moreover, the separation of various system
determining suggested beacon locations. The method 7000 25 components in the embodiments described above should not
is performed by a computing device, e.g., the mapping be understood as requiring such separation in all embodi
system 600 of FIG. 3. For purposes of illustration, the ments, and it should be understood that the described
method 7000 will be described as being performed by the program components and systems can generally be inte
mapping system 600 of FIG. 3. grated together in a single Software product or packaged into
The mapping system 600 receives mapping data defining 30 multiple software products.
a perimeter of an area to be mowed (7002). The mapping Accordingly, other embodiments are within the scope of
data also specifies the locations of several navigation bea the following claims.
cons. The mapping system 600 receives the mapping data
from the robot lawnmower 10. For example, the robot What is claimed is:
lawnmower 10 can provide the mapping data to the mobile 35 1. A robot lawnmower system comprising:
device 502, which can then provide the mapping data to the a plurality of beacons positioned with respect to an area
mapping system 600, e.g., at the request of a user. to be mowed;
The mapping system 600 checks each beacon location for a robot lawnmower comprising:
a possible suggested location (7004). For example, the a detection system configured to detect the beacons;
mapping system can determine, for each beacon, the dis 40 and
tance to the two nearest beacons. If the beacon is closer to a controller configured to, while controlling the robot
one of the nearest beacons than the other, the mapping lawnmower to traverse a first reference point, a
system can determine a suggested location that is closer to second reference point, and a path within the area to
a mid-point between the two beacons along the perimeter. In be mowed, detect the beacons using the detection
another example, the mapping system can use elevation data 45 system and collect mapping data; and
to determine that two neighboring beacons are at two one or more computer readable mediums storing instruc
different elevations with a height distance that exceeds a tions that, when executed by a system of one or more
threshold. The mapping system can determine a Suggested computing devices, cause the system to perform opera
location that is at an elevation between the two different tions comprising:
elevations. 50 receiving the mapping data from the robot lawnmower;
The robot lawnmower 10 can identify places where receiving first and second geographic coordinates for
position estimates from the localization system are less the first and second reference points traversed by the
confident. The mapping system can Suggest placing a beacon robot lawnmower;
near these places of lower confidence. Suggested locations receiving a map image of the area from a mapping
can also be based on the beacon location map by analyzing 55 server;
long gaps in distance between beacons or beacons that are aligning the mapping data to a coordinate system of the
only able to communicate with a couple beacons because of map image of the area using the first and second
occlusions. geographic coordinates, the mapping data corre
The mapping system 600 provides any suggested beacon sponding to the first reference point, the second
locations for display on a map image (7006). For example, 60 reference point, and the path traversed by the robot
the mapping system 600 can generate a map image, by lawnmower; and
aligning the mapping data to a map image, with graphic causing a mobile device to display the map image of the
indicators of the current beacon locations and the Suggested area based on aligning the mapping data to the
beacon locations. In another example, the mapping system coordinate system.
600 provides the suggested locations to a mobile device 502, 65 2. The robot lawnmower system of claim 1, the operations
and the mobile device 502 generates a map image showing comprising receiving confirmation by a user of the area to be
the Suggested beacon locations. mowed.
US 9,420,741 B2
17 18
3. The robot lawnmower system of claim 1, the operations Scaling the mapping data so that first and second locations on
comprising configuring the controller to control the robot the map image of the area match the first and second
lawnmower to autonomously mow the area. reference points.
4. The robot lawnmower system of claim 1, wherein the 13. The robot lawnmower system of claim 1, wherein the
robot lawnmower comprises a global positioning system controller is configured to cause the robot lawnmower to
(GPS) receiver, and wherein the controller is configured to traverse the area starting from the first or second reference
move the robot lawnmower to the first and second reference point.
points within the area and determine the first and second 14. The robot lawnmower system of claim 1, the opera
geographic coordinates for the first and second reference 10
tions comprising:
points using the GPS receiver at the first and second refer for at least one beacon, determining first and second
ence points. distances to first and second nearest neighbor beacons
5. The robot lawnmower system of claim 1, wherein to the at least one beacon;
receiving the first and second geographic coordinates for the determining that a difference between the first and second
first and second reference points comprises: 15 distances is greater than a threshold distance;
causing the mobile device to display instructions to a user determining a Suggested beacon location for the at least
to move the mobile device to the first reference point; one beacon at a mid-point between the first and second
in response to receiving user input indicating that the nearest neighbor beacons along a perimeter of the area
mobile device is at the first reference point, receiving to be mowed; and
the first geographic coordinates from the mobile causing the mobile device to display, on the map image,
device; an indicator for the Suggested beacon location of the at
causing the mobile device to display instructions to the least one beacon.
user to move the mobile device to the second reference 15. The robot lawnmower system of claim 1, wherein the
point; and detection system comprises an emitter/receiver configured
in response to receiving user input indicating that the 25 to emit a signal, and wherein the beacons are configured to
mobile device is at the second reference point, receiv reflect an emitted signal from the detection system back onto
ing the second geographic coordinates from the mobile the detection system.
device. 16. A method of providing mowing map data, the method
6. The robot lawnmower system of claim 1, comprising a comprising:
docking station for the robot lawnmower at the first or 30 receiving mapping data from a robot lawnmower, the
second reference point. mapping data specifying an area to be mowed and a
7. The robot lawnmower system of claim 6, wherein: plurality of locations of beacons positioned within the
the robot lawnmower comprises a first global positioning area to be mowed, the mapping data corresponding to
system (GPS) receiver; first and second reference points and a path traversed
the docking station comprises a second GPS receiver, 35 by the robot lawnmower within the area to be mowed;
receiving the first geographic coordinates comprises receiving first and second geographic coordinates for the
receiving the first geographic coordinates from the first and second reference points;
robot lawnmower using the first GPS receiver; and receiving a map image of the area from a mapping server,
receiving the second geographic coordinates comprises aligning the mapping data to a coordinate system of the
receiving the second geographic coordinates from the 40 map image of the area using the first and second
docking station using the second GPS receiver. geographic coordinates; and
8. The robot lawnmower system of claim 6, wherein: providing data formatted to cause a mobile device to, in
the docking station comprises a first global positioning response to receiving the provided data, display the
system (GPS) receiver; map image of the area based on aligning the mapping
receiving the first geographic coordinates comprises 45 data to the coordinate system.
receiving the first geographic coordinates from the 17. The method of claim 16, further comprising:
docking station using the first GPS receiver; and receiving tracking data from the robot lawnmower while
receiving the second geographic coordinates comprises the robot lawnmower is mowing the area; and
receiving the second geographic coordinates from the providing data formatted to cause the mobile device to
mobile device. 50 display, on the map image, a graphic overlay indicating
9. The robot lawnmower system of claim 1, wherein: progress of the robot lawnmower.
receiving the mapping data from the robot lawnmower 18. The method of claim 16, further comprising:
comprises receiving the mapping data over a wired or plotting a projected path of the robot lawnmower to
wireless communications link between the robot lawn complete mowing the area; and
mower and the mobile device. 55 providing data formatted to cause the mobile device to
10. The robot lawnmower system of claim 1, wherein display, on the map image, a graphic overlay indicating
causing the mobile device to display the map image com the projected path of the robot lawnmower.
prises causing the mobile device to display the map image 19. The method of claim 18, further comprising:
with an overlaid visual indicator of the path traversed by the estimating an amount of time to completion based on a
robot lawnmower. 60 remaining area to be mowed within the area to be
11. The robot lawnmower system of claim 10, wherein mowed; and
causing the mobile device to display the map image com providing data formatted to cause the mobile device to
prises displaying beacon indicators of locations of the bea display a user interface element indicating the esti
cons within the area using the mapping data. mated amount of time to completion.
12. The robot lawnmower system of claim 1, wherein 65 20. The method of claim 16, wherein aligning the map
aligning the mapping data to the coordinate system of the ping data to the coordinate system of the map image
map image comprises one or more of shifting, rotating, and comprises one or more of shifting, rotating, and Scaling the
US 9,420,741 B2
19 20
mapping data so that first and second locations on the map
image of the area match the first and second reference
points.
21. The method of claim 16, further comprising:
determining one or more suggested positions within the
area for the beacons based on the mapping data and the
first and second geographic coordinates for the first and
second reference points; and
providing data formatted to cause the mobile device to
display, on the map image, indicators for the Suggested 10
positions for the beacons.
22. A method of generating and displaying mowing map
data, the method comprising:
acquiring a first geographic coordinate at a location
corresponding to a first reference point specified in 15
mapping data of a robot lawnmower;
acquiring a second geographic coordinate at a location
corresponding to a second reference point specified in
the mapping data of the robot lawnmower,
transmitting the first and second geographic coordinates
to a remote server that aligns the mapping data from the
robot lawnmower to a coordinate system of a map
image of an area to be mowed by the robot lawnmower
such that the first and second reference points specified
in the mapping data match with the first and second 25
geographic coordinates, wherein the mapping data
specifies the area to be mowed and a plurality of
locations of beacons detectable by the robot lawn
mower; and
displaying the map image of the area and a graphic 30
overlay representing the aligned mapping data.
k k k k k