This relates generally to vehicle localization for autonomous vehicle navigation.
Vehicles, especially automobiles, increasingly include various systems and sensors for determining the vehicle's location. Current localization techniques for vehicles include Global Positioning Systems (GPS) and dead reckoning. GPS techniques (including Global Navigation Satellite Systems (GNSS)), however, can result in some uncertainty under certain conditions. For example, GPS localization can be inaccurate because of signal blockage (e.g., due to tall buildings, being in a tunnel or parking garage), signal reflections off of buildings, or atmospheric conditions. Moreover, dead reckoning techniques can be imprecise and can accumulate error as the vehicle travels. Accurate localization of a vehicle, however, is critical to achieve safe autonomous vehicle navigation. Therefore, a solution to enhance localization techniques for autonomous vehicle navigation can be desirable.
Examples of the disclosure are directed to enhancing localization techniques for safe autonomous driving navigation. A system in accordance with a preferred embodiment of the present invention estimates a current location and heading of a vehicle using a location system such as GPS, and analyzes on-board sensor information relating to the vehicle's surroundings, such as LIDAR and/or camera data. In accordance with one embodiment, the system uses the location information to retrieve map information related to the estimated location of the vehicle including information about landmarks (e.g., location, type, dimensions) within the vicinity the vehicle's estimated location. In accordance with one embodiment, the map information and sensor information are used by the system to enhance the estimated location and heading of the vehicle. For example, the system analyzes map information and the sensor information to perform map matching of the landmarks described in the map information to the landmarks detected by the vehicle's onboard sensors and then determines the vehicle's position and orientation relative to the landmarks identified in the retrieved map information. By determining the vehicle's position and orientation relative to the landmarks described in the map, which includes the location of the landmarks (e.g., latitude and longitude coordinates, X and Y coordinates within the map), the system improves the precision and accuracy of the estimated location and heading of the vehicle. In this way, the vehicle can more safely navigate around the geographic area described by the map.
In the following description of examples, references are made to the accompanying drawings that form a part hereof, and in which it is shown by way of illustration specific examples that can be practiced. It is to be understood that other examples can be used and structural changes can be made without departing from the scope of the disclosed examples. Further, in the context of this disclosure, “autonomous driving” (or the like) can refer to autonomous driving, partially autonomous driving, and/or driver assistance systems.
Autonomous vehicles can use location and heading information for performing autonomous driving operations. Examples of the disclosure are directed to using map information and sensor information for enhancing autonomous vehicle navigation. For example, a system in accordance with a preferred embodiment of the present invention can estimate a current location and heading of a vehicle using a location system such as GPS, and analyze on-board sensor information relating to the vehicle's surroundings, such as LIDAR and/or camera data. The system can use this information to retrieve a map containing information about the estimated location of the vehicle. In some examples, the map information can be retrieved from an external source (e.g., a server, another vehicle). In some examples, the system can retrieve this map from local memory. In some examples, the map is a two dimensional map. In some examples, the map is a three dimensional map. The map information can include information about one or more landmarks (e.g., latitude and longitude coordinates, X and Y coordinates of the landmarks within the map, the dimensions of the one or more landmarks, type of landmark for each of the one or more landmarks, the distance between each landmark). The vehicle can use the map information and the sensor information to identify and locate one or more landmarks within the vehicle's vicinity. For example, the vehicle can determine its position and orientation relative to the landmark(s), as will be discussed in further detail below. Using this additional location information, the vehicle can more accurately determine its location and heading by matching the landmarks in the map to the landmarks detected by the vehicle's sensors, as described in further detail below. In this way, the vehicle can more safely navigate itself within the area described by the map.
A vehicle control system 100 according to an embodiment of the present invention can include an on-board computer 110 that is coupled to cameras 106, sensors 107, GPS receiver 108, and map information interface 105, and that is capable of receiving the image data from the cameras and/or outputs from the sensors 107, the GPS receiver 108, and the map information interface 105. On-board computer 110 can include storage 112, memory 116, communications interface 118, and a processor 114. Processor 114 can perform any of the methods described with references to
In some examples, vehicle control system 100 is electrically connected (e.g., via controller 120) to one or more actuator systems 130 in the vehicle and one or more indicator systems 140 in the vehicle. The one or more actuator systems 130 can include, but are not limited to, a motor 131 or engine 132, battery system 133, transmission gearing 134, suspension setup 135, brakes 136, steering system 137, and door system 138. Vehicle control system 100 controls, via controller 120, one or more of these actuator systems 130 during vehicle operation; for example, to open or close one or more of the doors of the vehicle using the door actuator system 138, to control the vehicle during autonomous driving operations, using the motor 131 or engine 132, battery system 133, transmission gearing 134, suspension setup 135, brakes 136, and/or steering system 137, etc. According to one embodiment, actuator systems 130 includes sensors that send dead reckoning information (e.g., steering information, speed information, etc.) to on-board computer 110 (e.g., via controller 120) to estimate the vehicle's location and heading. The one or more indicator systems 140 can include, but are not limited to, one or more speakers 141 in the vehicle (e.g., as part of an entertainment system in the vehicle), one or more lights 142 in the vehicle, one or more displays 143 in the vehicle (e.g., as part of a control or entertainment system in the vehicle), and one or more tactile actuators 144 in the vehicle (e.g., as part of a steering wheel or seat in the vehicle). Vehicle control system 100 can control, via controller 120, one or more of these indicator systems 140 to provide indications to a driver.
Vehicle 200 can be configured to autonomously drive along road 202 using sensor and map information. For example, vehicle 200 can use its positioning systems (e.g., GPS, INS) to estimate its location and orientation. The vehicle's onboard computer (e.g., as described above with reference to
To obtain the necessary map information, vehicle 300 is configured to identify and load map 350 based on the vehicle's estimated location (e.g., error bounds 312) (e.g., as described above with reference to
At step 420, a map of the area surrounding the vehicle's estimated location is obtained. For example, a look up operation can be performed for a map that contains the estimated location of the vehicle (e.g., the error bounds). In some examples, the lookup operation can be performed locally (e.g., from the memory or storage of the vehicle's onboard computer). In some examples, the lookup operation can be performed remotely. For example, a request for map information can be sent (e.g., through vehicle-to-vehicle, Internet, cellular, radio, or any other wireless communication channels and/or technologies) to an outside source (e.g., a server, another vehicle). In response to the request, a map containing the vehicle's estimated location can be received. The map obtained at step 420 can include information about one or more landmarks (e.g., latitude and longitude coordinates, the X and Y coordinates of each of the landmarks, the types of each of the landmarks, the dimensions of each of the landmarks, the distance between each of the landmarks). These landmarks can include light-poles, signal-poles, telephone poles, power-line poles, traffic signs, street signs, traffic signals, trees, lane dividers, road markings (e.g., lane markers, parking spot markers, direction markers), pillars, file hydrants, or any other fixed object or structure within a geographic area.
At step 430, two or more landmarks surrounding the vehicle are detected. For example, the vehicle's sensors are used gather sensor information about one or more characteristics about the vehicle's surroundings. The sensor information can include data from LIDAR sensors, cameras (e.g., stereo-cameras, mono-cameras), radar sensors, ultrasonic sensors, laser sensors, and/or any other sensors that can be used to detect one or more characteristics about the vehicle's surroundings. In some examples, a LIDAR sensor can be used to detect one or more characteristics about the vehicle's surroundings and to classify objects or structures around the vehicle as a particular landmark type (e.g., as a light-pole, signal-pole, telephone pole, power-line pole, traffic sign, street sign, traffic signal, tree, lane divider, road marking, pillar, file hydrant, building, wall, fence). In some examples, cameras can be used to detect one or more objects or structures surrounding the vehicle and to classify objects or structures as a particular landmark type. In some examples, process 400 can first use a LIDAR sensor to detect one or more objects or structures surrounding the vehicle and use one or more cameras (or a sensor other than a LIDAR sensor) to classify each of the one or more objects or structures as a particular landmark type.
In some examples, at step 430, process 400 can use sensor information to detect two or more landmarks within the error bounds obtained from step 410. For example, process 400 can first identify landmarks in the map information that are located within the area defined by the error bounds and then use sensor information to detect two of more of those landmarks. In some examples, process 400 can first use sensor information to detect landmarks around the vehicle and select two or more of the detected landmarks contained within the area defined by the error bounds. In some examples, process 400 can use sensor information to detect two or more landmarks outside the error bounds obtained from step 410. In some examples, process 400 can use sensor information to detect one or more landmarks within the error bounds and to detect one or more landmarks outside the error bounds (e.g., to detect at least one landmark within the error bounds and at least one landmark outside of the error bounds).
In some examples, step 430 can be performed before step 410. In some examples, step 430 can be performed after step 410 and before step 420. In some examples, step 430 can be performed concurrently with steps 410 and/or 420.
At step 440, process 400 matches two or more of the landmarks detected at step 430 with two or more of the landmarks in the map obtained at step 420. For example, process 400 can match two or more landmarks by comparing the landmarks detected at step 430 with the landmarks in the map obtained at step 420. In some examples, process 400 can compare the classifications (e.g., the type of landmarks) and/or the dimensions of the landmarks detected at step 430 with the landmarks in the map obtained at step 420 (e.g., to identify known landmark patterns). In some examples, process 400 can match the landmarks detected by the vehicle's sensor(s) at step 440 to the landmarks in the map obtained at step 420 by calculating the distances between two or more of the landmarks detected by the vehicle's sensor(s) at step 430 and comparing those calculated distances to the distances between two or more landmarks in the map obtained at step 420. In some examples, process 400 can determine the distances between two or more landmarks detected by the vehicle's sensor(s) at step 430 by using the distances from the vehicle to each of the landmarks and the angles from the vehicle's estimated heading to each of the landmarks (e.g., as described in further detail below). In some examples, process 400 will match two or more landmarks contained within the area defined by the error bounds to two or more landmarks from the map obtained at step 420. In some examples, process 400 will match two or more landmarks outside of the area defined by the error bounds to two or more landmarks from the map obtained at step 420. In some examples, process 400 will match at least one landmark contained within the error bounds of the vehicle's estimated location and at least one landmark outside of the error bounds of the vehicle's estimated location to two or more landmarks from the map obtained at step 420. In some examples, process 400 will determine the location and heading of the sensor used to detect the landmarks surrounding the vehicle (e.g., a LIDAR sensor mounter on the hood of the car) and convert that location and heading of the sensor to the vehicle's location (e.g., convert a single point location to the location of the entire car) and heading (e.g., convert the heading from being relative to the sensor to being relative to the center of the front bumper if driving forward or relative to the center of the back bumper if driving in reverse) at step 450.
At step 610, sensor information is obtained (e.g., as described above with reference to
At step 620, map information is obtained (e.g., as described above with reference to
At step 630, process 600 localizes the vehicle within the map obtained at step 620. For example, process 600 can determine the vehicle's location and heading within the map's coordinate system by matching two or more of the landmarks detected by the vehicle's sensor(s) at step 610 to two or more of the landmarks in the map obtained at step 620 (e.g., as described above with reference to
It should be understood that the above calculation and be extended to three or more landmarks.
Thus, the examples of the disclosure provide various ways to enhance localization techniques for safe autonomous vehicle navigation.
Therefore, according to the above, some examples of the disclosure are directed to a system for use in a vehicle, the system comprising: one or more sensors; one or more processors coupled to the one or more sensors; and a memory including instructions, which when executed by the one or more processors, cause the one or more processors to perform a method comprising the steps of: determining an estimated location of the vehicle; obtaining map information based on the estimated location of the vehicle; obtaining sensor information relating the vehicle's proximate surroundings from the one or more sensors; detecting a first landmark and a second landmark in physical proximity to the vehicle based on the sensor information; and localizing the vehicle location based on the map information and the first and second landmarks. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the map information includes information about a plurality of landmarks. Additionally or alternatively to one or more of the examples disclosed above, in some examples, localizing the vehicle based on the map information and the first and second landmarks comprises the steps of: matching the first landmark to a third landmark of the plurality of landmarks and the second landmark to a fourth landmark of the plurality of landmarks; and determining a location and heading of the vehicle based on the vehicle's distance and orientation to the first and second landmarks. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the first and second landmarks comprise street light-poles. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the estimated location of the vehicle comprises an error bounds defining an area in which the vehicle is likely located. Additionally or alternatively to one or more of the examples disclosed above, in some examples, obtaining the map information based on the estimated location of the vehicle comprises retrieving map containing the area defined by the error bounds. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the map information is retrieved from the memory. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the map information is retrieved from a remote server. Additionally or alternatively to one or more of the examples disclosed above, in some examples, matching the first landmark to the third landmark and the second landmark to the fourth landmark further comprises the steps of: comparing the first and second landmarks to the plurality of landmarks; and identifying the first landmark as the third landmark and second landmark as the fourth landmark by landmark types and dimensions. Additionally or alternatively to one or more of the examples disclosed above, in some examples, matching the first landmark to the third landmark and the second landmark to the fourth landmark comprises: calculating a first distance between the first and second landmarks; comparing the first and second landmarks to the plurality of landmarks; and identifying the first landmark as the third landmark and second landmark as the fourth landmark in accordance with a determination that the first distance matches a second distance between the third landmark and the fourth landmark. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the location and heading of the vehicle based on the vehicle's distance and orientation to the first and second landmarks comprises the steps of: determining a first distance from the vehicle to the first landmark; determining a first angle from the vehicle to the first landmark relative to an estimated heading of the vehicle; determining a second distance from the vehicle to the second landmark; determining a second angle from the vehicle to the second landmark relative to the estimated heading of the vehicle; and determining the location and heading of the vehicle based on the first distance, the first angle, the second distance, and the second angle. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the first landmark is located within the error bounds and the second landmark is located outside of the error bounds. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the map information comprises a map of a parking lot. Additionally or alternatively to one or more of the examples disclosed above, in some examples, obtaining the map information comprises a step of requesting a map containing the estimated location of the vehicle from a server. Additionally or alternatively to one or more of the examples disclosed above, in some examples, detecting the first landmark and the second landmark near the vehicle based on the sensor information comprises the steps of: detecting at least one characteristic about the vehicle's surroundings with the one or more sensors; classifying a first object of the one or more characteristics by landmark type; classifying a second object of the one or more characteristics by landmark type; and identifying the first object as the first landmark and the second object as the second landmark. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the landmark types include signal-poles, telephone poles, power-line poles, traffic signs, street signs, traffic signals, trees, lane dividers, road markings, pillars, file hydrants, buildings, walls, and fences. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the step of localizing the vehicle location includes determining a location and heading of the vehicle within a vehicle coordinate system. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the first landmark is a first landmark type and the second landmark is a second landmark type.
Some examples of the disclosure are directed to a non-transitory computer-readable medium including instructions, which when executed by one or more processors, cause the one or more processors to perform a method comprising: determining an estimated location of a vehicle; obtaining map information based on the estimated location of the vehicle; obtaining sensor information about the vehicle's surroundings from one or more sensors; detecting a first landmark and a second landmark near the vehicle based on the sensor information; and localizing the vehicle based on the map information and the first and second landmarks.
Some examples of the disclosure are directed to a method comprising: determining an estimated location of a vehicle; obtaining map information based on the estimated location of the vehicle; obtaining sensor information about the vehicle's surroundings from one or more sensors; detecting a first landmark and a second landmark near the vehicle based on the sensor information; and localizing the vehicle based on the map information and the first and second landmarks.
Although examples have been fully described with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of examples of this disclosure as defined by the appended claims.