System and method for post-route analysis of an autonomous vehicle
Disclosed herein are system and method for driving organization and subsequent analysis of an autonomous vehicle. In an exemplary aspect, the system and method comprise dividing a path of a vehicle into a plurality of segments based on predetermined conditions; monitoring both behavior of the vehicle and driving conditions during each of the plurality of segments; storing the behavior and the driving conditions in a plurality of records of an immutable storage; determining whether an accident has occurred involving the vehicle; in response to determining that the accident has occurred, retrieving for the plurality of segments the behavior and the driving conditions from the immutable storage; reconstructing the path using the retrieved behavior and the driving conditions and the plurality of segments; and analyzing the reconstructed path to determine a cause of the accident.
1. A method for driving organization and subsequent analysis of an autonomous vehicle, comprising:
dividing, by a processor, a path of a vehicle into a plurality of segments based on predetermined conditions;
monitoring, by the processor, both behavior of the vehicle and driving conditions during each of the plurality of segments, wherein the behavior comprises a plurality of commands executed by the vehicle based on the driving conditions while navigating through the path;
storing, by the processor, the behavior and the driving conditions in a plurality of records of an immutable storage;
determining, by the processor, whether an accident has occurred involving the vehicle;
in response to determining that the accident has occurred, retrieving for the plurality of segments, by a processor, the behavior and the driving conditions from the immutable storage;
reconstructing, by the processor, the path using the retrieved behavior and the driving conditions and the plurality of segments;
determining, based on the reconstructed path, a cause of the accident by identifying a first command of the plurality of commands taken during a first driving condition that resulted the accident; and
adjusting a master list of commands, used by the vehicle to select commands to execute during various driving conditions, such that the first command is not executed by the vehicle during the first driving condition during future navigation on the path.
2. The method of claim 1 , wherein the immutable storage comprises one or more of a blockchain network, and a hash graph.
3. The method of claim 2 , further comprising:
storing the behavior in remote immutable storage;
determining that a network connection is lost;
in response to losing the network connection, storing records in local immutable storage; and
in response to the network being restored, synchronizing the local immutable storage with the remote immutable storage.
4. The method of claim 1 , wherein the master list of commands is a first master list of commands, and wherein the vehicle is a first vehicle and the accident involves a second vehicle, further comprising:
identifying, from the plurality of records in the immutable storage, a first record indicating the first command executed by the first vehicle prior to the accident and a second record indicating a second command executed by the second vehicle;
determining whether the first command is in the first master list of commands that the first vehicle should follow;
determining whether the second command is in a second master list of commands that the second vehicle should follow;
in response to determining that the first command is in the first master list and the second command is not in the second master list, determining that an incorrect movement by the second vehicle is the cause of the accident.
5. The method of claim 4 , further comprising:
in response to determining that the first command is not in the first master list and the second command is in the second master list, determining that an incorrect movement by the first vehicle is the cause of the accident.
6. The method of claim 4 , further comprising:
in response to determining that the first command is not in the first master list and the second command is not in the second master list, determining that incorrect movements by both vehicles are the cause of the accident.
7. The method of claim 4 , further comprising:
in response to determining that the first command is in the first master list and the second command is in the second master list, determining that an external factor is the cause of the accident.
8. The method of claim 4 , further comprising:
in response to determining that the first command is in the first master list and the second command is in the second master list, adjusting the first command and the second command in the first master list and the second master list, respectively, to prevent future accidents by the first vehicle and the second vehicle.
9. A system for driving organization and subsequent analysis of an autonomous vehicle, comprising a processor configured to:
divide a path of a vehicle into a plurality of segments based on predetermined conditions;
monitor both behavior of the vehicle and driving conditions during each of the plurality of segments, wherein the behavior comprises a plurality of commands executed by the vehicle based on the driving conditions while navigating through the path;
store the behavior and the driving conditions in a plurality of records of an immutable storage;
determine whether an accident has occurred involving the vehicle;
in response to determining that the accident has occurred, retrieve for the plurality of segments the behavior and the driving conditions from the immutable storage;
reconstruct the path using the retrieved behavior and the driving conditions and the plurality of segments;
determine, based on the reconstructed path, a cause of the accident by identifying a first command of the plurality of commands taken during a first driving condition that resulted the accident; and
adjust a master list of commands, used by the vehicle to select commands to execute during various driving conditions, such that the first command is not executed by the vehicle during the first driving condition during future navigation on the path.
10. The system of claim 9 , wherein the immutable storage comprises one or more of a blockchain network, and a hash graph.
11. The system of claim 10 , wherein the processor is further configured to:
store the behavior in remote immutable storage;
determine that a network connection is lost;
in response to losing the network connection, store records in local immutable storage; and
in response to the network being restored, synchronize the local immutable storage with the remote immutable storage.
12. The system of claim 9 , wherein the master list of commands is a first master list of commands, and wherein the vehicle is a first vehicle and the accident involves a second vehicle, wherein the processor is further configured to:
identify, from the plurality of records in the immutable storage, a first record indicating the first command executed by the first vehicle prior to the accident and a second record indicating a second command executed by the second vehicle;
determine whether the first command is in the first master list of commands that the first vehicle should follow;
determine whether the second command is in a second master list of commands that the second vehicle should follow;
in response to determining that the first command is in the first master list and the second command is not in the second master list, determine that an incorrect movement by the second vehicle is the cause of the accident.
13. The system of claim 12 , wherein the processor is further configured to:
in response to determining that the first command is not in the first master list and the second command is in the second master list, determine that an incorrect movement by the first vehicle is the cause of the accident.
14. The system of claim 12 , wherein the processor is further configured to:
in response to determining that the first command is not in the first master list and the second command is not in the second master list, determine that incorrect movements by both vehicles are the cause of the accident.
15. The system of claim 12 , wherein the processor is further configured to:
in response to determining that the first command is in the first master list and the second command is in the second master list, determine that an external factor is the cause of the accident.
16. The system of claim 12 , wherein the processor is further configured to:
in response to determining that the first command is in the first master list and the second command is in the second master list, adjust the first command and the second command in the first master list and the second master list, respectively, to prevent future accidents by the first vehicle and the second vehicle.
17. A non-transitory computer readable medium comprising computer executable instructions for driving organization and subsequent analysis of an autonomous vehicle, including instructions for:
dividing a path of a vehicle into a plurality of segments based on predetermined conditions;
monitoring both behavior of the vehicle and driving conditions during each of the plurality of segments, wherein the behavior comprises a plurality of commands executed by the vehicle based on the driving conditions while navigating through the path;
storing the behavior and the driving conditions in a plurality of records of an immutable storage;
determining whether an accident has occurred involving the vehicle;
in response to determining that the accident has occurred, retrieving for the plurality of segments the behavior and the driving conditions from the immutable storage;
reconstructing the path using the retrieved behavior and the driving conditions and the plurality of segments;
determining, based on the reconstructed path, a cause of the accident by identifying a first command of the plurality of commands taken during a first driving condition that resulted the accident; and
adjusting a master list of commands, used by the vehicle to select commands to execute during various driving conditions, such that the first command is not executed by the vehicle during the first driving condition during future navigation on the path.
18. The non-transitory computer readable medium of claim 17 , wherein the immutable storage comprises one or more of a blockchain network, and a hash graph.
19. The non-transitory computer readable medium of claim 18 , further including instructions for:
storing the behavior in remote immutable storage;
determining that a network connection is lost;
in response to losing the network connection, storing records in local immutable storage; and
in response to the network being restored, synchronizing the local immutable storage with the remote immutable storage.
20. The non-transitory computer readable medium of claim 17 , wherein the master list of commands is a first master list of commands, and wherein the vehicle is a first vehicle and the accident involves a second vehicle, further including instructions for:
identifying, from the plurality of records in the immutable storage, a first record indicating the first command executed by the first vehicle prior to the accident and a second record indicating a second command executed by the second vehicle;
determining whether the first command is in the first master list of commands that the first vehicle should follow;
determining whether the second command is in a second master list of commands that the second vehicle should follow;
in response to determining that the first command is in the first master list and the second command is not in the second master list, determining that an incorrect movement by the second vehicle is the cause of the accident.