United States Patent (10) Patent No.: US 9.420,741 B2: Balutis Et Al. (45) Date of Patent: Aug. 23, 2016

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

USOO942O741B2

(12) United States Patent (10) Patent No.: US 9.420,741 B2


Balutis et al. (45) Date of Patent: Aug. 23, 2016

(54) ROBOT LAWNMOWER MAPPING (56) References Cited


(71) Applicant: iRobot Corporation, Bedford, MA U.S. PATENT DOCUMENTS
(US) 2,751,030 A 6, 1956 Null
3,128,840 A 4/1964 Barrett
(72) Inventors: Paul C. Balutis, Shrewsbury, MA (US); 3,385,041 A 5/1968 Douglas
Andrew Beaulieu, Watertown, MA 3.457,575 A 7/1969 Bienek
(US); Brian Yamauchi, Boston, MA 3,550,714. A 12/1970 Bellinger
(US); Karl Jeffrey Karlson, 3,674,316 A 7/1972 De Brey
Framingham, MA (US); Dominic Hugh (Continued)
Jones, Boston, MA (US)
FOREIGN PATENT DOCUMENTS
(73) Assignee: iRobot Corporation, Bedford, MA
(US) DE 19932552 2, 2000
EP O7747O2 5, 1997
(*) Notice: Subject to any disclaimer, the term of this (Continued)
patent is extended or adjusted under 35
U.S.C. 154(b) by 0 days. OTHER PUBLICATIONS
(21) Appl. No.: 14/570,616 Kimura et al., "Stuck Evasion Control for Active Wheel Passive
Joint Snake-like Mobile Robot Genbu’.” Proceedings of the 2004
(22) Filed: Dec. 15, 2014 IEEE International Conference on Robotics 8 Automation New
Orleans, LA Apr. 2004.
(65) Prior Publication Data (Continued)
US 2016/O165795 A1 Jun. 16, 2016
Primary Examiner — Nga X Nguyen
(51) Int. Cl. 74) Attorney,V, Ag
Agent, or Firm — Fish & Richardson P.C.
G05D I/02 (2006.01)
AOID 34/00 (2006.01)
G05D I/O (2006.01) (57) ABSTRACT
GOIS 19/13 (2010.01) A method of mapping an area to be mowed with an autono
(52) U.S. Cl. mous mowing robot comprises receiving mapping data from
CPC ............. AOID 34/008 (2013.01); G0IS 19/13 a robot lawnmower, the mapping data specifying an area to
(2013.01); G05D I/0088 (2013.01); G05D be mowed and a plurality of locations of beacons positioned
I/021 (2013.01); G05D I/0219 (2013.01); within the area to be mowed, and receiving at least first and
G05D I/0234 (2013.01); G05D I/0265 second geographic coordinates for first and second reference
(2013.01); Y10S 901/01 (2013.01) points that are within the area and are specified in the
(58) Field of Classification Search mapping data. The mapping data is aligned to a coordinate
CPC ..... B25J 9/1676; B25J 9/0003: E04H 17/00; system of a map image of the area using the first and second
A01D 34/008; G05D 1/0265; G05D 1/0219; geographic coordinates. The map image is displayed based
G05D 1/0234: G05D 1/10 on aligning the mapping data to the coordinate system.
USPC ...................................... 700/258, 245; 901/1
See application file for complete search history. 22 Claims, 18 Drawing Sheets
US 9.420,741 B2
Page 2

(56) References Cited 5,534,762 T/1996 Kim


5,537,017 T/1996 Feiten et al.
U.S. PATENT DOCUMENTS 5,539,953 T/1996 Kurz
5,542,146 8, 1996 Hoekstra et al.
3,924.389 12, 1975 Kita 5,548,511 8, 1996 Bancroft
3,937,174 2, 1976 Haaga 5,553,349 9, 1996 Kilstrom et al.
3,946,543 3, 1976 Templeton 5,555,587 9, 1996 Guha
4,119,900 10, 1978 Kremnitz 5,560.077 10, 1996 Crotchett
4,133.404 1, 1979 Griffin 5,568,589 10, 1996 Hwang
4,163,977 8, 1979 Polstorff 5,611, 106 3, 1997 Wulff
4,306,329 12, 1981 Yokoi 5,611, 108 3, 1997 Knowlton et al.
4,318,266 3, 1982 Taube 5,613.261 3, 1997 Kawakami et al.
4,369,543 1, 1983 Chen et al. 5,621,291 4, 1997 Lee
4.513,469 4, 1985 Godfrey et al. 5,622,236 4, 1997 AZumi et al.
4,545.404 10, 1985 Redwine 5,634,237 6, 1997 Paranjpe
4,545.453 10, 1985 Yoshimura et al. 5,634,239 6, 1997 Tuvin et al.
4,556,313 12, 1985 Miller et al. 5,650,702 7/1997 AZumi
4,603,753 8, 1986 Yoshimura et al. 5,652.489 7/1997 Kawakami
4,626,995 12, 1986 Lofgren et al. 5,682,313 10, 1997 Edlund et al.
4,674.048 6, 1987 Okumura 5,682,839 11, 1997 Grimsley et al.
4,679, 152 7, 1987 Perdue 5,709,007 1, 1998 Chiang
4,696,074 9, 1987 Cavalli 5,761,762 6, 1998 Kubo et al.
4,700,301 10, 1987 Dyke 5,781,960 7, 1998 Kilstrom et al.
4,700.427 10, 1987 Knepper 5,787,545 8, 1998 Colens
4,716,621 1, 1988 Zoni 5,794,297 8, 1998 Muta
4,733,431 3, 1988 Martin 5,812,267 9, 1998 Everett, Jr. et al.
4,756,049 T. 1988 Uehara 5,819,008 10, 1998 Asama et al.
4,767,237 8, 1988 Cosman et al. 5,825,981 10, 1998 Matsuda
4,777.416 10, 1988 George, II et al. 5,839,156 11, 1998 Park et al.
4,782,550 11, 1988 Jacobs 5,841,259 11, 1998 Kim et al.
4,811,228 3, 1989 Hyyppa et al. 5,867,800 2, 1999 Leif
4,854,000 8, 1989 Takimoto 5,916,111 6, 1999 Colens
4,887,415 12, 1989 Martin 5,926,909 7, 1999 McGee
4,893,025 1, 1990 Lee 5,935,179 8, 1999 Kleiner et al.
4.909,024 3, 1990 Jones et al. 5,940,927 8, 1999 Haegermarck et al.
4,912,643 3, 1990 Beirne 5,940,930 8, 1999 Oh et al.
4,918,441 4, 1990 Bohman 5,942,869 8, 1999 Katou et al.
4.919,224 4, 1990 Shyu et al. 5,943,730 8, 1999 Boomgaarden
4,933,864 6, 1990 Evans, Jr. et al. 5,943,733 8, 1999 Tagliaferri
4,962,453 10, 1990 Pong et al. 5,959.423 9, 1999 Nakanishi et al.
4,974.283 12, 1990 Holsten et al. 5,974,348 10, 1999 Rocks
5,002,145 3, 1991 Waqkaumi et al. 6,009,358 12, 1999 Angott et al.
5,017,415 5, 1991 Cosman et al. 6,041,471 3, 2000 Charkey et al.
5,086,535 2, 1992 Grossmeyer et al. 6,049,745 4, 2000 Douglas et al.
5,093.955 3, 1992 Blehert et al. 6,073.427 6, 2000 Nichols
5,109,566 5, 1992 Kobayashi et al. 6,076,025 6, 2000 Ueno et al.
5,142,985 9, 1992 Stearns et al. 6,076,227 6, 2000 Schalig et al.
5,163,202 11, 1992 Kawakami et al. 6,108,076 8, 2000 Hanseder
5,163,273 11, 1992 Wojtkowski et al. 6,112,143 8, 2000 Allen et al.
5,165,064 11, 1992 Mattaboni 6,124,694 9, 2000 Bancroft et al.
5,204.814 4, 1993 Noonan et al. 6,133,730 10, 2000 Winn
5,208,521 5, 1993 Aoyama 6,140,146 10, 2000 Brady et al.
5,216,777 6, 1993 Moro et al. 6,140,231 10, 2000 Lin et al.
5,239.720 8, 1993 Wood et al. 6,166,706 12, 2000 Gallagher et al.
5,261,139 11, 1993 Lewis 6,226,830 5/2001 Hendriks et al.
5,279,672 1, 1994 Betker et al. 6,240,342 5/2001 Fiegert et al.
5,284.522 2, 1994 Kobayashi et al. 6.255,793 T/2001 Peless .................. AO1D 34,008
5,293.955 3, 1994 Lee 180,168
5,303,448 4, 1994 Hennessey et al. 6,259,979 T/2001 Holmquist
5,319,828 6, 1994 Waldhauser et al. 6,285,930 9, 2001 Dickson et al.
5,321,614 6, 1994 Ashworth 6,300,737 10, 2001 Begvall et al.
5,324,948 6, 1994 Dudar et al. D451,931 12, 2001 Abramson et al.
5,341,540 8, 1994 Soupert et al. 6,339,735 1, 2002 Peless et al.
5,353,224 10, 1994 Lee et al. 6,374,155 4, 2002 Wallach et al.
5,369,347 11, 1994 Yoo 6,385,515 5/2002 Dickson et al.
5,410,479 4, 1995 Coker 6,408,226 6, 2002 Byrne et al.
5.438,721 8, 1995 Pahno et al. 6,417,641 T/2002 Peless et al.
5.440,216 8, 1995 Kim 6,438,456 8, 2002 Feddema et al.
5.444.965 8, 1995 Colens 6,442,476 8, 2002 Poropat
5,446,356 8, 1995 Kim 6,443,509 9, 2002 Levin et al.
5,454,129 10, 1995 Kell 6,444.003 9, 2002 Sutcliffe
5,455,982 10, 1995 Armstrong et al. 6.463,368 10, 2002 Feiten et al.
5,465,525 11, 1995 Mifune et al. 6,465,982 10, 2002 Bergvall et al.
5,467,273 11, 1995 Failbish et al. 6,493,613 12, 2002 Peless et al.
5483,346 1, 1996 Butzer 6,496,754 12, 2002 Song et al.
5,497.529 3, 1996 Boesi 6496,755 12, 2002 Wallach et al.
5,507,067 4, 1996 Hoekstra et al. 6,507,773 1, 2003 Parker et al.
5,515,572 5, 1996 Hoekstra et al. 6,525,509 2, 2003 Petersson et al.
5,528,888 6, 1996 Miyamoto et al. 6,532.404 3, 2003 Colens
US 9.420,741 B2
Page 3

(56) References Cited 2002/0016649 A1 2/2002 Jones


2002/O120364 A1 8/2002 Colens
U.S. PATENT DOCUMENTS 2002fO140393 A1 10, 2002 Peless et al.
2002fO156556 A1 10, 2002 Ruffner
6,535,793 B2 3/2003 Allard 2002fO160845 A1 10, 2002 Simonsen
6,548,982 B1 4/2003 Papanikolopoulos et al. 2002/0173877 Al 11/2002 Zweig
6,571.415 B2 6, 2003 Gerber et al. 2003, OO19071 A1 1/2003 Field et al.
6,574,536 Bf 62003 Kawagoe et al. 2003, OO23356 A1 1/2003 Keable
6.580.246 B2 6, 2003 Jacobs 2003/0O25472 A1 2/2003 Jones et al.
6,580,978 Bf 62003 McTamaney 2003/0055337 A1 3, 2003 Lin
6,584,376 B1 6, 2003 Van Kommer 2003, OO60928 A1 3/2003 Abramson et al.
6,586,908 B2 7/2003 Petersson et al. 2003/O120389 A1 6/2003 Abramson et al.
6,594,844 B2 7/2003 Jones 2003.0137268 A1 7/2003 Papanikolopoulos et al.
6,604,022 B2 8, 2003 Parker 2003. O144774 A1 7/2003 Trissel et al.
6,605,156 B1 8/2003 Clarket al. 2003/0182914 A1 10, 2003 Shibata et al.
6,611120 B2 & 2003 song et al. 2003/0192144 A1 10/2003 Song et al.
6,611,734 B2 8, 2003 Parker et al. 2003/0208304 A1 11/2003 Peless et al.
661738 B2 & 2003 Raffner 2003/0216834 A1 11/2003 Allard
6615.108 B1 9/2003 Peless et al. 2003/0233.177 A1 12/2003 Johnson et al.
6.658,693 B1 12/2003 Reed, Jr. 2003/0234325 A1 12/2003 Marino et al.
666.239 Bf 12/2003 Ozick 2004/0020000 A1 2/2004 Jones
6671592 B1 12/2003 Bisset et al. 2004/0030448 A1 2/2004 Solomon
6690,134 B 22004 Jones et al. 2004/0030449 A1 2/2004 Solomon
6.741,054 B2 5, 2004 Koselka et al. 2004/0030450 A1 2/2004 Solomon
6,748,397 B2 6/2004 Song et al. 2004/0030571 A1 2/2004 Solomon
6.764,373 B1 7/2004 Osawa et al. 2004/0031113 A1 2/2004 WoSewicket al.
6,781.338 B2 82004 Jones et al. 2004/0036618 A1 2/2004 Ku et al.
6,809.490 B2 10/2004 Jones et al. 2004/0049877 A1 3/2004 Jones et al.
6.830,120 Bf 12/2004 Yashimaet al. 2004/0068351 A1 4/2004 Solomon
6.841,963 B2 1/2005 song et al. 2004/0068415 A1 4/2004 Solomon
6.845,297 B2 1/2005 Allard 2004.0068416 A1 4/2004 Solomon
6.850,024 B2 2/2005 Peless et al. 2004/0076324 A1 4, 2004 Burl et al.
6,870,793 B2 3/2005 Chiappetta 2004/0088079 A1 5/2004 Lavarec et al.
6,883,201 B2 4/2005 Jones et al. 2004/011 1184 A1 6/2004 Chiappetta et al.
6,885,912 B2 4/2005 Peless et al. 2004/011 1196 Al 6, 2004 Dean
6,901,624 B2 6, 2005 Mori et al. 2004/0134336 A1 7/2004 Solomon
D510,066 S 9/2005 Hickey et al. 2004/0134337 A1 7/2004 Solomon
6.938.298 B2 9, 2005 Aasen 2004.0156541 A1 8, 2004 Jeon et al.
6,940.29 B1 9/2005 Ozik 2004/O158.357 A1 8, 2004 Lee et al.
6.956,348 B2 10/2005 Landry et al. 2004/O187457 A1 9, 2004 Colens
6,971,140 B2 12/2005 Kim 2004/0200505 A1 10/2004 Taylor et al.
6984.953 B2 1/2006 Peless et al. 2004/0204792 A1 10/2004 Taylor et al.
6,999.850 B3 2.2006 McDonald 2004/0211444 A1 10/2004 Taylor et al.
7,024.278 B2 4/2006 Chiapetta et al. 2004/0220000 A1 11/2004 Falone et al.
7,069,124 B1 6, 2006 Whittaker et al. 2004/0236468 A1 11/2004 Taylor et al.
7076348 B2 7/2006 Bucher et al. 2004/0244138 Al 12/2004 Taylor et al.
7,085,624 B2 82006 Aldred et al. 2005/0000543 A1 1/2005 Taylor et al.
7.155.309 B2 1/2006 Peless et al. 2005, 0007057 A1 1/2005 Peless et al.
7.303,576 B1 4/2007 Wilson et al. 2005, OO 10331 A1 1/2005 Taylor et al.
7206677 B3 4/2007 Hudden 2005/0020374, A1 1/2005 Wang
D559.867 S 1/2008 Abramson 2005/0097952 A1 5/2005 Steph
7349,759 B2 3/2008 Peless et al. 2005, 0108.999 A1 5/2005 Bucher
D573,610 S 7/2008 Abramson 2005/0113990 A1 5.2005 Peless et al.
7,441,392 B2 10/2008 Lilliestielke et al. 2005. O156562 A1 7, 2005 Cohen et al.
7,481,036 B2 1/2009 Lilliestielke et al. 2005/0204717 A1 9, 2005 Colens
7,525,287 B2 4/2009 Miyashita et al. 2005/025 1292 Al 11/2005 Casey et al.
T.729.801 B2 6/2010 Abramson 2005/0278094 A1 12/2005 Swinbanks et al.
8,046,103 B2 10/2011 Abramson et al. 2005/0287038 Al 12/2005 Dubrovsky et al.
8,069,639 B2 12/2011 Fancher, III 2006/0293794 Al 12/2006 Harwig et al.
D652.431 S 1/2012 Naslund 2007/0016328 A1 1/2007 Ziegler et al.
D656.63 S 3/2012 Johansson et al. 2007. O142964 A1 6/2007 Abramson
8 136.333 B1 3/2012 Levin et al. 2007/015O109 A1 6/2007 Peless et al.
8,306.659 B2 11/2012 Abramson et al. 2007,01883 18 A1 8, 2007 Cole et al.
8.413,616 B2 4/2013 Bergquist 2008.OO39974 A1 2/2008 Sandin ................... GO5D 1 (028
8,532,822 B2 9/2013 Abramson et al. 7OO/258
8,634.960 B2 1/2014 Sandin et al. 2008.OO97645 A1 4/2008 Abramson et al.
8,635.841 B2 i? 2014 Fiser et al. 2008.0167753 A1 7, 2008 Peless et al.
8781627 B2 7, 2014 Sandin et al. 2008. O183349 A1 7/2008 Abramson et al.
8,868,237 B2 10/2014 Sandin et al. 2009/0254218 A1 10, 2009 Sandin et al.
8,924,144 B2 * 12/2014 Forstall .................... 340,995.24 2010/0059000 A1 3/2010 Bergquist
8,954,193 B2 2/2015 Sandin et al. 2010.0102525 A1 4, 2010 Fancher
8,996,171 B2 * 3/2015 Anderson ............ GOSD 1.0276 2011/O130875 A1 6, 2011 Abramson
TOO.245 2011/0234153 A1 9, 2011 Abramson
9,002,535 B2 4/2015 Powers et al. 2012/0041594 A1 2/2012 Abramson et al.
9,043,952 B2 6/2015 Sandin et al. 2012/00956.19 A1 4, 2012 Packet al.
9,043,953 B2 6/2015 Sandin et al. 2012/0226381 A1 9, 2012 Abramson et al.
2001/00225.06 A1 9, 2001 Peless et al. 2012/0290.165 A1 11/2012 Ouyang
2001/0047231 A1 11/2001 Peless et al. 2013/0006419 A1 1/2013 Bergstrom et al.
2002/0011813 A1 1/2002 Koselka et al. 2013/0030609 A1 1/2013 Jagenstedt
US 9.420,741 B2
Page 4

(56) References Cited WO OO38O29 6, 2000


WO OOT8410 12/2000
U.S. PATENT DOCUMENTS WO O106904 2, 2001
WO O106905 2, 2001
2013/0066484 A1 3/2013 Markusson et al. WO O239864 5, 2002
2013/0076304 A1 3/2013 Andersson et al. WO O239868 5, 2002
2013/0110322 A1 5/2013 Jagenstedt et al. WO O2O58527 8, 2002
2013,0152538 A1 6, 2013 Fiser et al. WO 0206219.4 8, 2002
2013/0184924 A1 7/2013 Jagenstedt et al. WO O2O67744 9, 2002
2013,0249179 A1 9, 2013 Burns WO O2O67745 9, 2002
2013/0274920 A1 10, 2013 Abramson et al. WO 02074150 9, 2002
2014/0102061 A1 4/2014 Sandin et al. WO O2O75356 9, 2002
2014/0102062 A1 4/2014 Sandin et al. WO O2O75469 9, 2002
2014/O117892 A1 5, 2014 Coates WO O2O7547O 9, 2002
2014/0277900 A1* 9/2014 Abhyanker ............ GO1C 21:32 WO O2101477 12/2002
70 1/25 WO O3O26474 4/2003
2015,0006015 A1 1/2015 Sandin et al. WO O3040845 5, 2003
2015,0234385 A1 8, 2015 Sandin et al. WO O3040846 5, 2003
WO O3065140 8, 2003
WO 2004.004.533 1, 2004
FOREIGN PATENT DOCUMENTS WO 2004OO6034 1, 2004
WO 2004058O28 T 2004
EP O792726 9, 1997 WO 2005055795 6, 2005
EP 1331537 T 2003 WO 2005077244 8, 2005
EP 1704766 9, 2006 WO 2006068403 6, 2006
FR 382.8589 8, 2001 WO 2O100771.98 T 2010
GB 2142447 1, 1985
GB 2283838 5, 1995 OTHER PUBLICATIONS
GB 2.382157 5, 2003
JP 62120510 6, 1987 Kozlowski and Pazderski. Modeling and Control of a 4-wheel
JP 6215.4008 7, 1987
JP 63183,032 T 1988 Skid-steering Mobile Robot. International J. of Applied Mathemat
JP 63241610 10, 1988 ics and Computer Science, 14:477-496, 2004.
JP 26312 1, 1990 Angle et al., U.S. Appl. No. 60/177,703, 16 pages, published Feb.
JP O3051023 3, 1991 7, 2002, accessed Jul. 11, 2012.
JP O4320612 11, 1992 Bohn et al. “Super-distributed RFID Tag Infrastructures”. Lecture
JP
JP O6327598
O7129239 11, 1994
5, 1995 Notes
otes in
in C ter Sci
Uomputer Science, Spri
Springer Verlag,
verlag, Berlin,
Serlin, DE,
LJE, vol.
Vol. 3295
JP O7295636 11, 1995 pp. 1-12, Nov. 11, 2004.
JP O816776 1, 1996 Campbell et al., U.S. Appl. No. 60/741,442, 113 pages, published
JP O8O8945.1 4f1996 Jun. 7, 2007, available at http://patentscope.wipo.int/search/
JP O8152916 6, 1996 docservicepdf pctiid00000005206306.pdf, accessed Jul. 11, 2012.
JP O9179625 7/1997 Caracciolo et al. (1999): Trajectory Tracking Control of a Four
JP
JP
O9185410
1150881.0
7/1997
8, 1999
wheel Differentially Driven Mobile Robot. IEEE Int. Conf. Robot
JP 115.10935 9, 1999 ics and Automation, Detroit, MI, pp. 2632-2638.
JP 2001.258807 9, 2001 Casey et al., U.S. Appl. No. 60/582,992, 24 pages, published Nov.
JP 2OO1275908 10, 2001 10, 2005, accessed Jul. 11, 2012.
JP 2OO1525567 12/2001 A communication from a foreign patent office in counterpart appli
JP 2002O786.50 3, 2002 cation PCT/US2007/064326, dated Jul. 17, 2008.
JP 20O2204768 T 2002 Domnitcheva “Smart Vacuum Cleaner an Autonomous Location
JP 3356170 10, 2002 leani
JP 20025321.78 10, 2002 Aware Cleaning Device”d Proceedings
di
offth ional
the International f
Confer
JP 3375843 11 2002 ence on Ubiquitous Computing, pp. 1-2, Sep. 10, 2004.
JP 20O2323.925 11 2002 Doty et al. “Sweep Strategies for a Sensory-Driven, Behavior-Based
JP 20023552O6 12/2002 Vacuum Cleaning Agent' AAAI 1993 Fall Symposium Series
JP 200236O471 12/2002 Instantiating Real-World Agents Research Triangle Park, Raleigh,
JP 200236.0482 12/2002 NC, Oct. 22-24, 1993, pp. 1-6.
JP 2003005296 1, 2003 Electrolux designed for the well-lived home, website: http://www.
JP 2003.01.0076 1, 2003 f O
JP 2003005296 2, 2003 electroluxusa.com/node57.as?currentlJRL-node 142.asp?63F,
JP 2003O36116 2, 2003 accessed Mar. 18, 2005.
JP 2003O384O1 2, 2003 eVac Robotic Vacuum S1727 Instruction Manual, Sharper Image
JP 2003O38402 2, 2003 Corp, Copyright 2004.
JP 2003505127 2, 2003 Everyday Robots, website: http://www.everydayrobots.com/index.
JP 2003061882 3, 2003 php?option=content&task=view&id=9, accessed Apr. 20, 2005.
JP 2003310489 11/2003 Facts on the Trilobite webpage: "http://trilobiteelectroluxset
WO 9502220 1, 1995 s
WO 9526512 10, 1995 presskit en/nodel 1335asp?print=yes&pressID='' accessed Dec. 12,
WO 974O734 11, 1997 2003.
WO 9741451 11, 1997 Friendly Robotics Robotic Vacuum RV400 The Robot Store web
WO 9853.456 11, 1998 site: http://www.therobotstore.com/s.nl/sc.9/category,-109/lit. Aid.
WO 9916O78 4f1999 43/.f, accessed Apr. 20, 2005.
WO 9928800 6, 1999 Gat, Erann, Robust Low-computation Sensor-driven Control for
WO 9938056 7, 1999
WO 9938.237 7, 1999 Task-Directed Navigation, Proceedings of the 1991 IEEE, Interna
WO 9959042 11, 1999 tional Conference on Robotics and Automation, Sacramento, Cali
WO OOO4430 1, 2000 fornia, Apr. 1991, pp. 2484-2489.
WO OO36962 6, 2000 Hicks et al., “A Survey of Robot Lawn Mowers'. http://www.
WO OO38026 6, 2000 robotics.uc.edu/paperspaper2000/lawnmower.pdf (8 pages).
US 9.420,741 B2
Page 5

(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&param1 = 143 United States Office Action issued in U.S. Appl. No. 1 1/688,213,
&param2=&param3=, 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

You might also like