Systems and methods for initializing a robot to autonomously travel a trained route
First Claim
Patent Images
1. An autonomously navigating robot comprising:
- a user interface configured to prompt a user to initiate navigation of the robot autonomously through one of a plurality of available learned routes from one of a plurality of starting locations, the plurality of starting locations being associated with respective ones of a plurality of initialization objects;
a camera configured to take a first image of an initialization object of the plurality of initialization objects while the robot is in a first location and a second image of the initialization object of the plurality of initialization objects while the robot is in a second location;
an odometry unit configured to determine positions of the robot with respect to the initialization object; and
a controller configured to;
initialize the odometry unit relative to the initialization object determined at least in part from the first image while the robot is in the first location;
learn a route by user demonstration, beginning from the first location, where the learned route associates actions of the robot with positions of the robot relative to the initialization object determined by the odometry unit, the plurality of available learned routes comprising the learned route;
detect, via the camera, the initialization object from an image, and associate the image with the second image, the association being indicative of the robot being in the second location;
autonomously select, by the controller, based on the initialization object detected from the associated image, the learned route from the plurality of available learned routes associated with the initialization object;
initialize the odometry unit relative to the initialization object determined at least in part from the second image; and
navigate the robot autonomously beginning from the second location through at least a portion of the selected learned route while instructing the robot to perform one or more associated actions based at least in part with positions of the robot relative to the initialization object determined by the odometry unit.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for initializing a robot to autonomously travel a route are disclosed. In some exemplary implementations, a robot can detect an initialization object and then determine its position relative to that initialization object. The robot can then learn a route by user demonstration, where the robot associates actions along that route with positions relative to the initialization object. The robot can later detect the initialization object again and determine its position relative to that initialization object. The robot can then autonomously navigate the learned route, performing actions associated with positions relative to the initialization object.
189 Citations
23 Claims
-
1. An autonomously navigating robot comprising:
-
a user interface configured to prompt a user to initiate navigation of the robot autonomously through one of a plurality of available learned routes from one of a plurality of starting locations, the plurality of starting locations being associated with respective ones of a plurality of initialization objects; a camera configured to take a first image of an initialization object of the plurality of initialization objects while the robot is in a first location and a second image of the initialization object of the plurality of initialization objects while the robot is in a second location; an odometry unit configured to determine positions of the robot with respect to the initialization object; and a controller configured to; initialize the odometry unit relative to the initialization object determined at least in part from the first image while the robot is in the first location; learn a route by user demonstration, beginning from the first location, where the learned route associates actions of the robot with positions of the robot relative to the initialization object determined by the odometry unit, the plurality of available learned routes comprising the learned route; detect, via the camera, the initialization object from an image, and associate the image with the second image, the association being indicative of the robot being in the second location; autonomously select, by the controller, based on the initialization object detected from the associated image, the learned route from the plurality of available learned routes associated with the initialization object; initialize the odometry unit relative to the initialization object determined at least in part from the second image; and navigate the robot autonomously beginning from the second location through at least a portion of the selected learned route while instructing the robot to perform one or more associated actions based at least in part with positions of the robot relative to the initialization object determined by the odometry unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for operating a robot comprising:
-
taking a first image of an initialization object while the robot is in a first location; determining a first starting position of the robot relative to the initialization object based at least in part on the first image while the robot is in the first location; learning a plurality of routes by user demonstration, beginning from the first location, where the plurality of learned routes associate actions of the robot with positions of the robot relative to the initialization object, wherein the positions are determined at least in part from the first starting position; taking a second image of the initialization object while the robot is in a second location; detecting by the robot the initialization object in the second image of the initialization object; filtering by the robot the plurality of learned routes using the detected initialization object; presenting one or more of the filtered routes on a display device for selection by a user; when a route is selected, determining a second starting position of the robot relative to the initialization object based at least in part on the second image while the robot is in the second location; causing the robot to navigate autonomously beginning from the second location through at least a portion of the selected route while instructing the robot to perform the one or more associated actions based at least in part with positions of the robot relative to the initialization object, wherein the positions are determined at least in part from the second starting position. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-readable storage medium having at least one computer program comprising a plurality of instructions stored thereon, the plurality of instructions being executable by a processing apparatus to operate a robot, the instructions being configured to, when executed by the processing apparatus, cause the processing apparatus to:
-
determine a first starting position of the robot relative to a first initialization object based at least in part on a first image; learn at least one first route associated with the first initialization object by user demonstration, where the at least one first learned route associates actions of the robot with positions of the robot relative to the first initialization object, wherein the positions relative to the first initialization object are determined at least in part from the first starting position; determine a second starting position of the robot relative to a second initialization object based at least in part on a second image; learn at least one second route associated with the second initialization object by user demonstration, where the second learned route associates actions of the robot with positions of the robot relative to the second initialization object, wherein the positions relative to the second initialization object are determined at least in part from the second starting position; store (i) the at least one first route associated with the first initialization object and (ii) the at least one second route associated with the second initialization object; when the robot captures the first image, algorithmically identify the first initialization object in the captured first image based on a library of images stored in the storage medium, and based on the identified first initialization object, automatically select and navigate one of the at least one first route associated with the identified first initialization object; and when the robot captures the second image, algorithmically identify the second initialization object in the captured second image based on the library of images, and based on the identified second initialization object, automatically select and navigate one of the at least one second route associated with the identified second initialization object. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification