A system for parking a vehicle in a location that is not defined by parking lines or by surrounding vehicles, the system comprising; a user interface; an electromagnetic radiation sensor; and an electronic controller configured to, receive, via the electromagnetic radiation sensor, information about the vehicle's surroundings, receive, via the user interface, a desired parking location, create a virtual parking boundary, determine reference points, track the reference points, determine a distance between the vehicle and a parking location, control the vehicle to move the vehicle into the parking location, and detect an obstruction in the parking location or in the vehicle's path to the parking location, characterised by the fact that the electronic controller is configured to execute a method to track the reference points which includes: determining an expected location for each reference point at a future position of the vehicle; moving the vehicle to the future position; detecting an actual location of each of the reference points; comparing the actual location of each reference point to the expected location of each reference point; determining a plane of each reference point, whose actual location does not match its expected location; determining if the vehicle is able to park in the plane; and determining a new reference point if the vehicle is not able to park in the plane or if the actual location of the reference point cannot be detected. a user interface; an electromagnetic radiation sensor; and an electronic controller configured to, receive, via the electromagnetic radiation sensor, information about the vehicle's surroundings, receive, via the user interface, a desired parking location, create a virtual parking boundary, determine reference points, track the reference points, determine a distance between the vehicle and a parking location, control the vehicle to move the vehicle into the parking location, and detect an obstruction in the parking location or in the vehicle's path to the parking location, characterised by the fact that the electronic controller is configured to execute a method to track the reference points which includes: determining an expected location for each reference point at a future position of the vehicle; moving the vehicle to the future position; detecting an actual location of each of the reference points; comparing the actual location of each reference point to the expected location of each reference point; determining a plane of each reference point, whose actual location does not match its expected location; determining if the vehicle is able to park in the plane; and determining a new reference point if the vehicle is not able to park in the plane or if the actual location of the reference point cannot be detected. determining an expected location for each reference point at a future position of the vehicle; moving the vehicle to the future position; detecting an actual location of each of the reference points; comparing the actual location of each reference point to the expected location of each reference point; determining a plane of each reference point, whose actual location does not match its expected location; determining if the vehicle is able to park in the plane; and determining a new reference point if the vehicle is not able to park in the plane or if the actual location of the reference point cannot be detected.