Performance of double sideband suppressed carrier (DSB-SC) modulation
By applying frequency modulation and phase modulation to the lidar signal, a symmetrical up-down scanning direction is generated, and the target speed and direction are detected by frequency differences, the problem of detection of blur at medium and low speeds of lidar is solved, and the DSB-SC modulation performance is improved, and vehicle navigation and environmental sensing are supported.
Patent Information
- Application Number
- CN202380083792.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-28
- Filing Date
- 2023-10-27
- Publication Date
- 2025-08-08
AI Technical Summary
The existing lidar technology has problems with low-speed shooting frequency interference and inability to detect the target motion direction when detecting the target speed and direction. Especially in coherent lidar, the performance of double-sideband suppressed carrier (DSB-SC) modulation needs to be improved.
By applying frequency modulation to the lidar signal, a symmetrical upper scanning direction and a lower scanning direction are generated, and changing its symmetry or adding phase modulation by moving the local oscillator, combined with direct modulation of the laser frequency, the frequency difference of the reflected signal in the up and down scanning direction is used to determine the velocity and motion direction of the target relative to the lidar.
It realizes unambiguous detection of target speed and direction in lidar, avoids detection of blur at low speeds, improves the performance of DSB-SC modulation, and supports vehicle navigation and environmental sensing.
Smart Images

Figure CN120457645A_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This disclosure is based upon and claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 420,424, filed in the U.S. Patent and Trademark Office on October 28, 2022. The entire contents of the above application are incorporated herein by reference. Technical Field
[0002] The present disclosure relates to methods for improving the performance of double-sideband suppressed carrier (DSB-SC) modulation in coherent lidar, particularly for detecting magnitude and direction of velocity. Background Art
[0003] Due to its fast processing speed, high precision, and high accuracy, LiDAR technology has a wide range of applications in aerospace, autonomous or semi-autonomous driving, meteorology, and other fields. Current LiDAR technologies include conventional Time of Flight (TOF) and Frequency Modulated Continuous Wave (FMCW) coherent LiDAR. Summary of the Invention
[0004] Various examples of the present disclosure may include computing systems, methods, and non-transitory computer-readable media having instructions that, when executed, cause one or more processors of the computing system to: obtain a signal transmitted from a lidar; apply frequency modulation to the signal to generate an up-scan direction and a down-scan direction of the signal, wherein the up-scan direction is symmetrical with the down-scan direction; in response to the application of the frequency modulation, suppress a carrier frequency of the signal; in response to suppressing the carrier frequency, apply frequency modulation to the carrier frequency by moving a local oscillator to change the symmetry between the up-scan direction and the down-scan direction, or add phase modulation; in response to applying the frequency modulation to the carrier frequency, direct the signal to a target; and simultaneously determine a speed and a direction of motion of the target relative to the lidar based on the frequencies of the reflected signal from the target in the up-scan direction and the down-scan direction.
[0005] In some examples, the up-scan direction and the down-scan direction have the same magnitude of slope, where the magnitude of slope represents a rate of change of each frequency in the up-scan direction and the down-scan direction over time.
[0006] In some examples, the change in symmetry includes moving the local oscillator to increase the magnitude of the slope in the up-scan direction and to decrease the magnitude of the slope in the down-scan direction.
[0007] In some examples, the simultaneous determination of speed and direction of motion is based on a difference between frequencies of the reflected signal in an up-scan direction and a down-scan direction.
[0008] In some examples, the systems of the present invention also include a directly modulated laser to perform modulation of the carrier frequency.
[0009] In some examples, the instructions cause the system to perform adding phase modulation, the phase modulation comprising phase modulated serrodyne frequency shift (PS-SFS).
[0010] In some examples, simultaneous determination of the target's velocity and direction of motion relative to the lidar is based on the modulation rate of the sawtooth scan.
[0011] In some examples, simultaneously determining the speed and direction of motion of a target relative to a lidar is based on an offset in movement of a local oscillator of the lidar.
[0012] In some examples, the instructions cause the system to perform vehicle navigation based on the speed and direction of motion of the target.
[0013] In some examples, the target's speed is at most 300 kilometers per hour. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Certain features of various embodiments of the present technology are set forth in detail in the appended claims. The features and advantages of the present technology will be better understood by reference to the following detailed description, which sets forth an exemplary embodiment utilizing the principles of the invention and is accompanied by the accompanying drawings:
[0015] Figure 1 An example of a DSB-SC sideband is shown.
[0016] Figure 2 An embodiment of an FMCW lidar emitting light toward a target is shown.
[0017] Figure 3 It is shown that different frequency shifts, offsets, sequences or patterns are created or generated between the up-scan direction and the down-scan direction.
[0018] Figure 4 Illustrative embodiments are shown that include physical components that create or generate different frequency shifts, offsets, sequences, or patterns between the up-scan direction and the down-scan direction.
[0019] Figure 5 An embodiment of applying DSB-SC is shown, in particular applying the same chirp rate to the up-scan direction compared to the down-scan direction.
[0020] Figure 6 Shown includes the implementation Figure 5 Schematic implementation of the physical components of the illustrated application.
[0021] Figure 7 Shown according to Figure 5-6 Phase modulation.
[0022] Figure 8-14 Various examples are shown based on the use of Figure 2-7 An example of a vehicle navigation scenario in which an embodiment determines a target heading direction and speed.
[0023] Figure 15 According to various examples, Figure 1-14 A flow chart of a consistent example method, the method being embodied in a computing component.
[0024] Figure 16 A block diagram of an example computer system is shown in which any of the embodiments described herein may be implemented. Detailed description
[0025] TOF (Time of Flight) lidar technology can accurately track targets by emitting light pulses and measuring the time until each pulse is reflected back to the sensor. However, one disadvantage of TOF technology is that TOF cannot directly detect the speed of the target. At the same time, FMCW can simultaneously detect the speed and position of the target based on the Doppler shift. The Doppler shift caused by the target speed is different in the opposite scanning directions (up and down scanning directions) of the frequency modulation. Therefore, by calculating the average and difference of the two beat frequencies in the up and down scanning directions, the distance between the sensor and the target and the speed of the target can be obtained. The above content describes an implementation of FMCW with DSB-SC modulation, which utilizes two modulation schemes for double-sideband modulation to solve the current shortcomings of beat frequency interference at low speeds and the inability to detect the direction of target movement.
[0026] In some embodiments, an electro-optical modulator (EOM) can destroy the symmetry of the DSB-SC sidebands. Examples of DSB-SC sidebands are Figure 1 shown. Figure 1 Shown includes f c The spectrum 101 has a sideband 104 as the center. m Indicates the modulation frequency. c Indicates the carrier frequency.
[0027] Figure 2 An embodiment is shown in which, after applying an input voltage 202, a laser source 203 is directed into two separate paths: a reference path 211 serving as a local oscillator and a detection path 212 directed toward a target 222. The laser source 203 can be a linear frequency modulated chirped laser. A photodetector 204 can detect the interference signal of the light between the detection path 212 and the reference path 211, which can appear as a beat signal 208. The beat signal 208 can be sinusoidal, and the frequency of the beat signal can be proportional to the distance to the target. A Fourier transform can convert the beat signal into a peak 210 in the frequency domain. If the target 222 is moving, the upward chirp or upscan direction and the downward chirp or downscan direction of the laser source 203 can simultaneously detect speed and distance.
[0028] Laser source 203 can be mounted on a moving object, such as vehicle 232. For example, at least one of laser source 203 or target 222 can be moving. In some examples, the maximum relative speed between laser source 203 and target 222 can be approximately 300 kilometers per hour, with both laser source 203 and target 222 moving in opposite directions at approximately 150 kilometers per hour. In another example, laser source 203 or target 222 can be substantially stationary, while one of laser source 203 and target 222 can be moving at approximately 150 kilometers per hour. Relative speeds can range between 150 kilometers per hour and 300 kilometers per hour.
[0029] The laser source 203 can be associated with a computing system 252 including one or more processors and memory. The processor can be configured to perform various operations by interpreting machine-readable instructions, for example, from a machine-readable storage medium 262. The processor can include one or more hardware processors 253. In some examples, one or more of the hardware processors 253 can 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 may not be spatially separated, but rather may be performed by a common processor. The hardware processor 253 can also be connected to, include, or embed logic 263, for example, the logic 263 can include protocols that are executed to perform the functions of the hardware processor 253. These functions can include the above-mentioned figures (such as Figure 3-15 ) Any functionality described in . The one or more hardware processors 253 may also be associated with a memory 254, which may include permanent storage or a cache to store any output or intermediate output from the hardware processor 253.
[0030] Figure 3 shows the scanning direction f scan,u and the down scan direction f scan,d Different frequency shifts, offsets, sequences, or patterns are created or generated between the upper and lower scan directions. Creating or generating different frequency shifts by modulating the carrier frequency using a directly modulated laser (DML), such as a tunable diode laser (TDL), can result in different slope amplitudes between the upper and lower scan directions, representing a change in the scan frequency over time. Specifically, the slope in the upper scan direction can increase, while the slope in the lower scan direction can decrease. By creating a difference in amplitude of the frequency in the upper scan direction compared to the amplitude in the lower scan direction, the frequency of the upper scan can be distinguished from the frequency of the lower scan when two different frequencies reflected by the target 222 are detected.
[0031] exist Figure 3, graph 300 shows frequency on the y-axis and time on the x-axis. In graph 300, the signal scan 312 is offset from the reference scan 310 by f off More specifically, the signal sweep 310 indicates the frequency chirp of the signal path and the reference sweep 310 indicates the frequency chirp of the local oscillator path and is generated internally by the laser source 203. Figure 4 As explained, after obtaining the difference between the frequencies in the upscan and downscan directions and dividing by 2, the speed of the target can be obtained. Figure 3 The different frequency shifts in the target can be used to obtain the direction and magnitude of the target's velocity.
[0032] Doppler shift With the target (such as Figure 2 The relative speed (v r ), where f opt is the optical carrier frequency. When the carrier frequency of the light from the laser source 203 is 200 THz, the Doppler shift falls within the range of [-50 MHz, 100 MHz]. That is, Δf D ∈[-50,100]MHz.
[0033] To avoid detection ambiguity due to high speed at short distances, the local oscillator of the laser source 203 can be shifted to a higher frequency (f off ) to achieve heterogeneous detection. Here, f off >max{ΔF D}, which is 100 MHz in the above scenario. Assume that the distance between the target 222 and the laser source 203 is Δ z , then the beat sound or beat frequency f from the upward scanning direction u for: And the beat frequency or beat tone f from the down scan direction d for: Here, c is the speed of light, f data is the data point rate or frequency, or the modulation rate of the sawtooth sweep. Since f scan,u >f scan,d , so it is possible to unambiguously distinguish f u and f d Therefore, Δz and Δf D The value of can be obtained or inferred unambiguously:
[0034] To avoid detection ambiguity due to high speed at short distances, the local oscillator of the laser source 203 can be shifted to a higher frequency (f off ) to achieve heterogeneous detection. Here, f off >max{Δf D}, which is 100 MHz in the above scenario. Assume that the distance between the target 222 and the laser source 203 is Δ z , then the beat sound or beat frequency f from the upward scanning direction u for: And the beat frequency or beat tone f from the down scan direction d for: Here, c is the speed of light, f data is the data point rate or frequency. Since f scan,u >f scan,d , so it is possible to unambiguously distinguish f u and f d Therefore, Δz and Δf D The value of can be obtained or inferred unambiguously:
[0035] Figure 4 An exemplary embodiment is shown, which includes a tunable diode laser (TDL) 402, electro-optical modulators (EOMs) 404 and 406 (corresponding to the beat frequency f from the upper scanning direction, respectively). u and the difference frequency or beat note f from the down scan direction d ), a laser radar 408, one or more optical couplers 410, and a photodetector 412 (e.g., a balanced photodetector (BPD)). Thus, the EOM 404 receives a signal from the up-scan direction and the EOM 406 receives a signal from the down-scan direction, which corresponds to a local oscillator, e.g., from the reference path 211, and has a higher offset frequency. The tunable diode laser (TDL) 402 can be implemented as Figure 2 The laser source 203 is a laser beam source. The light collected by the lidar 408 can be combined from the two paths of the EOM 404 and the EOM 406 by a beam combiner (either free space or optical fiber) and transmitted to the photodetector 412 for low-noise coherent detection. The lidar 408 can be mechanical, non-mechanical, or hybrid. In order to generate or trigger a different chirp rate in the up-scan direction than in the down-scan direction, the carrier frequency can be swept together with the modulation of the EOM. Figure 4 Display, TDL frequency sweep mode needs to be f data The rate of achieving f from zero sweepIn such a scheme, f scan,u =f scan +f sweep ; f scan,d =f scan -f sweep . where f scan is the maximum frequency chirp generated by DSB-SC.
[0036] Figure 5 Different implementations of applying DSB-SC are shown, in particular applying the same chirp rate in the up-scan direction compared to the down-scan direction. Figure 5 In FIG. 5 , curve 510 represents the frequency chirp of the signal path and curve 512 represents the frequency chirp of the local oscillator (eg, reference) path. Figure 5 The frequency offset in Figure 3 In. Figure 5 In , phase modulation is applied in the signal path to move to a higher offset frequency. Figure 6 An exemplary embodiment is shown, comprising: a first EOM 602 in the signal path for DSB-SC (which receives continuous wave (CW) laser light 601), a second EOM 604 in the signal path for a phase-modulated serrodyne frequency shifter (PS-SFS), a laser radar 608, an optical coupler 610 (optional), and a photodetector 612. CW laser light 601 is transmitted to the first EOM 602, and the transmitted laser light can then be split into two paths: a signal path and a reference path. The reference path remains unchanged. Light can be transmitted through the laser radar 608.
[0037] Figure 7 Shown according to Figure 5 and Figure 6 Phase modulation. By off By modulating the phase from zero to 2π at a frequency of off Φ m is the phase of the input signal. In the second scheme, the chirp rate of the upscan and downscan is the same, but the CS-DSM of the signal path is shifted to a higher offset frequency (f off ). Therefore, the upscan (f u ) and downscan (f d ) can be expressed as:
[0038] The Doppler effect affects the upscan beat frequency and the downscan beat frequency in the same way. In addition, as long as the target is at a certain distance, that is, Δz≠0, then f dAlways greater than f d To avoid ambiguity in the upscan beat frequency (f u >0), f off The following conditions must be met: off >f MAX -MIN{Δf D},in
[0039] In this scheme, the distance Δz and the Doppler effect Δf can be obtained unambiguously. D :
[0040] In this scheme, f off This is achieved by phase modulated serrodyne frequency shift (PS-SFS). off When the rate is modulated from 0 to 2π, the carrier frequency of the input signal can be offset by f off frequency.
[0041] Figure 8-14 A navigation scenario is shown in which the determination of the speed and direction of a target can be used to determine one or more navigation actions of a vehicle. Figure 8 In the embodiment of the present invention, a laser radar on vehicle 820 (e.g., laser radar 408 or 608 and / or in combination with laser source 203) can detect a target, such as an obstacle 821, such as a pothole, bump, or stone on the road. One or more processors associated with laser radar 408 or 608, such as hardware processor 253, can use Figure 1-7The hardware processor 253 may determine or predict the direction and speed of movement of obstacle 821 using any of the above techniques described in
[15] . Based on the determined or predicted direction and speed of movement of obstacle 821, the hardware processor 253 may determine a driving maneuver or maneuver for the vehicle 820 to pass through or avoid obstacle 821. The determined driving maneuver or maneuver for the vehicle 820 may be based on the size and position of obstacle 821 and / or the predicted position of the vehicle 820 when passing through obstacle 821. In some examples, the hardware processor 253 may determine that obstacle 821 is too large and / or too dangerous for the vehicle 820 to pass through or over without turning. For example, the hardware processor 253 may predict that if the vehicle 820 attempts to drive directly past obstacle 821 without turning, one or more wheels of the vehicle 820 may strike the obstacle 821, causing the previously stationary obstacle 821 to roll into an adjacent lane or the opposite side of the road, thereby increasing the danger to another vehicle in the adjacent lane or on the opposite side of the road. Hardware processor 253 can predict the change in trajectory of another vehicle in an adjacent lane or on the opposite side of the road due to the rolling of obstacle 821. Hardware processor 253 can also predict the change in trajectory of vehicle 820 itself due to impacting obstacle 821, such as changes in vehicle 820's speed, acceleration, attitude, direction, and / or balance. If hardware processor 253 predicts that the change in trajectory of vehicle 820 after impacting obstacle 821 exceeds an allowable range, or if the change in trajectory of another vehicle exceeds an allowable range, hardware processor 253 can determine that vehicle 820 should swerve to avoid obstacle 821. Hardware processor 253 can adjust the trajectory of vehicle 820 to avoid obstacle 821. Hardware processor 253 can select from potential trajectories 823, 824, 825, 826, 827, and 828. Potential trajectories 823, 824, 825, 826, 827, and 828 can be based on historical data of previous trajectories under similar conditions, as determined by obstacle size, traffic density, road conditions, lighting conditions, and / or weather conditions. For example, potential trajectories 823, 824, 825, 826, 827, and 828 can be determined based on the recent driving history of vehicle 820. Potential trajectories 823, 824, 825, 826, 827, and 828 can be recent actual trajectories, for example, within the past year, month, or week, that have the highest safety metrics. Hardware processor 253 can select trajectory 828 based on the predicted impact of trajectory 828, the trajectory of obstacle 821, and the trajectory of another nearby vehicle that may be affected by obstacle 821. For example, hardware processor 253 may predict that vehicle 820 will not collide with obstacle 821 while traveling along trajectory 828, and therefore obstacle 821 will not change its trajectory and will remain stationary. The hardware processor 253 may enable the vehicle 820 to navigate along the trajectory 828 or maneuver through the obstacle 821 .After following trajectory 828, hardware processor 253 can determine the actual impact on trajectory 828, the trajectory of obstacle 821, and the trajectory of nearby vehicles. Therefore, if hardware processor 253 determines that vehicle 820 actually impacted obstacle 821 while following trajectory 828, hardware processor 253 can update or adjust the predicted impact on trajectory 828, the trajectory of obstacle 821, and the trajectory of another nearby vehicle. The predicted impact can be stored in a model. Updating or adjusting the predicted impact can include updating the model. Thus, in subsequent instances, using the updated or adjusted predicted impact of the updated or adjusted model, the potential trajectory will result in a greater distance between vehicle 820 and obstacle 821.
[0042] exist Figure 9 , a hardware processor (e.g., hardware processor 253) associated with a lidar (e.g., lidar 408 or 608 and / or in conjunction with laser source 203) of vehicle 940 can sense other vehicles 942, 944, 946, and 948 in the environment. Hardware processor 253 can use Figure 1-7The hardware processor 253 can determine or predict the direction and speed of movement of other vehicles 942, 944, 946, and 948 using any of the above techniques described in
[15] . The hardware processor 253 can determine the driving maneuver or maneuver of the vehicle 940, thereby taking into account the direction and speed of movement of other vehicles 942, 944, 946, and 948, for example, when the vehicle 940 attempts to turn left. The determined driving maneuver or maneuver of the vehicle 940 can also be based on the size and position of the vehicles 942, 944, 946, and 948. The hardware processor 253 can predict the trajectories 943, 945, 947, and 949 of the other vehicles 944, 944, 946, and 948, respectively, based on the determined direction and speed of movement of the other vehicles 942, 944, 946, and 948, and predict changes to the trajectories 943, 945, 947, and 949 that would result from the vehicle 940 following the selected trajectory 941. Hardware processor 253 may also predict changes to selected trajectory 941 of vehicle 940 itself due to interactions with vehicles 942, 944, 946, and 948. If hardware processor 253 predicts that the trajectory of vehicle 940 itself has changed beyond an acceptable range, or that one or more of predicted trajectories 943, 945, 947, and 949 has changed beyond an acceptable range, hardware processor 253 may update selected trajectory 941 or select another trajectory such that the changes outside the respective acceptable ranges are within the acceptable ranges. For example, hardware processor 253 may predict that vehicle 940, while following trajectory 941, will maintain at least a predetermined distance from each of predicted trajectories 943, 945, 947, and 949 without causing any of vehicles 942, 944, 946, and 948 to slow down beyond an acceptable amount or without deviating from one of the respective predicted trajectories 943, 945, 948, and 949. After following trajectory 941, hardware processor 253 may determine the actual changes or impacts to selected trajectory 941, as well as the actual changes and impacts to predicted trajectories 943, 945, 947, and 949. If hardware processor 253 determines that at least one of the actual trajectories of vehicles 942, 944, 946, and / or 948 deviates from predicted trajectory 943, 945, 947, and 949, respectively, or that at least one of vehicles 942, 944, 946, and 948 reduces its respective speed by more than an acceptable amount, hardware processor 253 may update or adjust predicted trajectories 943, 945, 948, and 949 or the predicted impacts on predicted trajectories 943, 945, 947, and 949. Predicted trajectories 943, 945, 947, and 949 may be stored in a model. Updating or adjusting predicted trajectories 943, 945, 947, and 949, or the predicted impact on predicted trajectories 943, 945, 947, and 949, may include updating a model.For example, if hardware processor 253 determines that trajectory 941 is too close to one or more predicted trajectories, such as predicted trajectory 943, such that vehicle 942 must turn, the result of this interaction can be stored in the model. The model can be updated so that the next selected trajectory is not too close to one of the predicted trajectories. As a result, using the updated or adjusted predictions of the updated or adjusted model, potential trajectories in subsequent interactions will place vehicle 940 further away from the predicted trajectory.
[0043] exist Figure 10 In the example, the computing system of vehicle 1060 (e.g., computing system 252, including hardware processor 253) can sense other vehicles and surrounding conditions when vehicle 1060 enters parking lot 1063. Hardware processor 253 can be associated with a lidar (e.g., lidar 408 or 608 and / or in combination with laser source 203) of vehicle 1060. In some examples, the entrance to parking lot 1063 may not include a transparent lane divider to separate vehicles entering parking lot 1063 from vehicles 1064 exiting parking lot 1063. Hardware processor 253 can use Figure 1-7The direction and speed of movement of vehicle 1064 may be determined or predicted using any of the above techniques described in
[1064] . In these examples, hardware processor 253 may select a trajectory, such as trajectory 1061, for vehicle 1060 to follow when entering parking lot 1063 based on the determined direction and speed of movement of vehicle 1064. For example, trajectory 1061 may be one-quarter the distance from one side of the entrance (e.g., the right) and three-quarters the distance from the opposite side of the entrance (e.g., the left), thereby leaving sufficient space for vehicle 1064 to exit parking lot 1063 from the opposite side at the same time, as shown in predicted trajectory 1062. Hardware processor 253 may determine the driving maneuvers or maneuvers of vehicle 1060 to account for vehicle 1064. The determined driving maneuvers or maneuvers of vehicle 1060 may be based on the size and position of vehicle 1064. Hardware processor 253 may predict trajectory 1062 and predict changes to trajectory 1062 that would result from vehicle 1060 following selected trajectory 1061. Hardware processor 253 can also predict changes to selected trajectory 1061 of vehicle 1060 itself due to interactions with vehicle 1064. If hardware processor 253 predicts that the change in trajectory of vehicle 1060 itself exceeds an allowable range, or that the change in predicted trajectory 1062 exceeds an allowable range, hardware processor 253 can update selected trajectory 1061 or select another trajectory so that changes outside the respective allowable ranges fall within the allowable ranges. For example, hardware processor 253 can predict that vehicle 1060, while following trajectory 1061, will maintain at least a predetermined distance from predicted trajectory 1062 without causing vehicle 1064 to decelerate by more than an acceptable amount or deviate from predicted trajectory 1062. After following trajectory 1061, hardware processor 253 can determine the actual change or impact on trajectory 1061, as well as the actual change and impact on predicted trajectory 1062 of vehicle 1064. If hardware processor 253 determines that vehicle 1064's actual trajectory deviates from predicted trajectory 1062, or that vehicle 1064 reduces its speed by more than an acceptable amount, hardware processor 253 may update or adjust predicted trajectory 1062 or the predicted impact on predicted trajectory 1062 resulting from vehicle 1060 following trajectory 1061. Predicted trajectory 1062 may be stored in a model. Updating or adjusting predicted trajectory 1062 and the predicted impact on predicted trajectory 1062 may include updating the model. For example, if hardware processor 253 determines that trajectory 1061 is too close to predicted trajectory 1062, causing vehicle 1064 to swerve to avoid vehicle 1060, the results of this interaction may be stored in the model. The model may be updated so that the next time vehicle 1060's selected trajectory does not come too close to the predicted trajectory, the model may be updated. As a result, using the updated or adjusted predicted impact of the updated or adjusted model, potential trajectories in subsequent interactions will place vehicle 1060 further away from the predicted trajectory.
[0044] exist Figure 11 , when vehicle 1170 drives into a parking space between vehicles 1172 and 1173, the computing system of vehicle 1170 (e.g., computing system 252, including hardware processor 253) can sense other vehicles and surrounding conditions while maintaining at least a predetermined distance from vehicle 1174, which may be currently driving and attempting to drive into the same parking space. Hardware processor 253 can be associated with a lidar (e.g., lidar 408 or 608 and / or in combination with laser source 203) of vehicle 1170. Hardware processor 253 can use Figure 1-7 1174 and predict its trajectory based on the determined direction and speed of movement of vehicle 1174. Hardware processor 253 can determine whether to compete with another vehicle, such as vehicle 1174, for a public parking space based on the relative positions of vehicles 1170 and 1174 and the predicted trajectory of vehicle 1174 (including the speed, acceleration, and attitude of vehicle 1174). If hardware processor 253 determines to attempt to obtain a parking space, hardware processor 253 can select trajectory 1171. If vehicle 1170 is unsuccessful in obtaining a parking space, or if the distance between vehicle 1171 and vehicle 1174 falls below a threshold distance while both vehicles 1171 and 1174 are attempting to obtain a parking space, hardware processor 253 can store the data of vehicle 1171 and the results of its interaction with vehicle 1174 in a model so that vehicle 1170 can improve its decision-making process in similar future situations when attempting to enter a parking space.
[0045] exist Figure 12 In the embodiment of the present invention, a computing system (e.g., computing system 252, including hardware processor 253) of vehicle 1210 (e.g., lidar 408 or 608 and / or in combination with laser source 203) can determine a navigation action for vehicle 1210 based on the data collected by the lidar. Vehicle 1210 can travel in lane 1230 according to selected trajectory 1212. Another vehicle 1220 (which can be an AV) can travel to the left of vehicle 1210 in lane 1340. Another vehicle 1220 can signal to vehicle 1210 that the other vehicle 1220 intends to overtake or pass vehicle 1210 and merge into lane 1230. Vehicle 1210 can detect and recognize, through one or more hardware processors (e.g., hardware processor 253), that the other vehicle 1220 intends to merge into lane 1230. Hardware processor 253 can use Figure 1-71220 and determines or estimates the trajectory of the other vehicle 1220 based on the determined or estimated trajectory. Hardware processor 253 may determine whether to allow the other vehicle 1220 to merge into lane 1230. This determination may include predicting the trajectory 1228 of the other vehicle 1220 and the predicted change in selected trajectory 1212 of vehicle 1210 resulting from vehicle 1210 allowing the other vehicle 1220 to merge into lane 1230. For example, if the predicted change in selected trajectory 1212 exceeds an allowed amount, hardware processor 253 may not allow the other vehicle 1220 to merge into lane 1230. For example, the predicted change in selected trajectory 1212 may include a predicted decrease in the speed of vehicle 1210. If vehicle 1210 allows the other vehicle 1220 to merge into lane 1230, hardware processor 253 may determine the actual change in selected trajectory 1212 resulting from the merging of the other vehicle 1220 and determine the actual trajectory of the other vehicle 1220 during the merge. If the actual change in selected trajectory 1212 deviates from the predicted change in selected trajectory 1212 by more than a threshold amount, if the actual change in selected trajectory 1212 exceeds an allowable amount, or if the actual trajectory of another vehicle 1220 deviates from predicted trajectory 1228 during a merge, hardware processor 253 may update or adjust predicted trajectory 1228 or the predicted impact on selected trajectory 1212 due to vehicle 1210 following trajectory 1212. Predicted trajectory 1228 and the predicted impact on selected trajectory 1212 may be stored in a model. Updating or adjusting predicted trajectory 1228 and the predicted impact on selected trajectory 1212 may include updating the model. For example, if hardware processor 253 determines that another vehicle 1220 is following actual trajectory 1229 such that vehicle 1210 must slow down by more than an allowable amount to maintain a predetermined distance from the other vehicle 1220, the results of this interaction may be stored in the model. The model may be updated so that vehicle 1210 is less likely to allow the other vehicle to merge into lane 1230 the next time. Likewise, when vehicle 1210 sends model updates to other vehicles in the fleet or network, the other vehicles may also adjust their behavior so that they are less likely to attempt to merge in this situation.
[0046] exist Figure 13, a computing system (e.g., computing system 252, including hardware processor 253) of vehicle 1310 (e.g., lidar 408 or 608 and / or in combination with laser source 203) can determine a navigational action for vehicle 1310 based on data collected by the lidar. Vehicle 1310 can travel in lane 1380 according to selected trajectory 1312. Another vehicle 1320 (which can be an AV) can travel to the left of vehicle 1310 in lane 1390. Another vehicle 1320 can be urgently attempting to merge into lane 1380 without providing appropriate signals to vehicle 1310 indicating that the other vehicle 1320 intends to overtake or pass vehicle 1310 and merge into lane 1380. Vehicle 1310 can detect and recognize, via hardware processor 253, that the other vehicle 1320 intends to merge into lane 1380. Hardware processor 253 can use Figure 1-71380, predict the direction and speed of movement of another vehicle 1320, predict the trajectory of another vehicle 1320 based on the direction or speed of movement, and infer or predict any point at which another vehicle 1320 intends to merge into lane 1380. Hardware processor 253 may determine whether to allow another vehicle 1320 to merge into lane 1380 by slowing down, or accelerating to move ahead of another vehicle 1320. This determination may include predicting changes in trajectory 1328 of another vehicle 1320 and selected trajectory 1312 of vehicle 1310 due to vehicle 1310 allowing another vehicle 1320 to merge into lane 1380 or due to acceleration. For example, if the predicted change in selected trajectory 1312 exceeds an allowed amount due to allowing another vehicle 1320 to merge into lane 1380, hardware processor 253 may determine not to allow another vehicle 1320 to merge into lane 1380. For example, the predicted change in selected trajectory 1312 may include a predicted decrease in the speed of vehicle 1310. If vehicle 1310 allows another vehicle 1320 to merge into lane 1380, hardware processor 253 may determine the actual change in selected trajectory 1312 caused by the merging of another vehicle 1310 and determine the actual trajectory of another vehicle 1320 during the merge. If the actual change in selected trajectory 1312 deviates from the predicted change in selected trajectory 1312 by more than a threshold amount, if the actual change in selected trajectory 1312 exceeds an allowed amount, or if the actual trajectory of another vehicle 1320 deviates from predicted trajectory 1328 during the merge, hardware processor 253 may update or adjust predicted trajectory 1328 or the predicted impact on selected trajectory 1312 due to vehicle 1310 following trajectory 1312. Predicted trajectory 1328 and the predicted impact on selected trajectory 1312 may be stored in a model. Updating or adjusting predicted trajectory 1328 and the predicted impact on selected trajectory 1312 may include updating the model. For example, if the hardware processor 253 determines that another vehicle 1320 is following an actual trajectory 1329 such that the vehicle 1310 must slow down by more than the permitted amount to maintain a predetermined distance from the other vehicle 1320, the results of this interaction can be stored in the model. The model can be updated so that the next time, the vehicle 1310 is less likely to allow the other vehicle to merge into the lane 1330, and thus the vehicle 1310 will accelerate to pull in front of the other vehicle that would attempt to merge into the lane without a signal. Similarly, when the vehicle 1310 sends model updates to other vehicles in the convoy or network, the other vehicles can also adjust their behavior so that they are less likely to attempt to merge in this situation.
[0047] exist Figure 14In the embodiment of the present invention, a computing system (e.g., computing system 252, including hardware processor 253) of vehicle 1410 (e.g., lidar 408 or 608 and / or in combination with laser source 203) can determine navigation actions of vehicle 1410 based on data collected by the lidar. Vehicle 1410 can be traveling in lane 1480. Vehicle 1410 can detect and identify one or more pedestrians 1440 intending to cross the road via hardware processor 253. Vehicle 1410 can use Figure 1-7 Any of the above techniques described in [ 1440 ] may individually and / or collectively determine or predict the direction and speed of movement of pedestrian 1440, predict a trajectory of pedestrian 1440 based on the direction or speed of movement, and predict the delay time that would result from yielding to pedestrian 1440. After pedestrian 1440 completes the crossing, hardware processor 253 may determine the actual delay time that would result from yielding to pedestrian 1440. If the actual delay time deviates from the predicted delay time by more than a threshold amount, hardware processor 253 may update the predicted delay time to account for the deviation and incorporate the updated predicted delay time into future measurements.
[0048] Figure 15 A computing component 1500 is shown that includes one or more hardware processors 1502 and a machine-readable storage medium 1504 storing a set of machine-readable / machine-executable instructions that, when executed, cause the hardware processor 1502 to detect a heading of a target and navigate based on that detection, among other steps. It should be understood that, unless otherwise indicated, additional, fewer, or alternative steps may be performed in a similar or alternative order or in parallel within the scope of the various embodiments discussed herein. The computing component 1500 may be implemented as Figure 3 The hardware processor 1502 may be implemented as Figure 3 The machine-readable storage medium 1504 may be implemented as Figure 3 The machine-readable storage medium 362 may include suitable machine-readable storage media as described in FIG. 17 .
[0049] In step 1506, the hardware processor 1502 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 1504 to obtain a signal transmitted from a laser radar (e.g., the laser radar 408 or 608 and / or in combination with the laser source 203), which may include an optical signal. The signal is processed in subsequent steps.
[0050] At step 1508, hardware processor 1502 may execute machine-readable / machine-executable instructions stored in machine-readable storage medium 1504 to apply frequency modulation to the signal to generate an up-sweep direction and a down-sweep direction of the signal. The up-sweep direction and the down-sweep direction are symmetrical, meaning that the slope in the up-sweep direction and the down-sweep direction have the same magnitude or absolute value, but in opposite directions. The slope may represent the rate of change of frequency over time in the up-sweep direction and the down-sweep direction.
[0051] In step 1510, the hardware processor 1502 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 1504 to suppress the carrier frequency of the signal in response to the application of frequency modulation. In step 1512, the hardware processor 1502 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 1504 to perform one of the following operations: 1) applying frequency modulation to the carrier frequency by shifting the local oscillator to change the symmetry between the up-scan direction and the down-scan direction, e.g. Figure 3-4 or 2) adding phase modulation, such as Figure 5-7 As a result of step 1512, the slope magnitudes in the up-scan direction and the down-scan direction will be different from each other, wherein the slope magnitude in the up-scan direction is higher than the slope magnitude in the down-scan direction.
[0052] In step 1514, the hardware processor 1502 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 1504 to direct the signal to a target, such as an obstacle. In step 1516, the hardware processor 1502 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 1504 to simultaneously determine the speed and direction of motion of the target relative to the lidar based on the frequency of the reflected signal from the target in the up-scan direction and the down-scan direction 1516. The speed and direction of motion or heading may be used as a basis for determining vehicle navigation maneuvers, such as Figure 8-14 shown. Hardware Implementation
[0053] The technology described herein is realized by one or more special-purpose computing devices. Special-purpose computing devices can be hard-wired to perform these technologies, or can include circuits or digital electronic devices, such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs), which are permanently programmed to perform these technologies, or can include one or more hardware processors, which are programmed to perform these technologies according to program instructions in firmware, memory, other memories or combinations. This special-purpose computing device can also combine custom hard-wired logic, ASIC or FPGA with custom programming to realize these technologies. Special-purpose computing devices can be desktop computer systems, server computer systems, portable computer systems, handheld devices, network equipment or any other equipment or device combinations, which combine hard-wiring and / or program logic to realize these technologies.
[0054] Computing devices are typically controlled and coordinated by operating system software. An operating system controls and schedules computer processes for execution, performs memory management, provides file system, network, and I / O services, and provides user interface functionality such as a graphical user interface ("GUI").
[0055] Figure 16 16 is a block diagram illustrating a computer system 1600 upon which any of the embodiments described herein may be implemented. In some examples, computer system 1600 may comprise a cloud-based or remote computing system. For example, computer system 1600 may comprise a cluster of machines arranged as a parallel processing infrastructure. Computer system 1600 includes a bus 1602 or other communication mechanism for communicating information, and one or more hardware processors 1604 coupled to bus 1602 for processing information. Hardware processors 1604 may be, for example, one or more general-purpose microprocessors.
[0056] The computer system 1600 also includes a main memory 1606, such as a random access memory (RAM), a cache, and / or other dynamic storage device, coupled to the bus 1602 for storing information and instructions to be executed by the processor 1604. The main memory 1606 may also be used to store temporary variables or other intermediate information during execution of instructions by the processor 1604. When stored in a storage medium accessible to the processor 1604, these instructions present the computer system 1600 as a special-purpose machine customized to perform the operations specified in the instructions.
[0057] Computer system 1600 also includes a read-only memory (ROM) 1608 or other static storage device coupled to bus 1602 for storing static information and instructions for processor 1604. A storage device 1610, such as a magnetic disk, an optical disk, or a USB flash drive (flash drive), is provided and coupled to bus 1602 for storing information and instructions.
[0058] The computer system 1600 can be connected to a display 1612, such as a cathode ray tube (CRT) or LCD display (or touch screen), via bus 1602 for displaying information to a computer user. An input device 1614, including alphanumeric and other keys, is coupled to bus 1602 for communicating information and command selections to processor 1604. Another type of user input device is a cursor control 1616, such as a mouse, trackball, or cursor direction keys, for communicating direction information and command selections to processor 1604 and for controlling cursor movement on display 1612. The input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to specify a position in a plane. In some embodiments, the same direction information and command selection as cursor control can be achieved by receiving touches on a touch screen without a cursor.
[0059] The computing system 1600 may include a user interface module to implement a GUI, which may be stored in a mass storage device as executable software code executed by the computing device. For example, this module and other modules may include components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
[0060] Generally speaking, the term "module" as used herein refers to logic contained in hardware or firmware, or a set of software instructions that may have entry and exit points, which is written in a programming language such as Java, C, or C++. Software modules can be compiled and linked into executable programs and installed in dynamic link libraries, or can be written in interpreted programming languages such as BASIC, Perl, or Python. It should be understood that software modules can be called from other modules or themselves, and / or can be called in response to detected events or interrupts. Software modules configured for execution on a computing device can be provided on a computer-readable medium such as a compact disc, digital video disc, flash drive, disk, or any other tangible medium, or as a digital download (and can be initially stored in a compressed or installable format that requires installation, decompression, or decryption before execution). Such software code can be stored in part or in full on a storage device of the executing computing device for execution by the computing device. Software instructions can be embedded in firmware such as an EPROM. It should also be understood that hardware modules can be composed of connected logic units such as gates and flip-flops, and / or can be composed of programmable units such as a programmable gate array or processor. The modules or computing device functions described herein are preferably implemented as software modules, but may also be represented by hardware or firmware. Generally, a module described herein refers to a logical module that can be combined with other modules or divided into submodules, regardless of its physical organization or storage method.
[0061] Computer system 1600 can implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic that, when combined with the computer system, enables or programs the computer system 1600 to function as a special-purpose machine. According to one embodiment, the techniques described herein are performed by computer system 1600 in response to processor 1604 executing one or more sequences of one or more instructions contained in main memory 1606. Such instructions may be read into main memory 1606 from another storage medium, such as storage device 1610. Execution of the sequences of instructions contained in main memory 1606 causes processor 1604 to perform the process steps described herein. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions.
[0062] As used herein, the term "non-transient media" and similar terms refer to any medium that stores data and / or instructions that cause a machine to operate in a specific manner. Such non-transient media may include non-volatile media and / or 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-transient media include, for example, floppy disks, diskettes, hard disks, solid-state drives, magnetic tape or any other magnetic data storage medium, CD-ROMs, any other optical data storage medium, any physical medium with a pattern of holes, RAM, PROM and EPROM, FLASH-EPROM, NVRAM, any other memory chip or cartridge and network versions thereof.
[0063] Non-transient media are distinct from, but can be used in conjunction with, transmission media. Transmission media participate in the transmission of information between non-transient media. For example, transmission media include coaxial cables, copper wire, and optical fiber, including the wires that comprise bus 1602. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
[0064] Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 1604 for execution. For example, the instructions may initially be stored on a 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 system 1600 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector can receive the data carried in the infrared signal, and appropriate circuitry can place the data on bus 1602. Bus 1602 transfers the data to main memory 1606, from which processor 1604 retrieves and executes the instructions. The instructions received by main memory 1606 can then be retrieved and executed. The instructions received by main memory 1606 may optionally be stored on storage device 1610 before or after execution by processor 1604.
[0065] Computer system 1600 also includes a communication interface 1618 coupled to bus 1602. Communication interface 1618 provides a two-way data communication coupling with one or more network links connected to one or more local networks. For example, communication interface 1618 can be an integrated services digital network (ISDN) card, a cable modem, a satellite modem, or a modem that provides a data communication connection to a corresponding type of telephone line. As another example, communication interface 1618 can be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or a WAN component that communicates with a WAN). Wireless links can also be implemented. In any such embodiment, communication interface 1618 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
[0066] A network link typically provides data communication to other data devices through one or more networks. For example, a network link can provide a connection to a host computer or data equipment operated by an Internet Service Provider (ISP) through a local area network. The ISP, in turn, provides data communication services through the global packet data communication network now commonly referred to as the "Internet." Both local area networks and the Internet use electrical, electromagnetic, or optical signals to carry digital data streams. The signals through the various networks and the signals on the network link and the signals through the communication interface 1618 are example forms of transmission media that transmit digital data to and from the computer system 1600.
[0067] Computer system 1600 can send messages and receive data, including program code, through the network, network link, and communication interface 1618. In the Internet example, a server may send the requested code for an application through the Internet, an ISP, a local network, and communication interface 1618.
[0068] The received code may be executed by processor 1604 as it is received, and / or stored in storage device 1610 or other non-volatile storage for later execution.
[0069] Each process, method, and algorithm described in the preceding sections can be embodied in a code module executed by one or more computer systems or computer processors comprising computer hardware, and fully or partially automated by them. These processes and algorithms can be implemented in part or in whole in dedicated circuits.
[0070] The various features and processes described above can be used independently of each other or in combination in various ways. All possible combinations and sub-combinations are intended to fall within the scope of this disclosure. In addition, certain method or process blocks may be omitted in certain embodiments. The methods and processes described herein are not limited to any particular order, and the blocks or states associated therewith may be performed in other appropriate orders. For example, the blocks or states described may be performed in an order different from that specifically disclosed, or multiple blocks or states may be combined in a single block or state. The example blocks or states may be executed serially, in parallel, or in some other manner. Blocks or states may be added to or deleted from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added, deleted, or rearranged compared to the disclosed example embodiments.
[0071] Conditional language, such as "can," "might," "could," or "might," unless specifically stated otherwise or understood otherwise in the context of use, is generally intended to convey that some embodiments include, while other embodiments do not, certain features, elements, and / or steps. Thus, such conditional language generally does not imply that one or more embodiments require a feature, element, and / or step in any way, nor does it imply that one or more embodiments must include logic for deciding, with or without user input or prompting, whether to include or perform such features, elements, or steps in any particular embodiment.
[0072] Any process description, element or block in the flowcharts described herein and / or shown in the accompanying drawings should be understood to potentially represent a module, segment or portion of code, which includes one or more executable instructions for implementing specific logical functions or steps in the process. Those skilled in the art will understand that alternative embodiments are included within the scope of the embodiments described herein, in which elements or functions can be removed, performed in the order shown or discussed, including substantially simultaneously or in reverse order, depending on the functions involved.
[0073] It should be emphasized that many changes and modifications may be made to the above-described embodiments, and elements thereof should be understood as one of other acceptable examples. All of these modifications and variations are intended to be included within the scope of this disclosure. The above description describes certain embodiments of the present invention in detail. However, it should be understood that no matter how detailed the above is in the text, the present invention can be practiced in many ways. As mentioned above, it should be noted that the use of specific terms in describing certain features or aspects of the present invention should not be taken as implying that the term is redefined herein to include only any specific features of the features or aspects of the present invention associated with the term. Therefore, the scope of the present invention should be interpreted in accordance with the appended claims and any equivalents thereof. language
[0074] In this specification, multiple instances can implement the components, operations or structures described as single instances. Although the individual operations of one or more methods are shown and described as separate operations, one or more separate operations can be performed simultaneously, and it is not required to perform these operations in the order shown. The structure and function presented as separate components in the example configuration can be implemented as a combined structure or component. Similarly, the structure and function presented as a single component can be implemented as a separate component. These and other variations, modifications, additions and improvements belong to the scope of this paper theme.
[0075] Although an overview of the subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to these embodiments without departing from the broader scope of the embodiments of the present disclosure. The term "invention" may be used herein to refer to these embodiments of the subject matter, individually or collectively, for convenience only and is not intended to voluntarily limit the scope of this application to any single disclosure or concept, if in fact multiple are disclosed.
[0076] The embodiments shown herein are described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. Therefore, the detailed description should not be taken in a limiting sense, and the scope of the various embodiments is defined solely by the appended claims and all equivalents to which such claims are entitled.
[0077] It should be understood that "logic," "system," "data store," and / or "database" may include software, hardware, firmware, and / or circuitry. In one example, one or more software programs comprising instructions executable by a processor may perform one or more functions of the data store, database, or system described herein. In another example, circuitry may perform the same or similar functions. Alternative embodiments may include more, fewer, or functionally equivalent systems, data stores, or databases and still be within the scope of the present embodiments. For example, the functions of the various systems, data stores, and / or databases may be combined or partitioned differently.
[0078] This article defines "open source" software as software that permits distribution of source code in both source and compiled form, with widely publicized and indexed means of obtaining the source code, optionally with a license permitting modifications and derivative works.
[0079] The data stores described herein may be of any suitable structure (e.g., active databases, relational databases, self-referential databases, tables, matrices, arrays, flat files, document-oriented storage systems, non-relational No-SQL systems, etc.) and may be cloud-based or otherwise.
[0080] As used herein, the term "or" may be interpreted as inclusive or exclusive. In addition, multiple instances may be provided for the resources, operations, or structures described herein as a single instance. In addition, the boundaries between various resources, operations, and data stores are somewhat arbitrary, and specific operations are described in the context of specific illustrative configurations. Other functional allocations are conceivable and may fall within the scope of the various embodiments of the present disclosure. In general, structures and functions presented as separate resources in the example configurations may be implemented as combined structures or resources. Similarly, structures and functions presented as single resources may be implemented as separate resources. These and other changes, modifications, additions, and improvements fall within the scope of the embodiments of the present disclosure as represented by the appended claims. Accordingly, the specification and drawings should be regarded as illustrative rather than restrictive.
[0081] Although the present invention has been described in detail based on what are currently considered to be the most practical and preferred embodiments, it should be understood that these details are for this purpose only and that the present invention is not limited to the disclosed embodiments. On the contrary, the present invention is intended to cover modifications and equivalent arrangements within the spirit and scope of the appended claims. For example, it should be understood that the present invention contemplates that, to the extent possible, one or more features of any figure or example can be combined with one or more features of any other figure or example. A component implemented as another component can be interpreted as a component that operates in the same or similar manner as another component, and / or a component that includes the same or similar features, characteristics, and parameters as another component.
[0082] The phrases "at least one of," "at least one selected from," or "at least one selected from the group consisting of," etc. should be construed as disjunctive (eg, should not be construed as at least one of A and at least one of B).
[0083] References to "examples" or "examples" throughout this specification mean that a particular feature, structure, or characteristic associated with that example is included in at least one example of the present invention. Thus, appearances of the phrases "in one example" or "in some examples" throughout this specification are not necessarily all referring to the same example, although they may be in some cases. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner across one or more different examples.
Claims
1. A system comprising: one or more processors; and The memory stores instructions that, when executed by the one or more processors, cause the system to: obtaining a signal transmitted from a laser radar; Applying frequency modulation to the signal to generate an up-scan direction and a down-scan direction of the signal, wherein the up-scan direction is symmetrical to the down-scan direction; suppressing a carrier frequency of the signal in response to application of the frequency modulation; In response to suppressing the carrier frequency, applying frequency modulation to the carrier frequency by shifting a local oscillator to change the symmetry between the up-scan direction and the down-scan direction, or adding phase modulation; directing the signal toward a target in response to applying the frequency modulation to the carrier frequency; as well as Based on the frequency of the reflected signal from the target in the upper scanning direction and the lower scanning direction, the speed and the moving direction of the target relative to the laser radar are simultaneously determined. 2 . The system according to claim 1 , wherein the up-scan direction and the down-scan direction have the same slope magnitude, wherein the slope magnitude represents a rate of change of each frequency in the up-scan direction and the down-scan direction over time.
3. The system of claim 2, wherein the change in symmetry comprises moving the local oscillator to increase the slope magnitude in the up-scan direction and to decrease the slope magnitude in the down-scan direction. 4 . The system of claim 1 , wherein simultaneously determining speed and direction of motion is based on a difference between frequencies of the reflected signal in the up-scan direction and the down-scan direction.
5. The system of claim 1, further comprising a directly modulated laser to perform the modulation of the carrier frequency.
6. The system of claim 1, wherein the instructions cause the system to perform adding the phase modulation, the phase modulation comprising phase modulation serrodyne frequency shift (PS-SFS).
7. The system of claim 1 , wherein simultaneously determining the speed and direction of motion of the target relative to the lidar is based on a modulation rate of a sawtooth scan.
8. The system of claim 1 , wherein simultaneously determining the speed and direction of motion of the target relative to the lidar is based on an offset of movement of a local oscillator of the lidar.
9. The system of claim 1, wherein the instructions cause the system to perform vehicle navigation based on the speed and direction of motion of the target.
10. The system of claim 1, wherein the target has a speed of at most 300 kilometers per hour.
11. A computer-implemented method for a computing system, the computer-implemented method comprising: obtaining a signal transmitted from a laser radar; Applying frequency modulation to the signal to generate an up-scan direction and a down-scan direction of the signal, wherein the up-scan direction is symmetrical to the down-scan direction; suppressing a carrier frequency of the signal in response to application of the frequency modulation; In response to suppressing the carrier frequency, applying frequency modulation to the carrier frequency by shifting a local oscillator to change the symmetry between the up-scan direction and the down-scan direction, or adding phase modulation; directing the signal toward a target in response to applying the frequency modulation to the carrier frequency; as well as Based on the frequency of the reflected signal from the target in the upper scanning direction and the lower scanning direction, the speed and the moving direction of the target relative to the laser radar are simultaneously determined.
12. The computer-implemented method of claim 11, wherein the up-scan direction and the down-scan direction have the same slope magnitude, wherein the slope magnitude represents a rate of change of respective frequencies in the up-scan direction and the down-scan direction over time.
13. The computer-implemented method of claim 12, wherein the changing of the symmetry comprises moving the local oscillator to increase the slope magnitude in the up-scan direction and to decrease the slope magnitude in the down-scan direction.
14. The computer-implemented method of claim 11, wherein simultaneously determining speed and direction of motion is based on a difference between frequencies of the reflected signal in the up-scan direction and the down-scan direction.
15. The computer-implemented method of claim 11, wherein the modulation of the carrier frequency is performed by directly modulating a laser.
16. The computer-implemented method of claim 11, further comprising adding the phase modulation, the phase modulation comprising phase modulated serrodyne frequency shift (PS-SFS).
17. The computer-implemented method of claim 11, wherein simultaneously determining the velocity and direction of motion of the target relative to the lidar is based on a modulation rate of a sawtooth scan.
18. The computer-implemented method of claim 11, wherein simultaneously determining the velocity and direction of motion of the target relative to the lidar is based on an offset of movement of a local oscillator of the lidar.
19. The computer-implemented method of claim 11, further comprising navigating a vehicle based on the speed and direction of motion of the target.
20. The computer-implemented method of claim 11, wherein the target has a speed of at most 300 kilometers per hour.