US8885151B1 - Condensing sensor data for transmission and processing - Google Patents
Condensing sensor data for transmission and processing Download PDFInfo
- Publication number
- US8885151B1 US8885151B1 US13/602,665 US201213602665A US8885151B1 US 8885151 B1 US8885151 B1 US 8885151B1 US 201213602665 A US201213602665 A US 201213602665A US 8885151 B1 US8885151 B1 US 8885151B1
- Authority
- US
- United States
- Prior art keywords
- data points
- laser
- quanta
- data
- given cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C3/00—Measuring distances in line of sight; Optical rangefinders
- G01C3/02—Details
- G01C3/06—Use of electric means to obtain final indication
- G01C3/08—Use of electric radiation detectors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C5/00—Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/42—Simultaneous measurement of distance and other co-ordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/42—Diversity systems specially adapted for radar
Definitions
- Autonomous vehicles use various computing systems to aid in the transport of passengers from one location to another. Some autonomous vehicles may require an initial input or continuous input from an operator, such as a pilot, driver, or passenger. Other autonomous systems, for example autopilot systems, may be used only when the system has been engaged, which permits the operator to switch from a manual mode (where the operator exercises a high degree of control over the movement of the vehicle) to an autonomous mode (where the vehicle essentially drives itself) to modes that lie somewhere in between.
- a manual mode where the operator exercises a high degree of control over the movement of the vehicle
- autonomous mode where the vehicle essentially drives itself
- autonomous vehicles are typically equipped with various types of sensors in order to detect objects in the surroundings.
- autonomous vehicles may include lasers, sonar, radar, cameras, and other devices which scan and record data from the vehicle's surroundings. Sensor data from one or more of these devices may be used to detect objects and their respective characteristics (position, shape, heading, speed, etc.). This detection and identification is a critical function for the safe operation of autonomous vehicle.
- Autonomous vehicles may also use a detailed map of the world to determine their position. These maps are typically generated from sensor data collected in the field. Because the raw sensor data is so large it may require a significant amount of bandwidth to transmit it to a central computer system in real time. Thus, this information is typically stored after collection and subsequently uploaded to a central computer system in order to generate the detailed map. Thus, these detailed maps are generated at a later time. In some examples, this may require that the raw sensor data be processed twice; initially by the vehicle's computer and subsequently by the map generation system. As processing the raw sensor data can be expensive in terms of time and resources duplication of this processing may be especially inefficient.
- the method includes receiving, from a laser, laser scan data collected while a vehicle is maneuvered along a roadway.
- the laser scan data includes a plurality of data points. Each data point of the plurality of data points including location, elevation, and intensity information.
- the method includes sectioning the plurality of data points into quanta, such that each quantum of the quanta is associated with a set of the plurality of data points. Each quantum of the quanta represents a period of time during which the laser sweeps through a portion of a field of view of the laser.
- the method also includes, for a particular one of the quanta, filtering the associated set of data points outside of a threshold quality area; dividing the threshold quality area into a two-dimensional grid of cells; and projecting the filtered set of data points for the particular quanta onto the two-dimensional grid, such that each cell of the two-dimensional grid is associated with a subset of the filtered set of data points for the particular quanta.
- a processor associated with the vehicle evaluates, for each particular cell of the two-dimensional grid, the subset of the filtered set of data points for the particular quanta to determine a set of characteristics for the particular cell.
- the method also includes sending the sets of characteristics for all of the cells of the two-dimensional grid for the particular quantum to a central computing system.
- the period of time is that which is necessary for the laser to completely sweep through the field of view.
- the threshold quality area represents a radial distance from the laser as the laser sweeps through the portion of the field of view of the laser.
- the set of characteristics for a given cell includes a minimum elevation of the subset of the filtered set of data points for the given cell.
- the set of characteristics for a given cell includes a maximum elevation of the subset of the filtered set of data points for the given cell.
- the set of characteristics for a given cell includes an average intensity of the subset of the filtered set of data points for the given cell.
- the set of characteristics for a given cell includes a location of the particular cell relative to a global positioning system. In another example, the set of characteristics for a given cell includes the location of the given cell relative to a previous location estimate of the vehicle. In another example, the set of characteristics for a given cell includes a location of the particular cell relative to the two-dimensional grid.
- the system includes a processor associated with a particular vehicle being maneuvered along a roadway.
- the processor is configured to receive, from a laser, laser scan data collected while the vehicle is being maneuvered along the roadway.
- the laser scan data includes a plurality of data points. Each data point of the plurality of data points including location, elevation, and intensity information.
- the processor is configured to section the plurality of data points into quanta, such that each quantum of the quanta is associated with a set of the plurality of data points.
- Each quantum of the quanta represents a period of time during which the laser sweeps through a portion of a field of view of the laser.
- the processor is configured to, for a particular one of the quanta, filter the associated set of data points outside of a threshold quality area; divide the threshold quality area into a two-dimensional grid of cells; and project the filtered set of data points for the particular quanta onto the two-dimensional grid, such that each cell of the two-dimensional grid is associated with a subset of the filtered set of data points for the particular quanta.
- the processor is configured to evaluate, for each particular cell of the two-dimensional grid, the subset of the filtered set of data points for the particular quanta to determine a set of characteristics for the particular cell.
- the processor is also configured to send the sets of characteristics for all of the cells of the two-dimensional grid for the particular quantum to a central computing system.
- the period of time is that which is necessary for the laser to completely sweep through the field of view.
- the threshold quality area represents a radial distance from the laser as the laser sweeps through the portion of the field of view of the laser.
- the set of characteristics for a given cell includes a minimum elevation of the subset of the filtered set of data points for the given cell.
- the set of characteristics for a given cell includes a maximum elevation of the subset of the filtered set of data points for the given cell.
- the set of characteristics for a given cell includes an average intensity of the subset of the filtered set of data points for the given cell.
- the set of characteristics for a given cell includes a location of the particular cell relative to a global positioning system.
- a further aspect of the disclosure provides a non-transitory, tangible computer-readable storage medium on which computer readable instructions of a program are stored.
- the instructions when executed by a processor associated with a vehicle, cause the processor to perform a method.
- the method includes receiving, from a laser, laser scan data collected while a vehicle is maneuvered along a roadway.
- the laser scan data includes a plurality of data points. Each data point of the plurality of data points including location, elevation, and intensity information.
- the method includes sectioning the plurality of data points into quanta, such that each quantum of the quanta is associated with a set of the plurality of data points.
- Each quantum of the quanta represents a period of time during which the laser sweeps through a portion of a field of view of the laser.
- the method also includes, for a particular one of the quanta, filtering the associated set of data points outside of a threshold quality area; dividing the threshold quality area into a two-dimensional grid of cells; and projecting the filtered set of data points for the particular quanta onto the two-dimensional grid, such that each cell of the two-dimensional grid is associated with a subset of the filtered set of data points for the particular quanta.
- the method also includes evaluating, for each particular cell of the two-dimensional grid, the subset of the filtered set of data points for the particular quanta to determine a set of characteristics for the particular cell.
- the method includes sending the sets of characteristics for all of the cells of the two-dimensional grid for the particular quantum to a central computing system.
- the set of characteristics for a given cell includes a minimum elevation of the subset of the filtered set of data points for the given cell. In another example, the set of characteristics for a given cell includes a maximum elevation of the subset of the filtered set of data points for the given cell. In another example, the set of characteristics for a given cell includes an average intensity of the subset of the filtered set of data points for the given cell.
- FIG. 1 is a functional diagram of a system in accordance with aspects of the disclosure.
- FIG. 2 is an interior of an autonomous vehicle in accordance with aspects of the disclosure.
- FIG. 3A is an exterior of an autonomous vehicle in accordance with aspects of the disclosure.
- FIG. 3B is a pictorial diagram of a system in accordance with aspects of the disclosure.
- FIG. 3C is a functional diagram of a system in accordance with aspects of the disclosure.
- FIG. 4 is a diagram of map information in accordance with aspects of the disclosure.
- FIG. 5 is a diagram of laser scan data in accordance with aspects of the disclosure.
- FIG. 6 is an example of laser scan data depicting a vehicle on a roadway in accordance with aspects of the disclosure.
- FIG. 7 is another diagram of laser scan data in accordance with aspects of the disclosure.
- FIG. 8 is yet another diagram of laser scan data in accordance with aspects of the disclosure.
- FIG. 9 is a diagram of a two-dimensional grid in accordance with aspects of the disclosure.
- FIG. 10 a further diagram of laser scan data in accordance with aspects of the disclosure.
- FIG. 11 is a diagram of laser scan data for a particular cell in accordance with aspects of the disclosure.
- FIG. 12 is a diagram of laser scan data for a particular cell in accordance with aspects of the disclosure.
- FIG. 13 is a flow diagram in accordance with aspects of the disclosure.
- laser scan data may be collected by a laser attached to a vehicle as the vehicle is driven along a roadway.
- the laser scan data may include information such as location, elevation, and intensity information (X,Y,Z,I).
- the laser scan data may be sectioned or divided into quanta.
- a quantum of the quanta may represent a period of time that it takes the laser to sweep through some portion of the laser's field of view.
- the laser scan data for each particular quantum may also be filtered to remove, ignore, or eliminate data points outside of a threshold area.
- the threshold area may be divided or sectioned into a 2D grid.
- the filtered laser data points of the particular quantum may then be projected onto the 2D grid.
- a computer may evaluate each cell of the grid to determine the maximum elevation, minimum elevation, average intensity, and location of the cell.
- This determined cell data for the particular quantum (the maximum elevation, minimum elevation, average intensity, and location of the cell) may then be transmitted to another computer for further processing.
- the computer may then continue to filter, project, evaluate, and transmit the cell data for each subsequent quantum of the quanta.
- the condensed data requires significantly less bandwidth than required if transmitting all of the laser scan data collected. This allows the laser data to be sent to a central computer for processing almost immediately after the data is collected.
- an autonomous driving system 100 in accordance with one aspect of the disclosure includes a vehicle 101 with various components. While certain aspects of the disclosure are particularly useful in connection with specific types of vehicles, the vehicle may be any type of vehicle including, but not limited to, cars, trucks, motorcycles, busses, boats, airplanes, helicopters, lawnmowers, recreational vehicles, amusement park vehicles, trams, golf carts, trains, and trolleys.
- the vehicle may have one or more computers, such as computer 110 containing a processor 120 , memory 130 and other components typically present in general purpose computers.
- the memory 130 stores information accessible by processor 120 , including instructions 132 and data 134 that may be executed or otherwise used by the processor 120 .
- the memory 130 may be of any type capable of storing information accessible by the processor, including a computer-readable medium, or other medium that stores data that may be read with the aid of an electronic device, such as a hard-drive, memory card, ROM, RAM, DVD or other optical disks, as well as other write-capable and read-only memories.
- Systems and methods may include different combinations of the foregoing, whereby different portions of the instructions and data are stored on different types of media.
- the instructions 132 may be any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by the processor.
- the instructions may be stored as computer code on the computer-readable medium.
- the terms “instructions” and “programs” may be used interchangeably herein.
- the instructions may be stored in object code format for direct processing by the processor, or in any other computer language including scripts or collections of independent source code modules that are interpreted on demand or compiled in advance. Functions, methods and routines of the instructions are explained in more detail below.
- the data 134 may be retrieved, stored or modified by processor 120 in accordance with the instructions 132 .
- the data may be stored in computer registers, in a relational database as a table having a plurality of different fields and records, XML documents or flat files.
- the data may also be formatted in any computer-readable format.
- image data may be stored as bitmaps comprised of grids of pixels that are stored in accordance with formats that are compressed or uncompressed, lossless (e.g., BMP) or lossy (e.g., JPEG), and bitmap or vector-based (e.g., SVG), as well as computer instructions for drawing graphics.
- the data may comprise any information sufficient to identify the relevant information, such as numbers, descriptive text, proprietary codes, references to data stored in other areas of the same memory or different memories (including other network locations) or information that is used by a function to calculate the relevant data.
- the processor 120 may be any conventional processor, such as commercially available CPUs. Alternatively, the processor may be a dedicated device such as an ASIC.
- FIG. 1 functionally illustrates the processor, memory, and other elements of computer 110 as being within the same block, it will be understood that the processor and memory may actually comprise multiple processors and memories that may or may not be stored within the same physical housing.
- memory may be a hard drive or other storage media located in a housing different from that of computer 110 .
- references to a processor or computer will be understood to include references to a collection of processors or computers or memories that may or may not operate in parallel. Rather than using a single processor to perform the steps described herein some of the components, such as steering components and deceleration components, may each have their own processor that only performs calculations related to the component's specific function.
- the processor may be located remotely from the vehicle and communicate with the vehicle wirelessly. In other aspects, some of the processes described herein are executed on a processor disposed within the vehicle while others are executed by a remote processor, including taking the steps necessary to execute a single maneuver.
- Computer 110 may include all of the components normally used in connection with a computer such as a central processing unit (CPU), memory (e.g., RAM and internal hard drives) storing data 134 and instructions such as a web browser, an electronic display 142 (e.g., a monitor having a screen, a small LCD touch-screen or any other electrical device that is operable to display information), user input 140 (e.g., a mouse, keyboard, touch screen and/or microphone), as well as various sensors (e.g., a video camera) for gathering the explicit (e.g., a gesture) or implicit (e.g., “the person is asleep”) information about the states and desires of a person.
- CPU central processing unit
- memory e.g., RAM and internal hard drives
- data 134 and instructions such as a web browser
- an electronic display 142 e.g., a monitor having a screen, a small LCD touch-screen or any other electrical device that is operable to display information
- user input 140 e.g.,
- computer 110 may be an autonomous driving computing system incorporated into vehicle 101 .
- FIG. 2 depicts an exemplary design of the interior of an autonomous vehicle.
- the autonomous vehicle may include all of the features of a non-autonomous vehicle, for example: a steering apparatus, such as steering wheel 210 ; a navigation display apparatus, such as navigation display 215 ; and a gear selector apparatus, such as gear shifter 220 .
- the vehicle may also have various user input devices, such as gear shifter 220 , touch screen 217 , or button inputs 219 , for activating or deactivating one or more autonomous driving modes and for enabling a driver or passenger 290 to provide information, such as a navigation destination, to the autonomous driving computer 110 .
- Vehicle 101 may also include one or more additional displays.
- the vehicle may include a display 225 for displaying information regarding the status of the autonomous vehicle or its computer.
- the vehicle may include a status indicating apparatus, such as status bar 230 , to indicate the current status of vehicle 101 .
- status bar 230 displays “D” and “2 mph” indicating that the vehicle is presently in drive mode and is moving at 2 miles per hour.
- the vehicle may display text on an electronic display, illuminate portions of vehicle 101 , such as steering wheel 210 , or provide various other types of indications.
- the autonomous driving computing system may capable of communicating with various components of the vehicle.
- computer 110 may be in communication with the vehicle's conventional central processor 160 and may send and receive information from the various systems of vehicle 101 , for example the braking 180 , acceleration 182 , signaling 184 , and navigation 186 systems in order to control the movement, speed, etc., of vehicle 101 .
- computer 110 may control some or all of these functions of vehicle 101 and thus be fully or merely partially autonomous. It will be understood that although various systems and computer 110 are shown within vehicle 101 , these elements may be external to vehicle 101 or physically separated by large distances.
- the vehicle may also include a geographic position component 144 in communication with computer 110 for determining the geographic location of the device.
- the position component may include a GPS receiver to determine the device's latitude, longitude and/or altitude position.
- Other location systems such as laser-based localization systems, inertial-aided GPS, or camera-based localization may also be used to identify the location of the vehicle.
- the location of the vehicle may include an absolute geographical location, such as latitude, longitude, and altitude as well as relative location information, such as location relative to other cars immediately around it which can often be determined with less noise that absolute geographical location.
- the vehicle may also include other features in communication with computer 110 , such as an accelerometer, gyroscope or another direction/speed detection device 146 to determine the direction and speed of the vehicle or changes thereto.
- device 146 may determine its pitch, yaw or roll (or changes thereto) relative to the direction of gravity or a plane perpendicular thereto.
- the device may also track increases or decreases in speed and the direction of such changes.
- the device's provision of location and orientation data as set forth herein may be provided automatically to the user, computer 110 , other computers and combinations of the foregoing.
- the computer may control the direction and speed of the vehicle by controlling various components.
- computer 110 may cause the vehicle to accelerate (e.g., by increasing fuel or other energy provided to the engine), decelerate (e.g., by decreasing the fuel supplied to the engine or by applying brakes) and change direction (e.g., by turning the front two wheels).
- the vehicle may also include components for detecting objects external to the vehicle such as other vehicles, obstacles in the roadway, traffic signals, signs, trees, etc.
- the detection system may include lasers, sonar, radar, cameras or any other detection devices which record data which may be processed by computer 110 .
- the vehicle is a small passenger vehicle, the car may include a laser mounted on the roof or other convenient location.
- vehicle 101 may comprise a small passenger vehicle.
- vehicle 101 sensors may include lasers 310 and 311 , mounted on the front and top of the vehicle, respectively.
- the lasers may include commercially available lasers such as the Velodyne HDL-64 or other models.
- the lasers may include more than one laser beam; for example, a Velodyne HDL-64 laser may include 64 beams.
- the beams of laser 310 may have a range of 150 meters, a thirty degree vertical field of view, and a thirty degree horizontal field of view.
- the beams of laser 311 may have a range of 50-80 meters, a thirty degree vertical field of view, and a 360 degree horizontal field of view.
- the lasers may provide the vehicle with range and intensity information which the computer may use to identify the location and distance of various objects in the vehicles surroundings.
- the laser may measure the distance between the vehicle and the object surfaces facing the vehicle by spinning on its axis and changing its pitch.
- the aforementioned sensors may allow the vehicle to understand and potentially respond to its environment in order to maximize safety for passengers as well as objects or people in the environment. It will be understood that the vehicle types, number and type of sensors, the sensor locations, the sensor fields of view, and the sensors' sensor fields are merely exemplary. Various other configurations may also be utilized.
- the computer may also use input from sensors typical non-autonomous vehicles.
- these sensors may include tire pressure sensors, engine temperature sensors, brake heat sensors, brake pad status sensors, tire tread sensors, fuel sensors, oil level and quality sensors, air quality sensors (for detecting temperature, humidity, or particulates in the air), etc.
- sensors provide data that is processed by the computer in real-time, that is, the sensors may continuously update their output to reflect the environment being sensed at or over a range of time, and continuously or as-demanded provide that updated output to the computer so that the computer can determine whether the vehicle's then-current direction or speed should be modified in response to the sensed environment.
- data 134 may include detailed map information 136 , e.g., highly detailed maps identifying the shape and elevation of roadways, intersections, crosswalks, speed limits, traffic signals, buildings, signs, real time traffic information, or other such objects and information.
- the detailed map information 136 may also include lane marker information identifying the location, elevation, and shape of lane markers.
- the lane markers may include features such as solid or broken double or single lane lines, solid or broken lane lines, reflectors, etc.
- a given lane may be associated with left and right lane lines or other lane markers that define the boundary of the lane.
- FIG. 4 depicts a detailed map 400 including the same example section of roadway (as well as information outside of the range of the laser).
- the detailed map of the section of roadway includes information such as solid lane line 410 , broken lane lines 420 , 440 , and double solid lane lines 430 . These lane lines define lanes 450 and 460 .
- Each lane is associated with a rail 455 , 465 which indicates the direction in which a vehicle should generally travel in the respective lane. For example, a vehicle may follow rail 465 when driving along lane 460 .
- the detailed map information is depicted herein as an image-based map, the map information need not be entirely image based (for example, raster).
- the detailed map information may include one or more roadgraphs or graph networks of information such as roads, lanes, intersections, and the connections between these features.
- Each feature may be stored as graph data and may be associated with information such as a geographic location and whether or not it is linked to other related features, for example, a stop sign may be linked to a road and an intersection, etc.
- the associated data may include grid-based indices of a roadgraph to allow for efficient lookup of certain roadgraph features.
- Computer 110 may also receive or transfer information to and from other computers.
- the map information stored by computer 110 may be received or transferred from other computers and/or the sensor data collected from the sensors of vehicle 101 may be transferred to another computer for processing as described herein.
- data from computer 110 may be transmitted via a network to computer 320 for further processing.
- the network, and intervening nodes may comprise various configurations and protocols including cellular networks, the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing.
- Such communication may be facilitated by any device capable of transmitting data to and from other computers, such as modems and wireless interfaces.
- data may be transferred by storing it on memory which may be accessed by or connected to computers 110 and 320 .
- computer 320 may comprise a server having a plurality of computers, e.g., a load balanced server farm, that exchange information with different nodes of a network for the purpose of receiving, processing and transmitting the data from computer 110 .
- the server may be configured similarly to the computer 110 , with a processor 330 , memory 350 , instructions 360 , and data 370 .
- data 134 may also include laser scan data and laser quantum information.
- the laser scan data may include data generated by a laser, such as lasers 310 and/or 311 .
- the laser quantum information may include laser scan data that has been filtered and evaluated by computer 110 in order to reduce the amount of data transmitted by computer 110 to computer 320 .
- a vehicle including one or more lasers may be driven along a roadway.
- the laser may be an off board sensor attached to a typical vehicle or a part of an autonomous driving system, such as vehicle 101 .
- FIG. 5 depicts vehicle 101 on a section of the roadway 500 corresponding to the detailed map information of FIG. 4 .
- the roadway includes solid lane line 510 , broken lane lines 520 and 540 , double lane lines 530 , and lanes 550 and 560 .
- the laser may collect laser scan data.
- the laser scan data may include data points having range and intensity information for the same location (point or area) from several directions and/or at different times.
- the intensity information (I) may indicate the reflectivity of the object from which the light was received by the laser.
- the range and location information may be processed by computer 110 to determine location and elevation for each data point: (X,Y,Z).
- the laser data may initially be broken into small slices of time. These slices of time, as used herein, may be referred to as quanta. Each quantum may represent a change in time as the laser sweeps through some portion of its field of view. In one example, if the laser has a 360 degree field of view and is able to make a full 360 degree sweep in 0.1 seconds, the quanta may last 0.1 seconds. However, longer or shorter quanta (0.2 seconds, 0.05 seconds, etc.) may also be used.
- FIG. 6 depicts an image 600 of vehicle 101 approaching an intersection.
- the image was generated from laser scan data collected by the vehicle's lasers for a single 360 degree scan of the vehicle's surroundings, for example, using the data points of all of the beams of the collecting laser(s).
- image 600 may represent the data from a single quantum.
- the white lines represent how the laser “sees” its surroundings.
- the data points may indicate the shape and three-dimensional (3D) location (X,Y,Z) of other features and objects in the vehicle's surroundings.
- the laser scan data may indicate the outline, shape and distance from vehicle 101 of various objects such as people 610 , vehicles 620 , and curb 630 .
- FIG. 7 depicts another example 700 of laser scan data collected for a single quantum while a vehicle is driven along roadway 500 of FIG. 5 (and also that depicted in map information 400 of FIG. 4 ).
- vehicle 101 is depicted surrounded by laser lines 730 indicating the area around the vehicle scanned by the laser.
- Each laser line may represent a series of discrete data points from a single beam. Data points from more highly reflective features such as lane lines, white paint, reflectors, or those with retroreflective properties may have a greater intensity than less reflective features.
- reference line 720 connects the data points 710 associated with a solid lane line and is not part of the laser data.
- FIG. 7 also includes data points 740 generated from light reflecting off of the double lane lines 530 (shown in FIG. 5 ) as well as distance and data points 750 generated form light reflecting off of the broken lane line 520 (shown in FIG. 5 ).
- the laser scan data of FIG. 7 may include data from other objects such as 760 generated from another object in the roadway, such as a vehicle.
- the quanta may also be limited in space. As the accuracy of this data drops off the farther from the laser, much of the data past some threshold quality area may be less useful. Accordingly, data outside of the threshold quality area may be excluded by computer 110 in order to reduce the processing resources required.
- the laser may have a 360 degree field of view for over 100 meters.
- a threshold area of 25 meters in diameter from the laser itself may be used. Data within this 25 meter diameter may be assumed to be of a higher quality than that which would be outside of this threshold area.
- FIG. 8 is an example 800 of the laser data of FIG. 7 within a threshold area represented by ring 810 . The data points beyond ring 810 (not shown) have been excluded.
- Computer 110 may divide the threshold quality area into a two-dimensional (2D) grid.
- the granularity of the grid may be set or selected depending upon that needed for post processing purposes. For example, if the quantum is to be used for map generation, the grid should be at least as fine-grained as the desired map. In this regard, 5 by 5 cm cells may be appropriate, though other cell sizes and configurations may also be used.
- FIG. 9 depicts an example 900 of ring 810 divided into a grid having a plurality of cells, such as cells 910 , 920 , 930 (highlighted for clarity). These cells are representative and not to scale. In addition, cells may be significantly larger or smaller than those depicted in FIG. 9 .
- Computer 110 may project the data points for the quantum onto the grid.
- each cell of the grid may be associated with a subset of data points for the quantum.
- the number of data points in the set will therefore depend directly upon the number of data points produced by the laser as it sweeps through the laser's field of view, the length of time of the quantum, as well as the dimensions of the cells.
- FIG. 10 depicts an example 1000 of the laser data of FIG. 8 in ring 810 projected onto the grid of FIG. 9 .
- cells 910 , 920 , 930 of the grid are shown as highlighted for clarity.
- Each cell of the grid may then be evaluated by the computer 110 to determine a set of characteristics for that cell. For example, the computer 110 may determine the minimum elevation (Z min ), the maximum elevation (Z max ), and the average intensity ( ⁇ ) of the data points of the cells.
- the data associated with a particular cell may be reduced from a relatively large number of data points to a set of only a few relevant parameters for that cell.
- FIG. 11 depicts an example 1100 of a single cell and the laser data points, including location and elevation, associated with that cell.
- cell 910 is shown with the laser data points, including location and elevation (X,Y,Z), projected onto cell 920 as shown in FIG. 10 ( FIG. 10 includes the grid as well as the laser scan data from FIG. 8 ).
- FIG. 11 also includes lines 1110 representing the maximum elevation (Zmax) and minimum elevation (Zmin) for the laser data points of cell 910 as determined by computer 110 .
- FIG. 12 depicts an example 1200 of a single cell and the laser data points associated with that cell.
- cell 910 is shown with the laser data points, including location and intensity (X,Y,I), projected onto cell 920 as shown in FIG. 10 .
- FIG. 12 also includes line 1210 , which represents the average intensity for the laser data points of cell 910 as determined by computer 110 .
- computer 110 may generate or determine location information for each cell.
- the location information provided by the laser may be referenced to a coordinate system that is relative to the laser itself.
- the computer may convert these coordinates to GPS readings and/or relative position estimates.
- the relative position estimate may be extrapolated, for example by applying speed and heading information to a previous location estimate.
- the location information may also include the vehicle's attempts to localize itself relative to an existing map such as the detailed map information described above.
- computer 110 may identify location information that is relative to the grid itself.
- detailed GPS latitude and longitude coordinate information may be translated to small integers which are easier to compress. These integers may also require less resources as they take up significantly less storage space (and also bandwidth during transmission) than latitude and longitude data.
- knowing the actual or estimated latitude and longitude and size (which may be fixed) of the grid would allow for the same level of precision as the latitude and longitude coordinate data, again with significantly less resource requirements.
- the grid may be determined by determining the GPS latitude and longitude coordinates from the raw laser data rather than a fixed grid size.
- teach point may be stored at the integer coordinates corresponding to latitude and longitude.
- a given (x, y) location may be described as: (latitude*10 ⁇ 6, longitude*10 ⁇ 6).
- each cell of a quantum may be associated with a set of characteristics such as location, maximum elevation, minimum elevation, and average intensity (X, Y, Z max , Z min , ⁇ ).
- the set of characteristics for each cell of an entire quantum may then be transmitted to a central computing system such as computer 320 for further processing.
- this set of characteristics, and not the actual data points themselves, may be sent wirelessly in various ways including, for example, using a cellular modem.
- FIG. 13 is an example of a flow diagram 1300 of some of the aspects described above performed by computer 110 .
- laser scan data is collected as the laser attached to a vehicle, such as vehicle 101 , is driven along a roadway at block 1302 .
- the laser scan data may include information such as location, elevation, and intensity information (X,Y,Z,I).
- the laser scan data is sectioned or divided into quanta at block 1304 .
- a quantum of the quanta may represent a period of time that it takes the laser to sweep through some portion of the laser's field of view.
- the laser scan data for each particular quantum is filtered to remove, ignore, or eliminate data points outside of a threshold area at block 1306 .
- the threshold area is divided or sectioned into a 2D grid at block 1308 .
- the filtered laser data points of the particular quantum are then projected onto the 2D grid at block 1310 .
- Computer 110 then evaluates each cell of the grid to determine the maximum elevation, minimum elevation, average intensity, and location of the cell at block 1312 .
- This determined cell data for the particular quantum (the maximum elevation, minimum elevation, average intensity, and location of the cell) is then transmitted to another computer, such as computer 320 , for further processing at block 1314 .
- Computer 110 then returns to block 1316 to filter, project, evaluate, and transmit the cell data for the next quantum.
- the raw sensor data may be processed only a single time, rather than by both computer 101 and subsequently by computer 320 .
- the quanta and, in some examples the spatial threshold quality area limit as well
- the amount of data that is processed by computer 110 may be dramatically reduced.
- the coordinates may be stored as small integer values, this may take up even less storage and bandwidth and may also compress better than the actual coordinates.
- sending only a few pieces of data for each cell sending the processed quantum data, the total amount of data being processed and subsequently transmitted may be significantly reduced without sacrificing quality or usefulness.
- the quanta and associated cell data may then be stored, managed, and/or post-processed by computer 320 for various purposes.
- the quanta may be used to generate a map, look at a view of the world without actually building a globally positioned map (see, for example, FIG. 6 ), and/or determine the position of lane markers or other static objects, etc.
- the location information associated with the cells of each quantum may be shifted using SLAM (simultaneous localization and mapping) techniques, so that each quantum is positioned correctly.
- SLAM simultaneous localization and mapping
- entire quanta may be shifted, adjusted, or moved around rather than instantaneous pieces of data allowing for faster and more streamlined treatment during the post-processing.
- these corrected positions may be stored in a database or other storage arrangement. The cell data may then projected to this corrected position and combined into a globally consistent map.
- Different quanta may also be matched together by analyzing combinations of contiguous quanta or, if available, by using localization information computed by computer 110 .
- this post-processing may be performed by computer 110 .
- computer 110 may send computer 320 even further refined information, such as a fully positioned processed quanta or a complete map.
- all of the laser data may be sent to computer 320 for both the initial quanta processing as well as the post-processing.
- this alternative may actually be very slow, though this may change as transmission speeds increase and hardware devices are further refined.
- computer 110 continuously transmits the cell data for each quanta to computer 320 as the vehicle is driven along regardless of the actual location of vehicle 101 .
- vehicle 101 may be routed to certain specific areas for which the roadgraph or detailed map information is not available, incomplete, or out of date.
- computer 110 may generate and transmit the quanta and associated cell data only where computer 110 detects or determines an inconsistency in the roadgraph or detailed map information.
- the processing, features and aspects described herein may be used with other types of sensor data.
- similar quanta and data processing may be used with camera images projected as rays onto a ground plane using the orientation of the camera and some estimation of the ground (using a map or assuming the world is flat).
- the location of where each colored image pixel hits the ground may be treated as the laser data points described above by being projected onto a grid, etc.
- each grid cell may be associated with color information from the pixels projected within that cell.
- the location information for the grid cells (for example, determined as described above) along with the color information may be transmitted to another computer, such as computer 320 , for further processing.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
Abstract
Description
Claims (20)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/602,665 US8885151B1 (en) | 2012-09-04 | 2012-09-04 | Condensing sensor data for transmission and processing |
| US14/519,358 US10094670B1 (en) | 2012-09-04 | 2014-10-21 | Condensing sensor data for transmission and processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/602,665 US8885151B1 (en) | 2012-09-04 | 2012-09-04 | Condensing sensor data for transmission and processing |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/519,358 Continuation US10094670B1 (en) | 2012-09-04 | 2014-10-21 | Condensing sensor data for transmission and processing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US8885151B1 true US8885151B1 (en) | 2014-11-11 |
Family
ID=51845798
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/602,665 Active US8885151B1 (en) | 2012-09-04 | 2012-09-04 | Condensing sensor data for transmission and processing |
| US14/519,358 Active 2035-06-25 US10094670B1 (en) | 2012-09-04 | 2014-10-21 | Condensing sensor data for transmission and processing |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/519,358 Active 2035-06-25 US10094670B1 (en) | 2012-09-04 | 2014-10-21 | Condensing sensor data for transmission and processing |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US8885151B1 (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180143647A1 (en) * | 2016-11-23 | 2018-05-24 | Baidu Usa Llc | Algorithm and infrastructure for robust and efficient vehicle localization |
| EP3361278A1 (en) * | 2017-02-08 | 2018-08-15 | Baidu USA LLC | Autonomous vehicle localization based on walsh kernel projection technique |
| US20180308191A1 (en) * | 2017-04-25 | 2018-10-25 | Lyft, Inc. | Dynamic autonomous vehicle servicing and management |
| CN111670382A (en) * | 2018-01-11 | 2020-09-15 | 苹果公司 | Architecture for Vehicle Automation and Troubleshooting Automation |
| CN113518989A (en) * | 2018-11-26 | 2021-10-19 | 埃姆普里萨有限公司 | Multi-dimensional quantification and distributed automatic system management |
| US11214281B2 (en) | 2019-11-14 | 2022-01-04 | Motional Ad Llc | Sequential fusion for 3D object detection |
| US20220299656A1 (en) * | 2020-03-05 | 2022-09-22 | Baidu Usa Llc | Latency compensation in inertial navigation system |
| US11500063B2 (en) | 2018-11-08 | 2022-11-15 | Motional Ad Llc | Deep learning for object detection using pillars |
| US20240223209A1 (en) * | 2022-12-29 | 2024-07-04 | Google Llc | Lossy Compression of Time Series Data |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6792684B1 (en) * | 1999-10-28 | 2004-09-21 | Diware Oy | Method for determination of stand attributes and a computer program to perform the method |
| US20040247157A1 (en) | 2001-06-15 | 2004-12-09 | Ulrich Lages | Method for preparing image information |
| US7570793B2 (en) * | 2001-06-15 | 2009-08-04 | Ibeo Automobile Sensor Gmbh | Correction method for data of a plurality of optoelectronic sensors |
| US20090310867A1 (en) | 2008-06-12 | 2009-12-17 | Bogdan Calin Mihai Matei | Building segmentation for densely built urban regions using aerial lidar data |
| US20100020074A1 (en) | 2006-10-30 | 2010-01-28 | Lukasz Piotr Taborowski | Method and apparatus for detecting objects from terrestrial based mobile mapping data |
| US20100030473A1 (en) * | 2008-07-30 | 2010-02-04 | Honeywell International Inc. | Laser ranging process for road and obstacle detection in navigating an autonomous vehicle |
| US20110026772A1 (en) | 2008-04-18 | 2011-02-03 | Tele Atlas B.V. | Method of using laser scanned point clouds to create selective compression masks |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8204313B2 (en) * | 2007-08-30 | 2012-06-19 | Leica Geosystems Ag | Rapid, spatial-data viewing and manipulating including data partition and indexing |
| US8699755B2 (en) * | 2009-02-20 | 2014-04-15 | Navteq B.V. | Determining travel path features based on retroreflectivity |
-
2012
- 2012-09-04 US US13/602,665 patent/US8885151B1/en active Active
-
2014
- 2014-10-21 US US14/519,358 patent/US10094670B1/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6792684B1 (en) * | 1999-10-28 | 2004-09-21 | Diware Oy | Method for determination of stand attributes and a computer program to perform the method |
| US20040247157A1 (en) | 2001-06-15 | 2004-12-09 | Ulrich Lages | Method for preparing image information |
| US7570793B2 (en) * | 2001-06-15 | 2009-08-04 | Ibeo Automobile Sensor Gmbh | Correction method for data of a plurality of optoelectronic sensors |
| US20100020074A1 (en) | 2006-10-30 | 2010-01-28 | Lukasz Piotr Taborowski | Method and apparatus for detecting objects from terrestrial based mobile mapping data |
| US20110026772A1 (en) | 2008-04-18 | 2011-02-03 | Tele Atlas B.V. | Method of using laser scanned point clouds to create selective compression masks |
| US20090310867A1 (en) | 2008-06-12 | 2009-12-17 | Bogdan Calin Mihai Matei | Building segmentation for densely built urban regions using aerial lidar data |
| US20100030473A1 (en) * | 2008-07-30 | 2010-02-04 | Honeywell International Inc. | Laser ranging process for road and obstacle detection in navigating an autonomous vehicle |
Cited By (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11320836B2 (en) | 2016-11-23 | 2022-05-03 | Baidu Usa Llc | Algorithm and infrastructure for robust and efficient vehicle localization |
| CN108089572A (en) * | 2016-11-23 | 2018-05-29 | 百度(美国)有限责任公司 | For the algorithm and infrastructure of steady and effective vehicle location |
| EP3327464A1 (en) * | 2016-11-23 | 2018-05-30 | Baidu USA LLC | Algorithm and infrastructure for robust and efficient vehicle localization |
| US10579065B2 (en) * | 2016-11-23 | 2020-03-03 | Baidu Usa Llc | Algorithm and infrastructure for robust and efficient vehicle localization |
| US20180143647A1 (en) * | 2016-11-23 | 2018-05-24 | Baidu Usa Llc | Algorithm and infrastructure for robust and efficient vehicle localization |
| EP3361278A1 (en) * | 2017-02-08 | 2018-08-15 | Baidu USA LLC | Autonomous vehicle localization based on walsh kernel projection technique |
| US20180308191A1 (en) * | 2017-04-25 | 2018-10-25 | Lyft, Inc. | Dynamic autonomous vehicle servicing and management |
| US10679312B2 (en) * | 2017-04-25 | 2020-06-09 | Lyft Inc. | Dynamic autonomous vehicle servicing and management |
| US11685396B2 (en) | 2018-01-11 | 2023-06-27 | Apple Inc. | Architecture for automation and fail operational automation |
| CN111670382A (en) * | 2018-01-11 | 2020-09-15 | 苹果公司 | Architecture for Vehicle Automation and Troubleshooting Automation |
| CN111670382B (en) * | 2018-01-11 | 2024-01-02 | 苹果公司 | Architecture for automation and fault operation automation |
| US12061266B2 (en) | 2018-11-08 | 2024-08-13 | Motional Ad Llc | Deep learning for object detection using pillars |
| US11500063B2 (en) | 2018-11-08 | 2022-11-15 | Motional Ad Llc | Deep learning for object detection using pillars |
| CN113518989A (en) * | 2018-11-26 | 2021-10-19 | 埃姆普里萨有限公司 | Multi-dimensional quantification and distributed automatic system management |
| CN113518989B (en) * | 2018-11-26 | 2025-11-18 | 埃姆普里萨有限公司 | Multidimensional quantification and distributed automated system management |
| EP3887990A4 (en) * | 2018-11-26 | 2022-12-21 | Embraer S.A. | MULTIDIMENSIONAL QUANTIZATION AND MANAGEMENT OF DISTRIBUTED AUTOMATIC SYSTEMS |
| US11634155B2 (en) | 2019-11-14 | 2023-04-25 | Motional Ad Llc | Sequential fusion for 3D object detection |
| US11214281B2 (en) | 2019-11-14 | 2022-01-04 | Motional Ad Llc | Sequential fusion for 3D object detection |
| US11609342B2 (en) * | 2020-03-05 | 2023-03-21 | Baidu Usa Llc | Latency compensation in inertial navigation system |
| US20220299656A1 (en) * | 2020-03-05 | 2022-09-22 | Baidu Usa Llc | Latency compensation in inertial navigation system |
| US20240223209A1 (en) * | 2022-12-29 | 2024-07-04 | Google Llc | Lossy Compression of Time Series Data |
| US12567870B2 (en) * | 2022-12-29 | 2026-03-03 | Google Llc | Lossy compression of time series data |
Also Published As
| Publication number | Publication date |
|---|---|
| US10094670B1 (en) | 2018-10-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12625257B2 (en) | Modifying behavior of autonomous vehicles based on sensor blind spots and limitations | |
| US11287823B2 (en) | Mapping active and inactive construction zones for autonomous driving | |
| US8565958B1 (en) | Removing extraneous objects from maps | |
| US10185324B1 (en) | Building elevation maps from laser data | |
| CN107798305B (en) | Detecting lane markings | |
| US10037039B1 (en) | Object bounding box estimation | |
| US8755967B1 (en) | Estimating road lane geometry using lane marker observations | |
| US10094670B1 (en) | Condensing sensor data for transmission and processing | |
| US8949016B1 (en) | Systems and methods for determining whether a driving environment has changed | |
| US8195394B1 (en) | Object detection and classification for autonomous vehicles | |
| US8831813B1 (en) | Modifying speed of an autonomous vehicle based on traffic conditions | |
| US20130197736A1 (en) | Vehicle control based on perception uncertainty | |
| US10845202B1 (en) | Method and apparatus to transition between levels using warp zones |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHATHAM, ANDREW HUGHES;MONTEMERLO, MICHAEL STEVEN;EGNOR, DANIEL TRAWICK;REEL/FRAME:028925/0987 Effective date: 20120829 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: WAYMO HOLDING INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GOOGLE INC.;REEL/FRAME:042099/0935 Effective date: 20170321 |
|
| AS | Assignment |
Owner name: WAYMO LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WAYMO HOLDING INC.;REEL/FRAME:042108/0021 Effective date: 20170322 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |