This relates generally to vehicle localization for autonomous vehicle navigation, partially autonomous vehicle navigation, and driver assistance systems.
Vehicles, especially automobiles, partially autonomous automobiles, and automobiles including driver assistance systems, 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.
The present invention is directed to vehicle localization for autonomous vehicle navigation, partially autonomous vehicle navigation, and driver assistance systems. In some embodiments, a vehicle includes multiple systems for determining a vehicle's pose (location and orientation), such as GPS, dead reckoning systems, HD map systems, and a number of localization sensors (e.g., LIDAR, cameras, ultrasonic sensors, etc.). The vehicle can estimate its location using one or more of a GPS system and/or dead reckoning techniques. However, in some situations when GPS is unavailable or unreliable (e.g., due to poor signal reception caused by buildings near the vehicle or when the vehicle is inside a parking structure), the vehicle's estimated location can become more uncertain. Further, dead reckoning techniques can produce errors in estimated vehicle location as the vehicle continues to move.
In some embodiments, the vehicle uses map information to refine its estimated location to reduce position errors. The map information can be downloaded using a wireless or wired connection to a server, another vehicle, or another data source or stored on the vehicle. The map information includes a number of features that can be detected by the vehicle using cameras, LIDAR, ultrasonic sensors, and other sensors included in the vehicle and matched to the features of the map information. The vehicle can determine its location relative to one or more detected features and, based on the sensor information and the map information, obtain an estimated pose of the vehicle relative to the map information. In this way, the vehicle can obtain an improved estimated location relative to the estimated location obtained using GPS and dead reckoning alone.
In some embodiments, the map information includes the location of one or more speed bumps. Driving over the speed bump causes the vehicle to accelerate upwards and downwards. This acceleration can be detected by an IMU (inertial measurement unit) capable of measuring vehicle acceleration in three axis and vehicle pitch and/or one or more suspension level sensors configured to measure activity at the vehicle's suspension system, such as driving over a speed bump. The vehicle uses these data to determine its location relative to the speed bump and can therefore determine its location within the map information based on the speed bump's location within the map.
In the following description, 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.
The present invention is directed to vehicle localization for autonomous vehicle navigation, partially autonomous vehicle navigation, and driver assistance systems. In some embodiments, a vehicle includes multiple systems for determining a vehicle's pose (location and orientation), such as GPS, dead reckoning systems, HD map systems, and a number of localization sensors (e.g., LIDAR, cameras, ultrasonic sensors, etc.). The vehicle can estimate its location using one or more of a GPS system and/or dead reckoning techniques. However, in some situations when GPS is unavailable or unreliable (e.g., due to poor signal reception caused by buildings near the vehicle or when the vehicle is inside a parking structure), the vehicle's estimated location can become more uncertain. Further, dead reckoning techniques can produce errors in estimated vehicle location as the vehicle continues to move.
In some embodiments, the vehicle uses map information to refine its estimated location to reduce position errors. The map information can be downloaded using a wireless or wired connection to a server, another vehicle, or another data source or stored on the vehicle. The map information includes a number of features that can be detected by the vehicle using cameras, LIDAR, ultrasonic sensors, and other sensors included in the vehicle and matched to the features of the map information. The vehicle can determine its location relative to one or more detected features and, based on the sensor information and the map information, obtain an estimated pose of the vehicle relative to the map information. In this way, the vehicle can obtain an improved estimated location relative to the estimated location obtained using GPS and dead reckoning alone.
In some embodiments, the map information includes the location of one or more speed bumps. Driving over the speed bump causes the vehicle to accelerate upwards and downwards. This acceleration can be detected by an IMU (inertial measurement unit) capable of measuring vehicle acceleration in three axis and vehicle pitch and/or one or more suspension level sensors configured to measure activity at the vehicle's suspension system, such as driving over a speed bump. The vehicle uses these data to determine its location relative to the speed bump and can therefore determine its location within the map information based on the speed bump's location within the map.
Vehicle control system 100 further includes an on-board computer 110 that is coupled to the cameras 106, sensors 107, GNSS receiver 108, map information interface 105, and wireless transceiver 109 and that is capable of receiving outputs from the sensors 107, the GNSS receiver 108, map information interface 105, and wireless transceiver 109. The on-board computer 110 is capable of estimating the location of the vehicle based on one or more of sensor measurements, map information, GNSS information, and dead reckoning techniques. On-board computer 110 includes one or more of storage 112, memory 116, and a processor 114. Processor 114 can perform any of the methods described below with reference to
In some embodiments, the vehicle control system 100 is connected to (e.g., via controller 120) 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. The vehicle control system 100 controls, via controller 120, one or more of these actuator systems 130 during vehicle operation; for example, to control the vehicle during fully or partially 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. Actuator systems 130 can also include sensors (e.g., sensors 107, including dead reckoning sensors) that send dead reckoning information (e.g., steering information, speed information, wheel information, etc.) to on-board computer 110 (e.g., via controller 120) to determine the vehicle's location and orientation. 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). The vehicle control system 100 controls, via controller 120, one or more of these indicator systems 140 to provide visual and/or audio indications, such as an indication that a driver will need to take control of the vehicle, for example.
In some embodiments, vehicle 200 has access to map information 201 including the location of a speed bump 203. For example, the speed bump 203 can be defined in the map information by the locations of its ends at (X1, Y1) and (X2, Y2). While driving, vehicle 200 can detect the speed bump 203 using one or more sensors (e.g., sensors 107), as will be described below with reference to
While vehicle 300 is in motion, the sensors 321-325 can detect vertical acceleration (az) 311, front suspension level 313, and/or rear suspension level 315. At a first time to, the vehicle 300 is driving on flat ground and the sensors 301 do not yet detect speed bump 303 based on the sensor data 311-315. When, at tF, the vehicle 300 drives over speed bump 303 with its front wheels, the sensors 321-325 detect the speed bump based on the vertical acceleration 311 and front suspension level 313. Specifically, the motion sensor 321 detects vertical acceleration 311 and the front suspension level sensor 323 detects the front suspension level 313, for example. When, at tR, the vehicle 300 drives over the speed bump 303 again with its rear wheels, the sensors 321-325 detect the speed bump based on the vertical acceleration 311 and the rear suspension level 315. Specifically, the motion sensor 321 detects vertical acceleration 311 and the rear suspension level sensor 325 detects the rear suspension level 315, for example. The time between driving over the speed bump 303 with the front wheels and driving over the speed bump 303 with the rear wheels, Δt, is equal to the length of the vehicle L divided by the vehicle's longitudinal velocity Vx (i.e., the vehicle's velocity in the direction over the speed bump).
The vehicle 300 can update its estimated location after detecting the speed bump 303 with its front wheels and/or after detecting the speed bump 303 with its rear wheels. In some embodiments, the vehicle can have stored on its onboard computer (e.g., onboard computer 110) one or more programs or algorithms for determining that it drove over a speed bump 303 based on sensor data 311-315. For example, the onboard computer can match the sensor data 311-315 to one or more thresholds or training curves to match the data to the data profile expected from a speed bump.
At step 404, the vehicle determines its approximate location. In some embodiments, the vehicle uses techniques such as dead reckoning and/or obtaining a GNSS sample to estimate its location. The estimated location can include a location with an uncertainty as described above with reference to
At step 406, the vehicle identifies a speed bump (e.g., speed bump 203 or speed bump 303) within the map information. Identifying the speed bump within the map information can include determining that the vehicle is within a threshold distance or expected threshold time from driving over the speed bump. The map information can include the coordinates of the speed bump and other information such as additional features proximate to the speed bump or a height and/or expected sensor response of the speed bump. In some embodiments, the speed bump can be defined in the map information based on the locations of its ends, as shown in
At step 408, the vehicle obtains sensor data, such as the sensor data described above with reference to
At step 410, the vehicle calculates the speed bump location with respect to the vehicle based on the sensor data. For example, when the vehicle detects that its front or back wheels are presently driving over the speed bump, it can calculate the distance between a reference point on the vehicle and the speed bump based on a known relative orientation between the reference point and the wheels.
At step 412, the vehicle calculates its location within the map information using the speed bump location within the map and the speed bump location relative to the vehicle. Based on the vehicle's calculated position with respect to the speed bump, the speed bump's position within the map, and known dimensions of the vehicle, the vehicle localizes itself. As described above with reference to
It should be understood that the steps of process 400 can be performed in an order different from the order in which they are described herein without departing from the scope of the disclosure. Further, steps can be repeated, skipped, or performed simultaneously without departing from the scope of the disclosure.
Thus, the disclosure above provides ways of enhancing localization techniques using speed bumps for safe autonomous vehicle navigation.
Therefore, according to the above, the disclosure relates to a system for use in a vehicle, the system comprising: one or more sensors; one or more processors operatively 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: loading map information, the map information comprising a location of a speed bump within a map; receiving motion data from the one or more sensors; calculating a location of the speed bump relative to the vehicle based on the motion data; and calculating a location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle. Additionally or alternatively, in some examples the one or more sensors include an accelerometer. Additionally or alternatively, in some examples the one or more sensors include an inertial measurement unit (IMU). Additionally or alternatively, in some examples the system further comprises a global navigation satellite system (GNSS) receiver, wherein: the method further comprises the step of estimating a location of the vehicle using data from the GNSS receiver, and calculating the location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle reduces an uncertainty of the estimated location of the vehicle. Additionally or alternatively, in some examples the system further comprises one or more dead reckoning sensors, wherein: the method further comprises the step of estimating a location of the vehicle using data from the dead reckoning sensors, and calculating the location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle reduces an uncertainty of the estimated location of the vehicle. Additionally or alternatively, in some examples the one or more sensors include one or more suspension level sensors positioned at one or more of a front axle of the vehicle and a rear axle of the vehicle, wherein the location of the speed bump is calculated based on data from the one or more suspension level sensors.
Some examples of the disclosure relate 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: loading map information, the map information comprising a location of a speed bump within a map; receiving motion data from one or more sensors included in a vehicle system; calculating a location of the speed bump relative to the vehicle based on the motion data; and calculating a location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle. Additionally or alternatively, in some examples the one or more sensors include an accelerometer. Additionally or alternatively, in some examples the one or more sensors include an inertial measurement unit (IMU). Additionally or alternatively, in some examples the vehicle system further comprises a global navigation satellite system (GNSS) receiver, the method further comprises the step of estimating a location of the vehicle using data from the GNSS receiver, and calculating the location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle reduces an uncertainty of the estimated location of the vehicle. Additionally or alternatively, in some examples the vehicle system further comprises one or more dead reckoning sensors, the method further comprises the step of estimating a location of the vehicle using data from the dead reckoning sensors, and calculating the location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle reduces an uncertainty of the estimated location of the vehicle. Additionally or alternatively, in some examples the one or more sensors of the vehicle system include one or more suspension level sensors positioned at one or more of a front axle of the vehicle and a rear axle of the vehicle, wherein the location of the speed bump is calculated based on data from the one or more suspension level sensors.
Some examples of the disclosure are related to a method comprising: loading map information, the map information comprising a location of a speed bump within a map; receiving motion data from one or more sensors included in a vehicle system; calculating a location of the speed bump relative to the vehicle based on the motion data; and calculating a location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle. Additionally or alternatively, in some examples the one or more sensors include an accelerometer. Additionally or alternatively, in some examples the one or more sensors include an inertial measurement unit (IMU). Additionally or alternatively, in some examples the method further comprises estimating a location of the vehicle using data from a global navigation satellite system (GNSS) receiver included in the vehicle system, wherein: calculating the location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle reduces an uncertainty of the estimated location of the vehicle. Additionally or alternatively, in some examples the method further comprises estimating a location of the vehicle using data from one or more dead reckoning sensors included in the vehicle system, wherein: calculating the location of the vehicle within the map based on the location of the speed bump within the map and the location of the speed bump relative to the vehicle reduces an uncertainty of the estimated location of the vehicle. Additionally or alternatively, in some examples the one or more sensors of the vehicle system include one or more suspension level sensors positioned at one or more of a front axle of the vehicle and a rear axle of the vehicle, wherein the location of the speed bump is calculated based on data from the one or more suspension level sensors.
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.