A method for controlling an autonomous vehicle 101, comprises determining that a user 210 has departed the vehicle 101, identifying available parking spaces 205, based at least in part on one of stored parking restrictions 230 and vehicle sensor data. One of the parking spaces is selected based at least in part on a distance d1-d3 to a respective parking space 205 and an environmental condition the vehicle 101 navigated to park at the selected parking space. The parking space may be identified by detecting other parked vehicles. The cost of parking may be used to choose between available spaces. If it is determined that a parking restriction is imminent, then the vehicle may move away from the parking space. The parking space may be chosen based upon a score, and the score may be determined according to an environmental condition or a risk of damage. The damage risk may be determined by gathering vehicle vibration or pressure sensor data. The vehicle may return to collect the driver or a passenger following expiration of a time delay. The vehicle may be restricted from moving from a space if it is determined that it is being recharged. This is akin to a valet parking system.