IP Library › Granted Patent US 12,172,638
Granted Patent B2
US 12,172,638 · App. 17/379,126 · Granted Dec 24, 2024

Dynamically modifiable map

Inventor: Grady Williams (San Francisco, CA)
Assignee: EMBARK TRUCKS, INC.
B60W30/143B60W10/20B60W30/18163G01C21/3815B60W10/04B60W10/18B60W60/001B60W2420/403B60W2420/408B60W2552/53G05B13/0265
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,172,638
App. No.
17/379,126
Granted
Dec 24, 2024
Kind
B2
Abstract

Provided are systems and methods for controlling a vehicle based on a map that designed using a factor graph. Because the map is designed using a factor graph, positions of the road can be modified in real-time while operating the vehicle. In one example, the method may include storing a map which is associated with a factor graph of variable nodes representing a plurality of constraints that define positions of lane lines in a road and factor nodes between the variable nodes on the factor graph which define positioning constraints amongst the variable nodes, receiving an indication from the road using a sensor of a vehicle, updating positions of the variable nodes based on the indication and an estimated location of the vehicle within the map, and issue commands capable of controlling a steering operation of the vehicle based on the updated positions of the factor nodes.

Claims (35)

1. A computing system comprising:

a memory configured to store a map representing a plurality of lane lines of a road as a graph, the graph including a plurality of variable nodes each associated with a position in the map and interconnected via edges that model positions of the lane lines of the road in the map, and the graph further including a plurality of factor nodes positioned on the edges between adjacent variable nodes and storing relative positioning constraints that limit positions of respective adjacent variable nodes; and

a processor configured to:

receive sensor data of the road captured by at least one sensor of a vehicle as the vehicle is moving with respect to the road:

determine, as the vehicle is moving on the road, updated positions for at least one of the variable nodes within the map based on the received sensor data and further based on the positioning constraints defined for the at least one of the variable nodes by the plurality of the factor nodes;

store the map including the updated positions for at least one of the variable nodes in the memory; and

control movement of the vehicle with respect to the road based on the updated positions of the at least one of the variable nodes within the map of the road.

2. The computing system of claim 1 , wherein the processor is configured to detect that the lane line is misaligned based on an image of the lane line compared to positions of a one or more of the variable nodes in the map of the road.

3. The computing system of claim 1 , wherein the at least one of the variable nodes is associated with a global position factor, and the processor is configured to determine updated positions for the at least one of the variable nodes within the map by using the sensor data to modify the global position factor associated with the at least one of the variable nodes stored in the graph.

4. The computing system of claim 1 , wherein the memory is configured to store the map of the road within a computer-readable file.

5. The computing system of claim 1 , wherein the processor is configured to control the vehicle to perform one or more of a lane change, a change of speed, and a turn, based on the updated positions of the at least one of the variable nodes within the map of the road.

6. The computing system of claim 1 , wherein the processor is configured to iteratively capture indications of the lane lines at predetermined intervals while the vehicle is moving along the road, wherein each indication corresponds to a different subset portion of the plurality of the variable nodes in the map of the road than a previous indication.

7. The computing system of claim 6 , wherein the processor is configured to iteratively update positions of one or more of the variable nodes within the map of the road based on the iteratively captured indications.

8. The computing system of claim 1 , wherein the processor is configured to store the map including the updated positions for the at least one of the variable nodes within the map of the road while the vehicle is moving along the road.

9. A method comprising:

storing a map representing a plurality of lane lines of a road as a graph, the graph including a plurality of a variable nodes each associated with a position in the map and interconnected via edges that model positions of the lane lines of the road in the map, and the graph further including a plurality of factor nodes positioned on the edges between adjacent variable nodes and storing relative positioning constraints that limit positions of respective adjacent variable nodes;

receiving sensor data of the road captured by at least one sensor of a vehicle as the vehicle is moving with respect to the road;

determining, as the vehicle is moving on the road, updated positions for at least one of the variable nodes within the map based on the received sensor data and further based on the positioning constraints defined for the at least one of the variable nodes by the plurality of the factor nodes;

storing the map including the updated positions for the at least one of the variable nodes in a memory; and

controlling movement of the vehicle with respect to the road based on the updated positions of the at least one of the variable nodes within the map of road.

10. The method of claim 9 , wherein the updating comprises detecting that the lane line is misaligned based on an image of the lane line compared to positions of a one or more of the variable nodes in the map of the road.

11. The method of claim 9 , wherein the at least one of the variable nodes is associated with a global position factor, and the determining of the updated positions for the at least one of the variable nodes is based on within the map comprises using the sensor data to modify the global position factor associated with the at least one of the variable nodes that is stored in the graph.

12. The method of claim 9 , wherein the storing comprises storing the map of the road within a computer-readable file.

13. The method of claim 9 , wherein the controlling comprises controlling the vehicle to perform one or more of a lane change, a change of speed, and a turn, based on the updated positions of the at least one of the variable nodes within the map of the road.

14. The method of claim 9 , wherein the updating comprises iteratively capturing indications of the lane lines at predetermined intervals while the vehicle is moving along the road, wherein each indication corresponds to a different portion of the plurality of the variable nodes in the map of the road than a previous indication.

15. The method of claim 14 , wherein the updating comprises iteratively updating positions of one or more of the variable nodes within the map of the road based on the iteratively captured indications.

16. The method of claim 9 , wherein the updating comprises storing the map including the updated positions for the at least one of the variable nodes within the map of the road while the vehicle is moving along the road.

17. A vehicle comprising:

a memory configured to store a map representing a plurality of lane lines of a road as a graph, the graph including a plurality of a variable nodes each associated with a position in the map and interconnected via edges that model positions of the lane lines of the road in the map, and the graph further including a plurality of factor nodes positioned on the edges between adjacent variable nodes and storing relative positioning constraints that limit positions of respective adjacent variable nodes; and

a processor configured to:

receive sensor data captured of the road as a vehicle moves along the road;

determine, as the vehicle is moving on the road, updated positions for at least one of the variable nodes within the map based on the received sensor data and further based on the positioning constraints defined for the at least one of the variable nodes by the plurality of the factor nodes;

store the map including the updated positions for the at least one of the variable nodes in the memory; and

control movement of the vehicle with respect to the road based on the updated positions of the at least one of the variable nodes within the map of the road.

18. The vehicle of claim 17 , wherein the processor is configured to detect that the lane line is misaligned based on an image of the lane line compared to positions of one or more of the variable nodes in the map of the road.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2021
From: WILLIAMS, GRADY
To: EMBARK TRUCKS, INC.
Reel/Frame 056901/0517 →
Continuity (1)
Related Publication 20230016578A1 · Jan 19, 2023