The disclosure generally relates to a method and system for ground surface projection for autonomous driving.
Autonomous vehicles and semi-autonomous vehicles utilized sensors to monitor and make determinations about an operating environment of the vehicle. The vehicle may include a computerized device including programming to estimate a road surface and determine locations and trajectories of objects near the vehicle.
A system for ground surface projection for autonomous driving of a host vehicle is provided. The system includes a LIDAR device of the host vehicle and a computerized device. The computerized device is operable to monitor data from the LIDAR device including a total point cloud. The total point cloud describes an actual ground surface in the operating environment of the host vehicle. The device is further operable to segment the total point cloud into a plurality of local point clouds and, for each of the local point clouds, determine a local polygon estimating a portion of the actual ground surface. The device is further operable to assemble the local polygons into a total estimated ground surface and navigate the host vehicle based upon the total estimated ground surface.
In some embodiments, the system further includes a camera device of the host vehicle. In some embodiments, the computerized device is further operable to monitor data from the camera device, identify and track an object in an operating environment of the host vehicle based upon the data from the camera device, determine a location of the object upon the total estimated ground surface, and navigate the host vehicle further based upon the location of the object upon the total estimated ground surface.
In some embodiments, the computerized device is further operable to smooth transitions in the total estimated ground surface between the local polygons.
In some embodiments, smoothing the transitions in the total estimated ground surface between the local polygons includes smoothing overlaps in the local polygons.
In some embodiments, smoothing the transitions in the total estimated ground surface between the local polygons includes smoothing gaps in the local polygons.
In some embodiments, the computerized device is further operable to monitor three-dimensional coordinates of the host vehicle, monitor digital map data, and transform the total estimated ground surface into in world coordinates based upon the three-dimensional coordinates and the digital map data.
In some embodiments, determining the local polygon estimating the portion of the actual ground surface includes determining a normal vector angle for each local polygon. In some embodiments, the normal vector angle for each polygon is utilized to map the total estimated ground surface.
According to one alternative embodiment, a system for ground surface projection for autonomous driving of a host vehicle is provided. The system includes a camera device of the host vehicle, a LIDAR device of the host vehicle, and a computerized device. The computerized device is operable to monitor data from the camera device and identify and track an object in an operating environment of the host vehicle based upon the data from the camera device. The computerized device is further operable to monitor data from the LIDAR device including a total point cloud. The total point cloud describes an actual ground surface in the operating environment of the host vehicle. The computerized device is further operable to segment the total point cloud into a plurality of local point clouds and, for each of the local point clouds, determine a local polygon estimating a portion of the actual ground surface. The computerized device is further operable to assemble the local polygons into a total estimated ground surface and determine a location of the object upon the total estimated ground surface. The computerized device is further operable to navigate the host vehicle based upon the total estimated ground surface and the location of the object upon the total estimated ground surface.
In some embodiments, the computerized device is further operable to smooth transitions in the total estimated ground surface between the local polygons.
In some embodiments, smoothing the transitions in the total estimated ground surface between the local polygons includes smoothing overlaps in the local polygons.
In some embodiments, smoothing the transitions in the total estimated ground surface between the local polygons includes smoothing gaps in the local polygons.
According to one alternative embodiment, a method for ground surface projection for autonomous driving of a host vehicle is provided. The method includes, within a computerized processor within the host vehicle, monitoring data from a LIDAR device upon the host vehicle including a total point cloud. The total point cloud describes an actual ground surface in the operating environment of the host vehicle. The method further includes, within the computerized processor, segmenting the total point cloud into a plurality of local point clouds and, for each of the local point clouds, determining a local polygon estimating a portion of the actual ground surface. The method further includes, within the computerized processor, assembling the local polygons into a total estimated ground surface and navigating the host vehicle based upon the total estimated ground surface.
In some embodiments, the method further includes, within the computerized processor, monitoring data from a camera device upon the host vehicle and identifying and tracking an object in an operating environment of the host vehicle based upon the data from the camera device. In some embodiments, the method further includes determining a location of the object upon the total estimated ground surface and navigating the host vehicle further based upon the location of the object upon the total estimated ground surface.
In some embodiments, the method further includes, within the computerized processor, smoothing transitions in the total estimated ground surface between the local polygons.
In some embodiments, smoothing the transitions in the total estimated ground surface between the local polygons includes smoothing overlaps in the local polygons.
In some embodiments, smoothing the transitions in the total estimated ground surface between the local polygons includes smoothing gaps in the local polygons.
In some embodiments, the method further includes, within the computerized processor, monitoring three-dimensional coordinates of the host vehicle, monitoring digital map data, and transforming the total estimated ground surface into in world coordinates based upon the three-dimensional coordinates and the digital map data.
In some embodiments, determining the local polygon estimating the portion of the actual ground surface includes determining a normal vector angle for each local polygon. In some embodiments, the method further includes, within the computerized processor, utilizing the normal vector angle for each polygon to map the total estimated ground surface.
An autonomous and semi-autonomous host vehicle includes a computerized device operating programming to navigate the vehicle over a road surface, follow traffic rules, and avoid traffic and other objects. The host vehicle may include sensors such as a camera device generating images of an operating environment of the vehicle, a radar and/or a light detection and ranging (LIDAR) device, ultrasonic sensors, and/or other similar sensing devices. Data from the sensors is interpreted, and the computerized device includes programming to estimate a road surface and determine locations and trajectories of objects near the vehicle. Additionally, a digital map database in combination with three-dimensional coordinates may be utilized to estimate a location of the vehicle and surroundings of the vehicle based upon map data.
Three-dimensional coordinates provided by systems such as a global positioning system or by cell phone tower signal triangulation are useful to localizing a vehicle to a location relative to a digital map database within a margin of error. However, three-dimensional coordinates are not exact, with vehicle location predictions based upon three-dimensional coordinates being a meter or more out of position. As a result, a vehicle location prediction may estimate the vehicle to be in mid-air, underground, or half of a lane out of position in relation to the road surface. Ground estimation programming, utilizing sensor data to estimate a ground surface, may be utilized to correct or in coordination with three-dimensional coordinates to increase location prediction of a host vehicle or a neighborhood object in an operating environment of the host vehicle. Such a system may be described as generating an accurate neighborhood objects' pose using a vehicle model along with the ground plane estimation from LIDAR sensor processing.
A method and system is provided to improve detected object localization by generating a ground surface model in order to more accurately determine objects' vertical locations from the ground while also correcting perception-based errors using kinematics-based motion models especially for vehicles.
According to one embodiment, the disclosed method provides more accurate object localization by integrating predictions from kinematics-based motion models with state information generated from ground surface models. The method includes a computationally inexpensive algorithm of ground surface generation from LIDAR sensors. The localization improvements may be targeted toward attaining high fidelity values for object elevations. The disclosed method may generate a robust ground surface even for sparse point clouds.
LIDAR sensor data may be generated and provided including a point cloud, describing LIDAR sensor returns that map a ground surface in an operating environment of the host vehicle. According to one embodiment, a divide-and-conquer approach for the entire point cloud may be applied to efficiently generate non-flat ground surfaces, for example by using a k-d tree method, a computerized method to space-partition data, organizing points in a k-dimensional space. Each segmented point cloud is converted into a plane as a convex polygon, which may include using random sample consensus algorithm (RANSAC) to get rid of outliers. From each convex polygon, the method may acquire a surface normal vector. A surface normal vector angle may be determined as follows.
θ is a normal vector angle to the determined surface. Normal vector angles are used in three-dimensional graphics to provide shading and textures based upon an orientation of each of the normal vector angles. The normal vector angles provide a computationally inexpensive way to assign graphic values for surface polygons based upon their orientations. In a similar way, a normal vector angle may be applied to each of the local polygons determined by the methods herein, providing a computationally inexpensive method to process, map, and utilize a total estimated ground surface assembled from a sum of the local polygons.
The disclosed method divides a total available point cloud provided by LIDAR sensor data and determines a plurality of local polygons approximating portions of the total available point cloud. Such local polygons may be imperfect, with some local polygons overlapping with neighboring local polygons and with other local polygons ending short of and leaving a gap next to other neighboring local polygons. These local polygons may be integrated into one total estimated ground surface using a surface smoothing algorithm.
Once the global surface is estimated, a tracking-based state error correction may be performed, wherein detected neighborhood objects may be projected upon the estimated global surface. Additionally, a pose of the neighborhood object upon the global surface may be similarly estimated. In one embodiment, a bicycle model, which uses an initial pose of a vehicle and normal constraints on vehicle movement, turning, braking, etc., may be used to predict a trajectory of the vehicle. Such modeling may take into account current and previous/historical values of position, velocity, and acceleration for each object detected.
The object detection and localization module 50 includes a plurality of computational steps that are performed upon the perception inputs to generate the output of the disclosed methods. These computational steps are illustrated by a vision-based object detection and localization module 52, a ground surface estimation and projection module 54, a transform in world coordinate module 56, and a tracking-based state error correction module 58. The vision-based object detection and localization module 52 includes computerized programming to input and analyze data from the camera device 20. The vision-based object detection and localization module 52 performs image recognition processes upon image data from the camera device 20 to estimate identities, distance, pose, and other relevant information about objects in the image data.
The ground surface estimation and projection module 54 includes computerized programming to input and analyze data from the LIDAR device 30. Data from the LIDAR device 30 includes a plurality of points representing signal returns to the LIDAR device 30 representing samples of the ground surface in an operating environment of the host vehicle. This plurality of points may be described as an entire point cloud collected by the LIDAR device 30. According to methods disclosed herein, the ground surface estimation and projection module 54 segments the entire point cloud and identifies portions of the point cloud that may be utilized to identify a local polygon representing a portion of the ground surface represented by the entire point cloud. By identifying a plurality of local polygons and smoothing a surface represented by the plurality of polygons, the ground surface estimation and projection module 54 may approximate the ground surface represented by the entire point cloud.
The transform in world coordinate module 56 includes computerized programming to input data from the electronic control unit 40 including a three-dimensional coordinate of the host vehicle and digital map database data. The transform in world coordinate module 56 additionally inputs the output of the ground surface estimation and projection module 54. Based upon the data from the electronic control unit 40 and the data from the ground surface estimation and projection module 54, the transform in world coordinate module 56 estimates a corrected ground surface.
The tracking-based state error correction module 58 includes computerized programming to process the corrected ground surface provided by the transform in world coordinate module 56 and the estimated objects provided by the vision-based object detection and localization module 52. The tracking-based state error correction module 58 may combine the input data to estimate locations of the estimated objects upon the corrected ground surface. An estimated location of an object upon the corrected ground surface may be described as object localization, providing an improved estimate of the location and pose of the estimated object.
The computerized device within a host vehicle employing the method disclosed herein may employ programming to smooth or average transitions between the local polygons 110 such as the overlap area 120 and the gap area 130.
The computerized device and the vehicle control unit may each include a computerized processor, random-access memory (RAM), and durable memory storage such as a hard drive and/or flash memory. Each may include one or may span more than one physical device. Each may include an operating system and is operable to execute programmed operations in accordance with the disclosed methods. In one embodiment the computerized device and the vehicle control unit represent programmed methods operated by programming within a single device.
While the best modes for carrying out the disclosure have been described in detail, those familiar with the art to which this disclosure relates will recognize various alternative designs and embodiments for practicing the disclosure within the scope of the appended claims.