US10328934B2 - Temporal data associations for operating autonomous vehicles - Google Patents

Temporal data associations for operating autonomous vehicles Download PDF

Info

Publication number
US10328934B2
US10328934B2 US15/463,978 US201715463978A US10328934B2 US 10328934 B2 US10328934 B2 US 10328934B2 US 201715463978 A US201715463978 A US 201715463978A US 10328934 B2 US10328934 B2 US 10328934B2
Authority
US
United States
Prior art keywords
vehicle
image
data
ranging
camera
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, expires
Application number
US15/463,978
Other languages
English (en)
Other versions
US20170242442A1 (en
Inventor
Gautier Minster
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Priority to US15/463,978 priority Critical patent/US10328934B2/en
Assigned to GM Global Technology Operations LLC reassignment GM Global Technology Operations LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MINSTER, GAUTIER
Publication of US20170242442A1 publication Critical patent/US20170242442A1/en
Priority to CN201810199124.5A priority patent/CN108628301B/zh
Priority to DE102018106353.9A priority patent/DE102018106353A1/de
Application granted granted Critical
Publication of US10328934B2 publication Critical patent/US10328934B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
    • G06K9/00791
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/32Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/38Registration of image sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • B60W2420/42
    • B60W2420/52
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G05D2201/0213
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle

Definitions

  • the present disclosure generally relates to autonomous vehicles, and more particularly relates to systems and methods for temporally associating data when analyzing the environment around an autonomous vehicle.
  • An autonomous vehicle is a vehicle that is capable of sensing its environment and navigating with little or no user input.
  • An autonomous vehicle senses its environment using sensing devices such as radar, lidar, image sensors, and the like.
  • the autonomous vehicle system further uses information from global positioning systems (GPS) technology, navigation systems, vehicle-to-vehicle communication, vehicle-to-infrastructure technology, and/or drive-by-wire systems to navigate the vehicle.
  • GPS global positioning systems
  • Vehicle automation has been categorized into numerical levels ranging from Zero, corresponding to no automation with full human control, to Five, corresponding to full automation with no human control.
  • Various automated driver-assistance systems such as cruise control, adaptive cruise control, and parking assistance systems correspond to lower automation levels, while true “driverless” vehicles correspond to higher automation levels.
  • a method includes: selecting, by a controller onboard the vehicle, first data for a region from a first device onboard the vehicle based on a relationship between a time associated with the first data and a frequency associated with a second device, obtaining, by the controller, second data from the second device, the second data corresponding to the region, correlating, by the controller, the first data and the second data, and determining, by the controller, a command for operating one or more actuators onboard the vehicle in a manner that is influenced by the correlation between the first data and the second data.
  • an autonomous vehicle which includes: a first device onboard the vehicle providing first data at a first frequency, a second device onboard the vehicle providing second data at a second frequency different from the first frequency, one or more actuators onboard the vehicle, and a controller that, by a processor, selects a subset of the first data based on a relationship between a time associated with the subset and the second frequency associated with the second device, correlates the subset with a second subset of the second data, and autonomously operates the one or more actuators onboard the vehicle in a manner that is influenced by the correlation between the subset and the second subset.
  • a method of controlling a vehicle includes: obtaining, by a control module onboard the vehicle, a plurality of images from a camera onboard the vehicle, the camera capturing the plurality of images of a field of view at a first frequency, obtaining, by the control module, ranging data from a ranging device onboard the vehicle, the ranging device scanning an environment around the vehicle at a second frequency different from the first frequency, correlating, by the control module, a first image of the plurality of images with a subset of the ranging data corresponding to the field of view based on a relationship between a timestamp associated with the first image and the second frequency, determining, by the control module, a command for operating one or more actuators onboard the vehicle in a manner that is influenced by the correlation between the first image and the subset of the ranging data, autonomously operating, by the control module, the one or more actuators in accordance with the command.
  • FIG. 1 is a functional block diagram illustrating an autonomous vehicle having a ride control system, in accordance with various embodiments
  • FIG. 2 is a functional block diagram illustrating a transportation system having one or more autonomous vehicles of FIG. 1 , in accordance with various embodiments;
  • FIG. 3 is a schematic block diagram of an automated driving system (ADS) for a vehicle in accordance with one or more exemplary embodiments;
  • ADS automated driving system
  • FIG. 4 is a block diagram of a vehicle depicting a plurality of imaging devices and a plurality of ranging devices onboard the vehicle in accordance with one or more exemplary embodiments;
  • FIG. 5 is a block diagram of a processing module for implementation onboard the vehicle of FIG. 4 in accordance with one or more exemplary embodiments;
  • FIG. 6 is a flowchart illustrating a synchronization process for correlating data sets and influencing control of the autonomous vehicle of FIG. 1 in accordance with one or more exemplary embodiments.
  • FIG. 7 is a block diagram of a vehicle including an onboard camera and an onboard lidar device suitably configured for implementing the synchronization process of FIG. 6 in accordance with one or more exemplary embodiments.
  • module refers to any hardware, software, firmware, electronic control component, processing logic, and/or processor device, individually or in any combination, including without limitation: application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
  • ASIC application specific integrated circuit
  • Embodiments of the present disclosure may be described herein in terms of functional and/or logical block components and various processing steps. It should be appreciated that such block components may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. For example, an embodiment of the present disclosure may employ various integrated circuit components, e.g., memory elements, digital signal processing elements, logic elements, look-up tables, or the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. In addition, those skilled in the art will appreciate that embodiments of the present disclosure may be practiced in conjunction with any number of systems, and that the systems described herein is merely exemplary embodiments of the present disclosure.
  • a vehicle capable of autonomous operation includes a number of different devices that capture images or otherwise generate data representative of a scene or environment in a vicinity of the vehicle from different perspectives and with different sampling or refresh rates.
  • Image data from one onboard imaging device may be correlated with data from another device onboard the vehicle based on the relationship between a time (or timestamp) associated with the image data and the instance in time during which the fields of view or lines of sight associated with the respective devices are aligned.
  • a temporal association may be established between data sets from the different devices, and then correlations between temporally associated data sets are utilized to assign depths or other attributes to the data sets, detect objects, or perform other actions with respect to one data set using the correlated data set.
  • the augmented or enhanced data set may then be analyzed and utilized to determine commands for autonomously operating one or more actuators onboard the vehicle. In this manner, autonomous operation of the vehicle is influenced by the correlation between temporally associated data sets.
  • a controller onboard a vehicle selects an image (or imaging data) of a region from first imaging device (or camera) onboard the vehicle based on a relationship between a time associated with the image and a frequency associated with a ranging device scanning the environment around the vehicle.
  • the controller also selects or obtains a subset of ranging data from the ranging device that corresponds to the instance in time at which the ranging device was scanning at least a portion of the imaged region, and then correlates or otherwise associates the ranging data at or around that instance in time with the selected image.
  • the controller may assign depths or other dimensional characteristics to the image using the subset of ranging data, or alternatively, identify or detect object regions of ranging data within the subset corresponding to an object identified within the image. Commands for autonomously operating the vehicle are then influenced by the correlation between data sets.
  • the depths assigned to an image may be utilized to ascertain a distance between the vehicle and an object, which, in turn, may influence commands controlling the lateral or longitudinal movement of the vehicle along a route to adhere to safety buffers or minimum distances between the vehicle and the object.
  • a neural network or other classification algorithm may be applied to an object region identified within ranging data to classify the object region as corresponding to an object of a particular object type, which, in turn, may influence the autonomous operation of the vehicle relative to the object based on its associated type.
  • exemplary embodiments of a vehicle include a plurality of cameras and one or more ranging devices, such as a light detection and ranging (lidar) device.
  • the cameras are distributed and positioned at different locations about the vehicle to capture different portions of the environment around the vehicle with the particular field of view and perspective of each respective camera.
  • the lidar device periodically scans the environment around the vehicle and obtains corresponding point cloud datasets.
  • a lidar device scans a full revolution (e.g., 360°) about the vehicle with a particular angular frequency, which may be different from and/or independent of the image frequency (or sampling frequency) at which the cameras capture images.
  • an optimal sampling time for the camera is calculated or otherwise determined based on when the line-of-sight of the lidar is aligned substantially parallel with the field of view of the camera (e.g., when the lidar line-of-sight is parallel to the bisector of the camera field of view).
  • the starting orientation for the lidar scan, the start time of the lidar scan (e.g., the instance in time when the lidar is at the starting orientation), and the angular frequency or rotational velocity of the lidar device an optimal sampling time where the line-of-sight lidar device is aligned parallel with the camera field of view may be determined.
  • the image (or image data) captured by the camera at an instance in time closest to the optimal sampling time is identified or otherwise selected for correlating with the lidar point cloud data.
  • each image generated by the camera may have a timestamp associated therewith, with the selected image having the minimum difference between its associated timestamp and the optimal sampling time.
  • the selected image is most closely associated with the lidar point cloud data obtained when the line-of-sight lidar device was aligned with the camera.
  • the subset of the lidar point cloud data corresponding to the camera's field of view may be correlated with the image data of the selected image by projecting the lidar point cloud data onto the image data, for example, by assigning depths to portions of the image data, classifying or recognizing portions of the image data as corresponding to an object detected by the lidar, or the like.
  • the object detection, classification, and analysis based on the image data may be improved, which, in turn, also improves autonomous operation of the vehicle by virtue of the commands for operating the vehicle being influenced by the objects in the environment in the vicinity of the vehicle.
  • the lidar when the lidar detects a moving car in front of the vehicle, projecting the three-dimensional lidar point cloud data for the car onto the two-dimensional image from a forward-looking camera that is temporally associated with the forward-looking lidar alignment, the lidar points corresponding to the car will better overlap the image data corresponding car in the image.
  • a more accurate bounding box of an object in the image can be determined, which, in turn, improves object classification when applying a neural network to the image data contained within the bounding box to determine what the object is (e.g., a car, a pedestrian, a traffic sign, etc.).
  • lidar point cloud data Given a region of image data where an object has been visually detected in an image temporally associated with lidar point cloud data, it can be determined which lidar points correspond to that detected object, and thereby, the determination of the object distance or how the lidar point cloud data should be segmented into different objects may be improved.
  • the temporal association between lidar point cloud data and a selected image can also be utilized to resolve what the surface of the ground looks like in the image data based on the three-dimensional position and orientation of the vehicle (e.g., determined by the localization part of the stack as described below in the context of FIG. 3 ) and the fact that the lidar data and image data are temporally coherent.
  • an autonomous vehicle control system shown generally at 100 is associated with a vehicle 10 in accordance with various embodiments.
  • the control system 100 determines a motion plan for autonomously operating the vehicle 10 along a route in a manner that accounts for objects or obstacles detected by onboard sensors 28 , 40 , as described in greater detail below.
  • data from different types of onboard sensors 28 , 40 having different sampling frequencies or update frequencies associated therewith are temporally associated with one another to effectively synchronize the data sets prior to establishing correlations between data sets, as described in greater detail below primarily in the context of FIGS. 4-7 .
  • the temporal associations reduce discrepancies and improve accuracy or precision when correlating between data sets, which, in turn, improves object detection, object classification, and the like, and thereby improves autonomous operation of the vehicle 10 .
  • the vehicle 10 generally includes a chassis 12 , a body 14 , front wheels 16 , and rear wheels 18 .
  • the body 14 is arranged on the chassis 12 and substantially encloses components of the vehicle 10 .
  • the body 14 and the chassis 12 may jointly form a frame.
  • the wheels 16 - 18 are each rotationally coupled to the chassis 12 near a respective corner of the body 14 .
  • the vehicle 10 is an autonomous vehicle and the control system 100 is incorporated into the autonomous vehicle 10 (hereinafter referred to as the autonomous vehicle 10 ).
  • the autonomous vehicle 10 is, for example, a vehicle that is automatically controlled to carry passengers from one location to another.
  • the vehicle 10 is depicted in the illustrated embodiment as a passenger car, but it should be appreciated that any other vehicle including motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), marine vessels, aircraft, etc., can also be used.
  • the autonomous vehicle 10 is a so-called Level Four or Level Five automation system.
  • a Level Four system indicates “high automation”, referring to the driving mode-specific performance by an automated driving system of all aspects of the dynamic driving task, even if a human driver does not respond appropriately to a request to intervene.
  • a Level Five system indicates “full automation”, referring to the full-time performance by an automated driving system of all aspects of the dynamic driving task under all roadway and environmental conditions that can be managed by a human driver.
  • the autonomous vehicle 10 generally includes a propulsion system 20 , a transmission system 22 , a steering system 24 , a brake system 26 , a sensor system 28 , an actuator system 30 , at least one data storage device 32 , at least one controller 34 , and a communication system 36 .
  • the propulsion system 20 may, in various embodiments, include an internal combustion engine, an electric machine such as a traction motor, and/or a fuel cell propulsion system.
  • the transmission system 22 is configured to transmit power from the propulsion system 20 to the vehicle wheels 16 - 18 according to selectable speed ratios.
  • the transmission system 22 may include a step-ratio automatic transmission, a continuously-variable transmission, or other appropriate transmission.
  • the brake system 26 is configured to provide braking torque to the vehicle wheels 16 - 18 .
  • the brake system 26 may, in various embodiments, include friction brakes, brake by wire, a regenerative braking system such as an electric machine, and/or other appropriate braking systems.
  • the steering system 24 influences a position of the of the vehicle wheels 16 - 18 . While depicted as including a steering wheel for illustrative purposes, in some embodiments contemplated within the scope of the present disclosure, the steering system 24 may not include a steering wheel.
  • the sensor system 28 includes one or more sensing devices 40 a - 40 n that sense observable conditions of the exterior environment and/or the interior environment of the autonomous vehicle 10 .
  • the sensing devices 40 a - 40 n can include, but are not limited to, radars, lidars, global positioning systems, optical cameras, thermal cameras, ultrasonic sensors, and/or other sensors.
  • the actuator system 30 includes one or more actuator devices 42 a - 42 n that control one or more vehicle features such as, but not limited to, the propulsion system 20 , the transmission system 22 , the steering system 24 , and the brake system 26 .
  • the vehicle features can further include interior and/or exterior vehicle features such as, but are not limited to, doors, a trunk, and cabin features such as air, music, lighting, etc. (not numbered).
  • the data storage device 32 stores data for use in automatically controlling the autonomous vehicle 10 .
  • the data storage device 32 stores defined maps of the navigable environment.
  • the defined maps may be predefined by and obtained from a remote system (described in further detail with regard to FIG. 2 ).
  • the defined maps may be assembled by the remote system and communicated to the autonomous vehicle 10 (wirelessly and/or in a wired manner) and stored in the data storage device 32 .
  • the data storage device 32 may be part of the controller 34 , separate from the controller 34 , or part of the controller 34 and part of a separate system.
  • the controller 34 includes at least one processor 44 and a computer readable storage device or media 46 .
  • the processor 44 can be any custom made or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among several processors associated with the controller 34 , a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, any combination thereof, or generally any device for executing instructions.
  • the computer readable storage device or media 46 may include volatile and nonvolatile storage in read-only memory (ROM), random-access memory (RAM), and keep-alive memory (KAM), for example.
  • KAM is a persistent or non-volatile memory that may be used to store various operating variables while the processor 44 is powered down.
  • the computer-readable storage device or media 46 may be implemented using any of a number of known memory devices such as PROMs (programmable read-only memory), EPROMs (electrically PROM), EEPROMs (electrically erasable PROM), flash memory, or any other electric, magnetic, optical, or combination memory devices capable of storing data, some of which represent executable instructions, used by the controller 34 in controlling the autonomous vehicle 10 .
  • PROMs programmable read-only memory
  • EPROMs electrically PROM
  • EEPROMs electrically erasable PROM
  • flash memory or any other electric, magnetic, optical, or combination memory devices capable of storing data, some of which represent executable instructions, used by the controller 34 in controlling the autonomous vehicle 10 .
  • the instructions may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions.
  • the instructions when executed by the processor 44 , receive and process signals from the sensor system 28 , perform logic, calculations, methods and/or algorithms for automatically controlling the components of the autonomous vehicle 10 , and generate control signals to the actuator system 30 to automatically control the components of the autonomous vehicle 10 based on the logic, calculations, methods, and/or algorithms.
  • controller 34 Although only one controller 34 is shown in FIG. 1 , embodiments of the autonomous vehicle 10 can include any number of controllers 34 that communicate over any suitable communication medium or a combination of communication mediums and that cooperate to process the sensor signals, perform logic, calculations, methods, and/or algorithms, and generate control signals to automatically control features of the autonomous vehicle 10 .
  • one or more instructions of the controller 34 are embodied in the ride control system 100 and, when executed by the processor 44 , cause the processor 44 to calculate or otherwise determine sampling times for temporally associating data sets across sensing devices 40 and select or otherwise identify temporally associated data sets based on those sampling times, thereby effectively synchronizing the data obtained by different sensing devices 40 . Thereafter, the processor 44 may establish correlations between the data sets and utilize the correlations to improve object detection, object classification, object prediction, and the like as described herein. The resulting objects and their classification and predicted behavior influences the travel plans for autonomously operating the vehicle 10 , which, in turn, influences commands generated or otherwise provided by the processor 44 to control actuators 42 . Thus, the temporal association and correlation between different data sets from different sensing devices 40 improves autonomous operation of the vehicle 10 by improving the object analysis as described herein.
  • the communication system 36 is configured to wirelessly communicate information to and from other entities 48 , such as but not limited to, other vehicles (“V2V” communication,) infrastructure (“V2I” communication), remote systems, and/or personal devices (described in more detail with regard to FIG. 2 ).
  • the communication system 36 is a wireless communication system configured to communicate via a wireless local area network (WLAN) using IEEE 802.11 standards or by using cellular data communication.
  • WLAN wireless local area network
  • DSRC dedicated short-range communications
  • DSRC channels refer to one-way or two-way short-range to medium-range wireless communication channels specifically designed for automotive use and a corresponding set of protocols and standards.
  • the autonomous vehicle 10 described with regard to FIG. 1 may be suitable for use in the context of a taxi or shuttle system in a certain geographical area (e.g., a city, a school or business campus, a shopping center, an amusement park, an event center, or the like) or may simply be managed by a remote system.
  • the autonomous vehicle 10 may be associated with an autonomous vehicle based remote transportation system.
  • FIG. 2 illustrates an exemplary embodiment of an operating environment shown generally at 50 that includes an autonomous vehicle based remote transportation system 52 that is associated with one or more instances of autonomous vehicles 10 a - 10 n as described with regard to FIG. 1 .
  • the operating environment 50 further includes one or more user devices 54 that communicate with the autonomous vehicle 10 and/or the remote transportation system 52 via a communication network 56 .
  • the communication network 56 supports communication as needed between devices, systems, and components supported by the operating environment 50 (e.g., via tangible communication links and/or wireless communication links).
  • the communication network 56 can include a wireless carrier system 60 such as a cellular telephone system that includes a plurality of cell towers (not shown), one or more mobile switching centers (MSCs) (not shown), as well as any other networking components required to connect the wireless carrier system 60 with a land communications system.
  • MSCs mobile switching centers
  • Each cell tower includes sending and receiving antennas and a base station, with the base stations from different cell towers being connected to the MSC either directly or via intermediary equipment such as a base station controller.
  • the wireless carrier system 60 can implement any suitable communications technology, including for example, digital technologies such as CDMA (e.g., CDMA2000), LTE (e.g., 4G LTE or 5G LTE), GSM/GPRS, or other current or emerging wireless technologies.
  • CDMA Code Division Multiple Access
  • LTE e.g., 4G LTE or 5G LTE
  • GSM/GPRS GSM/GPRS
  • Other cell tower/base station/MSC arrangements are possible and could be used with the wireless carrier system 60 .
  • the base station and cell tower could be co-located at the same site or they could be remotely located from one another, each base station could be responsible for a single cell tower or a single base station could service various cell towers, or various base stations could be coupled to a single MSC, to name but a few of the possible arrangements.
  • a second wireless carrier system in the form of a satellite communication system 64 can be included to provide uni-directional or bi-directional communication with the autonomous vehicles 10 a - 10 n . This can be done using one or more communication satellites (not shown) and an uplink transmitting station (not shown).
  • Uni-directional communication can include, for example, satellite radio services, wherein programming content (news, music, etc.) is received by the transmitting station, packaged for upload, and then sent to the satellite, which broadcasts the programming to subscribers.
  • Bi-directional communication can include, for example, satellite telephony services using the satellite to relay telephone communications between the vehicle 10 and the station. The satellite telephony can be utilized either in addition to or in lieu of the wireless carrier system 60 .
  • a land communication system 62 may further be included that is a conventional land-based telecommunications network connected to one or more landline telephones and connects the wireless carrier system 60 to the remote transportation system 52 .
  • the land communication system 62 may include a public switched telephone network (PSTN) such as that used to provide hardwired telephony, packet-switched data communications, and the Internet infrastructure.
  • PSTN public switched telephone network
  • One or more segments of the land communication system 62 can be implemented through the use of a standard wired network, a fiber or other optical network, a cable network, power lines, other wireless networks such as wireless local area networks (WLANs), or networks providing broadband wireless access (BWA), or any combination thereof.
  • the remote transportation system 52 need not be connected via the land communication system 62 , but can include wireless telephony equipment so that it can communicate directly with a wireless network, such as the wireless carrier system 60 .
  • embodiments of the operating environment 50 can support any number of user devices 54 , including multiple user devices 54 owned, operated, or otherwise used by one person.
  • Each user device 54 supported by the operating environment 50 may be implemented using any suitable hardware platform.
  • the user device 54 can be realized in any common form factor including, but not limited to: a desktop computer; a mobile computer (e.g., a tablet computer, a laptop computer, or a netbook computer); a smartphone; a video game device; a digital media player; a piece of home entertainment equipment; a digital camera or video camera; a wearable computing device (e.g., smart watch, smart glasses, smart clothing); or the like.
  • Each user device 54 supported by the operating environment 50 is realized as a computer-implemented or computer-based device having the hardware, software, firmware, and/or processing logic needed to carry out the various techniques and methodologies described herein.
  • the user device 54 includes a microprocessor in the form of a programmable device that includes one or more instructions stored in an internal memory structure and applied to receive binary input to create binary output.
  • the user device 54 includes a GPS module capable of receiving GPS satellite signals and generating GPS coordinates based on those signals.
  • the user device 54 includes cellular communications functionality such that the device carries out voice and/or data communications over the communication network 56 using one or more cellular communications protocols, as are discussed herein.
  • the user device 54 includes a visual display, such as a touch-screen graphical display, or other display.
  • the remote transportation system 52 includes one or more backend server systems, which may be cloud-based, network-based, or resident at the particular campus or geographical location serviced by the remote transportation system 52 .
  • the remote transportation system 52 can be manned by a live advisor, or an automated advisor, or a combination of both.
  • the remote transportation system 52 can communicate with the user devices 54 and the autonomous vehicles 10 a - 10 n to schedule rides, dispatch autonomous vehicles 10 a - 10 n , and the like.
  • the remote transportation system 52 stores store account information such as subscriber authentication information, vehicle identifiers, profile records, behavioral patterns, and other pertinent subscriber information.
  • a registered user of the remote transportation system 52 can create a ride request via the user device 54 .
  • the ride request will typically indicate the passenger's desired pickup location (or current GPS location), the desired destination location (which may identify a predefined vehicle stop and/or a user-specified passenger destination), and a pickup time.
  • the remote transportation system 52 receives the ride request, processes the request, and dispatches a selected one of the autonomous vehicles 10 a - 10 n (when and if one is available) to pick up the passenger at the designated pickup location and at the appropriate time.
  • the transportation system 52 can also generate and send a suitably configured confirmation message or notification to the user device 54 , to let the passenger know that a vehicle is on the way.
  • an autonomous vehicle and autonomous vehicle based remote transportation system can be modified, enhanced, or otherwise supplemented to provide the additional features described in more detail below.
  • controller 34 implements an autonomous driving system (ADS) 70 as shown in FIG. 3 . That is, suitable software and/or hardware components of controller 34 (e.g., processor 44 and computer-readable storage device 46 ) are utilized to provide an autonomous driving system 70 that is used in conjunction with vehicle 10 , for example, to automatically control various actuators 30 onboard the vehicle 10 to thereby control vehicle acceleration, steering, and braking, respectively, without human intervention.
  • ADS autonomous driving system
  • the instructions of the autonomous driving system 70 may be organized by function or system.
  • the autonomous driving system 70 can include a sensor fusion system 74 , a positioning system 76 , a guidance system 78 , and a vehicle control system 80 .
  • the instructions may be organized into any number of systems (e.g., combined, further partitioned, etc.) as the disclosure is not limited to the present examples.
  • the sensor fusion system 74 synthesizes and processes sensor data and predicts the presence, location, classification, and/or path of objects and features of the environment of the vehicle 10 .
  • the sensor fusion system 74 can incorporate information from multiple sensors, including but not limited to cameras, lidars, radars, and/or any number of other types of sensors.
  • the sensor fusion system 74 selects or otherwise identifies, for one or more cameras, a respective image from that camera that is temporally associated with a lidar scan based on a relationship between timestamps of the images captured by that camera and a sampling time when the lidar scan is aligned with the field of view of that camera. Thereafter, the sensor fusion system 74 correlates the image data from the selected image with the lidar point cloud data from when the lidar scan traverses the field of view of that camera to assign depths to the image data, identify objects in one or more of the image data and the lidar data, or otherwise synthesize the temporally associated image data and lidar data.
  • the output provided by the sensor fusion system 74 reflects or is otherwise influenced by the temporal associations between camera images and lidar point cloud data.
  • the positioning system 76 processes sensor data along with other data to determine a position (e.g., a local position relative to a map, an exact position relative to lane of a road, vehicle heading, velocity, etc.) of the vehicle 10 relative to the environment.
  • the guidance system 78 processes sensor data along with other data to determine a path for the vehicle 10 to follow.
  • the vehicle control system 80 generates control signals for controlling the vehicle 10 according to the determined path.
  • the controller 34 implements machine learning techniques to assist the functionality of the controller 34 , such as feature detection/classification, obstruction mitigation, route traversal, mapping, sensor integration, ground-truth determination, and the like.
  • FIG. 4 depicts an exemplary vehicle 400 that includes a plurality of cameras 402 distributed about the vehicle 400 and a plurality of ranging devices 404 distributed about the vehicle 400 .
  • the cameras 402 are disposed at different locations and oriented to provide different field of views that capture different portions of the surrounding environment in the vicinity of the vehicle 400 .
  • a first camera 402 is positioned at the front left (or driver) side of the vehicle 400 and has its field of view oriented 45° counterclockwise relative to the longitudinal axis of the vehicle 400 in the forward direction
  • another camera 402 may be positioned at the front right (or passenger) side of the vehicle 400 and has its field of view oriented 45° clockwise relative to the longitudinal axis of the vehicle 400 .
  • Additional cameras 402 are positioned at the rear left and right sides of the vehicle 400 and similarly oriented away from the longitudinal axis at 45° relative to the vehicle longitudinal axis, along with cameras 402 positioned on the left and right sides of the vehicle 400 and oriented away from the longitudinal axis perpendicular to the vehicle longitudinal axis.
  • the illustrated embodiment also includes a pair of cameras 402 positioned at or near the vehicle longitudinal axis and oriented to capture a forward looking field of view along a line of sight substantially parallel to the vehicle longitudinal axis.
  • the cameras 402 have angle of views, focal lengths, and other attributes that are different from those of one or more other cameras 402 .
  • the cameras 402 on the right and left sides of the vehicle may have an angle of view that is greater than the angle of view associated with the cameras 402 positioned at the front left, front right, rear left, or rear right of the vehicle.
  • the angle of view of the cameras 402 are chosen so that the field of view of different cameras 402 overlap, at least in part, to ensure camera coverage at particular locations or orientations relative to the vehicle 400 .
  • the ranging devices 404 are also disposed at different locations of the vehicle 400 , and in one embodiment, are disposed symmetrically about the longitudinal axis of the vehicle 400 to achieve parallax.
  • the ranging devices 404 are realized as lidar devices.
  • each of the ranging devices 404 may include or incorporate one or more lasers, scanning components, optical arrangements, photodetectors, and other components suitably configured to horizontally and rotatably scan the environment in the vicinity of the vehicle 400 with a particular angular frequency or rotational velocity.
  • each lidar device 404 is configured to horizontally rotate and scan 360° at a frequency of 10 Hertz (Hz).
  • Hz Hertz
  • a lidar scan should be understood as referring to a single revolution of a lidar device 404 .
  • the cameras 402 autonomously and automatically captures images at a particular frequency, and the frequency or rate at which the cameras 402 capture images is greater than the angular frequency of the lidar devices 404 .
  • the cameras 402 capture new image data corresponding to their respective field of view at a rate of 30 Hz while the lidar device 404 scans and automatically provides updated data at a rate of 10 Hz.
  • each camera 402 may capture multiple images per lidar scan, and capture the images at different times independent of the orientation of the lidar device 404 or the angular position within the scan.
  • the subject matter described herein selects or otherwise identifies an image from each respective camera 402 that is temporally associated with the lidar point cloud data from a particular lidar scan based on the timestamps of the images captured by that respective camera 402 relative to a sampling time at which the angular position of the lidar scan corresponds to the line of sight of a lidar device 404 being aligned substantially parallel to the bisector (or line of sight) of the angle of view of the respective camera 402 .
  • the frequency or sampling rate of the cameras 402 is at least twice the angular frequency of the lidar device 404 .
  • FIG. 5 depicts an embodiment of a processing module 500 (or control module) which may be implemented by or incorporated into the controller 34 , the processor 44 , and/or the sensor fusion system 74 .
  • the image processing module 500 is coupled to a camera 502 (e.g., one of cameras 402 ) onboard the vehicle and a lidar device 504 (e.g., one of lidar devices 404 ) onboard the vehicle.
  • a camera 502 e.g., one of cameras 402
  • a lidar device 504 e.g., one of lidar devices 404
  • the image processing module 500 may be coupled to additional lidar devices 40 , 504 onboard the vehicle 10 , 400 to temporally associate and correlate different images from the onboard cameras 40 , 402 , 502 to the lidar point cloud data from scans of different lidar devices 40 , 404 , 504 .
  • the image processing module 500 includes an image buffering module 512 which is configured to store or otherwise maintain image data corresponding to one or more images (or samples) captured by the camera 502 .
  • an image sensor of the camera 502 may be sampled at a particular frequency (e.g., 30 Hz) to capture images of its field of view at that frequency, with the corresponding image data for a sample being stored or otherwise maintained by the image buffering module 512 .
  • the image buffering module 512 may include a data storage element (or buffer) configured to store one or more image data sets from the camera 502 .
  • the buffer is sized to store a number of image data sets corresponding to the number of images captured by the camera 502 per lidar scan.
  • the buffer of the image buffering module 512 may be capable of storing at least the 3 most recent images (or image data sets) captured by the camera 502 .
  • each image is stored or otherwise maintained in association with a timestamp that indicates the instance in time at which the image data was captured by the camera 502 .
  • the image processing module 500 includes an image selection module 514 that is coupled to the image buffering module 512 and configured to select or otherwise identify the image in the buffer that is temporally associated with the lidar device 504 being aligned with the field of view of the camera 502 based on the timestamps associated with the images in the buffer.
  • the image selection module 514 is coupled to the lidar device 504 to receive a signal or indication of when the lidar device 504 is aligned at its starting or reference orientation within a scan, and then based on the angle or orientation of the bisector of the angle of view of the camera 502 and the angular frequency of the lidar device 504 , the image selection module 514 calculates a sampling time at which the line of sight of the lidar device 504 is aligned parallel to the bisector of the angle of view of the camera 502 , alternatively referred to herein as the lidar sampling time. Based on the sampling time, the image selection module 514 accesses the image buffering module 512 to retrieve or otherwise obtain the image data set having a timestamp that is closest to the lidar sampling time.
  • the image selection module 514 provides the selected image that is temporally associated with the lidar scanning the field of view of the camera 502 to a data processing module 516 .
  • the data processing module 516 is coupled to the lidar device 504 to retrieve or otherwise obtain the lidar point cloud data from a lidar scan, and then correlates at least a portion of the lidar point cloud data to the temporally associated image data.
  • the data processing module 516 may select or otherwise identify the subset of the lidar point cloud data corresponding to the lidar device 504 traversing the angle of view of the camera 502 , and then project the lidar point cloud data onto the selected image.
  • the data processing module 516 when correlating image data with point cloud data, also accounts for differences in location between where the lidar device 504 is located on the vehicle 10 , 400 relative to the location where the camera 502 is located. In some embodiments, the data processing module 516 also utilizes the correlation between image data and point cloud data to detect objects for subsequent classification and prediction and provides such preprocessed output 506 (e.g., sensor output 335 ) to one or more additional object or obstacle analysis modules as described above.
  • preprocessed output 506 e.g., sensor output 335
  • a dataflow diagram illustrates various embodiments of a synchronization process 600 which may be embedded within a controller 34 in the control system 100 of FIG. 1 supporting the ADS 70 and image processing module 500 of FIG. 5 in accordance with the present disclosure.
  • the order of operation within the method is not limited to the sequential execution as illustrated in FIG. 6 , but may be performed in one or more varying orders as applicable and in accordance with the present disclosure.
  • the synchronization process 600 can be scheduled to run based on one or more predetermined events, and/or can run continuously during operation of the autonomous vehicle 10 .
  • the synchronization process 600 begins by identifying or otherwise obtaining lidar scan configuration data at 602 .
  • the lidar scan configuration data includes information characterizing or quantifying the initial or starting orientation of a lidar device relative to the longitudinal axis of the vehicle, an angular frequency associated with the lidar device, a direction of rotation of the lidar device, an indication of a start time for a lidar scan, and the like.
  • an onboard data storage element 32 , 46 may store or otherwise maintain information characterizing the orientation from which an onboard lidar device starts a scan, the position or location of the lidar device on the vehicle, and the angular frequency associated with the lidar device.
  • one or more of the angular frequency, the direction of rotation, and/or the starting orientation may be dynamic or configurable under control of an onboard control module 34 , 44 .
  • the lidar device is configured to generate or otherwise provide a signal or other indication when the lidar device is aligned with the starting orientation within a scan, thereby providing indication of a start time for a lidar scan.
  • the synchronization process 600 also identifies or otherwise obtains camera configuration data at 604 .
  • the camera configuration data includes information characterizing or quantifying the orientation of a line of sight of the camera or other imaging device relative to the longitudinal axis of the vehicle, an angle of view associated with the camera, a focal length of the camera, an update or refresh frequency of the camera, and the like.
  • an onboard data storage element 32 , 46 may store or otherwise maintain information characterizing the camera orientation, the camera field of view, the position or location of the camera on the vehicle, and the frequency associated with the lidar device.
  • one or more of the update frequency, the focal length, or other aspects of the camera may be dynamic or configurable under control of an onboard control module 34 , 44 .
  • the synchronization process 600 calculates or otherwise determines an optimal sampling time for the camera that corresponds to alignment of the lidar line of sight with the camera field of view at 606 .
  • the synchronization process 600 calculates an expected amount of time required for the lidar device to rotate from its initial or starting location to an orientation where its line of sight is aligned with the bisector of the angle of view of the camera of interest, and then adds the resultant time period to the start time of the current lidar scan to arrive at an optimal sampling time for the camera being analyzed.
  • FIG. 7 illustrates an exemplary embodiment of a lidar device 704 and a camera 702 onboard a vehicle 700 .
  • the initial reference orientation 705 (or starting orientation) of the lidar device 704 is aligned substantially parallel to the longitudinal axis 701 of the vehicle 700 and directed towards the rear of the vehicle 700
  • the line of sight 703 of the camera 702 bisecting the camera angle of view 706 is substantially perpendicular to the vehicle longitudinal axis 701 and directed towards the left of the vehicle 700 .
  • the lidar device 704 rotates counterclockwise, and therefore, does not reach a line of sight 707 aligned with the camera angle of view bisector 703 until a quarter revolution into a scan.
  • the optimal sampling time may be calculated by adding an offset equal to one-fourth of the period of the lidar scan (the inverse of the angular frequency) to the lidar scan starting time when the lidar device 704 is aligned with the starting orientation 705 .
  • the optimal sampling time may be calculated by adding an offset equal to three-fourths of the period of the lidar scan to the lidar scan starting time.
  • the optimal sampling time (t c ) for a particular camera may be calculated by adding an offset to the scan starting time when the lidar device 704 is aligned at its reference orientation using the equation:
  • ⁇ t c t s + ⁇ c - ⁇ s f s , where t s is the starting time of the lidar scan, ⁇ c is the angle of the camera line of sight, ⁇ s is the starting angle for the lidar scan, and f s is the angular frequency of the lidar scan.
  • the synchronization process 600 stores, buffers, or otherwise maintains images from the camera at 608 and selects or otherwise identifies an image corresponding to the optimal sampling time corresponding to the lidar line of sight alignment based on the image timestamps at 610 .
  • the image buffering module 512 may store or otherwise maintain images containing image data for the field of view 706 of the camera 502 , 702 along with an associated timestamp indicative of when the images where captured (e.g., when the file containing the image data was created or instantiated).
  • the image selection module 514 receives an indication of when the lidar device 504 , 704 passes its orientation angle, and based on that start time for the lidar scan, calculates a sampling time when the lidar device 504 , 704 is expected to reach an orientation aligned with the camera field of view 706 parallel to camera line of sight 703 at the orientation depicted by line of sight 707 .
  • the image selection module 514 analyzes the timestamps of the images maintained by the image buffering module 512 and selects or otherwise retrieves the image having the minimum difference between its timestamp and the calculated sampling time.
  • the synchronization process 600 associates or otherwise correlates the selected image with the lidar data captured at the sampling time for the camera field of view at 612 .
  • the image selection module 514 may provide the selected image from the image buffering module 512 that is closest to the calculated lidar sampling time to the data processing module 516 for associations and correlations with the lidar data at the calculated sampling time.
  • the data processing module 516 selects the lidar data from the calculated sampling time for projection into the received image.
  • the data processing module 516 may also select the lidar data obtained before and after the calculated sampling time to obtain a subset of lidar data that corresponds to the lidar device 504 , 704 traversing the field of view 706 .
  • the data processing module 516 may calculate or otherwise determine a first time prior to the calculated sampling time at which the lidar scan is likely to initially enter the camera field of view 706 and a second time after the calculated sampling time at which the lidar scan is likely to exit the camera field of view 706 , and then select or otherwise obtain the lidar data corresponding to that portion of the lidar scan encompassing the camera field of view 706 .
  • the data processing module 516 may then project the subset of lidar data corresponding to the scan of the camera field of view 706 into the selected image, for example, to assign depths or three-dimensional characteristics, detect objects, and the like.
  • the synchronization process 600 also deletes or otherwise discards other unselected images at 614 .
  • the image selection module 514 may instruct or otherwise command the image buffering module 512 to remove or otherwise delete any other image data remaining in the buffer.
  • the image selection module 514 may notify the image buffering module 512 of the calculated start time, and in response, the image buffering module 512 automatically recognizes when the timestamp of a captured image is going to be the closest to the calculated lidar sampling time for that camera 502 , 702 and pushes or otherwise provides the captured image to the image selection module 514 substantially in real-time. For example, based on the period at which the camera captures new images, the image buffering module 512 may determine in real-time whether the next image will be obtained closer in time to the calculated lidar sampling time.
  • the image buffering module 512 may automatically determine that the next image will not be closer in time to the calculated lidar sampling time and automatically provide the captured image to the image selection module 514 rather than waiting for the next image capture within the lidar scan. Conversely, if the timestamp of a captured image precedes the calculated lidar sampling time by 30 ms, the image buffering module 512 may automatically determine that the next image will likely be closer in time to the calculated lidar sampling time and wait for the next image to be captured and analyzed.
  • the image buffering module 512 may automatically determine that the next image will likely be closer in time to the calculated lidar sampling time and automatically discard the captured image.
  • the synchronization process 600 generates or otherwise determines commands for operating onboard actuators and autonomously controlling the vehicle based at least in part on the correlation between image data and lidar data.
  • the correlation may be utilized to classify objects and assign depths or distances to the objects, which may be further utilized to predict the object's future behavior.
  • the controller 34 and/or processor 44 may calculate or otherwise determine a route for autonomously operating the vehicle 10 and corresponding actuator commands for controlling the lateral or longitudinal movement of the vehicle along the route in a manner that avoids any collisions or conflicts with the object and adheres to any applicable safety buffers, minimum following distances, minimum separation distances, and the like for the particular type of object.
  • the subject matter described herein allows for an improved temporal association between data captured by different devices sampling a common region at different instances in time, thereby improving the accuracy and reliability of correlations performed across data sets.
  • the temporal association of data sets is achieved without reliance on complex triggering mechanisms and allows the different devices to operate autonomously at their own respective update rates or frequencies independent of other onboard devices and without interruption.
  • the various devices may be configured to achieve desired performance characteristics without compromising aspects for the purpose of synchronization (e.g., by dedicating resources to interrupt monitoring or handling).

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Electromagnetism (AREA)
  • Mathematical Physics (AREA)
  • Optics & Photonics (AREA)
  • Traffic Control Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
US15/463,978 2017-03-20 2017-03-20 Temporal data associations for operating autonomous vehicles Active 2037-07-27 US10328934B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/463,978 US10328934B2 (en) 2017-03-20 2017-03-20 Temporal data associations for operating autonomous vehicles
CN201810199124.5A CN108628301B (zh) 2017-03-20 2018-03-12 用于操作自动驾驶车辆的时间数据关联
DE102018106353.9A DE102018106353A1 (de) 2017-03-20 2018-03-19 Vorübergehende datenzuordnungen zum betreiben von autonomen fahrzeugen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/463,978 US10328934B2 (en) 2017-03-20 2017-03-20 Temporal data associations for operating autonomous vehicles

Publications (2)

Publication Number Publication Date
US20170242442A1 US20170242442A1 (en) 2017-08-24
US10328934B2 true US10328934B2 (en) 2019-06-25

Family

ID=59629887

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/463,978 Active 2037-07-27 US10328934B2 (en) 2017-03-20 2017-03-20 Temporal data associations for operating autonomous vehicles

Country Status (3)

Country Link
US (1) US10328934B2 (zh)
CN (1) CN108628301B (zh)
DE (1) DE102018106353A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021186387A1 (en) * 2020-03-19 2021-09-23 Manav Singal A method and system for detecting road anomalies
US11164016B2 (en) * 2018-05-17 2021-11-02 Uatc, Llc Object detection and property determination for autonomous vehicles

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6706032B2 (ja) * 2015-06-12 2020-06-03 シャープ株式会社 移動体システム及び制御装置
US10699305B2 (en) 2016-11-21 2020-06-30 Nio Usa, Inc. Smart refill assistant for electric vehicles
US10471829B2 (en) 2017-01-16 2019-11-12 Nio Usa, Inc. Self-destruct zone and autonomous vehicle navigation
US10286915B2 (en) 2017-01-17 2019-05-14 Nio Usa, Inc. Machine learning for personalized driving
US10328934B2 (en) * 2017-03-20 2019-06-25 GM Global Technology Operations LLC Temporal data associations for operating autonomous vehicles
CN115855022A (zh) * 2017-04-07 2023-03-28 辉达公司 使用深度神经网络执行自主路径导航
KR102547600B1 (ko) * 2017-05-10 2023-06-26 모빌아이 비젼 테크놀로지스 엘티디. 자율주행차 시스템을 위한 교차 시야
KR20180134230A (ko) * 2017-06-08 2018-12-18 삼성전자주식회사 청소 로봇 및 그 제어 방법
US10866101B2 (en) * 2017-06-13 2020-12-15 Tusimple, Inc. Sensor calibration and time system for ground truth static scene sparse flow generation
US10234302B2 (en) 2017-06-27 2019-03-19 Nio Usa, Inc. Adaptive route and motion planning based on learned external and internal vehicle environment
US10235881B2 (en) * 2017-07-28 2019-03-19 Toyota Motor Engineering & Manufacturing North America, Inc. Autonomous operation capability configuration for a vehicle
US10837790B2 (en) 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
KR102012776B1 (ko) * 2017-08-29 2019-08-21 엘지전자 주식회사 차량용 어라운드 뷰 제공 장치 및 차량
US10509413B2 (en) * 2017-09-07 2019-12-17 GM Global Technology Operations LLC Ground reference determination for autonomous vehicle operations
US10635109B2 (en) 2017-10-17 2020-04-28 Nio Usa, Inc. Vehicle path-planner monitor and controller
CN111492403A (zh) 2017-10-19 2020-08-04 迪普迈普有限公司 用于生成高清晰度地图的激光雷达到相机校准
US10606274B2 (en) 2017-10-30 2020-03-31 Nio Usa, Inc. Visual place recognition based self-localization for autonomous vehicles
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
US10962650B2 (en) 2017-10-31 2021-03-30 United States Of America As Represented By The Administrator Of Nasa Polyhedral geofences
AU2018365091B2 (en) 2017-11-13 2021-03-04 Raven Industries, Inc. Safety system for autonomous operation of off-road and agricultural vehicles using machine learning for detection and identification of obstacles
US10663585B2 (en) * 2017-11-22 2020-05-26 Luminar Technologies, Inc. Manufacturing a balanced polygon mirror
US10451716B2 (en) 2017-11-22 2019-10-22 Luminar Technologies, Inc. Monitoring rotation of a mirror in a lidar system
JP2020507137A (ja) * 2017-12-11 2020-03-05 ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド 車両周辺の物体を識別して測位するためのシステムおよび方法
US11294019B2 (en) * 2017-12-27 2022-04-05 Southwest Research Institute Geolocation calibration for calibrating radio direction finding system by remote control
US10636314B2 (en) 2018-01-03 2020-04-28 Qualcomm Incorporated Adjusting flight parameters of an aerial robotic vehicle based on presence of propeller guard(s)
US10719705B2 (en) * 2018-01-03 2020-07-21 Qualcomm Incorporated Adjustable object avoidance proximity threshold based on predictability of the environment
US10717435B2 (en) 2018-01-03 2020-07-21 Qualcomm Incorporated Adjustable object avoidance proximity threshold based on classification of detected objects
US10720070B2 (en) 2018-01-03 2020-07-21 Qualcomm Incorporated Adjustable object avoidance proximity threshold of a robotic vehicle based on presence of detected payload(s)
US10803759B2 (en) 2018-01-03 2020-10-13 Qualcomm Incorporated Adjustable object avoidance proximity threshold based on presence of propeller guard(s)
US11435752B2 (en) 2018-03-23 2022-09-06 Motional Ad Llc Data fusion system for a vehicle equipped with unsynchronized perception sensors
DE102018205879A1 (de) * 2018-04-18 2019-10-24 Volkswagen Aktiengesellschaft Verfahren, Vorrichtung und computerlesbares Speichermedium mit Instruktionen zur Verarbeitung von Sensordaten
US10491885B1 (en) * 2018-06-13 2019-11-26 Luminar Technologies, Inc. Post-processing by lidar system guided by camera information
US10824146B2 (en) * 2018-06-29 2020-11-03 Ford Global Technologies, Llc Handling rider service at autonomous vehicles
DE102018122879B4 (de) 2018-09-18 2023-11-30 Saf-Holland Gmbh Nutzfahrzeugüberwachungssystem
US11451688B2 (en) * 2018-09-26 2022-09-20 Zoox, Inc. Image scan line timestamping
US10582137B1 (en) * 2018-09-26 2020-03-03 Zoox, Inc. Multi-sensor data capture synchronizaiton
US10832062B1 (en) * 2018-09-28 2020-11-10 Zoox, Inc. Image embedding for object tracking
US11495028B2 (en) * 2018-09-28 2022-11-08 Intel Corporation Obstacle analyzer, vehicle control system, and methods thereof
US11783707B2 (en) * 2018-10-09 2023-10-10 Ford Global Technologies, Llc Vehicle path planning
US20190061771A1 (en) * 2018-10-29 2019-02-28 GM Global Technology Operations LLC Systems and methods for predicting sensor information
CN109253720B (zh) * 2018-10-30 2020-04-24 上海禾赛光电科技有限公司 一种摄像头与激光雷达融合系统
US11656358B2 (en) * 2018-11-02 2023-05-23 Waymo Llc Synchronization of multiple rotating sensors of a vehicle
US10627512B1 (en) * 2018-11-29 2020-04-21 Luminar Technologies, Inc. Early fusion of lidar return data with camera information
US11069085B2 (en) 2019-02-13 2021-07-20 Toyota Research Institute, Inc. Locating a vehicle based on labeling point cloud data of a scene
CN112291024B (zh) * 2019-07-25 2023-11-03 北京地平线机器人技术研发有限公司 信息同步方法、信息同步装置及电子设备
CN111144211B (zh) * 2019-08-28 2023-09-12 华为技术有限公司 点云显示方法和装置
DE102019123483B4 (de) * 2019-09-02 2021-12-09 Audi Ag Verfahren sowie Kraftfahrzeug-Steuereinheit zum Erfassen einer Umgebung eines Kraftfahrzeugs durch Fusionieren von Sensordaten auf Punktwolkenebene
US11294760B2 (en) * 2019-12-30 2022-04-05 Semiconductor Components Industries, Llc Methods and apparatus for a temporal synchronization unit
AU2021262764B2 (en) * 2020-04-28 2023-11-30 Raven Industries, Inc. Object detection and tracking for automated operation of vehicles and machinery
US11836990B2 (en) * 2022-03-18 2023-12-05 GM Global Technology Operations LLC Methods and systems for two-phase camera to lidar alignment
US11632823B1 (en) * 2021-03-23 2023-04-18 Waymo Llc Estimating sensor timestamps by oversampling
US20230025579A1 (en) * 2021-07-26 2023-01-26 Cyngn, Inc. High-definition mapping
DE102021208371A1 (de) 2021-08-03 2023-02-09 Zf Friedrichshafen Ag Computerimplementiertes Verfahren und Computerprogramm zum Entkoppeln von Ausführzeitpunkten von Datenverarbeitungsprozessen eines Umfeldwahrnehmungssystems und Umfeldwahrnehmungssystem eines Fahrsystems
CN117616309A (zh) * 2021-09-23 2024-02-27 华为技术有限公司 信号处理方法、信号传输方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150177007A1 (en) * 2013-12-23 2015-06-25 Automotive Research & Testing Center Autonomous driver assistance system and autonomous driving method thereof
US20150244826A1 (en) * 2014-02-25 2015-08-27 Here Global B.V. Method and apparatus for providing selection and prioritization of sensor data
US20150301338A1 (en) * 2011-12-06 2015-10-22 e-Vision Smart Optics ,Inc. Systems, Devices, and/or Methods for Providing Images
US20170137023A1 (en) * 2014-04-02 2017-05-18 Levant Power Corporation Active safety suspension system
US20170212515A1 (en) * 2016-01-26 2017-07-27 GM Global Technology Operations LLC Autonomous vehicle control system and method
US20170242442A1 (en) * 2017-03-20 2017-08-24 GM Global Technology Operations LLC Temporal data associations for operating autonomous vehicles
US20180057004A1 (en) * 2016-08-25 2018-03-01 GM Global Technology Operations LLC Method and apparatus for vehicle accessory and load management

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002511B1 (en) * 2005-10-21 2015-04-07 Irobot Corporation Methods and systems for obstacle detection using structured light
DE102011012961B3 (de) * 2011-03-04 2012-05-10 Audi Ag Verfahren zur Emulation eines Umgebungssensors in einem Kraftfahrzeug und zum Testen eines vorausschauenden Sicherheitssystems
CN103472825A (zh) * 2013-08-23 2013-12-25 黄涌 一种基于摄像头的亮点追踪系统及其方法
CN104267721A (zh) * 2014-08-29 2015-01-07 陈业军 一种智能汽车的无人驾驶系统
CN106043169A (zh) * 2016-07-01 2016-10-26 百度在线网络技术(北京)有限公司 环境感知设备和应用于环境感知设备的信息获取方法
CN106153037B (zh) * 2016-07-21 2019-09-03 北京航空航天大学 一种机器人的室内定位方法、装置及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150301338A1 (en) * 2011-12-06 2015-10-22 e-Vision Smart Optics ,Inc. Systems, Devices, and/or Methods for Providing Images
US20150177007A1 (en) * 2013-12-23 2015-06-25 Automotive Research & Testing Center Autonomous driver assistance system and autonomous driving method thereof
US20150244826A1 (en) * 2014-02-25 2015-08-27 Here Global B.V. Method and apparatus for providing selection and prioritization of sensor data
US20170137023A1 (en) * 2014-04-02 2017-05-18 Levant Power Corporation Active safety suspension system
US20170212515A1 (en) * 2016-01-26 2017-07-27 GM Global Technology Operations LLC Autonomous vehicle control system and method
US20180057004A1 (en) * 2016-08-25 2018-03-01 GM Global Technology Operations LLC Method and apparatus for vehicle accessory and load management
US20170242442A1 (en) * 2017-03-20 2017-08-24 GM Global Technology Operations LLC Temporal data associations for operating autonomous vehicles

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11164016B2 (en) * 2018-05-17 2021-11-02 Uatc, Llc Object detection and property determination for autonomous vehicles
US11836623B2 (en) 2018-05-17 2023-12-05 Uatc, Llc Object detection and property determination for autonomous vehicles
WO2021186387A1 (en) * 2020-03-19 2021-09-23 Manav Singal A method and system for detecting road anomalies

Also Published As

Publication number Publication date
US20170242442A1 (en) 2017-08-24
DE102018106353A1 (de) 2018-09-20
CN108628301B (zh) 2021-12-31
CN108628301A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
US10328934B2 (en) Temporal data associations for operating autonomous vehicles
US10268203B2 (en) Calibration validation for autonomous vehicle operations
US10509413B2 (en) Ground reference determination for autonomous vehicle operations
US10460180B2 (en) Systems and methods for visual classification with region proposals
US10163017B2 (en) Systems and methods for vehicle signal light detection
US10430641B2 (en) Methods and systems for object tracking using bounding boxes
US10678260B2 (en) Calibration methods for autonomous vehicle operations
US10176596B1 (en) Calibration verification methods for autonomous vehicle operations
US10318822B2 (en) Object tracking
US10699142B2 (en) Systems and methods for traffic signal light detection
US10282999B2 (en) Road construction detection systems and methods
US10365650B2 (en) Methods and systems for moving object velocity determination
US10613547B2 (en) System and method for improved obstacle awareness in using a V2X communications system
US10495493B2 (en) Systems and methods for controlling sensing device field of view
US20190061771A1 (en) Systems and methods for predicting sensor information
US11242060B2 (en) Maneuver planning for urgent lane changes
US10611369B2 (en) Systems and methods for collision detection in autonomous vehicles
US20190026588A1 (en) Classification methods and systems
US20180348771A1 (en) Stop contingency planning during autonomous vehicle operation
US10466704B2 (en) Autonomous vehicle localization
US10495733B2 (en) Extendable sensor mount
US20200050191A1 (en) Perception uncertainty modeling from actual perception systems for autonomous driving
US20180095475A1 (en) Systems and methods for visual position estimation in autonomous vehicles
US10585434B2 (en) Relaxable turn boundaries for autonomous vehicles
US11300974B2 (en) Perception methods and systems for low lighting conditions

Legal Events

Date Code Title Description
AS Assignment

Owner name: GM GLOBAL TECHNOLOGY OPERATIONS LLC, MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MINSTER, GAUTIER;REEL/FRAME:041648/0237

Effective date: 20170320

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4