Vehicle autonomous collision prediction and escaping system (ACE)
Embodiments herein relate to an autonomous vehicle or self-driving vehicle. The system can determine a collision avoidance path by: 1) predicting the behavior/trajectory of other moving objects (and identifying stationary objects); 2) given the driving trajectory (issued by autonomous driving system) or predicted driving trajectory (human), establishing the probability for a collision that can be calculated between the vehicle and one or more objects; and 3) finding a path to minimize the collision probability.
1. A vehicle, comprising:
a sensor to sense an environment surrounding the vehicle;
a vehicle control system to autonomously control driving functions of the vehicle;
a processor in communication with the sensor and the vehicle control system, the processor executing instructions stored on a memory to:
identify an object within the environment surrounding the vehicle;
determine a probabilistic vector for the object;
determine, based on the probabilistic vector for the object, that the object may collide with the vehicle;
determine, in response to determining that the object may collide with the vehicle, a path to avoid the object from a tree comprising potential paths for the vehicle, the path being determined by:
determining a root node for the tree, the root node being associated with a current position of the vehicle at a first time;
determining two or more child nodes depending from the root node in the tree and corresponding to two or more different possible positions for the vehicle at a second time subsequent to the first time;
determining probabilities of collision between the object and the vehicle for the two or more child nodes;
determining weights for the probabilities of collision for the two or more child nodes;
normalizing the probabilities of collision for the two or more child nodes by multiplying a respective weight by a respective probability of collision for each of the two or more child nodes; and
determining, prior to the second time and based on the probabilistic vector for the object and the two or more different possible positions for the vehicle at the second time, a single child node of the two or more child nodes having a lowest probability of a collision between the object and the vehicle at the second time, wherein the path to avoid the object is one of the potential paths linking the root node to the single child node in the tree; and
provide the path to the vehicle control system to autonomously control the vehicle along the path and avoid collision with the object.
2. The vehicle of claim 1 , wherein determining the path to avoid the object includes the processor:
determining two or more grandchild nodes depending from the single child node in the tree and corresponding to two or more different possible positions for the vehicle at a third time subsequent to the second time; and
determining, prior to the third time and based on the probabilistic vector for the object and the two or more different possible positions for the vehicle at the third time, a single grandchild node of the two or more grandchild nodes having a lowest probability of a collision between the object and the vehicle at the third time, wherein the path to avoid the object is one of the potential paths linking the root node to the single grandchild node via the single child node in the tree.
3. The vehicle of claim 1 , wherein determining the path to avoid the object comprises determining nodes dependent from the root node in the tree from a corresponding parent node having a lowest probability of a collision between the object and the vehicle at a corresponding time.
4. The vehicle of claim 1 , wherein the respective weight for each child node is equal to a negative logarithm of a mean collision probability for all visited trajectories of the vehicle multiplied by one divided by a minimum collision probability from among all the visited trajectories of the vehicle.
5. The vehicle of claim 1 , wherein the probabilistic vector for the object is determined based on a stochastic model of possible vectors for the object.
6. The vehicle of claim 1 , wherein the probabilistic vector for the object is modified by a constraint.
7. The vehicle of claim 1 , wherein each level of the tree represents a different time step t in the future.
8. The vehicle of claim 1 , wherein a tree size of the tree is based on a total evaluation period T.
9. The vehicle of claim 7 , wherein each node in the tree represents a different position at the different time step t.
10. The vehicle of claim 1 , wherein the processor determines that the object may collide with the vehicle when the probabilistic vector for the object indicates that a probability of the object and the vehicle being at a same position at a future point of time is greater than a threshold.
11. A method, comprising:
receiving sensor information relating to an environment surrounding a vehicle;
identifying an object within the environment surrounding the vehicle based on the sensor information;
determining a probabilistic vector for the object based on a stochastic model;
determining, based on the probabilistic vector for the object, that the object may collide with the vehicle;
determining, in response to determining that the object may collide with the vehicle, a path to avoid the object from a tree comprising potential paths for the vehicle, the path to avoid the object being determined by:
determining a root node for the tree, the root node being associated with a current position of the vehicle at a first time;
determining two or more child nodes depending from the root node in the tree and corresponding to two or more different possible positions for the vehicle at a second time subsequent to the first time;
determining probabilities of collision between the object and the vehicle for the two or more child nodes;
determining weights for the probabilities of collision for the two or more child nodes;
normalizing the probabilities of collision for the two or more child nodes by multiplying a respective weight by a respective probability of collision for each of the two or more child nodes; and
determining, prior to the second time and based on the probabilistic vector for the object and the two or more different possible positions for the vehicle at the second time, a single child node of the two or more child nodes having a lowest probability of a collision between the object and the vehicle at the second time, wherein the path to avoid the object is one of the potential paths linking the root node to the single child node in the tree; and
providing the path to a vehicle control system to control the vehicle along the path and avoid collision with the object.
12. The method of claim 11 , wherein determining the path to avoid the object includes:
determining two or more grandchild nodes depending from the single child node in the tree and corresponding to two or more different possible positions for the vehicle at a third time subsequent to the second time; and
determining, prior to the third time and based on the probabilistic vector for the object and the two or more different possible positions for the vehicle at the third time, a single grandchild node of the two or more grandchild nodes having a lowest probability of a collision between the object and the vehicle at the third time, wherein the path to avoid the object is one of the potential paths linking the root node to the single grandchild node via the single child node in the tree.
13. The method of claim 11 , wherein determining the path to avoid the object comprises determining nodes dependent from the root node in the tree only from a corresponding parent node having a lowest probability of a collision between the object and the vehicle at a corresponding time.
14. The method of claim 11 , wherein the probabilistic vector for the object is modified by a constraint.
15. A device comprising:
at least one processor; and
memory including instructions that when executed by the at least one processor cause the at least one processor to:
identify an object within an environment surrounding a vehicle;
determine a probabilistic vector for the object;
determine, based on the probabilistic vector for the object, that the object may collide with the vehicle;
determine, in response to determining that the object may collide with the vehicle, a path to avoid the object from a tree comprising potential paths for the vehicle, the path to avoid the object being determined by:
determining a root node for the tree, the root node being associated with a current position of the vehicle at a first time;
determining two or more child nodes depending from the root node in the tree and corresponding to two or more different possible positions for the vehicle at a second time subsequent to the first time;
determining probabilities of collision between the object and the vehicle for the two or more child nodes;
determining weights for the probabilities of collision for the two or more child nodes;
normalizing the probabilities of collision for the two or more child nodes by multiplying a respective weight by a respective probability of collision for each of the two or more child nodes; and
determining, prior to the second time and based on the probabilistic vector for the object and the two or more different possible positions for the vehicle at the second time, a single child node of the two or more child nodes having a lowest probability of a collision between the object and the vehicle at the second time, wherein the path to avoid the object is one of the potential paths linking the root node to the single child node in the tree; and
provide the path to a vehicle control system to control the vehicle along the path and avoid collision with the object.
16. The device of claim 15 , wherein the probabilistic vector for the object is determined based on a stochastic model.
17. The device of claim 15 , wherein the probabilistic vector for the object is modified by a constraint.