IP Library Granted Patent US 10,899,008
Granted Patent B2
US 10,899,008 · App. 16/376,237 · Granted Jan 26, 2021

Systems and methods for robotic path planning

Inventors: Oleg Sinyavskiy (San Diego, CA); Jean-Baptiste Passot (Solana Beach, CA); Borja Ibarz Gabardos (London, GB); Diana Vu Le (San Diego, CA)
Assignee: Brain Corporation
B25J9/1666A47L11/283A47L11/4008A47L11/4011A47L11/4061A47L11/4066B25J11/0085G01C21/00G01C21/32G01C21/3407G05D1/0214G05D1/0217G05D1/0274G05D2201/0203
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 10,899,008
App. No.
16/376,237
Granted
Jan 26, 2021
Kind
B2
Abstract

Systems and methods for robotic path planning are disclosed. In some implementations of the present disclosure, a robot can generate a cost map associated with an environment of the robot. The cost map can comprise a plurality of pixels each corresponding to a location in the environment, where each pixel can have an associated cost. The robot can further generate a plurality of masks having projected path portions for the travel of the robot within the environment, where each mask comprises a plurality of mask pixels that correspond to locations in the environment. The robot can then determine a mask cost associated with each mask based at least in part on the cost map and select a mask based at least in part on the mask cost. Based on the projected path portions within the selected mask, the robot can navigate a space.

Claims (69)

1. A method for determining a trajectory for a robot, comprising:

generating a cost map for a computer readable map corresponding to an environment, the cost map comprising a cost function as a function of space within the environment, the cost function being proportional to a desirability for the robot to navigate over a spatial region within the environment, the cost map comprising robot centric coordinates;

receiving a matrix of predetermined masks, wherein each of a respective predetermined mask comprising robot centric coordinates and an associated actuator command for the robot;

evaluating a cost for each of the matrix of predetermined masks based on projecting the matrix of predetermined masks onto the cost map;

determining a lowest associated cost of the respective predetermined mask; and

executing the associated actuator command of the predetermined mask of lowest associated cost, execution of the associated actuator command effectuates movement of the robot along at least a portion of the trajectory.

2. The method of claim 1 , further comprising:

discretizing the computer readable map into a plurality of points;

omitting points of the plurality of points associated with unnavigable region;

determining at least one controller characteristic associated with execution of at least one respective sequence of path portions along the trajectory, the controller characteristic comprising a plurality of linear velocity vectors of the robot as the robot navigates over points by executing each of the at least one sequence of path portions;

determining a shortest path to an end point of the trajectory and a shortest-path controller characteristic associated thereto; and

performing a dot product between the linear velocity vectors of the shortest-path controller characteristic and each of the mask controller characteristics to determine an associated cost, the cost being proportional to the dot product.

3. The method of claim 2 , further comprising:

projecting a footprint of the robot at points of the plurality of points close to the unnavigable regions; and

omitting points of the plurality of points where the footprint of the robot comprises a portion of the unnavigable regions, the footprint comprising a spatial region greater than or equal to a spatial region occupied by the robot.

4. The method of claim 1 , further comprising:

imposing artificial regions of high cost on the cost map at predetermined distances from the trajectory.

5. The method of claim 1 , further comprising:

omit one or more of the predetermined mask if a recovery condition applies based on no predetermined mask comprises an associated cost below a threshold.

6. The method of claim 1 , wherein,

the projection of the predetermined masks on the cost map comprises a dot product between the matrix of predetermined masks and the cost map.

7. The method of claim 1 , wherein,

the cost map comprises a plurality of cost pixels, wherein each cost pixel comprises an associated cost thereto, and each cost pixel corresponds to a spatial region within the environment.

8. A robotic system, comprising:

a non-transitory computer readable storage medium comprising a plurality of instructions stored thereon; and

one or more processors, coupled to a robot, configured to execute the instructions to:

generate a cost map for a computer readable map corresponding to an environment, the cost map comprising a cost function as a function of space within the environment, the cost function being proportional to a desirability for the robot to navigate over a spatial region within the environment, the cost map comprising robot centric coordinates;

receive a matrix of predetermined masks, wherein each of a respective predetermined mask comprising robot centric coordinates and an associated actuator command for the robot;

evaluate a cost for each of the matrix of predetermined masks based on projecting the matrix of predetermined masks onto the cost map;

determine a lowest associated cost of the respective predetermined mask; and

execute the associated actuator command of the predetermined mask of lowest associated cost, execution of the associated actuator command effectuates movement of the robot along at least a portion of the trajectory.

9. The robotic system claim 8 , wherein the one or more processors further executes the instructions to:

discretize the computer readable map into a plurality of points;

omit points of the plurality of points associated with unnavigable region;

determine at least one controller characteristic associated with execution of at least one respective sequence of path portions along the trajectory, the controller characteristic comprising a plurality of linear velocity vectors of the robot as the robot navigates over points by executing each of the at least one sequence of path portions;

determine a shortest path to an end point of the trajectory and a shortest-path controller characteristic associated thereto; and

perform a dot product between the linear velocity vectors of the shortest-path controller characteristic and each of the mask controller characteristics to determine an associated cost, the cost being proportional to the dot product.

10. The robotic system claim 9 , wherein the one or more processors further executes the instructions to:

project a footprint of the robot at points of the plurality of points close to the unnavigable regions; and

omit points of the plurality of points where the footprint of the robot comprises a portion of the unnavigable regions, the footprint comprising a spatial region greater than or equal to a spatial region occupied by the robot.

11. The robotic system claim 8 , wherein the one or more processors further executes the instructions to:

impose artificial regions of high cost on the cost map at predetermined distances from the trajectory.

12. The robotic system claim 8 , wherein the one or more processors further executes the instructions to:

omit one or more of the predetermined mask if a recovery condition applies based on no predetermined mask comprises an associated cost below a threshold.

13. The robotic system of claim 8 , wherein,

the projection of the predetermined masks on the cost map comprises a dot product between the matrix of predetermined masks and the cost map.

14. The robotic system of claim 8 , wherein,

the cost map comprises a plurality of cost pixels, wherein each cost pixel comprises an associated cost thereto, and each cost pixel corresponds to a spatial region within the environment.

15. A non-transitory computer readable storage medium comprising a plurality of instructions stored thereon that, when executed by a processor, configure the processor to:

generate a cost map for a computer readable map corresponding to an environment, the cost map comprising a cost function as a function of space within the environment, the cost function being proportional to a desirability for the robot to navigate over a spatial region within the environment, the cost map comprising robot centric coordinates;

receive a matrix of predetermined masks, wherein each of a respective predetermined mask comprising robot centric coordinates and an associated actuator command for the robot;

evaluate a cost for each of the matrix of predetermined masks based on projecting the matrix of predetermined masks onto the cost map;

determine a lowest associated cost of the respective predetermined mask; and

execute the associated actuator command of the predetermined mask of lowest associated cost, execution of the associated actuator command effectuates movement of the robot along at least a portion of the trajectory.

16. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to execute the instructions to:

discretize the computer readable map into a plurality of points;

omit points of the plurality of points associated with unnavigable region;

determine at least one controller characteristic associated with execution of at least one respective sequence of path portions along the trajectory, the controller characteristic comprising a plurality of linear velocity vectors of the robot as the robot navigates over points by executing each of the at least one sequence of path portions;

determine a shortest path to an end point of the trajectory and a shortest-path controller characteristic associated thereto; and

perform a dot product between the linear velocity vectors of the shortest-path controller characteristic and each of the mask controller characteristics to determine an associated cost, the cost being proportional to the dot product.

17. The non-transitory computer readable storage medium of claim 16 , wherein the processor is further configured to execute the instructions to:

project a footprint of the robot at points of the plurality of points close to the unnavigable regions; and

omit points of the plurality of points where the footprint of the robot comprises a portion of the unnavigable regions, the footprint comprising a spatial region greater than or equal to a spatial region occupied by the robot.

18. The non-transitory computer readable storage medium of claim 15 , wherein the instructions further configure the processor to:

impose skirts, or artificial regions of high cost, on the cost map at predetermined distances from the trajectory.

19. The robotic system claim 15 , wherein the processor is further configured to execute the instructions to:

imposing artificial regions of high cost on the cost map at predetermined distances from the trajectory.

20. The robotic system of claim 15 , wherein,

the cost map comprises a plurality of cost pixels, wherein each cost pixel comprises an associated cost thereto, and each cost pixel corresponds to a spatial region within the environment.

Assignments (1)
SECURITY INTEREST Recorded Oct 8, 2021
From: BRAIN CORPORATION
To: HERCULES CAPITAL, INC.
Reel/Frame 057851/0574 →
Continuity (2)
Continuation 15474816 · Mar 30, 2017
Related Publication 20190299410A1 · Oct 3, 2019