IP Library › Granted Patent US 11,314,254
Granted Patent B2
US 11,314,254 · App. 16/365,197 · Granted Apr 26, 2022

Methods and apparatus for dynamically routing robots based on exploratory on-board mapping

Inventors: Leobardo Campos Macias (Guadalajara, MX); Rodrigo Aldana Lopez (Zapopan, MX); Rafael de la Guardia Gonzalez (Guadalajara, MX); David Gomez Gutierrez (Tlaquepaque, MX); Jose Parra Vilchis (Guadalajara, MX)
Assignee: INTEL CORPORATION
G05D1/0202B64C39/024B64D47/08G01C21/206G05D1/0251G05D1/0274G06K9/00671H04N5/23229B64C2201/141H04N13/111H04N2013/0081
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,314,254
App. No.
16/365,197
Granted
Apr 26, 2022
Kind
B2
Abstract

Methods and apparatus for dynamically routing robots based on exploratory on-board mapping are disclosed. A control system of a robot includes an image manager to command a depth camera to capture depth images of an environment. The depth camera has a field of view. The control system further includes a map generator to generate a map of the environment based on the depth images. The map includes a representation of unoccupied space within the environment, and a path extending through the unoccupied space from a reference location of the robot to a target location of the robot. The control system further includes a field of view evaluator to determine whether the field of view associated with the reference location satisfies a threshold. The control system further includes a route generator to generate, in response to the field of view associated with the reference location satisfying the threshold, a route to be followed by the robot within the environment. The route includes a first candidate location located along the path of the map between the reference location and the target location. The first candidate location is within the field of view associated with the reference location.

Claims (51)

1. A control system of a robot, the control system comprising:

an image manager to command a depth camera to capture depth images of an environment, the depth camera having a field of view;

a map generator to generate a map of the environment based on the depth images, the map including a representation of unoccupied space within the environment, the map further including a path extending through the unoccupied space from a reference location of the robot to a target location of the robot;

a field of view evaluator to determine whether a value of a size attribute of the field of view associated with the reference location satisfies a size attribute threshold; and

a route generator to generate, in response to the value of the size attribute satisfying the size attribute threshold, a route to be followed by the robot within the environment, the route including a first candidate location located along the path of the map between the reference location and the target location, the first candidate location being within the field of view associated with the reference location.

2. The control system as defined in claim 1 , wherein:

the field of view evaluator is to determine whether the target location is within the field of view associated with the reference location; and

the route generator is to generate the route in response to the value of the size attribute satisfying the size attribute threshold and the target location not being within the field of view associated with the reference location.

3. The control system as defined in claim 1 , further including an orientation manager to modify an orientation of the robot in response to the value of the size attribute not satisfying the size attribute threshold.

4. The control system as defined in claim 1 , further including a dynamic filter to convert the route into a dynamic route having a bounded error, the bounded error based on a dynamic constraint of the robot.

5. The control system as defined in claim 4 , wherein the dynamic filter includes an array of low pass filters.

6. The control system as defined in claim 4 , wherein the dynamic constraint is at least one of a maximum position error, a maximum velocity, a maximum acceleration, or a maximum jerk.

7. The control system as defined in claim 1 , further including an occupied space identifier to determine occupied space within the environment based on the depth images.

8. The control system as defined in claim 7 , further including a free space developer to construct the unoccupied space of the map based on the occupied space determined by the occupied space identifier, the free space developer to discretize the unoccupied space into voxels, the voxels having voxel nodes corresponding to the center points of the voxels, the voxel nodes representing candidate locations for the robot.

9. The control system as defined in claim 8 , further including a graph generator to generate a graph of the unoccupied space, the graph including connections between neighboring ones of the voxel nodes.

10. The control system as defined in claim 9 , further including a path generator to generate the path, the path along a plurality of the connections of the graph and through a first subset of the candidate locations, the first subset including a second subset of the candidate locations, the candidate locations of the second subset being located within the field of view associated with the reference location and including the first candidate location, the first candidate location being located closest to the target location from among the candidate locations of the second subset.

11. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause one or more processors of a robot to:

command a depth camera of the robot to capture depth images of an environment, the depth camera having a field of view;

generate a map of the environment based on the depth images, the map including a representation of unoccupied space within the environment, the map further including a path extending through the unoccupied space from a reference location of the robot to a target location of the robot;

determine whether a value of a size attribute of the field of view associated with the reference location satisfies a size attribute threshold; and

generate, in response to the value of the size attribute satisfying the size attribute threshold, a route to be followed by the robot within the environment, the route including a first candidate location located along the path of the map between the reference location and the target location, the first candidate location being within the field of view associated with the reference location.

12. The non-transitory computer-readable storage medium as defined in claim 11 , wherein the instructions, when executed, cause the one or more processors to:

determine whether the target location is within the field of view associated with the reference location; and

generate the route in response to the value of the size attribute satisfying the size attribute threshold and the target location not being within the field of view associated with the reference location.

13. The non-transitory computer-readable storage medium as defined in claim 11 , wherein the instructions, when executed, cause the one or more processors to modify an orientation of the robot in response to the value of the size attribute not satisfying the size attribute threshold.

14. The non-transitory computer-readable storage medium as defined in claim 11 , wherein the instructions, when executed, cause the one or more processors to convert the route into a dynamic route having a bounded error, the bounded error based on a dynamic constraint of the robot.

15. The non-transitory computer-readable storage medium as defined in claim 14 , wherein the dynamic constraint is at least one of a maximum position error, a maximum velocity, a maximum acceleration, or a maximum jerk.

16. A method comprising:

commanding, by executing a computer-readable instruction with one or more processors of a robot, a depth camera of the robot to capture depth images of an environment, the depth camera having a field of view;

generating, by executing a computer-readable instruction with the one or more processors, a map of the environment based on the depth images, the map including a representation of unoccupied space within the environment, the map further including a path extending through the unoccupied space from a reference location of the robot to a target location of the robot;

determining, by executing a computer-readable instruction with the one or more processors, whether a value of a size attribute of the field of view associated with the reference location satisfies a size attribute threshold; and

generating, by executing a computer-readable instruction with the one or more processors in response to the value of the size attribute satisfying the size attribute threshold, a route to be followed by the robot within the environment, the route including a first candidate location located along the path of the map between the reference location and the target location, the first candidate location being within the field of view associated with the reference location.

17. The method as defined in claim 16 , further including:

determining, by executing a computer-readable instruction with the one or more processors, whether the target location is within the field of view associated with the reference location; and

generating, by executing a computer-readable instruction with the one or more processors in response to the value of the size attribute satisfying the size attribute threshold and the target location not being within the field of view associated with the reference location, the route.

18. The method as defined in claim 16 , further including modifying, by executing a computer-readable instruction with the one or more processors, an orientation of the robot in response to the value of the size attribute not satisfying the size attribute threshold.

19. The method as defined in claim 16 , further including converting, by executing a computer-readable instruction with the one or more processors, the route into a dynamic route having a bounded error, the bounded error based on a dynamic constraint of the robot.

20. The method as defined in claim 19 , wherein the dynamic constraint is at least one of a maximum position error, a maximum velocity, a maximum acceleration, or a maximum jerk.

21. A robot, the robot comprising:

a depth camera having a field of view;

computer-readable instructions; and

processor circuitry to execute the computer-readable instructions to:

command the depth camera to capture depth images of an environment;

generate a map of the environment based on the depth images, the map including a representation of unoccupied space within the environment, the map further including a path extending through the unoccupied space from a reference location of the robot to a target location of the robot;

determine whether a value of a size attribute of the field of view associated with the reference location satisfies a size attribute threshold; and

generate, in response to the value of the size attribute satisfying the size attribute threshold, a route to be followed by the robot within the environment, the route including a first candidate location located along the path of the map between the reference location and the target location, the first candidate location being within the field of view associated with the reference location.

22. The robot as defined in claim 21 , wherein the processor circuitry is to:

determine whether the target location is within the field of view associated with the reference location; and

generate the route in response to the value of the size attribute satisfying the size attribute threshold and the target location not being within the field of view associated with the reference location.

23. The robot as defined in claim 21 , wherein the processor circuitry is to modify an orientation of the robot in response to the value of the size attribute not satisfying the size attribute threshold.

24. The robot as defined in claim 21 , wherein the processor circuitry is to convert the route into a dynamic route having a bounded error, the bounded error based on a dynamic constraint of the robot.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2019
From: MACIAS, LEOBARDO CAMPOS; LOPEZ, RODRIGO ALDANA; GONZALEZ, RAFAEL DE LA GUARDIA; GUTIERREZ, DAVID GOMEZ; VILCHIS, JOSE PARRA
To: INTEL CORPORATION
Reel/Frame 048704/0833 →
Continuity (1)
Related Publication 20190220020A1 · Jul 18, 2019
Cited By (9)
US 12,194,639 US 12,231,500 US 12,314,055 US 12,321,390 US 12,358,140 US 12,372,374 US 12,632,978 US 12,645,737 US 12,722,296