Motion planning
Path planning may be performed under non-holonomic constraints based at least on discretizing and selectively analyzing a solution space using a graph that includes vertices corresponding to machine configurations in a configuration space, along with associated maneuver types used by the machine to traverse these configurations. The graph may include transition edges associating costs with machine transitions between maneuver types and maneuvers. One or more of the vertices may correspond to a transition state between maneuver types. In some examples, a maneuver type may be used as a transition state between maneuver types to reduce the vertices and edges of the graph. The graph may incorporate vertices and edges representing optimal maneuver types for traversing the configuration space, including longitudinally extremal and/or laterally extremal maneuvers based on machine models.
1 . A method comprising:
selectively analyzing a graph based at least on costs associated with at least one of vertices or edges of the graph:
the vertices indexed at least by configurations of a machine in a configuration space and by maneuver types used by the machine to traverse the configurations,
the edges including maneuver edges linking first groups of the vertices corresponding to different configurations and a same maneuver type of the maneuver types, and
the edges including transition edges linking within second groups of the vertices, one or more first vertices representing a first maneuver type to one or more second vertices representing a same configuration of the configurations as the one or more first vertices, and a second maneuver type of the maneuver types that is different than the first maneuver type, the analyzing using the transition edges to model, in the costs for the second groups, transition costs of the machine switching between the first maneuver type and the second maneuver type while retaining the same configuration;
based at least on the selectively analyzing, determining, using the costs, one or more paths through the graph; and
performing one or more control operations associated with the machine based at least on the one or more paths.
2 . The method of claim 1 , wherein the maneuver types correspond to respective turns having different curvatures.
3 . The method of claim 1 , wherein the maneuver types include a maneuver type having a first variant that is a reversed version of a second variant of the maneuver type.
4 . The method of claim 1 , wherein at least one node of the vertices represents a transition state between at least two maneuver types of the maneuver types.
5 . The method of claim 1 , wherein the maneuver types include a first maneuver type representing a forward version of a maneuver and a second maneuver type representing a reversed version of the maneuver.
6 . The method of claim 1 , wherein the analyzing includes:
evaluating respective maneuver costs for reaching the same configuration respectively using the first maneuver type and the second maneuver type;
storing a selected cost of the respective maneuver costs in a shared memory location of a transition state representing the same configuration; and
applying a transition cost of the transition costs to the selected cost accessed from the shared memory location to model the machine switching between the first maneuver type and the second maneuver type.
7 . The method of claim 1 , wherein the first maneuver type includes a straight maneuver type, and the second maneuver type includes at least one of a left turn maneuver type or a right turn maneuver type.
8 . The method of claim 1 , wherein the transition costs correspond to a time penalty for at least one of changing a gear of the machine or turning a steering wheel of the machine while the machine remains in the same configuration.
9 . The method of claim 1 , wherein the transition edges represent the transition costs and the maneuver edges represent maneuver costs that correspond to traveled distances and are incorporated with the transition costs to compute the costs.
10 . The method of claim 1 , wherein the transition edges form a star topology in which a transition vertex of the vertices represents a transition state between the one or more first vertices and the one or more second vertices.
11 . A system comprising:
one or more processors to perform operations including:
selectively analyzing vertices or edges of a graph,
the vertices indexed at least by configurations of a machine in a configuration space and by maneuver types used by the machine to traverse the configurations,
the edges including transition edges linking within groups of the vertices, one or more first vertices representing a first maneuver type to one or more second vertices representing a same configuration of the configurations as the one or more first vertices, and a second maneuver type of the maneuver types that is different than the first maneuver type, the analyzing using the transition edges to model, in costs for the groups, transition costs of the machine switching between the first maneuver type and the second maneuver type while retaining the same configuration;
based at least on the selectively analyzing, determining, using the costs, one or more paths through the graph; and
performing, based at least on the one or more paths, one or more control operations associated with the machine.
12 . The system of claim 11 , wherein the maneuver types correspond to respective turns having different curvatures.
13 . The system of claim 11 , wherein the maneuver types include a maneuver type having a first variant that is a reversed version of a second variant of the maneuver type.
14 . The system of claim 11 , wherein at least one node of the vertices represents a transition state between at least two maneuver types of the maneuver types.
15 . The system of claim 11 , wherein the maneuver types include a first maneuver type representing a forward version of a maneuver and a second maneuver type representing a reversed version of the maneuver.
16 . The system of claim 11 , wherein the system is comprised in at least one of:
a control system for an autonomous or semi-autonomous machine;
a perception system for an autonomous or semi-autonomous machine;
a system for performing one or more simulation operations;
a system for performing one or more digital twin operations;
a system for performing light transport simulation;
a system for performing collaborative content creation for 3D assets;
a system for performing one or more deep learning operations;
a system implemented using an edge device;
a system implemented using a robot;
a system for performing one or more generative AI operations;
a system for performing operations using one or more large language models (LLMs);
a system for performing operations using one or more vision language models (VLMs);
a system for performing one or more conversational AI operations;
a system for generating synthetic data;
a system for presenting at least one of virtual reality content, augmented reality content, or mixed reality content;
a system incorporating one or more virtual machines (VMs);
a system implemented at least partially in a data center; or
a system implemented at least partially using cloud computing resources.
17 . At least one processor comprising:
one or more circuits to perform one or more control operations associated with a machine using one or more paths through a graph, the one or more paths determined based at least on selectively analyzing vertices and edges of the graph,
the vertices corresponding to configurations of a machine in a configuration space and maneuver types used by the machine to traverse the configurations,
the edges including transition edges linking within groups of the vertices, one or more first vertices representing a first maneuver type to one or more second vertices representing a same configuration of the configurations as the one or more first vertices, and a second maneuver type of the maneuver types that is different than the first maneuver type, the analyzing using the transition edges to model, in costs for the groups, transition costs of the machine switching between the first maneuver type and the second maneuver type while retaining the same configuration.
18 . The at least one processor of claim 17 , wherein the maneuver types correspond to respective turns having different curvatures.
19 . The at least one processor of claim 17 , wherein the maneuver types include a maneuver type having a first variant that is a reversed version of a second variant of the maneuver type.
20 . The at least one processor of claim 17 , wherein the at least one processor is comprised in at least one of:
a control system for an autonomous or semi-autonomous machine;
a perception system for an autonomous or semi-autonomous machine;
a system for performing one or more simulation operations;
a system for performing one or more digital twin operations;
a system for performing light transport simulation;
a system for performing collaborative content creation for 3D assets;
a system for performing one or more deep learning operations;
a system implemented using an edge device;
a system implemented using a robot;
a system for performing one or more generative AI operations;
a system for performing operations using one or more large language models (LLMs);
a system for performing operations using one or more vision language models (VLMs);
a system for performing one or more conversational AI operations;
a system for generating synthetic data;
a system for presenting at least one of virtual reality content, augmented reality content, or mixed reality content;
a system incorporating one or more virtual machines (VMs);
a system implemented at least partially in a data center; or
a system implemented at least partially using cloud computing resources.