SIGNAL LEVEL OF CAPTURED TARGETS

A laser source generates an optical signal. A splitter splits the optical signal into a first signal and a second signal. A first modulator modulates the first signal. A second modulator modulates the second signal. A scanner scans the first signal following the modulation by the first modulator. A coupler combines the modulated second signal and the modulated first signal following the scanning of the first signal. A detector detect an attribute corresponding to the combined modulated second signal and the modulated first signal and captures a target based on the combined modulated second signal and the modulated first signal.

FIELD OF THE INVENTION

This disclosure relates to approaches of improving a signal level of captured targets using Lidar.

BACKGROUND

Lidar technology has a cornucopia of applications in fields such as aerospace, autonomous or semi-autonomous driving, and meteorology due to high speed of processing, high precision, and high accuracy.

SUMMARY

Various examples of the present disclosure can include a system comprising: a laser source configured to generate an optical signal; a splitter configured to split the optical signal into a first signal and a second signal; a first modulator configured to modulate the first signal; a second modulator configured to modulate the second signal; a scanner that scans the first signal following the modulation by the first modulator; a coupler that combines the modulated second signal and the modulated first signal following the scanning of the first signal; and a detector configured to detect an attribute corresponding to the combined modulated second signal and the modulated first signal, and capture a target based on the combined modulated second signal and the modulated first signal.

In some examples, the system may further comprise a processor that generates a first frequency modulated continuous wave (FMCW) signal and a second FMCW signal to modulate the first signal and the second signal, respectively.

In some examples, the processor processes the captured target, and determines and executes a navigation action based on the processed target.

In some examples, the navigation action comprises a yielding, a swerving, or a turning action.

In some examples, the second FMCW signal has a delay with respect to the first FMCW signal, and the processor controls a magnitude of the delay.

In some examples, the processor controls the magnitude of the delay based on a distance from the processor to the target.

In some examples, the processor controls the magnitude of the delay to be higher in response to a smaller distance from the processor to the target.

In some examples, the second FMCW signal comprises a reference beat signal that beats with a signal reflected from the target.

In some examples, the system further comprises a first digital-to-analog converter (DAC) that controls the first modulator and a second DAC that controls the second modulator.

In some examples, the system further comprises a field programmable gate array (FPGA) that controls the first DAC and the second DAC.

In some examples, a corresponding method performed by the system and the aforementioned elements thereof comprises generating an optical signal; splitting the optical signal into a first signal and a second signal; modulating the first signal; modulating the second signal; scanning the first signal following the modulation by the first modulator; combining the modulated second signal and the modulated first signal following the scanning of the first signal; detecting an attribute corresponding to the combined modulated second signal and the modulated first signal; and capturing a target based on the combined modulated second signal and the modulated first signal.

DETAILED DESCRIPTION

In coherent Lidar detection, in a scenario of a single modulator, a return signal reflected back from a target can only beat with a modulated signal transmitted to the target, which results in short integration time if the target is located at a long range distance. Because integration time is correlated to a level of signal acquired, detection of long-range signals using a single modulator is unfavorable. In particular, an overlap area in a region between two signals may indicate a total signal strength. Therefore, to improve the signal captured during detection of long-range targets without compromising signal captured during detection of short-range targets, a new technique implements two modulators, in which a first frequency-modulated continuous-wave (FMCW) signal is transmitted directly to a Lidar scanner while a second FMCW signal is delayed by a fixed time to a return signal, as a reference beat frequency signal.

FIG.1illustrates an implementation of FMCW Lidar in which a laser source103, following application of an input voltage102, is directed to two separate paths, a reference path111as a local oscillator, and a probe path112towards a target122. The laser source103may be a linear frequency modulated chirped laser. A photodetector104may detect an interference signal of light between the probe path112and the reference path111, which may be manifested as a beat signal108. The beat signal108may be sinusoidal and a frequency of the beat signal may be proportional to a distance to the target. The laser source103may be part of a Lidar, which may be disposed on a moving object, such as a vehicle. For example, at least one of the Lidar or the target122may be moving. In some examples, a maximum relative velocity between the Lidar and the target122may be approximately 300 kilometers per hour, in which both the Lidar and the target122are moving in opposite directions at approximately 150 kilometers per hour. In another example, either the Lidar or the target122may be approximately stationary and one of the Lidar or the target122may be moving at approximately 150 kilometers per hour. A range of relative velocities may be between 150 kilometers per hour and 300 kilometers per hour.

The Lidar may be associated with a computing system152which includes one or more processors and memory. Processors can be configured to perform various operations by interpreting machine-readable instructions, for example, from a machine-readable storage media162. The processors can include one or more hardware processors153. In some examples, one or more of the hardware processors153may be combined or integrated into a single processor, and some or all functions performed by one or more of the hardware processors153may not be spatially separated, but instead may be performed by a common processor. The hardware processors153may further be connected to, include, or be embedded with logic163which, for example, may include protocol that is executed to carry out the functions of the hardware processors153. These functions may include any of those described in the foregoing figures, such asFIGS.2-13. The one or more hardware processors153may also be associated with storage154, which may encompass a permanent storage or cache to store any outputs or intermediate outputs from the hardware processors153.

FIG.2illustrates a schematic implementation of a Lidar system that includes a laser source202, a splitter203, a digital-to-analog converter (DAC)205, a DAC207, a modulator204corresponding to the DAC205, a modulator206corresponding to the DAC207, a scanner208, a coupler209, a detector210, and a processor212. The processor212may generate a first FMCW signal for optical signal modulation and a second signal, corresponding to, and after sampling, the return optical signal detected by the detector210. The laser source202may generate an optical signal, which may be divided into two paths using a splitter203, and may be modulated with the two FMCW signals generated by the processor212at the modulators204and206. The modulator204may modulate the optical signal with the first FMCW signal while the modulator206may modulate the optical signal with the second FMCW signal. The DAC205may control the modulator204while the DAC207may control the modulator206. The DACs205and207may be controlled by a field-programmable gate array (FPGA)213. The optical signal modulated with the first FMCW signal may be transmitted to the scanner208first while the optical signal modulated with the second FMCW signal may be transmitted directly to the coupler209. The optical signal modulated with the first FMCW signal may then be transmitted to the coupler209following transmission to the scanner208. The two signals transmitted to the coupler209are then transmitted to the detector210for beating, or detecting of a beat note. Thus, the modulator204is utilized for modulating and transmitting while the modulator206may be utilized for beating with a received signal, thereby improving integration time for long-range return signals and improving signal-to-noise ratio of long-range signals. By implementing two modulators, the return signal can beat with the second FMCW signal, rather than the first FMCW signal, resulting in a short integration time for close-range objects and a long integration time for long-range objects. Even for close-range objects, due to stronger signals, even a short integration time may sufficiently detect and recognize a target. Thus, short integration time for close-range objects is likely not detrimental.

FIG.3illustrates two fixed delay sweep signals304and306, generated using FPGA (e.g., the FPGA213) controlling of two DACs (e.g., the DACs205and207), in accordance with the implementation ofFIG.2. The delay may be a digital electronic delay which is programmable on the FPGA. The sweep signal304represents a reference signal that is delayed by a fixed time and/or synchronized with the return signal. The sweep signal306illustrates a transmitted signal.FIG.4illustrates two fixed delay sweep signals when the target is at close range. InFIG.4, the previous sweep signal304may be shifted to a shifted signal404, while a previous sweep signal305may be shifted to a shifted signal405.FIG.5illustrates two fixed delay sweep signals when the target is at long range. InFIG.5, the previous sweep signal304may be shifted to a shifted signal504, while a previous sweep signal305may be shifted to a shifted signal505. InFIG.5, an overlap time between the sweep signal306and the shifted signal504and the sweep signal306may be longer than that inFIG.4, thus increasing the integration time. In each ofFIGS.3-5, the two sweep signals have same slope magnitudes. At shorter distances, beat frequencies will be larger.

FIGS.6-12illustrate navigation scenarios, in which capturing one or more targets at increased signal strength may be augmented with navigation. InFIG.6, a Lidar602(e.g., which may encompass the laser source103), that is associated with and/or on a vehicle620, may detect a target such as an obstacle621, such as a pothole, bump, or rock on a road, using any of the techniques illustrated with respect toFIGS.1-5. The hardware processors153may determine a driving action or maneuver of the vehicle620in order to pass or avoid the obstacle621. The determined driving action or maneuver of the vehicle620may be based on a size and location of the obstacle621and/or a predicted location when the vehicle620traverses the obstacle621. In some examples, the hardware processors153may determine that the obstacle621is too large and/or too dangerous for the vehicle620to pass without swerving, or to straddle. For example, the hardware processors153may predict that if the vehicle620attempts to directly drive over the obstacle621without swerving, one or more wheels of the vehicle620may hit the obstacle621and cause the previously stationary obstacle621to roll to another adjacent lane or to an opposite side of the road, thereby increasing a danger to another vehicle on the adjacent lane or the opposite side of the road. The hardware processors153may predict a change in trajectory of the another vehicle on the adjacent lane or the opposite side of the road as a result of the obstacle621rolling. The hardware processors153may further predict a change in trajectory of the vehicle620itself as a result of hitting the obstacle621, such as a change in a velocity, acceleration, pose, orientation, and/or equilibrium of the vehicle620. If the hardware processors153predict that the change in the trajectory of the vehicle620, after hitting the obstacle621, exceeds an allowable range, or that the change in the trajectory of the another vehicle exceeds an allowable range, the hardware processors153may determine that the vehicle620should swerve to avoid the obstacle621. The hardware processors153may adjust a trajectory of the vehicle620to avoid the obstacle621. The hardware processors153may select from potential trajectories623,624,625,626,627, and628. The potential trajectories623,624,625,626,627, and628may be based on historical data of previous trajectories in similar conditions determined by size of obstacle, traffic density, road conditions, lighting conditions, and/or weather conditions. For example, the potential trajectories623,624,625,626,627, and628may be determined based on a recent driving history of the vehicle620. The potential trajectories623,624,625,626,627, and628may be recent actual trajectories, for example, during a past year, month, or week, that have highest safety metrics. The hardware processors153may select the trajectory628, based on predicted impacts to the trajectory628, to a trajectory of the obstacle621, and to a trajectory of another nearby vehicle that may be affected by the obstacle621. For example, the hardware processors153may predict that the vehicle620, while following the trajectory628, will not hit the obstacle621, and thus, the obstacle621will not change its trajectory and remain stationary. The hardware processors153may cause the vehicle620to navigate or maneuver past the obstacle621along the trajectory628. After following the trajectory628, the hardware processors153may determine an actual impact on the trajectory628, the trajectory of the obstacle621, and the trajectory of the nearby vehicle. Thus, if the hardware processors153determine that the vehicle620actually hit the obstacle621while following the trajectory628, the hardware processors153may update or adjust the predicted impacts to the trajectory628, to the trajectory of the obstacle621, and to the trajectory of another nearby vehicle. The predicted impacts may be stored in a model. The updating or adjusting the predicted impacts may encompass updating the model. As a result, using the updated or adjusted predicted impacts of the updated or adjusted model, in subsequent situations, potential trajectories will place more distance between the vehicle620and the obstacle621.

InFIG.7, hardware processors (e.g., the hardware processors153) associated with a Lidar702(e.g., which may encompass the laser source103), of a vehicle740may sense other vehicles742,744,746, and748in an environment using any of the aforementioned techniques described inFIGS.1-5. The hardware processors153may determine a driving action or maneuver of the vehicle740based on the other vehicles742,744,746, and748, for example, while the vehicle740is attempting a left turn. The determined driving action or maneuver of the vehicle740may also be based on a size and location of the vehicles742,744,746, and748. The hardware processors153may predict trajectories743,745,747, and749of the other vehicles742,744,746, and748, respectively, based on the determined directions of motion and the velocities of the other vehicles742,744,746, and748, while predicting changes in the trajectories743,745,747, and749, as a result of the vehicle740following a selected trajectory741. The hardware processors153may further predict a change in the selected trajectory741of the vehicle740itself, resulting from interaction with the vehicles742,744,746, and748. If the hardware processors153predict that the change in the trajectory of the vehicle740itself exceeds an allowable range, or that the change from one or more of the predicted trajectories743,745,747, and749, exceeds an allowable range, the hardware processors153may update the selected trajectory741or select another trajectory, so that the changes that fall outside respective allowable ranges are within the allowable ranges. For example, the hardware processors153may predict that the vehicle740, while following the trajectory741, will maintain at least a predetermined distance from each of the predicted trajectories743,745,747, and749, without causing any of the vehicles742,744,746, and748to slow down by more than an acceptable amount, or to deviate from each of the respective predicted trajectories743,745,747, and749. After following the trajectory741, the hardware processors153may determine an actual change or impact on the selected trajectory741, and actual changes or impacts to the predicted trajectories743,745,747, and749. If the hardware processors153determine that at least one of the actual trajectories of the vehicles742,744,746, and/or748deviate from the predicted trajectories743,745,747, and749, respectively, or that at least one of the vehicles742,744,746, and748decrease their respective velocities by more than an acceptable amount, the hardware processors153may update or adjust the predicted trajectories743,745,747, and749, or a predicted impact on the predicted trajectories743,745,747, and749. The predicted trajectories743,745,747, and749may be stored in a model. The updating or adjusting the predicted trajectories743,745,747, and749or predicted impacts on the predicted trajectories743,745,747, and749may encompass updating the model. For example, if the hardware processors153determine that the trajectory741approaches too closely to one or the predicted trajectories, such as the predicted trajectory743, so that the vehicle742must swerve, a result of this interaction may be stored in the model. The model may be updated so that next time, a selected trajectory will not approach too closely to one of the predicted trajectories. As a result, using the updated or adjusted predicted impacts of the updated or adjusted model, potential trajectories in subsequent interactions will place more distance between the vehicle740and predicted trajectories.

InFIG.8, a computing system (e.g., the computing system152, including the hardware processors153) of a vehicle860, and associated with a Lidar802(e.g., which may encompass the laser source103), of a vehicle860, may sense other vehicles and surrounding conditions while the vehicle860is turning into a parking lot863, using any of the aforementioned techniques described inFIGS.1-5. In some examples, an entrance to the parking lot863may not include clear lane dividers to separate vehicles entering the parking lot863and vehicles such as a vehicle864leaving the parking lot863. In such examples, the hardware processors153may select a trajectory, such as a trajectory861, for the vehicle860to follow as the vehicle860pulls into the parking lot863, based on the detected vehicle864. For example, the trajectory861may be one-quarter of the way from one side (e.g., a right side) of the entrance and three-quarters of the way from an opposing side (e.g., a left side) of the entrance, so that enough room may be left for the vehicle864that is also leaving the parking lot863at a same time from an opposite side, as represented by a predicted trajectory862. The hardware processors153may determine a driving action or maneuver of the vehicle860in order to account for the vehicle864. The determined driving action or maneuver of the vehicle860may be based on a size and location of the vehicle864. The hardware processors153may predict the trajectory862, and predict a change in the trajectory862, as a result of the vehicle860following the selected trajectory861. The hardware processors153may further predict a change in the selected trajectory861of the vehicle860itself, resulting from interaction with the vehicle864. If the hardware processors153predicts that the change in the trajectory of the vehicle860itself exceeds an allowable range, or that the change from the predicted trajectory862exceeds an allowable range, the hardware processors153may update the selected trajectory861or select another trajectory, so that the changes that fall outside respective allowable ranges are within the allowable ranges. For example, the hardware processors153may predict that the vehicle860, while following the trajectory861, will maintain at least a predetermined distance from the predicted trajectory862, without causing the vehicle864to slow down by more than an acceptable amount, or to deviate from the predicted trajectory862. After following the trajectory861, the hardware processors153may determine an actual change or impact to the trajectory861, and an actual change or impact to the predicted trajectory862of the vehicle864. If the hardware processors153determine that the actual trajectory of the vehicle864deviates from the predicted trajectory862, or that the vehicle864decreases its velocity by more than an acceptable amount, the hardware processors153may update or adjust the predicted trajectory862, or a predicted impact on the predicted trajectory862as a result of the vehicle860following the trajectory861. The predicted trajectory862may be stored in a model. The updating or adjusting the predicted trajectory862and predicted impacts on the predicted trajectory862may encompass updating the model. For example, if the hardware processors153determine that the trajectory861approaches too closely to the predicted trajectory862, such that the vehicle864actually swerves to avoid the vehicle860, a result of this interaction may be stored in the model. The model may be updated so that next time, a selected trajectory of the vehicle860will not approach too closely to a predicted trajectory. As a result, using the updated or adjusted predicted impacts of the updated or adjusted model, potential trajectories in subsequent interactions will place more distance between the vehicle860and predicted trajectories.

InFIG.9, a computing system (e.g., the computing system152, including the hardware processors153) of a vehicle970, and associated with a Lidar902(e.g., which may encompass the laser source103), may sense other vehicles and surrounding conditions while the vehicle970is pulling into a parking spot between vehicles972and973, while maintaining at least a predetermined distance from a vehicle974which may currently be driving and also trying to pull into the same parking spot. The hardware processors153may sense, detect, or capture the vehicle974using any of the aforementioned techniques described inFIGS.1-5. The hardware processors153may determine whether or not to compete with another vehicle such as the vehicle974for a common parking spot, based on relative positions of the vehicle970and974and a predicted trajectory of the vehicle974, including a velocity, acceleration, and pose of the vehicle974. If the hardware processors153determine to try to obtain the parking spot, the hardware processors153may select a trajectory971. If the vehicle970is either unsuccessful in obtaining the parking spot, or a distance between the vehicle971and the vehicle974becomes lower than a threshold distance while both the vehicle971and the vehicle974are trying to obtain the parking spot, the hardware processors153may store data of and a result of an interaction between the vehicle971and the vehicle974in a model, so that the vehicle970can refine its decision making process in a similar future situation when the vehicle970is attempting to pull into a parking spot.

InFIG.10, a vehicle1010may be driving in a lane1030according to a selected trajectory1012. Another vehicle1020, which may be an AV, may be driving in a lane1040to a left side of the vehicle1010. A computing system (e.g., the computing system152, including the hardware processors153) of the vehicle1010, and associated with a Lidar1002(e.g., which may encompass the laser source103), may sense other vehicles and surrounding conditions of the vehicle1010to determine and/or perform a navigation action. The another vehicle1020may signal to the vehicle1010that the another vehicle1020intends to pass or overtake the vehicle1010and merge into the lane1030. The vehicle1010may detect and recognize, via one or more hardware processors (e.g., the hardware processors153), that the another vehicle1020intends to merge into the lane1030. The sensing, detecting, and/or capturing of the vehicle1020and its intention to merge may be according to any of the aforementioned techniques described inFIGS.1-5. The hardware processors153may determine whether or not to allow the another vehicle1020to merge into the lane1030. The determination may comprise predicting a trajectory1028of the another vehicle1020and a predicted change in the selected trajectory1012of the vehicle1010, as a result of the vehicle1010allowing the another vehicle1020to merge into the lane1030. For example, if a predicted change in the selected trajectory1012exceeds an allowable amount, the hardware processors153may not allow the another vehicle1020to merge into the lane1030. For instance, a predicted change in the selected trajectory1012may comprise a predicted decrease in velocity of the vehicle1010. If the vehicle1010allows the another vehicle1020to merge into the lane1030, the hardware processors153may determine an actual change in the selected trajectory1012resulting from the merging of the another vehicle1020, and determine an actual trajectory of the another vehicle1020during merging. If the actual change in the selected trajectory1012deviates from the predicted change in the selected trajectory1012by more than a threshold amount, if the actual change in the selected trajectory1012exceeds the allowable amount, or if the actual trajectory of the another vehicle1020during merging deviates from the predicted trajectory1028, the hardware processors153may update or adjust the predicted trajectory1028, or a predicted impact on the selected trajectory1012, as a result of the vehicle1010following the trajectory1012. The predicted trajectory1028, and the predicted impact on the selected trajectory1012, may be stored in a model. The updating or adjusting the predicted trajectory1028and predicted impact on the selected trajectory1012may encompass updating the model. For example, if the hardware processors153determine that the another vehicle1020follows an actual trajectory1029, such that the vehicle1010must slow down by more than the allowable amount to keep a predetermined distance with the another vehicle1020, a result of this interaction may be stored in the model. The model may be updated so that next time, the vehicle1010may be less likely to allow the another vehicle to merge into the lane1030. Likewise, as the vehicle1010transmits updates to the model to other vehicles in a fleet or network, the other vehicles may also adjust their behaviors so they are less likely to try to merge in such situations.

InFIG.11, a vehicle1110may be driving in a lane1180, according to a selected trajectory1112. A computing system (e.g., the computing system152, including the hardware processors153) of the vehicle1110, and associated with a Lidar1102(e.g., which may encompass the laser source103), may sense other vehicles and surrounding conditions of the vehicle1110to determine and/or perform a navigation action. Another vehicle1120, which may be an AV, may be driving in a lane1190to a left side of the vehicle1110. The another vehicle1120may urgently be attempting to merge into the lane1180without properly signaling to the vehicle1110, that the another vehicle1120intends to pass or overtake the vehicle1110and merge into the lane1180. The vehicle1110may detect and recognize, via the hardware processors153, that the another vehicle1120intends to merge into the lane1180. The hardware processors153may detect, capture, and/or sense the another vehicle1120and its attempt or intent to merge according to any of the aforementioned techniques described inFIGS.1-5, predict a trajectory of the another vehicle1120, and/or infer or predict any point at which the another vehicle1120intends to merge into the lane1180. The hardware processors153may determine whether or not to permit the another vehicle1120to merge into the lane1180by slowing down, or to speed up in order to move in front of the another vehicle1120. The determination may comprise predicting a trajectory1128of the another vehicle1120and a predicted change in the selected trajectory1112of the vehicle1110, as a result of the vehicle1110allowing the another vehicle1120to merge into the lane1180, or as a result of speeding up. For example, if a predicted change in the selected trajectory1112exceeds an allowable amount, as a result of allowing the another vehicle1120to merge into the lane1180, the hardware processors153may determine not to allow the another vehicle1120to merge into the lane1180. For instance, a predicted change in the selected trajectory1112may comprise a predicted decrease in velocity of the vehicle1110. If the vehicle1110allows the another vehicle1120to merge into the lane1180, the hardware processors153may determine an actual change in the selected trajectory1112resulting from the merging of the another vehicle1120, and determine an actual trajectory of the another vehicle1120during merging. If the actual change in the selected trajectory1112deviates from the predicted change in the selected trajectory1112by more than a threshold amount, if the actual change in the selected trajectory1112exceeds the allowable amount, or if the actual trajectory of the another vehicle1120during merging deviates from the predicted trajectory1128, the hardware processors153may update or adjust the predicted trajectory1128, or a predicted impact on the selected trajectory1112, as a result of the vehicle1110following the trajectory1112. The predicted trajectory1128, and the predicted impact on the selected trajectory1112, may be stored in a model. The updating or adjusting the predicted trajectory1128and predicted impact on the selected trajectory1112may encompass updating the model. For example, if the hardware processors153determine that the another vehicle1120follows an actual trajectory1129, such that the vehicle1110must slow down by more than the allowable amount to keep a predetermined distance with the another vehicle1120, a result of this interaction may be stored in the model. The model may be updated so that next time, the vehicle1110may be less likely to allow the another vehicle to merge into the lane1130so that the vehicle1110instead will speed up to pull in front of another vehicle attempting to merge into a lane without signaling. Likewise, as the vehicle1110transmits updates to the model to other vehicles in a fleet or network, the other vehicles may also adjust their behaviors so they are less likely to try to merge in such situations.

InFIG.12, a vehicle1210may be driving in a lane1280. The vehicle1210may detect and recognize, via the hardware processors153, one or more pedestrians1240that intend to cross a street, accordingly to any of the aforementioned techniques ofFIGS.1-5. The hardware processors153of the vehicle1210, and associated with a Lidar1202(e.g., which may encompass the laser source103), may sense other vehicles and surrounding conditions of the vehicle1210to determine and/or perform a navigation action. The vehicle1210may determine or predict a moving direction and a velocity of the pedestrians1240, individually and/or collectively, predict a trajectory of the pedestrians1240based on the moving direction or the velocity, and predict a delay time as a result of yielding to the pedestrians1240. After the pedestrians1240have finished crossing the street, the hardware processors153may determine an actual delay time as a result of yielding to the pedestrians1240. If the actual delay time deviates from the predicted delay time by more than a threshold amount, the hardware processors153may update the predicted delay time to account for the deviation, and incorporate the updated predicted delay time in future measurements.

FIG.13illustrates a method in accordance with any of the previousFIGS.1-12.

At step1306, a laser source (e.g., of, or associated with, a Lidar, such as the Lidar102) may generate an optical signal, which may include a light signal.

In step1308, a splitter (e.g., the splitter203) may split the optical signal into a first signal and a second signal, which are transmitted across separate paths (e.g., a first path and a second path). The first path may traverse the modulator204, and the second path may traverse the modulator206. The modulator204may modulate the first signal while the modulator206may modulate the second signal, in step1310. The modulator204may modulate the first signal using a first modulation signal, such as a frequency modulated continuous wave (FMCW) signal generated by the processor212. Likewise, the modulator206may modulate the second signal using a second modulation signal, such as a FMCW signal generated by the processor212.

In step1312, the first signal, following the modulation by the modulator204, may be scanned by the scanner208. Meanwhile, the second signal, following the modulation by the modulator206, may be transmitted directly to the coupler209, without passing through the scanner208. The second signal may be delayed by a fixed time, with respect to a return optical signal, as a reference beat frequency signal. In step1314, the coupler209may combine the modulated second signal and the modulated and scanned first signal. The received signal and the other modulated signal may be transmitted together into the coupler209and transmitted to the detector210, which may detect a reference beat frequency signal.

In step1316, the detector210may detect an attribute corresponding to the combined modulated second signal and the modulated first signal, such as a beat frequency. In step1318, the detector210may capture a target based on the modulated second signal and the modulated first signal. In particular, this dual-modulated signal may increase integration time, which corresponds to a time range of overlap between the modulated second signal and the modulated first signal. This captured target may be further processed, for example, by the processor212. A navigation action, for example, of a vehicle (e.g., the vehicle106) may be determined based on this captured target, scenarios of which are illustrated inFIGS.6-12.

Hardware Implementation

Computing device(s) are generally controlled and coordinated by operating system software. Operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, I/O services, and provide a user interface functionality, such as a graphical user interface (“GUI”), among other things.

FIG.14is a block diagram that illustrates a computer system1400upon which any of the embodiments described herein may be implemented. In some examples, the computer system1400may include a cloud-based or remote computing system. For example, the computer system1400may include a cluster of machines orchestrated as a parallel processing infrastructure. The computer system1400includes a bus1402or other communication mechanism for communicating information, one or more hardware processors1404coupled with bus1402for processing information. Hardware processor(s)1404may be, for example, one or more general purpose microprocessors.

The computer system1400also includes a main memory1406, such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled to bus1402for storing information and instructions to be executed by processor1404. Main memory1406also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor1404. Such instructions, when stored in storage media accessible to processor1404, render computer system1400into a special-purpose machine that is customized to perform the operations specified in the instructions.

The computer system1400further includes a read only memory (ROM)1408or other static storage device coupled to bus1402for storing static information and instructions for processor1404. A storage device1410, such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus1402for storing information and instructions.

The computer system1400may be coupled via bus1402to a display1412, such as a cathode ray tube (CRT) or LCD display (or touch screen), for displaying information to a computer user. An input device1414, including alphanumeric and other keys, is coupled to bus1402for communicating information and command selections to processor1404. Another type of user input device is cursor control1416, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor1404and for controlling cursor movement on display1412. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. In some embodiments, the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.

The computer system1400may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system1400to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system1400in response to processor(s)1404executing one or more sequences of one or more instructions contained in main memory1406. Such instructions may be read into main memory1406from another storage medium, such as storage device1410. Execution of the sequences of instructions contained in main memory1406causes processor(s)1404to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.

Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor1404for execution. For example, the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system1400can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus1402. Bus1402carries the data to main memory1406, from which processor1404retrieves and executes the instructions. The instructions received by main memory1406may retrieves and executes the instructions. The instructions received by main memory1406may optionally be stored on storage device1410either before or after execution by processor1404.

The computer system1400also includes a communication interface1418coupled to bus1402. Communication interface1418provides a two-way data communication coupling to one or more network links that are connected to one or more local networks. For example, communication interface1418may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface1418may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicated with a WAN). Wireless links may also be implemented. In any such implementation, communication interface1418sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

The computer system1400can send messages and receive data, including program code, through the network(s), network link and communication interface1418. In the Internet example, a server might transmit a requested code for an application program through the Internet, the ISP, the local network and the communication interface1418.

The received code may be executed by processor1404as it is received, and/or stored in storage device1410, or other non-volatile storage for later execution.

Language

It will be appreciated that “logic,” a “system,” “data store,” and/or “database” may comprise software, hardware, firmware, and/or circuitry. In one example, one or more software programs comprising instructions capable of being executable by a processor may perform one or more of the functions of the data stores, databases, or systems described herein. In another example, circuitry may perform the same or similar functions. Alternative embodiments may comprise more, less, or functionally equivalent systems, data stores, or databases, and still be within the scope of present embodiments. For example, the functionality of the various systems, data stores, and/or databases may be combined or divided differently.

“Open source” software is defined herein to be source code that allows distribution as source code as well as compiled form, with a well-publicized and indexed means of obtaining the source, optionally with a license that allows modifications and derived works.

The phrases “at least one of,” “at least one selected from the group of,” or “at least one selected from the group consisting of,” and the like are to be interpreted in the disjunctive (e.g., not to be interpreted as at least one of A and at least one of B).

Reference throughout this specification to an “example” or “examples” means that a particular feature, structure or characteristic described in connection with the example is included in at least one example of the present invention. Thus, the appearances of the phrases “in one example” or “in some examples” in various places throughout this specification are not necessarily all referring to the same examples, but may be in some instances. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more different examples.