A system for controlling a vehicle to move autonomously, the system comprising:
- a navigation module;
- a control module;
- at least one camera;
- a recognition module;
- a safety-determining module;
- a communication module;
- a memory;
- and
- one or more processors in communication with the memory, the navigation module, the control module, the at least one camera, the recognition module, the safety-determining module, and the communication module, wherein the computer system is configured to perform a method, said method comprising:
- obtaining, by the one or more processors, images from a camera, wherein the at least one camera captures images from the vehicle;
- storing, by the one or more processors, the images in the memory;
- obtaining, by the one or more processors, a control value and an acceleration value for at least one navigational instruction of one or more navigational instructions, wherein each navigational instruction comprises a terminating navigational point selected from one or more navigational points comprising a route from a current location of the vehicle to a destination, wherein the control value and the acceleration value comprise movement instructions to control the vehicle to execute the at least one navigational instruction, the obtaining comprising:
- obtaining, by the one or more processors, a live image from the camera;
- comparing, by the one or more processors, the live image to a portion of the stored images;
- based on the comparing, determining, by the one or more processors, a degree of correspondence between the live image and the portion;
- based on the degree of correspondence, generating, by the one or more processors, a safety value;
- comparing, by the one or more processors, the safety value to a predetermined value;
- based on determining that the safety value is greater than the predetermined value, obtaining the control value and the acceleration value based on converting the at least one navigational instruction to the control value and the acceleration value;
- and
- based on determining that the safety value is less than or equal to the predetermined value, requesting, by the one or more processors, the control value and the acceleration value and obtaining the control value and the acceleration value responsive to the requesting;
- updating, by the one or more processors, at least one stored image of the stored images in the memory with the acceleration value;
- controlling, by the one or more processors, the vehicle to execute the at least one navigational instruction, wherein the executing is based on the control value and the acceleration value;
- obtaining, by the one or more processors, a current image from the camera after the controlling;
- and
- confirming, by the one or more processors, the executing of the at least one navigational instruction based on analyzing the current image to determine that the vehicle has reached the terminating navigational point of the at least one navigational instruction.