IP Library › Granted Patent US 12,037,769
Granted Patent B1
US 12,037,769 · App. 18/343,753 · Granted Jul 16, 2024

Autonomous offroad vehicle path planning with collision avoidance

Inventors: Noah Austen Ready-Campbell (San Francisco, CA); Martin Karlsson (Lund, SE); Brian Lerner (Boca Raton, FL)
Assignee: BUILT ROBOTICS INC.
E02F9/2045E02F9/205G05D1/0214G05D1/0274
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 12,037,769
App. No.
18/343,753
Granted
Jul 16, 2024
Kind
B1
Abstract

A robot generates a cell grid (e.g., occupancy grid) representation of a geographic area. The occupancy grid may include a plurality of evenly sized cells, and each cell may be assigned an occupancy status, which can be used to indicate the location of obstacles present in the geographic area. Footprints for the robot corresponding to a plurality of robot orientations and joint states may be generated and stored in a look-up table. The robot may generate a planned path for the robot to navigate within the geographic area by generating a plurality of candidate paths, each candidate path comprising a plurality of candidate robot poses. For each candidate robot pose, the robot may query the look-up table for a corresponding robot footprint to determine if a collision will occur.

Claims (45)

1. A method comprising:

partitioning a representation of a geographic area into a cell grid;

generating, for each of a plurality of combinations of orientation and joint state of a robot, a footprint of the robot within the cell grid, the robot comprising a robot body and one or more joints, wherein the footprint comprises a plurality of cells within the cell grid, the plurality of cells corresponding to a portion of the geographic area occupied by a simulated robot at a particular orientation and arm position;

storing the generated footprints within a look-up table;

generating a planned path for the robot to traverse within the geographic area; and

during a simulation of a traversal of the planned path by a simulated robot:

identifying combinations of orientation and joint state of the simulated robot at cells within the cell grid corresponding to the simulated robot as the simulated robot traverses the planned path;

querying the look-up table with the identified combinations of orientation and joint state to identify a set of footprints of the simulated robot as the simulated robot traverses the planned path; and

identifying path conflicts by applying the identified set of footprints of the simulated robot at cells within the cell grid corresponding to the simulated robot as the simulated robot traverses the planned path.

2. The method of claim 1 , wherein the planned path comprises a pre-computed candidate route from a starting point to an ending point.

3. The method of claim 1 , wherein each cell of the cell grid is assigned an occupancy value that indicates whether a cell is occupied.

4. The method of claim 1 , wherein the look-up table stores grid indices of each cell corresponding to each footprint of the set of footprints.

5. The method of claim 1 , wherein identifying path conflicts further comprises:

computing, for each cell corresponding to each footprint of the identified set of footprints, a position of the cell within the cell grid.

6. The method of claim 1 , wherein identifying path conflicts further comprises:

determining, for each cell corresponding to each footprint of the identified set of footprints, whether the cell is occupied.

7. A non-transitory computer-readable medium storing comprising stored instructions that, when executed by one or more processors, cause the one or more processors to:

partition a representation of a geographic area into a cell grid;

generate, for each of a plurality of combinations of orientation and joint state of a robot, a footprint of the robot within the cell grid, the robot comprising a robot body and one or more joints, wherein the footprint comprises a plurality of cells within the cell grid, the plurality of cells corresponding to a portion of the geographic area occupied by a simulated robot at a particular orientation and arm position;

store the generated footprints within a look-up table;

generate a planned path for the robot to traverse within the geographic area; and

during a simulation of a traversal of the planned path by a simulated robot:

identify combinations of orientation and joint state of the simulated robot at cells within the cell grid corresponding to the simulated robot as the simulated robot traverses the planned path;

query the look-up table with the identified combinations of orientation and joint state to identify a set of footprints of the simulated robot as the simulated robot traverses the planned path; and

identify path conflicts by applying the identified set of footprints of the simulated robot at cells within the cell grid corresponding to the simulated robot as the simulated robot traverses the planned path.

8. The non-transitory computer-readable medium of claim 7 , wherein the planned path comprises a pre-computed candidate route from a starting point to an ending point.

9. The non-transitory computer-readable medium of claim 7 , wherein each cell of the cell grid is assigned an occupancy value that indicates whether the cell is occupied.

10. The non-transitory computer-readable medium of claim 7 , wherein the look-up table stores grid indices of each cell corresponding to each footprint of the set of footprints.

11. The non-transitory computer-readable medium of claim 7 , the instructions to identify path conflicts further comprises instructions to compute, for each cell corresponding to each footprint of the identified set of footprints, a position of the cell within the cell grid.

12. The non-transitory computer-readable medium of claim 7 , the instructions to identify path conflicts further comprises instructions to determine, for each cell corresponding to each footprint of the identified set of footprints, whether the cell is occupied.

13. A central server comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium storing executable instructions that, when executed by the one or more computer processors, cause the one or more computer processors to:

partition a representation of a geographic area into a cell grid;

generate, for each of a plurality of combinations of orientation and joint state of a robot, a footprint of the robot within the cell grid, the robot comprising a robot body and one or more joints, wherein the footprint comprises a plurality of cells within the cell grid, the plurality of cells corresponding to a portion of the geographic area occupied by a simulated robot at a particular orientation and arm position;

store the generated footprints within a look-up table;

generate a planned path for the robot to traverse within the geographic area; and

during a simulation of a traversal of the planned path by a simulated robot:

identify combinations of orientation and joint state of the simulated robot at cells within the cell grid corresponding to the simulated robot as the simulated robot traverses the planned path;

query the look-up table with the identified combinations of orientation and joint state to identify a set of footprints of the simulated robot as the simulated robot traverses the planned path; and

identify path conflicts by applying the identified set of footprints of the simulated robot at cells within the cell grid corresponding to the simulated robot as the simulated robot traverses the planned path.

14. The central server of claim 13 , wherein the planned path comprises a pre-computed candidate route from a starting point to an ending point.

15. The central server of claim 13 , wherein each cell of the cell grid is assigned an occupancy value that indicates whether the cell is occupied.

16. The central server of claim 13 , wherein the look-up table stores grid indices of each cell corresponding to each footprint of the set of footprints.

17. The central server of claim 13 , the instructions to identify path conflicts further comprises instructions to compute, for each cell corresponding to each footprint of the identified set of footprints, a position of the cell within the cell grid.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2023
From: READY-CAMPBELL, NOAH AUSTEN; KARLSSON, MARTIN; LERNER, BRIAN
To: BUILT ROBOTICS INC.
Reel/Frame 064204/0246 →
Cited By (1)
US 12,692,678