Performance of Double Sideband Suppressed Carrier (DSB-SC) Modulation

DSB-SC modulation in coherent lidar addresses the limitations of conventional lidar by enabling simultaneous and accurate detection of target velocity and direction, improving navigation systems.

JP2026509954APending Publication Date: 2026-03-26AQRONOS INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-27
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Current lidar technologies struggle to simultaneously detect the velocity and direction of motion of targets due to limitations in conventional time-of-flight (TOF) and frequency-modulated continuous wave (FMCW) lidar, particularly at high speeds and short distances, leading to ambiguity in detection.

Method used

Implementing Double Sideband Suppressed Carrier (DSB-SC) modulation in coherent lidar, which involves applying frequency and phase modulation to generate symmetrical upscan and downscan directions, suppressing the carrier frequency, and using a local oscillator shift to distinguish beat frequencies, enabling simultaneous velocity and direction determination.

Benefits of technology

This method allows for accurate detection of target velocity and direction without ambiguity, even at high speeds and short distances, enhancing applications in autonomous driving and navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026509954000001_ABST
    Figure 2026509954000001_ABST
Patent Text Reader

Abstract

The present invention provides a computer system, method, and non-temporary storage medium for acquiring signals radiated from a lidar, which apply frequency modulation to the signal to generate the upscan and downscan directions of the signal, which are symmetrical, and which apply frequency modulation to the carrier frequency by suppressing the signal's carrier frequency and shifting the local oscillator in response to the application of frequency modulation, thereby changing the symmetry between the upscan and downscan directions, or by applying phase modulation to direct the signal toward a target, and simultaneously determine the velocity and direction of motion of the target relative to the lidar based on the upscan and downscan frequencies of the reflected signal from the target.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Cross-reference of related applications This application claims priority based on U.S. Provisional Patent Application No. 63 / 420424, filed with the U.S. Patent and Trademark Office on 28 October 2022, which is incorporated herein by reference to the entire contents of the said application.

[0002] Field of Invention The present invention relates to a method of double sideband suppressed carrier (DSB-SC) modulation for coherent lidar (light detection and ranging), particularly for detecting the magnitude and direction of velocity. [Background technology]

[0003] Due to its high processing speed, high precision, and high accuracy, lidar technology has a cornucopia of applications in fields such as aerospace (atmosphere and outer space), autonomous or semi-autonomous driving, and meteorology. Current lidar technology includes conventional time-of-flight (TOF) and frequency-modulated continuous wave (FMCW) lidar in coherent lidar. [Overview of the project] [Means for solving the problem]

[0004] Various examples of the present invention include a computer system, a method, and a non-transitory computer-readable medium having instructions that, when executed, cause one or more processors of the computer system to: obtain a signal emitted from a lidar; apply a frequency modulation to the signal to generate an upscan direction and a downscan direction of the signal, the upscan direction and the downscan direction being symmetric; suppress a carrier frequency of the signal in response to applying the frequency modulation; apply a frequency modulation to the carrier frequency by shifting a local oscillator in response to suppressing the carrier frequency to change the symmetry between the upscan direction and the downscan direction or to apply a phase modulation; direct the signal towards a target in response to applying the frequency modulation to the carrier frequency; and simultaneously determine a speed and a direction of motion of the target relative to the lidar based on frequencies of the upscan direction and the downscan direction of a reflected signal from the target.

[0005] In some examples, the upscan direction and the downscan direction have the same slope magnitude, and the slope magnitude indicates a rate at which the respective frequencies of the upscan direction and the downscan direction change over time.

[0006] In some examples, the step of changing the symmetry includes shifting the local oscillator to increase the slope magnitude of the upscan direction and decrease the slope magnitude of the downscan direction.

[0007] In some examples, the step of simultaneously determining the speed and the direction of motion is based on a difference between the frequency of the upscan direction and the frequency of the downscan direction of the reflected signal.

[0008] In some examples, the claimed system further comprises a directly modulated laser to perform modulation of the carrier frequency.

[0009] In some examples, the above instruction causes the system to perform phase modulation, which includes phase-modulated serrodyne frequency shift (PS-SFS).

[0010] In some cases, the step of simultaneously determining the velocity and direction of motion of the target relative to the lidar is based on the modulation rate of the sawtooth scan.

[0011] In some cases, the step of simultaneously determining the target's velocity and direction of motion relative to the lidar is based on an offset amount obtained by shifting the lidar's local oscillator.

[0012] In some cases, the above command causes the system to navigate the vehicle based on the target's speed and direction of motion.

[0013] In some cases, the target's speed is up to 300 kilometers per hour.

[0014] Specific features of various embodiments of the technology of the present invention are described in particular in the appended claims. A better understanding of the features and advantages of this technology can be obtained by referring to the following detailed description and the appended drawings, which describe exemplary embodiments utilizing the principles of the present invention. [Brief explanation of the drawing]

[0015] [Figure 1] This figure shows an example of DSB-SC sidebanding. [Figure 2] This diagram illustrates how the FMCW lidar emits light onto a target. [Figure 3] This figure shows the generation or occurrence of different frequency shifts, excursions, sequences, or patterns in the upscan and downscan directions. [Figure 4]This figure shows a schematic implementation that includes physical components that perform the generation or occurrence of different frequency shifts, excursions, sequences, or patterns in the upscan and downscan directions. [Figure 5] This diagram illustrates the realization of DSB-SC application, particularly the application of the same chip rate in the upscan direction, compared to the downscan direction. [Figure 6] This figure shows a schematic implementation including the physical components that realize the application shown in Figure 5. [Figure 7] Figures 5-6 show the phase modulation. [Figure 8] This figure shows examples of vehicle navigation scenarios based on the target direction of travel and speed determined using the implementations shown in Figures 2-7, with various examples. [Figure 9] This figure shows examples of vehicle navigation scenarios based on the target direction of travel and speed determined using the implementations shown in Figures 2-7, with various examples. [Figure 10] This figure shows examples of vehicle navigation scenarios based on the target direction of travel and speed determined using the implementations shown in Figures 2-7, with various examples. [Figure 11] This figure shows examples of vehicle navigation scenarios based on the target direction of travel and speed determined using the implementations shown in Figures 2-7, with various examples. [Figure 12] This figure shows examples of vehicle navigation scenarios based on the target direction of travel and speed determined using the implementations shown in Figures 2-7, with various examples. [Figure 13] This figure shows examples of vehicle navigation scenarios based on the target direction of travel and speed determined using the implementations shown in Figures 2-7, with various examples. [Figure 14] This figure shows examples of vehicle navigation scenarios based on the target direction of travel and speed determined using the implementations shown in Figures 2-7, with various examples. [Figure 15]This flowchart shows an example of how to integrate various computer components into a system, as illustrated in Figures 1-4. [Figure 16] This is a block diagram of an example computer system capable of implementing any of the methods described herein. [Modes for carrying out the invention]

[0016] Detailed explanation Time-of-Flight (TOF) lidar technology enables accurate target tracking by emitting pulses of light and measuring the time it takes for each pulse to reflect back to the sensor. However, one drawback of TOF technology is that it cannot directly detect the target's velocity. On the other hand, FMCW can simultaneously detect the target's velocity and position based on the Doppler frequency shift. The Doppler frequency shift caused by the target's velocity differs between the opposite scanning directions of frequency modulation, i.e., the upscan and downscan directions. Therefore, the distance between the sensor and the target, and the target's velocity, can be obtained by calculating the average and difference of the two beat frequencies in the upscan and downscan directions. The above explains the realization of DSB-SC modulated FMCW, which utilizes two modulation schemes for double-sideband modulation to solve the current drawbacks of beat interference at low speeds and the inability to detect the target's direction of motion.

[0017] In some implementations, an electro-optic modulator (EOM) can break the symmetry of the DSB-SC sidebands. An example of a DSB-SC sideband is shown in Figure 1. Figure 1 is f c The frequency spectrum 101 including the sidebands 104 on both sides of f is shown. m f represents the modulation frequency. c This represents the center frequency.

[0018] Figure 2 shows one implementation in which, following the application of an input voltage 202, the laser source 203 is directed to two separate paths: a reference path 211 as a local oscillator and a probe path 212 toward the target 222. The laser source 203 can be a linear frequency-modulated chirp laser. A photodetector 204 can detect the interference signal between the light from the probe path 212 and the light from the reference path 211, which can appear as a beat signal 208. The beat signal 208 can be a sine wave, and the frequency of the beat signal can be proportional to the distance to the target. A Fourier transform can convert this beat signal into a peak 210 in the frequency domain. When the target 222 is moving, the up-chirp or up-scan direction and the down-chirp or down-scan direction of the laser source 203 can simultaneously detect velocity and distance.

[0019] The laser source 203 can be positioned on a moving object such as a vehicle 232. For example, at least one of the laser source 203 or the target 222 can be in motion. In some examples, the maximum relative velocity between the laser source 203 and the target 222 can be approximately 300 kilometers per hour, where both the laser source 203 and the target 222 are moving in opposite directions at approximately 150 kilometers per hour. In other examples, either the laser source 203 or the target 222 can be approximately stationary, while one of them is moving at approximately 150 kilometers per hour. The relative velocity can range from 150 kilometers per hour to 300 kilometers per hour.

[0020] The laser source 203 may be associated with a computer system 252, which includes one or more processors and memory. The processors can perform various operations by interpreting machine-readable instructions from, for example, a machine-readable storage medium 262. The processors may include one or more hardware processors 253. In some examples, one or more of the hardware processors 253 may be combined or integrated into a single processor, and some or all of the functions performed by one or more of the hardware processors 253 do not have to be spatially separated and can instead be performed by a common processor. The hardware processors 253 may further be connected to, include in, or be incorporated into logic circuits 263, which may include, for example, protocols executed to perform the functions of the hardware processors 253. These functions may include any of the functions described in the aforementioned drawings, such as Figures 3-15. One or more hardware processors 253 may also be associated with a storage device 254, which may include a permanent storage device or cache for storing any output or intermediate output from the hardware processors 253.

[0021] Figure 3 shows the upscan direction f scan,u and downscan direction f scan,dThis exhibits the generation or occurrence of different frequency shifts, excursions, sequences, or patterns between the upscan and downscan directions. The generation or occurrence of different frequency shifts in the upscan and downscan directions by modulating the carrier frequency using a directly modulated laser (DML), such as a tunable diode laser (TDL), can result in slopes of different magnitudes, indicating a change in the scanning frequency that varies over time. In particular, the slope in the upscan direction can increase, while the slope in the downscan direction can decrease. By distinguishing the magnitude of the upscan frequency from the downscan frequency, the upscan frequency can be distinguished from the downscan frequency when detecting two different frequencies reflected by the target 222.

[0022] In Figure 3, plot 300 shows frequency on the y-axis and time on the x-axis. In plot 300, signal scan 312 is f from reference scan 310. off It is offset by only that much. More specifically, signal scan 312 shows the frequency chirp of the signal path, and reference scan 310 shows the frequency chirp of the local oscillator path, which is generated internally by the laser source 203. As explained with respect to Figure 4, the speed of the target can be obtained by taking the difference between the frequency in the upscan direction and the frequency in the downscan direction and dividing by 2. The direction and magnitude of the target's velocity can be obtained using the different frequency shifts in Figure 3.

[0023] Doppler frequency shift

number

[0024] To avoid the detection ambiguity caused by a large speed at short distances, the local oscillator of the laser source 203 is shifted to a higher frequency by the magnitude of (f off ) to achieve different detections. Here, f off > max{Δf D} (max{} represents the maximum value within {}), which is 100 MHz in the above-described scenario. Assuming that the target 222 is at a distance of Δ Z from the laser source 203, the beat sound or beat frequency f u from the up-scan direction is:

Equation

Equation

Equation

[0025] To avoid the detection ambiguity caused by a large speed at short distances, the local oscillator of the laser source 203 is (f offBy shifting the frequency to a higher frequency by the magnitude of ), heterogeneous detection can be achieved. Here, f off >max{Δf D} and in the scenario described above, it is 100MHz. Target 222 is Δ relative to the laser source 203. Z Assuming a distance of , the beat sound or beat frequency f from the upscan direction u teeth:

number

number

number

[0026] Figure 4 shows a schematic implementation, which includes a tunable wavelength diode laser (TDL) 402, electro-optic modulators (EOMs) 404 and 406, a lidar 408, one or more optical couplers 410, and a photodetector 412 such as a balanced photodetector (BPD), where EOMs 404 and 406 each have a beat frequency f from the upscan direction. u , and beat sound f from the downscan direction dThis corresponds to the above. Therefore, EOM404 receives signals from the upscan direction, and EOM406 receives signals from the downscan direction, for example, receiving signals from a reference path 211 corresponding to a local oscillator, and having a higher offset frequency. A tunable wavelength diode laser (TDL) 402 can be realized as the laser source 203 in Figure 2. The light collected by LiDAR 408 can be combined with the light from the two paths of EOM404 and EOM406 by a beam combiner, which can be represented as free space or fiber, and transmitted to a photodetector 412 for low-noise coherent detection. LiDAR 408 can be mechanical, non-mechanical, or hybrid. The carrier frequency can be swept along with modulation by the EOM to generate or trigger a different chirp rate compared to the chirp rate for the downscan direction. Figure 4 shows a mode of sweeping the TDL frequency, with a frequency excursion f from 0. sweep to f data This demonstrates that it can be achieved at the speed of. f scan,u =f scan +f sweep ; f scan,d =f scan -f sweep And here f scan This is the maximum frequency chirp that occurs from DSB-SC.

[0027] Figure 5 shows different realizations of the DSB-SC application, particularly a realization applying the same chirp rate in the upscan direction compared to the downscan direction. In Figure 5, curve 510 represents the frequency chirp of the signal path, and curve 512 represents the frequency chirp of the local oscillator (e.g., see reference) path. The frequency offset in Figure 5 is larger than that in Figure 3. In Figure 5, phase modulation is applied to the signal path to shift to a higher offset frequency. Figure 6 shows a schematic realization which includes a first EOM 602 in the signal path for DSB-SC, a second EOM 604 in the signal path for a phase-modulated selodyne frequency shifter (PS-SFS), a lidar 608, an optional optical coupler 610, and a photodetector 612, where the first EOM 602 receives a continuous wave (CW) laser 601. The CW laser 601 is transmitted to the EOM 602, and this transmitted laser can then be split into two paths: a signal path and a reference path. The reference path remains unchanged. The light can be transmitted through the lidar 608.

[0028] Figure 7 shows the phase modulation according to Figures 5 and 6. The phase is changed from 0 to 2π and the frequency f off By modulating the input signal with frequency f off It can only be shifted by Φ. m is the phase of the input signal. In the second method, the chirp rate is the same for upscan and downscan, but the CS-DSM of the signal path has a higher offset frequency (f off ) is shifting. Therefore, upscan (f u ) and downscan (f d The beat sounds from ) are:

number

number

[0029] The Doppler effect negatively impacts both upscan and downscan beat sounds in the same way. Furthermore, as long as the target is at a certain distance, i.e., Δ Z As long as ≠0, f u It is always f d Larger than. Ambiguity about the beat sound of upscan (f u To avoid >0), f off The condition is: f off >f MAX -MIN{Δf D The following must be satisfied (MIN{} represents the minimum value in {}), and here

number

[0030] In this method, the distance Δ Z and the Doppler effect Δf D It can be clearly obtained:

number

[0031] In this method, f off This is achieved by phase-modulated xerodyne frequency shift (PS-SFS). The phase of the input signal is shifted from 0 to 2π f off When modulated at a speed of f, the carrier frequency of the input signal is changed to frequency f off It can only be shifted.

[0032] Figures 8-14 illustrate navigation scenarios, where the speed and direction of a target can be used to determine one or more navigation actions for the vehicle. In Figure 8, a LiDAR on the vehicle 820 (e.g., LiDAR 408 or 608 and / or incorporating a laser source 203) can detect a target such as an obstacle 821 on the road, such as a pothole, bump, or rock. One or more processors, such as a hardware processor 253 associated with LiDAR 408 or 608, can determine or predict the direction and speed of motion of the obstacle 821 using one of the techniques described above in Figures 1-7. Based on the determined or predicted direction and speed of motion of the obstacle 821, the hardware processor 253 can determine a driving action or operation for the vehicle 820 to pass over or avoid the obstacle 821. The driving action or operation of the vehicle 820 to be determined may be based on the size and location of the obstacle 821 and / or the predicted position of the vehicle 820 when it passes over the obstacle 821. In some cases, the hardware processor 253 can determine that an obstacle 821 is too large and / or too dangerous for vehicle 820 to pass over or drive over without making a sharp turn. For example, the hardware processor 253 can predict that if vehicle 820 attempts to drive directly onto obstacle 821 without making a sharp turn, one or more wheels of vehicle 820 may hit obstacle 821, causing the previously stationary obstacle 821 to roll into an adjacent lane or on the opposite side of the road, thereby increasing the risk to other vehicles in the adjacent lane or on the opposite side of the road. The hardware processor 253 can predict changes in the trajectories of other vehicles in the adjacent lane or on the opposite side of the road as a result of obstacle 821 rolling. The hardware processor 253 can further predict changes in the trajectory of vehicle 820 itself as a result of hitting obstacle 821, such as changes in vehicle 820's speed, acceleration, attitude, orientation, and / or equilibrium.If the hardware processor 253 predicts that after hitting obstacle 821, the change in the trajectory of vehicle 820 will exceed an acceptable range, or that the change in the trajectory of another vehicle will exceed an acceptable range, the hardware processor 253 can determine that vehicle 820 should make a sharp turn to avoid obstacle 821. The hardware processor 253 can adjust the trajectory of vehicle 820 to avoid obstacle 821. The hardware processor 253 can select from possible trajectories 823, 824, 825, 826, 827, and 828. Possible trajectories 823, 824, 825, 826, 827, and 828 can be based on historical data of previous trajectories under similar conditions, determined by the size of the obstacle, traffic density, road conditions, lighting conditions, and / or weather conditions. For example, possible trajectories 823, 824, 825, 826, 827, and 828 can be determined based on the recent driving history of vehicle 820. Possible trajectories 823, 824, 825, 826, 827, and 828 can be, for example, recent actual trajectories with the best safety metric over the past year, month, or week. The hardware processor 253 can select trajectory 828 based on the predicted adverse effects on trajectory 828, on the trajectory of obstacle 821, and on other nearby vehicles that may be adversely affected by obstacle 821. For example, the hardware processor 253 can predict that vehicle 820 will not hit obstacle 821 while following trajectory 828, and therefore obstacle 821 will remain stationary without changing its trajectory. The hardware processor 253 can navigate or operate the vehicle 820 so that it passes the obstacle 821 along the trajectory 828. After following the trajectory 828, the hardware processor 253 can determine the actual impact on the trajectory 828, the trajectory of the obstacle 821, and the trajectories of nearby vehicles.Therefore, if the hardware processor 253 determines that vehicle 820 will actually hit obstacle 821 while following trajectory 828, the hardware processor 253 can update or adjust the predicted impact on trajectory 828, on the trajectory of obstacle 821, and on other nearby vehicles. The predicted impact can be stored in the model. Updating or adjusting the predicted impact may involve updating the model. As a result, the updated or adjusted predicted impact of the updated or adjusted model will be used in subsequent situations to ensure that possible trajectories place a greater distance between vehicle 820 and obstacle 821.

[0033] In Figure 9, a hardware processor (e.g., hardware processor 253) associated with the vehicle 940's lidar (e.g., incorporating lidar 408 or 608 and / or laser source 203) can sense other vehicles 942, 944, 946, and 948 in a given environment. The hardware processor 253 can determine or predict the direction of motion and speed of the other vehicles 942, 944, 946, and 948 using any of the techniques described above in Figures 1-7. The hardware processor 253 can determine the driving action or operation of vehicle 940 to take into account the direction of motion and speed of the other vehicles 942, 944, 946, and 948, for example, while vehicle 940 is about to turn left. The determined driving action or operation of vehicle 940 may also be based on the size and position of vehicles 942, 944, 946, and 948. The hardware processor 253 can predict the trajectories 943, 945, 947, and 949 of the other vehicles 942, 944, 946, and 948, respectively, based on the determined direction of motion and velocity of the other vehicles 942, 944, 946, and 948, as a result of vehicle 940 following its selected trajectory 941, and can predict changes in trajectories 943, 945, 947, and 949 in the meantime. The hardware processor 253 can further predict changes in the selected trajectory 941 of vehicle 940 itself, resulting from its interaction with vehicles 942, 944, 946, and 948. If the hardware processor 253 predicts that a change in the trajectory of the vehicle 940 itself will exceed an acceptable range, or that a change from one or more of the predicted trajectories 943, 945, 947, and 949 will exceed an acceptable range, the hardware processor 253 can update the selected trajectory 941 or select another trajectory so that the changes that fall outside the respective acceptable ranges fall within an acceptable range.For example, the hardware processor 253 can predict that while vehicle 940 follows trajectory 941, vehicle 940 will maintain at least a predetermined distance from each of the predicted trajectories 943, 945, 947, and 949 without causing any of vehicles 942, 944, 946, and 948 to decelerate by more than an acceptable amount, or to deviate from their respective predicted trajectories 943, 945, 947, and 949. After following trajectory 941, the hardware processor 253 can determine the actual changes or effects on the selected trajectory 941 and the actual changes or effects on the predicted trajectories 943, 945, 947, and 949. If the hardware processor 253 determines that at least one of the actual trajectories of vehicles 942, 944, 946, and / or 948 deviates from the predicted trajectories 943, 945, 947, and 949, respectively, or that at least one of vehicles 942, 944, 946, and 948 reduces its respective speed by a greater amount than acceptable, the hardware processor 253 may update or adjust the predicted trajectories 943, 945, 947, and 949, or the predicted impact on the predicted trajectories 943, 945, 947, and 949. The predicted trajectories 943, 945, 947, and 949 can be stored in the model. Updating or adjusting the predicted trajectories 943, 945, 947, and 949, or the predicted effects on the predicted trajectories 943, 945, 947, and 949, can involve updating the model. For example, if the hardware processor 253 determines that trajectory 941 is too close to one of the predicted trajectories, such as predicted trajectory 943, and therefore vehicle 942 must make a sharp turn, the result of this interaction can be stored in the model. The model can then be updated so that the next time, the selected trajectory does not get too close to one of the predicted trajectories. As a result, using the updated or adjusted predicted effects of the updated or adjusted model, possible trajectories in subsequent interactions can be placed further away from vehicle 940 and the predicted trajectory.

[0034] In Figure 10, as vehicle 1060 approaches parking lot 1063, the vehicle's computer system (including, for example, computer system 252 and hardware processor 253) can sense other vehicles and the surrounding environment. The hardware processor 253 may be associated with vehicle 1060's LiDAR (e.g., incorporating LiDAR 408 or 608 and / or laser source 203). In some examples, the entrance to parking lot 1063 may not include a clear lane divider to separate vehicles entering parking lot 1063 from vehicles leaving parking lot 1063, such as vehicle 1064. The hardware processor 253 can determine the direction and speed of vehicle 1064 using any of the techniques described above in Figures 1-7. In such examples, based on the determined direction and speed of vehicle 1064, the hardware processor 253 can select a trajectory, such as trajectory 1061, that vehicle 1060 should follow when entering parking lot 1063. For example, trajectory 1061 is set to a point one-quarter of the way from the entrance on one side of the entrance (e.g., the right side) and three-quarters of the way from the entrance on the opposite side (e.g., the left side), thereby leaving sufficient spatial clearance for vehicles 1064 to exit parking lot 1063 simultaneously from the opposite side. The hardware processor 253 can determine the driving behavior or operation of vehicle 1060 in consideration of vehicle 1064. The driving behavior or operation determined by vehicle 1060 can be based on the size and position of vehicle 1064. The hardware processor 253 can predict trajectory 1062 and predict changes in trajectory 1062 as a result of vehicle 1060 following the selected trajectory 1061. The hardware processor 253 can further predict changes in the vehicle 1060's own selected trajectory 1061 resulting from its interaction with vehicle 1064. If the hardware processor 253 predicts that the change in the vehicle 1060's trajectory will exceed an acceptable range, or that the change from the predicted trajectory 1062 will exceed an acceptable range, the hardware processor 253 may update the selected trajectory 1061 or select a different trajectory so that the change that falls outside the acceptable range falls within the acceptable range.For example, the hardware processor 253 can predict that while the vehicle 1060 follows the trajectory 1061, the vehicle 1060 will maintain at least a predetermined distance from the predicted trajectory 1062 without causing the vehicle 1064 to decelerate by more than an acceptable amount or to deviate from the predicted trajectory 1062. After following the trajectory 1061, the hardware processor 253 can determine the actual changes or effects on the trajectory 1061 and the actual changes or effects on the predicted trajectory 1062 of the vehicle 1064. If the hardware processor 253 determines that the actual trajectory of vehicle 1064 deviates from the predicted trajectory 1062, or that vehicle 1064 reduces its speed by a significant amount beyond what is acceptable, the hardware processor 253 can update or adjust the predicted trajectory 1062, or update or adjust the expected impact on the predicted trajectory 1062 as a result of vehicle 1060 following trajectory 1061. The predicted trajectory 1062 can be stored in the model. Updating the predicted trajectory 1062 and the expected impact on the predicted trajectory 1062 can involve updating the model. For example, if the hardware processor 253 determines that trajectory 1061 approaches the predicted trajectory 1062 too closely, causing vehicle 1064 to actually make a sharp turn to avoid vehicle 1060, the result of this interaction can be stored in the model. The model can be updated in the next iteration to ensure that the vehicle 1060's chosen trajectory does not approach the predicted trajectory too closely. As a result, using the updated or adjusted predicted influence of the updated or adjusted model, possible trajectories in subsequent interactions can be further away from the vehicle 1060 and the predicted trajectory.

[0035] In Figure 11, as vehicle 1170 enters parking lot 1063 between vehicles 1172 and 1173 while maintaining at least a predetermined distance from vehicle 1174, the computer system of vehicle 1170 (including, for example, computer system 252 and hardware processor 253) can sense other vehicles and the surrounding conditions, such that vehicle 1174 may be currently in motion and may also be attempting to enter the same parking lot. The hardware processor 253 may be associated with vehicle 1170's LiDAR (e.g., LiDAR 408 or 608, or incorporating laser source 203). The hardware processor 253 can determine or predict the direction and speed of vehicle 1174 using any of the techniques described above in Figures 1-7, and can predict the trajectory of vehicle 1174 based on the determined direction and speed of vehicle 1174. The hardware processor 253 can determine whether vehicle 1174 will be competing with other vehicles for a common parking space, based on the relative positions of vehicles 1170 and 1174, including the speed, acceleration, and attitude of vehicle 1174, and the predicted trajectory of vehicle 1174. If the hardware processor 253 determines that vehicle 1170 should attempt to acquire that parking space, it can select a trajectory 1171. If vehicle 1170 fails to acquire the parking space, or if the distance between vehicle 1170 and vehicle 1174 falls below a threshold distance while both vehicles 1170 and 1174 are attempting to acquire the parking space, the hardware processor 253 can store the data and results of the interaction between vehicle 1171 and vehicle 1174 in the model, thereby allowing vehicle 1170 to improve its decision-making process in similar future situations when attempting to enter a parking space.

[0036] In Figure 12, the vehicle 1210's computer system (e.g., including computer system 252 and hardware processor 253) (e.g., incorporating LiDAR 408 or 608 and / or laser source 203) can determine the vehicle 1210's navigation actions based on data collected by LiDAR. The vehicle 1210 may be traveling in lane 1230 according to a selected trajectory 1212. Another vehicle 1220, which may be an AV (autonomous vehicle), may be traveling in lane 1240 to the left of vehicle 1210. The other vehicle 1220 may signal to vehicle 1210 that it intends to pass or overtake vehicle 1210 and merge into lane 1230. Vehicle 1210 can detect and recognize, by one or more hardware processors (e.g., hardware processor 253), that the other vehicle 1220 intends to merge into lane 1230. The hardware processor 253 can determine or predict the direction of motion and speed of the other vehicle 1220 using any of the techniques described in Figures 1 to 7, and can determine or predict the trajectory of the other vehicle 1220 based on the determined or estimated trajectory. The hardware processor 253 can determine whether or not to allow the other vehicle 1220 to merge into lane 1230. This decision may include predicting the trajectory 1228 of the other vehicle 1220 as a result of vehicle 1210 allowing the other vehicle 1220 to merge into lane 1230, and the expected changes in the selected trajectory 1212 of vehicle 1210. For example, if the expected changes in the selected trajectory 1212 exceed an acceptable amount, the hardware processor 253 may not allow the other vehicle 1220 to merge into lane 1230. For example, the expected changes in the selected trajectory 1212 may include the expected decrease in the speed of vehicle 1210. If vehicle 1210 allows another vehicle 1220 to merge into lane 1230, the hardware processor 253 can determine the actual change in the selected trajectory 1212 caused by the merging of the other vehicle 1220, and can determine the actual trajectory of the other vehicle 1220 while it is merging.If the actual change in the selected trajectory 1212 deviates by a threshold amount from the predicted change in the selected trajectory 1212, if the actual change in the selected trajectory 1212 exceeds an acceptable amount, or if the actual trajectory of another vehicle 1220 merging deviates from the predicted trajectory 1228, the hardware processor 253 can update or adjust the predicted trajectory 1228, or update or adjust the predicted impact on the selected trajectory 1212 as a result of the vehicle 1210 following trajectory 1212. The predicted trajectory 1228 and the predicted impact on the selected trajectory 1212 can be stored in the model. Updating or adjusting the predicted trajectory 1228 and the predicted impact on the selected trajectory 1212 may involve updating the model. For example, if the processor 253 determines that another vehicle 1220 is following its actual trajectory 1229, and therefore vehicle 1210 must decelerate more than an acceptable amount to maintain a predetermined distance from the other vehicle 1220, the result of this interaction can be stored in the model. The model can then be updated so that the next time, vehicle 1210 is less likely to allow the other vehicle to merge into lane 1230. Similarly, when vehicle 1210 transmits the model update to other vehicles in its fleet or network, the other vehicles can also adjust their own behavior, making it less likely that the other vehicles will attempt to merge in such situations.

[0037] In Figure 13, the computer system of vehicle 1310 (e.g., including computer system 252 and hardware processor 253) (e.g., incorporating LiDAR 408 or 608 and / or laser source 203) can determine the navigation operation of vehicle 1310 based on data collected by LiDAR. Vehicle 1310 may be traveling in lane 1380 according to a selected trajectory 1312. Another vehicle 1320, which may be AV, may be traveling in lane 1390 to the left of vehicle 1310. The other vehicle 1320 may suddenly attempt to merge into lane 1380 without properly signaling to vehicle 1310 that it intends to pass or overtake vehicle 1310 and merge into lane 1380. Vehicle 1310 can detect and recognize, by the hardware processor 253, that the other vehicle 1320 intends to merge into lane 1380. The hardware processor 253 can determine or predict the direction and speed of the other vehicle 1320, predict the trajectory of the other vehicle 1320 based on the direction or speed, and estimate or predict any points where the other vehicle intends to merge into lane 1380, using any of the techniques described in Figures 1 to 7. The hardware processor 253 can determine whether to allow the other vehicle 1320 to merge into lane 1380 by decelerating or accelerating to move ahead of the other vehicle 1320. This decision may include predicting the trajectory 1328 of the other vehicle 1320 and predicting changes in the selected trajectory 1312 of vehicle 1310 as a result of vehicle 1310 allowing the other vehicle 1320 to merge into lane 1380, or as a result of vehicle 1310 accelerating. For example, if allowing another vehicle 1320 to merge into lane 1380 would result in a predicted change in the selected trajectory 1312 exceeding an acceptable amount, the hardware processor 253 may decide not to allow the other vehicle 1320 to merge into lane 1380. For example, the predicted change in the selected trajectory 1312 could include a predicted decrease in the speed of vehicle 1310.If vehicle 1310 allows another vehicle 1320 to merge into lane 1380, the hardware processor 253 can determine the actual change in the selected trajectory 1312 resulting from the merging of the other vehicle 1320, and can determine the actual trajectory of the other vehicle 1320 during the merging. If the actual change in the selected trajectory 1312 deviates by a threshold amount from the predicted change in the selected trajectory 1312, if the actual change in the selected trajectory 1312 exceeds an acceptable amount, or if the actual trajectory of the other vehicle 1320 during the merging deviates from the predicted trajectory 1328, the hardware processor 253 can update or adjust the predicted trajectory 1328, or update or adjust the predicted impact on the selected trajectory 1312 as a result of vehicle 1310 following the trajectory 1312. The predicted trajectory 1328 and the predicted impact on the selected trajectory 1312 can be stored in the model. Updating or adjusting the predicted trajectory 1328 and the predicted impact on the selected trajectory 1312 can include updating the model. For example, if another vehicle 1320 follows its actual trajectory 1329, and as a result vehicle 1310 must decelerate more than an acceptable amount to maintain a predetermined distance from the other vehicle 1320, the result of this interaction can be stored in the model. The model can then be updated so that vehicle 1310 will next allow the other vehicle to merge into lane 1380, and as a result, vehicle 1310 will be less likely to instead move ahead of another vehicle attempting to merge into a lane without signaling. Similarly, when vehicle 1310 transmits the model update to other vehicles in its fleet or network, those vehicles can also adjust their own behavior, making it less likely that other vehicles will attempt to merge in such situations.

[0038] In Figure 14, the vehicle 1410's computer system (e.g., including computer system 252 and hardware processor 253) (e.g., incorporating LiDAR 408 or 608 and / or laser source 203) can determine the vehicle 1410's navigation actions based on data collected by LiDAR. The vehicle 1410 may be traveling within lane 1480. The vehicle 1410 can detect and recognize one or more pedestrians 1440 intending to cross the street using the hardware processor 253. The vehicle 1410 can individually and / or collectively determine or predict the direction and speed of the pedestrians 1440, predict the pedestrians' trajectories based on their direction or speed, and predict the delay time resulting from yielding to the pedestrians 1440, using any of the techniques described above in Figures 1-7. After pedestrian 1440 has finished crossing the street, the hardware processor 253 can determine the actual delay time resulting from yielding to pedestrian 1440. If the actual delay time deviates significantly from the predicted delay time by a threshold amount, the hardware processor 253 can update the predicted delay time to account for this deviation (magnitude of the deviation) and include the updated predicted delay time in future measurements.

[0039] Figure 15 shows a computing component 1500, which comprises one or more hardware processors 1502 and a machine-readable storage medium 1504, the machine-readable storage medium 1504 storing a set of machine-readable / machine-executable instructions, which, when executed, cause the hardware processor 1502 to detect the direction of travel of a target, among several steps, and to navigate based on this detection. Unless otherwise noted, it should be understood that within the scope of the various embodiments described herein, there may be additional, fewer, or alternative steps that are executed in a similar or alternative order or in parallel. The computing component 1500 can be implemented as the computing system 352 in Figure 3. The machine-readable storage medium 1504 can be implemented as the machine-readable storage medium 362 in Figure 3 and may include suitable machine-readable storage media as described in Figure 16.

[0040] In step 1506, the hardware processor 1502 can execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 1504 to obtain a signal emitted from the LiDAR (e.g., LiDAR 408 or 608 and / or incorporating the laser source 203), which may include an optical signal. This signal is processed in a subsequent step.

[0041] In step 1508, the hardware processor 1502 can execute machine-readable / machine-executable instructions stored in a machine-readable storage medium to apply frequency modulation to the signal to generate the upscan and downscan directions of the signal. The upscan and downscan directions are symmetrical, meaning that the magnitude or absolute value of the slope is the same for both directions, but in opposite directions. The slope can represent the rate of change of the frequency over time in both the upscan and downscan directions.

[0042] In step 1510, the hardware processor 1502 can execute machine-readable / machine-executable instructions stored in a machine-readable storage medium to suppress the signal's carrier frequency in response to the application of frequency modulation. In step 1512, the hardware processor 1502 can execute machine-readable / machine-executable instructions stored in a machine-readable storage medium to either 1) apply frequency modulation to the carrier frequency by shifting the local oscillator to change the symmetry between the upscan and downscan directions, as shown in Figures 3-4, or 2) apply phase modulation, as shown in Figures 5-7. The result of step 1512 is that the slopes in the upscan and downscan directions are different in magnitude, with the slope in the upscan direction being greater than the slope in the downscan direction.

[0043] In step 1514, the hardware processor 1502 executes machine-readable / machine-executable instructions stored in a machine-readable storage medium to direct the signal towards a target, such as an obstacle. In step 1516, the hardware processor 1502 executes machine-readable / machine-executable instructions stored in a machine-readable storage medium to simultaneously determine the velocity and direction of motion of the target relative to the LiDAR, based on the upscan and downscan frequencies of the reflected signal from the target. This velocity and direction of motion or direction of travel can be used as a basis for determining, for example, the navigation operation of a vehicle, as shown in Figures 8-14.

[0044] Hardware implementation The technologies described herein are implemented by one or more dedicated computer systems. These dedicated computer systems may be hardwired (wired logic) circuits for implementing these technologies, or may include one or more application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs) or other circuits or digital electronic devices permanently programmed to implement these technologies, or may include one or more hardware processors programmed to implement these technologies according to program instructions in firmware, memory, other storage devices, or a combination thereof. Such dedicated computer systems may also implement the technologies by combining custom hardwired logic circuits, ASICs, or FPGAs with custom programming. These dedicated computer systems may be desktop computer systems, server computer systems, portable computer systems, handheld devices, network devices, or other devices or combinations of devices incorporating hardwired and / or programmable logic circuits for implementing the technologies.

[0045] Computer devices are generally controlled and coordinated by operating system software. The operating system, in particular, controls and schedules computer processes for execution, manages memory, provides file systems, network configuration, I / O (input / output) services, and offers user interface functions such as a graphical user interface (GUI).

[0046] Figure 16 is a block diagram showing computer system 1600, on which any of the embodiments described herein can be realized. In some examples, computer system 1600 may include a cloud-based computer system or a remote computer system. For example, computer system 1600 may include a group of machines organized as a parallel processing infrastructure. Computer system 1600 includes a bus 1602 or other communication mechanism for transmitting information, and one or more hardware processors 1604 coupled to the bus 1602 for processing information. The hardware processors 1604 may be, for example, one or more general-purpose microprocessors.

[0047] The computer system 1600 also includes main memory such as random access memory (RAM), a cache, and / or other dynamic storage devices, which are coupled to the bus 1602 and store information and instructions executed by the processor 1604. The main memory 1606 can also be used to store temporary variables or other intermediate information while instructions are being executed by the processor 1604. Once these instructions are stored in a storage medium accessible to the processor 1604, the computer system 1600 becomes a dedicated machine customized to perform the actions specified in the instructions.

[0048] The computer system 1600 further includes a read-only memory (ROM) 1608 or other static storage device, which is coupled to the bus 1602 to store static information and instructions for the processor 1604. A storage device 1610, such as a magnetic disk, optical disk, USB (universal serial bus) thumb drive (flash drive), etc., is provided and is coupled to the bus 1602 to store information and instructions.

[0049] The computer system 1600 can be coupled via bus 1602 to a display 1612, such as a cathode ray tube (CRT) or liquid crystal display (LCD) display (or touchscreen), for displaying information to the computer user. An input device 1614, including alphanumeric and other keys, is coupled to bus 1602 to transmit information and command selections to the processor 1604. Another type of user input device is a cursor control device 1616, such as a mouse, trackball, or cursor pointer keys, which transmits information and command selections to the processor 1604 and controls cursor movement on the display 1612. This input device generally has two axes, i.e., two degrees of freedom, namely a first axis (e.g., x) and a second axis (e.g., y), and the two degrees of freedom allow the device to specify a position in a plane. In some embodiments, the same pointer information and command selection as cursor control can be achieved by receiving touches on a touchscreen without a cursor.

[0050] The computer system 1600 may include a user interface module for implementing a GUI, which can be stored in mass storage as executable software code executed by the computer device. This module and other modules may include components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.

[0051] Generally, as used herein, “includes” refers to a logic circuit embedded in hardware or firmware, or, in some cases, a set of software instructions having entry and exit points, written in a programming language such as Java®, C, or C++. Software modules can be compiled and linked into an executable program and installed in the form of a dynamic-link library, or they can be written in an interpreted programming language such as BASIC, Perl, or Python. It is understood that software modules can be called from other modules or from themselves, and / or can be invoked in response to detected events or interrupts. Software modules configured for execution on a computer device can be provided on a computer-readable medium such as a compact disk, digital video disk, flash drive, magnetic disk, or any other tangible medium, or they can be provided as a digital download (originally stored in a compressed or installable format, such formats requiring installation, decompression, or decryption before execution). Such software code can be stored, partially or entirely, on the memory device of the computer device for execution by the computer device. Software instructions can be embedded in firmware such as EPROM (erasable programmable ROM). It is further understood that hardware modules can consist of connected logic units such as gates and flip-flops, and / or programmable units such as programmable gate arrays or processors. Modules or computer devices functionally described herein are preferably implemented as software modules, but can be represented in the form of hardware or firmware.In general, the modules described herein can be combined with other modules or divided into submodules, regardless of their physical organization or storage location.

[0052] The computer system 1600 can implement the techniques described herein using customized hardwired logic circuits, one or more ASICs or FPGAs, firmware and / or programmable logic circuits, the firmware and / or programmable logic circuits, in combination with the computer system, make the computer system 1600 a dedicated machine or program it to be a dedicated machine. According to one embodiment, the techniques described herein are executed by the computer system 1600 in response to the processor 1604 executing one or more sequences of one or more instructions contained in the main memory 1606. These instructions can be read into the main memory 1606 from other storage media such as the storage device 1610. The execution of the sequence of instructions contained in the main memory 1606 causes the processor 1604 to perform the processing steps described herein. In alternative embodiments, hardwired circuits can be used instead of or in combination with software instructions.

[0053] As used herein, “non-temporary media” and similar terms refer to any media that stores data and / or instructions that cause a machine to operate in a particular manner. Such non-temporary media may include non-volatile media and volatile media. Non-volatile media include, for example, optical or magnetic disks such as storage device 1610. Volatile media include dynamic memory such as main memory 1606. Common forms of non-volatile media include, for example, floppy disks, flexible disks, hard disks, semiconductor (solid-state) drives, magnetic tapes, or any other magnetic data storage media, CD-ROMs (compact disc ROMs), any other optical data storage media, any physical media having a pattern of holes, RAM, PROMs (programmable ROMs), and EPROMs, flash EPROMs, NVRAMs (non-volatile RAMs), any other memory chips or cartridges, and network versions thereof.

[0054] Non-transient media are distinct from transmission media, but can be used together with them. Transmission media are involved in transferring information between non-transient media. For example, transmission media include coaxial cables, copper wires, and optical fibers, which include the wiring that constitutes bus 1602. Transmission media can also take the form of sound waves or light waves, such as those generated during radio and infrared data communications.

[0055] Various forms of media can be involved in transporting one or more sequences of one or more instructions to the processor 1604 for execution. For example, these instructions can initially be carried on a magnetic disk or semiconductor drive of a remote computer. The remote computer can load these instructions into its dynamic memory and transmit them over a telephone line using a modem. A modem locally connected to computer system 1600 can receive the data over the telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector can receive the data being transported in the form of an infrared signal, and appropriate circuitry can output this data onto bus 1602. Bus 1602 transports this data to main memory 1606, from which the processor 1604 can read and execute the instructions. The instructions received by main memory 1606 can be read and executed. The instructions received by main memory 1606 can optionally be stored on storage device 1610 either before or after execution by processor 1604.

[0056] The computer system 1600 also includes a communication interface 1618 coupled to bus 1602. The communication interface 1618 provides bidirectional data communication coupling to one or more network links connected to one or more local networks. For example, the communication interface 1618 may be an integrated service digital network (ISDN) card, a cable modem, a satellite modem, or a modem that provides data communication connectivity to a corresponding type of telephone line. As another example, the communication interface 1618 may be a LAN card (or a WAN component for communicating with a wide area network (WAN)) that provides data communication to a compatible local area network (LAN). A wireless link can also be implemented. In any such implementation, the communication interface 1618 transmits and receives electrical, electromagnetic, or optical signals that carry data streams (data flows) representing various types of information.

[0057] A network link generally provides data communication to other data devices through one or more networks. For example, a network link can provide connection to a host computer through a local network, or to data devices operated by an Internet Service Provider (ISP). ISPs similarly provide data communication services through the worldwide packet data communication network, now commonly referred to as the "Internet." Both local networks and the Internet use electrical, electromagnetic, or optical signals to carry digital data streams. Signals carrying digital data to and from computer system 1600, through various networks, and signals on network links and through communication interface 1618 are examples of forms of transmission media.

[0058] The computer system 1600 can send messages and receive data, including program code, through the network, network links, and communication interface 1618. In the case of the internet, a server can send code required by an application program through the internet, ISP, local network, and communication interface 1618.

[0059] The received code can be executed by processor 1604 upon receipt, and / or stored in memory device 1610 or other non-volatile memory device for later execution.

[0060] The processes, methods, and algorithms described in the preceding sections can be embodied in the form of code modules executed by one or more computer systems or computer processors equipped with computer hardware, and these code modules can be automated in whole or in part. These processes and algorithms can be implemented in part or in whole within application-specific circuits.

[0061] The various features and processes described above can be used independently of each other or combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of the present invention. In addition, certain blocks of methods or processes can be omitted in some implementations. Furthermore, the methods and processes described herein are not limited to any particular order, and blocks and associated states can be executed in any other order as appropriate. For example, the described blocks or states can be executed in an order other than that specifically disclosed, or multiple blocks or states can be combined into a single block or state. Examples of blocks or states can be executed serially, in parallel, or in any other manner. Blocks or states can be added to or removed from the disclosed embodiments. Examples of systems and components described herein can be configured differently from those described. For example, elements can be added, removed, or rearranged compared to the disclosed embodiments.

[0062] Conditional language, in particular, such as "may," "may," "may," or "may," is generally intended to convey that a particular embodiment includes certain features, elements, and / or steps, but does not include other embodiments, unless otherwise specifically stated or understood in the context in which it is used. Therefore, such conditional language is generally not intended to implicitly mean that features, elements, and / or steps are required to some extent in one or more embodiments, or that one or more embodiments necessarily include logic for determining whether these features, elements, and / or steps are included in or performed in any particular embodiment, with or without user input or input facilitation.

[0063] Any process description, element, or block described herein and / or illustrated in any accompanying drawings should be understood to represent one or more parts of a module, segment, or code containing one or more executable instructions for implementing a particular logical function or step in the process. It will be understood by those skilled in the art that alternative implementations are included within the scope of the embodiments described herein, and that in these alternative implementations, elements or functions may be removed, and the order in which they are illustrated or described may be changed, including, depending on the function in question, almost simultaneously or in reverse order.

[0064] It should be emphasized that numerous variations and modifications can be made to the embodiments described above, and the elements of these variations and modifications should be understood as being among other acceptable examples. All such modifications and variations are intended to be within the scope of the disclosure herein. The above description details specific embodiments of the invention. However, regardless of how the above is detailed and appears in the text, the invention can be carried out in numerous ways. As also explicitly stated above, it should be noted that the use of specific technical terms when describing specific features or aspects of the invention should not be interpreted as implicitly meaning that such technical terms are redefined herein to include all specific characteristics of such features or aspects of the invention related to such technical terms. Accordingly, the scope of the invention should be interpreted by the appended claims and all their equivalents.

[0065] Wording Throughout this specification, multiple examples can realize components, operations, or structures described as single examples. While individual operations of one or more methods are illustrated and described as separate operations, one or more of these individual operations can be performed simultaneously, and nothing requires them to be performed in the order illustrated. Structures and functions presented as separate components in the examples can be realized as combined structures or components. Similarly, structures and functions presented as single components can be realized as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter of this specification.

[0066] While the outline of the subject matter has been described with reference to specific embodiments, various modifications and changes can be made to these embodiments without departing from the broader range of embodiments of the invention. Such embodiments of the subject matter may be referred to individually or collectively in this specification by the term “invention” for mere convenience, and where two or more are actually disclosed, the scope of this application is not intended to be spontaneously limited to any single disclosure or concept.

[0067] The embodiments illustrated herein are described in sufficient detail to enable those skilled in the art to implement the disclosed teachings. Other embodiments can be used and derived from these embodiments to make structural and logical substitutions and modifications without departing from the scope of the invention. Accordingly, the detailed description should not be interpreted as restrictive, and the scope of the various embodiments is defined solely by the appended claims and, together with them, the entire scope of the equivalents to which such claims are qualified.

[0068] It is understood that “logic circuits,” “systems,” “data storage devices,” and / or “databases” may include software, hardware, firmware, and / or circuits. In one example, one or more software programs containing instructions that can be made executable by a processor may perform one or more of the functions of the data storage devices, databases, or systems described herein. In other examples, circuits may perform the same or similar functions. Alternative embodiments may comprise more, fewer, or functionally equivalent systems, data storage devices, or databases, which still fall within the scope of embodiments of the present invention. For example, these various systems, data storage devices, and / or databases may be combined or divided in different ways.

[0069] In this specification, “open source” software is defined as source code that is available for distribution as source code and in compiled form, with permission to modify and derive work at will, using means of obtaining the fully publicly available and indexed source.

[0070] The data storage devices described herein can be any suitable structure (e.g., active databases, relational databases, self-referencing databases, tables, matrices, arrays, flat files, document-oriented storage systems, non-relational NoSQL (Not only Structured Query Language) systems, etc.) and can be cloud-based or otherwise.

[0071] The term "or" as used herein should be interpreted either in an inclusive or exclusive sense. Furthermore, multiple examples may be provided for resources, operations, or structures described as a single example herein. In addition, the boundaries between various resources, operations, and data storage devices are somewhat arbitrary, and specific operations are illustrated in relation to specific exemplary configurations. Other functional assignments are conceivable and may fall within the scope of various embodiments of the present invention. In general, structures and functions presented as separate resources in these example configurations can be realized as combined structures or resources. Similarly, structures and functions presented as single resources can be realized as separate resources. These and other variations, modifications, additions, and improvements fall within the scope of embodiments of the present invention as expressed by the appended claims. Accordingly, this specification and the drawings should be considered illustrative rather than restrictive.

[0072] While the present invention has been described in detail for illustrative purposes based on what is currently considered the most practical and suitable implementation, it should be understood that these details are for illustrative purposes only, and that the present invention is not limited to the disclosed implementations, but rather intended to cover modifications and equivalent configurations that fall within the spirit and scope of the appended claims. For example, it should be understood that the present invention aims to allow, to the extent possible, one or more features of any drawing or example to be combined with one or more features of any other drawing or example. Component implemented as another component can be interpreted as operating in the same or similar manner as and / or possessing the same or similar features, characteristics, and parameters as the other component.

[0073] Phrases such as "at least one of...", "at least one selected from the group of...", or "at least one selected from the group consisting of..." should be interpreted disjunctly (for example, not as "at least one of A and at least one of B").

[0074] Throughout this specification, any reference to “(one) example” or “(more) examples” means that a particular feature, structure, or characteristic described in relation to that example is included in at least one example of the present invention. Therefore, throughout this specification, the phrases “in one example” or “in some examples” appearing in various places do not necessarily all refer to the same example, but may refer to several examples. Furthermore, a particular feature, structure, or characteristic may be combined in any suitable manner in one or more different examples.

Claims

1. One or more processors, A system comprising a memory for storing instructions, When the instruction is executed by one or more processors, the system will... Steps include acquiring the signal emitted from the lidar, A step of applying frequency modulation to the signal to generate an upscan direction and a downscan direction of the signal, wherein the upscan direction and the downscan direction are symmetrical. In response to the application of the frequency modulation, the steps include: suppressing the carrier frequency of the signal; In response to the suppression of the carrier frequency, the steps include applying frequency modulation to the carrier frequency by shifting the local oscillator to change the symmetry between the upscan direction and the downscan direction, or applying phase modulation, The steps include directing the signal toward a target in response to applying the frequency modulation to the carrier frequency, A step of simultaneously determining the velocity and direction of motion of the target relative to the lidar based on the frequencies of the reflected signal from the target in the upscan and downscan directions. A system that executes this task.

2. The system according to claim 1, wherein the upscan direction and the downscan direction have the same magnitude of inclination, and the magnitude of the inclination indicates the rate at which the respective frequencies of the upscan direction and the downscan direction change with time.

3. The system according to claim 2, wherein the step of changing the symmetry includes shifting the local oscillator to increase the magnitude of the inclination in the upscan direction and decrease the magnitude of the inclination in the downscan direction.

4. The system according to claim 1, wherein the step of simultaneously determining the velocity and the direction of motion is based on the difference between the frequency of the reflected signal in the upscan direction and the frequency of the reflected signal in the downscan direction.

5. The system according to claim 1, further comprising a direct-modulating laser to perform the frequency modulation of the carrier frequency.

6. The system according to claim 1, wherein the instruction causes the system to perform the phase modulation, the phase modulation including a phase-modulated selodyne frequency shift (PS-SFS).

7. The system according to claim 1, wherein the step of simultaneously determining the velocity and direction of motion of the target relative to the lidar is based on the modulation speed of a sawtooth scan.

8. The system according to claim 1, wherein the step of simultaneously determining the velocity and direction of motion of the target relative to the lidar is based on an offset amount obtained by shifting the local oscillator of the lidar.

9. The system according to claim 1, wherein the command causes the system to perform the navigation of a vehicle based on the speed and direction of motion of the target.

10. The system according to claim 1, wherein the speed of the target is a maximum of 300 kilometers per hour.

11. A method implemented by a computer in a computer system, Steps include acquiring the signal emitted from the lidar, A step of applying frequency modulation to the signal to generate an upscan direction and a downscan direction of the signal, wherein the upscan direction and the downscan direction are symmetrical. In response to the application of the frequency modulation, the steps include: suppressing the carrier frequency of the signal; In response to the suppression of the carrier frequency, the steps include applying frequency modulation to the carrier frequency by shifting the local oscillator to change the symmetry between the upscan direction and the downscan direction, or applying phase modulation, The steps include directing the signal toward a target in response to applying the frequency modulation to the carrier frequency, A step of simultaneously determining the velocity and direction of motion of the target relative to the lidar based on the frequencies of the reflected signal from the target in the upscan and downscan directions. A computer-based method that includes this.

12. The method implemented by a computer according to claim 11, wherein the upscan direction and the downscan direction have the same magnitude of inclination, and the magnitude of the inclination indicates the rate at which the respective frequencies of the upscan direction and the downscan direction change with time.

13. The computer-based method according to claim 12, wherein the step of changing the symmetry includes shifting the local oscillator to increase the magnitude of the inclination in the upscan direction and decrease the magnitude of the inclination in the downscan direction.

14. A method, implemented by a computer according to claim 11, wherein the step of simultaneously determining the velocity and the direction of motion is based on the difference between the frequency of the reflected signal in the upscan direction and the frequency of the reflected signal in the downscan direction.

15. The method implemented by a computer according to claim 11, wherein the frequency modulation of the carrier frequency is performed by a direct modulation laser.

16. The computer-based method according to claim 11, further comprising the step of applying the phase modulation, wherein the phase modulation includes a phase-modulated selodyne frequency shift (PS-SFS).

17. A method, according to claim 11, in which the step of simultaneously determining the velocity and direction of motion of the target relative to the lidar is performed by a computer based on the modulation rate of a sawtooth scan.

18. A computer-based method according to claim 11, wherein the step of simultaneously determining the velocity and direction of motion of the target relative to the lidar is based on an offset amount obtained by shifting the local oscillator of the lidar.

19. The computer-implemented method according to claim 11, further comprising the step of navigating a vehicle based on the speed and direction of motion of the target.

20. The computer-implemented method according to claim 11, wherein the speed of the target is a maximum of 300 kilometers per hour.