Rail detection line laser detection equipment time service method and device, medium and product
By combining a pulse distributor and a combined navigation module, high-precision time synchronization between the line laser device and the combined navigation system is achieved, solving the problem that the line laser device cannot directly obtain satellite time synchronization, and ensuring accurate alignment and high-precision time calibration of orbit detection data.
Patent Information
- Application Number
- CN202611175960.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-04
- Publication Date
- 2026-11-06
AI Technical Summary
Existing technologies make it difficult to achieve high-precision time synchronization between line laser devices that lack satellite signal reception capabilities and integrated navigation systems, resulting in inaccurate alignment of orbit detection data.
The pulse signal generated by the odometer encoder is copied into a first pulse sequence signal and a second pulse sequence signal with one-to-one correspondence by the pulse distributor. The first signal triggers the laser device group to perform scanning, and the second signal is bound to the satellite time synchronization. By combining the data from the odometer encoder and the integrated navigation module, the contour measurement data and pulse time data are matched and bound.
Without increasing hardware costs, high-precision time synchronization between the line laser device and the integrated navigation system was achieved, ensuring accurate alignment and high-precision time calibration of track detection data.
Smart Images

Figure CN123046916A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of rail transit inspection technology, specifically to a timing method, device, medium, and product for laser inspection equipment on rail inspection lines. Background Technology
[0002] Heavy-haul railway tracks are subjected to heavy axle loads and high-capacity loads over long periods. Surface wear, cracks, and deformation directly affect train safety, necessitating high-precision, high-frequency detection systems. Such systems must integrate multi-source data, including line laser profiling, lidar point clouds, and integrated navigation positioning, to output "spatiotemporally unified" results. This means each detection data point must correspond to a precise mileage and timestamp to complete defect location and data stitching. High-precision time synchronization between the line laser equipment and the integrated navigation system is a core prerequisite for this.
[0003] For time synchronization, a common practice is to integrate satellite signal receiving modules into each detection device. Each device independently receives and parses the time synchronization signal from the satellite positioning signal, and then labels the data it collects according to the parsed satellite time. This allows each device to complete time calibration during the acquisition process, achieving data alignment under a unified satellite time reference.
[0004] However, the line laser equipment used for contour acquisition lacks satellite signal reception and analysis capabilities, making it impossible to directly obtain a unified time synchronization. Without adding a satellite receiving module and avoiding additional hardware costs and modifications, existing solutions struggle to solve the high-precision time synchronization problem between "line laser equipment that does not support GPS time reception" and the "integrated navigation system." Summary of the Invention
[0005] This application provides a time synchronization method, device, medium, and product for a line laser detection device for track inspection, in order to solve the problem of high-precision time synchronization between line laser devices that do not support GPS time reception and integrated navigation systems.
[0006] In a first aspect, this application provides a timing method for a laser detection device for a track inspection line, comprising the following steps: Acquire the pulse signals generated by the mileage encoder corresponding to the travel mileage as the detection train travels; The pulse signal is copied into a first pulse sequence signal and a second pulse sequence signal by a pulse distributor, and each pulse in the first pulse sequence signal and each pulse in the second pulse sequence signal correspond one-to-one. The first pulse sequence signal is input into the line laser detection equipment group so that the line laser detection equipment group performs a contour scan with the same scanning frequency as the first pulse sequence signal to obtain a contour measurement data packet. Each contour measurement data in the contour measurement data packet corresponds one-to-one with each pulse of the first pulse sequence signal. Receive and parse satellite positioning signals to obtain positioning time data packets carrying satellite timing information; Each pulse in the second pulse sequence signal is bound to each positioning time data in the positioning time data packet to obtain the pulse time data packet; Based on the correspondence between each pulse in the first pulse sequence signal and the second pulse sequence signal, the contour measurement data are matched and bound with the pulse time data in the pulse time data packet to complete the time synchronization.
[0007] Optionally, the line laser inspection equipment group includes at least two line laser inspection devices, and the method further includes the following steps: The same pulse sequence number is set for the corresponding pulses in the first pulse sequence signal and the second pulse sequence signal, and each pulse sequence number is bound to the corresponding satellite time synchronization time. Each pulse corresponds to a fixed mileage increment, and the cumulative mileage corresponding to the current pulse sequence number is the sum of the cumulative mileage corresponding to the previous pulse sequence number and the mileage increment. The total number of pulses accumulated by the second pulse sequence signal is used as the baseline count, and the trigger count accumulated by each laser detection device on the line when triggered by the first pulse sequence signal is obtained. When the satellite timing times corresponding to any two line laser detection devices are equal, the cumulative driving mileage is equal, and the reference count and the trigger count are consistent at the target time, the data matching is considered successful. When the reference count and trigger count of two line laser detection devices are inconsistent, the laser scanning of the line laser detection device is paused, and the count is recalibrated by going back to the satellite timing time corresponding to the pulse sequence number where the reference count and trigger count are consistent.
[0008] Optionally, the positioning time data in the positioning time data packet may also include the detection of the train's satellite positioning position, and the method may further include: Based on the satellite positioning positions carried by two adjacent positioning time data, the first travel distance of the detection train between two adjacent satellite timing times is determined; Based on the number of pulses in the second pulse sequence signal located between two adjacent satellite timing times and the mileage increment corresponding to a single pulse, the second travel distance of the detection train between two adjacent satellite timing times is determined. When the deviation between the first travel distance and the second travel distance exceeds the preset distance deviation threshold, the pulse in the second pulse sequence signal located between two adjacent satellite timing times is identified as an abnormal pulse; The ratio of the first driving distance to the number of abnormal pulses is used as the corrected driving mileage increment corresponding to a single abnormal pulse. Based on the corrected mileage increment, the cumulative mileage corresponding to the abnormal pulse is re-determined.
[0009] Optionally, the method may also include the following steps: When the difference in cumulative mileage between two adjacent contour measurement data exceeds a preset mileage difference threshold, or the difference in attitude angle between two adjacent attitude measurement data exceeds a preset attitude angle threshold, the matching of contour measurement data and pulse time data is deemed invalid, and the invalid contour measurement data is discarded.
[0010] Optionally, the method also includes: The current speed of the detected train is determined based on the time interval between adjacent pulses in the first pulse sequence signal. Based on the current driving speed and the preset scanning delay, determine the driving mileage compensation amount for the contour measurement data; By using the mileage compensation amount, the cumulative mileage corresponding to the pulse time data matched and bound to the contour measurement data is corrected to obtain the corrected mileage of the contour measurement data.
[0011] Optionally, each pulse in the second pulse sequence signal is bound to each positioning time data in the positioning time data packet to obtain the pulse time data packet, including: Obtain the satellite timing time corresponding to two adjacent positioning time data from the positioning time data packet, and form a timing time interval with two adjacent satellite timing times; By statistically analyzing the pulses in the second pulse sequence signal that fall within the time interval, the target pulses that fall within the time interval and the pulse arrangement order of each target pulse are obtained. Based on the duration of the time interval and the number of target pulses, determine the time interval increment between adjacent target pulses within the time interval; Based on the satellite time synchronization time at the start of the time synchronization interval, the time synchronization time increment, and the pulse arrangement order of each target pulse, the time synchronization time of each target pulse is determined sequentially. Each target pulse is bound to its corresponding timing time to obtain a pulse time data packet.
[0012] Optionally, the time interval can be formed by two adjacent satellite time synchronization times, including: Calculate the average time interval of satellite time synchronization based on the satellite time synchronization time corresponding to each positioning time data in the positioning time data packet; When the time interval between the time of any target satellite and the time of the adjacent previous satellite exceeds the preset error threshold relative to the average time interval, the time of the target satellite is determined to be an abnormal time and is removed. Based on the remaining valid satellite time after removing abnormal time synchronization times, a time synchronization interval is formed by sequentially combining two adjacent valid satellite time synchronization times.
[0013] Secondly, this application provides a timing device for a laser detection equipment for a track detection line, comprising: a pulse distributor, a combined navigation module, a time recording module, and a data processing module; The pulse distributor is connected to the odometer encoder, and the pulse distributor is connected to the line laser detection equipment group and the time recording module respectively. The combined navigation module is connected to the time recording module, and the time recording module and the line laser detection equipment group are connected to the data processing module respectively. The mileage encoder is rigidly connected to the wheel axle of the test train via a coupling, and is used to generate pulse signals corresponding to the mileage traveled based on the movement of the test train. The pulse distributor is used to copy the pulse signal into a first pulse sequence signal and a second pulse sequence signal, with each pulse in the first pulse sequence signal and the second pulse sequence signal corresponding one-to-one. The line laser detection equipment group is used to receive the first pulse sequence signal, perform contour scanning with the same scanning frequency as the first pulse sequence signal, and acquire contour measurement data packets. Each contour measurement data in the contour measurement data packet corresponds one-to-one with each pulse of the first pulse sequence signal. The integrated navigation module is used to receive and parse satellite positioning signals to obtain positioning time data packets carrying satellite timing information; The time recording module is used to receive the second pulse sequence signal and the positioning time data packet, and bind each pulse in the second pulse sequence signal with each positioning time data in the positioning time data packet to obtain the pulse time data packet; The data processing module is used to receive contour measurement data packets and pulse time data packets. Based on the correspondence between each pulse in the first pulse sequence signal and the second pulse sequence signal, it matches and binds each contour measurement data with each pulse time data in the pulse time data packet to complete the time synchronization.
[0014] Thirdly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on a timing device of a track inspection line laser inspection equipment, cause the timing device to perform the method described in the first aspect and any possible implementation thereof.
[0015] Fourthly, embodiments of this application provide a computer program product containing instructions that, when the computer program product is run on a timing device of a laser detection equipment for a track inspection line, cause the timing device of the laser detection equipment for a track inspection line to perform the method described in the first aspect and any possible implementation thereof.
[0016] In summary, one or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages: 1. By adopting the above technical solution, the pulse distributor replicates the pulse signal generated by the odometer encoder into a one-to-one corresponding first pulse sequence signal and a second pulse sequence signal. The first pulse sequence signal triggers the laser detection equipment group to perform contour scanning at the same scanning frequency, so that each contour measurement data corresponds one-to-one with the first pulse; the second pulse sequence signal is bound to the positioning time data carrying satellite timing to obtain a pulse time data packet. By using the one-to-one correspondence between the two pulses to match and bind each contour measurement data with the pulse time data, the contour measurement data can obtain timing results without needing to receive satellite signals itself, and simultaneously possesses dual coordinate attributes of odometer and time.
[0017] 2. Using the above technical solution, the two pulse paths are assigned the same pulse sequence number and bound to the satellite time synchronization, making the pulse sequence number a unified index with both mileage and time meanings. The cumulative mileage of the current pulse sequence number is obtained by adding the cumulative mileage of the previous pulse sequence number to the mileage increment. The cumulative total of the second pulse path is used as the baseline count, and the trigger counts of each laser detection device are collected. When the satellite time synchronization, cumulative mileage, baseline count, and trigger count are all consistent, a successful match is determined. If they are inconsistent, the scanning is paused and the process is backtracked to the consistent pulse sequence number for recalibration, thereby identifying missed or misaligned trigger counts of multiple devices and restoring count consistency.
[0018] 3. Using the above technical solution, the first driving distance is determined based on the positioning positions of adjacent satellites, and the second driving distance is determined based on the number of pulses between the timing times of adjacent satellites and the increase in driving mileage. These two independent sources are used for cross-verification. When the deviation exceeds a threshold, abnormal pulses are identified, and the ratio of the first driving distance to the number of abnormal pulses is used as the correction increment to re-determine the cumulative driving mileage. Simultaneously, invalid matching data where the difference in cumulative driving mileage or attitude angle exceeds a threshold are discarded, and the driving mileage compensation amount is obtained based on the time interval between adjacent pulses and the scanning delay. This solution verifies and compensates for each item in the mileage calibration, matching results, and scanning delay, improving the accuracy of mileage assignment in contour measurement data.
[0019] 4. Using the above technical solution, a time interval is formed by the time synchronization times of two adjacent satellites. The time synchronization increment is determined based on the interval length and the number of pulses falling within the interval. Then, the time synchronization time of each target pulse is determined sequentially based on the satellite time synchronization time at the start of the interval, the time synchronization increment, and the pulse arrangement order of each target pulse. This ensures that the pulse timing accuracy is no longer limited by the sampling interval of the satellite time synchronization time. Before forming the interval, the average time synchronization time interval is calculated. When the time synchronization error of a satellite time synchronization time exceeds a preset error threshold, it is judged as an abnormal time synchronization time and removed. The remaining valid satellite time synchronization times are then used to form the interval, ensuring that the time synchronization times of each target pulse are evenly distributed and consistent with the valid satellite time synchronization times. Attached Figure Description
[0020] Figure 1 This is a schematic flowchart of a time synchronization method for a laser detection device for a track detection line in an embodiment of this application; Figure 2 This is another schematic diagram of the timing method of the laser detection equipment for track detection lines in the embodiments of this application; Figure 3 This is a schematic diagram of a system structure of the timing device of the laser detection equipment for the track detection line in this application embodiment; Figure 4 This is a schematic diagram of a system structure of a pulse distributor in an embodiment of this application. Detailed Implementation
[0021] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0022] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.
[0023] In the description of the embodiments of this application, the term "multiple" means two or more. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined as "first," "second," or "third" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0024] This application provides a timing method for laser detection equipment on a track inspection line, with reference to... Figure 1 , Figure 1 This is a flowchart of a time synchronization method for a laser detection device for a track detection line, provided in an embodiment of this application. The method includes: Step S101: Obtain the pulse signal corresponding to the travel mileage generated by the mileage encoder as the detection train travels; In this context, a mileage encoder is a measuring component installed on the axle of the inspection train, generating pulse signals as the wheels rotate. For example, an incremental photoelectric mileage encoder can achieve a resolution of 1000 pulses / meter, meaning the inspection train generates 1000 pulses for every meter it travels. The inspection train is a vehicle carrying the laser inspection equipment set and traveling along the track to complete track inspection operations. Mileage refers to the cumulative distance traveled by the inspection train along the track from the inspection starting point; for example, the inspection train traveling 5 meters or 100 meters. A pulse signal is an electrical signal composed of a series of discrete pulses, where the number of pulses is proportional to the mileage traveled, and the pulse frequency is proportional to the speed of the inspection train.
[0025] Specifically, this step is performed when the inspection train starts its inspection operation and begins to travel along the track. During the inspection train's movement, the wheels rotate forward with the track, and the mileage encoder, which is rigidly connected to the wheel axle, rotates synchronously. Every time the wheel rotates a certain angle, the mileage encoder outputs a pulse.
[0026] It is important to emphasize that the odometer encoder outputs pulses based on the distance traveled, not time. It generates as many pulses as it detects the distance the train has traveled; the faster the train travels, the more frequent the pulses, and the slower the train travels, the more sparse the pulses. There are no pulses when the train is stationary. It is this characteristic of "generating pulses based on mileage" that allows the pulse signal to naturally carry mileage information, while its frequency adapts to the train's speed.
[0027] Taking a mileage encoder with a resolution of 1000 pulses / meter as an example, when the detected train travels 10 meters, the encoder outputs a total of 10,000 pulses; when the travels 100 meters, it outputs a total of 100,000 pulses. It is clear that the cumulative number of pulses is strictly linked to the mileage. Regarding frequency, when the detected train travels at 10 km / h (approximately 2.78 m / s), the encoder outputs approximately 2780 pulses per second, with a pulse frequency of approximately 2.78 kHz; when accelerating to 20 km / h, it outputs approximately 5560 pulses per second, with a pulse frequency of approximately 5.56 kHz; when decelerating or stopping, the pulse frequency decreases until there are no pulses output.
[0028] If traditional fixed time interval trigger detection is used, the sampling points will be sparse in the mileage direction when the detection train is traveling at high speed and too dense at low speed, resulting in inconsistent cross-sectional density measured at different speeds for the same track section. This step directly converts the mileage into a pulse signal, creating conditions for subsequent pulse-triggered scanning, fundamentally switching the "sampling interval" from the time dimension to the mileage dimension.
[0029] Step S102: The pulse signal is copied into a first pulse sequence signal and a second pulse sequence signal by a pulse distributor, and each pulse in the first pulse sequence signal and each pulse in the second pulse sequence signal correspond one-to-one. The pulse distributor is a component that replicates the single pulse signal output from the odometer encoder into two separate pulse signals and outputs them separately. The first pulse sequence signal is the one output by the pulse distributor, used to input the line laser detection equipment group to trigger contour scanning. The second pulse sequence signal is the other pulse signal output by the pulse distributor, used to bind with satellite time synchronization for time recording. A one-to-one correspondence means that each pulse in the first pulse sequence signal corresponds to one pulse in the second pulse sequence signal, and the two pulse signals are completely identical in pulse quantity and order.
[0030] Specifically, this step is used to split a single pulse signal into two. After receiving the pulse signal output by the odometer encoder, the pulse distributor copies the pulse signal to obtain a first pulse sequence signal and a second pulse sequence signal with the same waveform. The two pulse sequence signals are then output to different receiving ends. The first pulse sequence signal is output to the line laser detection equipment group, and the second pulse sequence signal is output to the receiving end used for recording time.
[0031] The reason for copying the same pulse signal into two separate signals instead of using them separately is to ensure that the "pulse that triggers the scan" and the "pulse that records the time" share the same physical source. Since both pulse sequence signals are copied from the same pulse signal, whenever the odometer encoder generates a pulse, the pulse distributor outputs a corresponding pulse from both the first and second pulse sequence signals. The number of pulses, their generation time, and their order are completely consistent in both pulse sequence signals.
[0032] For example, when the odometer encoder generates the first pulse, the first pulse appears simultaneously in both pulse sequence signals; when it generates the 500th pulse, the 500th pulse appears simultaneously in both signals; when it generates the 2780th pulse, the 2780th pulse appears simultaneously in both signals.
[0033] In this way, the pulse that triggers the scan and the pulse that records the time are actually generated at the same time and at the same mileage position, with extremely low transmission delay or timing deviation between the two, making the correspondence between "contour data" and "time data" more reliable.
[0034] If the first and second paths are generated independently, clock drift or delay inconsistency will inevitably occur between the two signals, which will eventually cause the contour data to be misaligned with its actual time. The replication method in this step avoids this problem from the source.
[0035] Step S103: Input the first pulse sequence signal into the line laser detection equipment group so that the line laser detection equipment group performs contour scanning with the same scanning frequency as the first pulse sequence signal to obtain contour measurement data packets. Each contour measurement data in the contour measurement data packets corresponds one-to-one with each pulse of the first pulse sequence signal. A line laser inspection equipment group refers to a set of devices consisting of one or more line laser inspection devices used to perform contour scanning of a track and output measurement data. Contour scanning refers to the action of the line laser inspection device measuring the contour of the track cross-section. Contour measurement data refers to the measurement results obtained from a single contour scan, such as the coordinate data of each measurement point on the track cross-section. A contour measurement data package refers to a data set consisting of multiple contour measurement data.
[0036] Specifically, the first pulse sequence signal is input into the line laser detection equipment group as an external trigger signal for the line laser detection equipment group. The line laser detection equipment group uses the pulse of the first pulse sequence signal as the trigger condition, and performs a contour scan once for each pulse received. Therefore, the scanning frequency of the line laser detection equipment group is the same as the frequency of the first pulse sequence signal, which is adapted to the travel speed of the detection train.
[0037] For example, when the frequency of the first pulse sequence signal is 2.78kHz, the line laser detection equipment group performs approximately 2780 contour scans per second; when the frequency increases to 5.56kHz as the detection train accelerates, the scanning frequency increases to approximately 5560 scans per second; when the frequency decreases as the detection train decelerates, the scanning frequency also decreases.
[0038] This "pulse-triggered" scanning method allows the scanning rhythm to follow the mileage: when the detection train is running fast, the pulse density is increased and the scanning frequency is automatically increased; when it is running slowly, the pulse density is decreased and the scanning frequency is automatically reduced. Therefore, no matter how the train speed fluctuates, the mileage corresponding to two adjacent contour scans is always equal, and the contour measurement data is evenly distributed in the mileage direction, without the uneven density that occurs when the fixed time is triggered.
[0039] Each time the line laser inspection equipment group performs a contour scan, it outputs one contour measurement data. Multiple contour measurement data outputs from multiple scans constitute a contour measurement data packet. Since each contour measurement data is triggered by a pulse in the first pulse sequence signal, each contour measurement data in the contour measurement data packet corresponds one-to-one with each pulse in the first pulse sequence signal. For example, the first pulse corresponds to the first contour measurement data, the 300th pulse corresponds to the 300th contour measurement data, and the 2780th pulse corresponds to the 2780th contour measurement data.
[0040] This correspondence connects with the one-to-one correspondence between the two pulses in step S102, making the contour measurement data not only uniform in mileage, but also traceable to the second pulse of the same origin via the first pulse, thus laying the groundwork for matching each contour data with an accurate satellite timing time.
[0041] Step S104: Receive and parse the satellite positioning signal to obtain a positioning time data packet carrying the satellite timing time; The integrated navigation module refers to the component that receives satellite positioning signals and outputs positioning data and timing information accordingly. For example, it might be a positioning and timing module that receives BeiDou or GPS signals. The frequency at which this module outputs positioning data is typically a fixed value, such as 1Hz, 10Hz, or 100Hz. This frequency is determined by the module itself and is independent of the satellite broadcast signals. Satellite positioning signals are radio signals broadcast from satellites to the ground for positioning and timing purposes. Satellite timing information refers to the highly accurate absolute time calculated by the integrated navigation module based on satellite positioning signals, such as Coordinated Universal Time (UTC) accurate to microseconds. Positioning time data refers to a single data entry carrying a satellite timing time each time the integrated navigation module receives a satellite positioning signal; it usually also includes the current geographical coordinates of the detected train. A positioning time data packet is a collection of multiple positioning time data entries.
[0042] Specifically, this step can be executed in parallel with steps S101 to S103 without interfering with each other. During the train's operation, the integrated navigation module continuously receives satellite positioning signals and periodically outputs positioning time data according to the output frequency of the satellite positioning signals. Each piece of positioning time data is locked to a high-precision satellite time synchronization.
[0043] For example, when the satellite positioning signal output frequency is 1Hz, the integrated navigation module outputs one positioning time data per second, accumulating 60 data points per minute. The satellite timing time carried by each data point differs by approximately one second. It is important to note that these positioning time data are generated according to a fixed time rhythm and are unrelated to the distance the train has traveled—this complements the "pulse generation according to mileage" step S101: one path provides a uniform mileage scale, while the other provides a precise absolute time scale.
[0044] Step S105: Bind each pulse in the second pulse sequence signal to each positioning time data in the positioning time data packet to obtain the pulse time data packet; Among them, pulse time data refers to a single data point carrying time information obtained by binding a pulse in the second pulse sequence signal with the satellite time synchronization time. Pulse time data packet refers to a data set composed of multiple pulse time data points. Binding refers to determining the corresponding satellite time synchronization time for each pulse in the second pulse sequence signal based on the positioning time data in the positioning time data packet, and associating the pulse with that satellite time synchronization time.
[0045] Specifically, this step is performed after acquiring the second pulse sequence signal and the positioning time data packet. As mentioned earlier, the pulses in the second pulse sequence signal are generated according to mileage, and the data in the positioning time data packet is generated according to time. The density of these two pulses varies with the speed of the detected train, the resolution of the mileage encoder, and the output frequency of the satellite positioning signal, thus resulting in two scenarios.
[0046] In the first scenario, the pulse density of the second pulse sequence signal is no higher than the data density of the positioning time data packet, meaning that positioning time data corresponding to the moment each pulse is generated can be found. In this case, the positioning time data closest to the moment of each pulse is selected, and the satellite timing time carried by that positioning time data is assigned to the pulse to obtain the corresponding pulse time data. For example, if the odometer encoder resolution is 1 pulse / meter and the detection train is traveling at 5 m / s, the pulse frequency of the second pulse sequence signal is only 5 Hz, while the positioning data output frequency of the integrated navigation module is 100 Hz. Therefore, there is ample positioning time data available near the moment each pulse is generated, and the nearest available data can be directly used.
[0047] In the second scenario, the pulse density of the second pulse sequence signal is higher than the data density of the positioning time data packet. This means there are multiple pulses between the satellite timing data carried by two adjacent positioning time data sets. For example, if the odometer encoder resolution is 1000 pulses / meter and the test train is traveling at 10 km / h, the pulse frequency of the second pulse sequence signal is approximately 2.78 kHz, while the positioning data output frequency of the integrated navigation module is only 1 Hz. Therefore, there are approximately 2780 pulses between two adjacent positioning time data sets, making it impossible to directly find the corresponding positioning time data for each pulse. This situation is most common in actual testing operations because, to ensure sampling density in the odometer direction, the odometer encoder resolution is often very high, and the pulse frequency is much higher than the output frequency of the satellite positioning signal.
[0048] For the second scenario, a specific scheme for determining the corresponding satellite time synchronization for each pulse is provided. The following scheme can be referenced. Optionally, step S105 can be referenced as follows: Obtain the satellite timing time corresponding to two adjacent positioning time data from the positioning time data packet, and form a timing time interval with two adjacent satellite timing times; By statistically analyzing the pulses in the second pulse sequence signal that fall within the time interval, the target pulses that fall within the time interval and the pulse arrangement order of each target pulse are obtained. Based on the duration of the time interval and the number of target pulses, determine the time interval increment between adjacent target pulses within the time interval; Based on the satellite time synchronization time at the start of the time synchronization interval, the time synchronization time increment, and the pulse arrangement order of each target pulse, the time synchronization time of each target pulse is determined sequentially. Each target pulse is bound to its corresponding timing time to obtain a pulse time data packet.
[0049] For the second scenario, where the pulse density of the second pulse sequence signal is higher than the data density of the positioning time data packet, and there are multiple pulses between two adjacent positioning time data packets, the following scheme can be used to determine the corresponding satellite timing time for each pulse. The core idea is: since there are many pulses between two adjacent positioning time data packets, it is impossible to directly use the nearest satellite timing time for each pulse. Therefore, the satellite timing time corresponding to these two positioning time data packets is used as the endpoint. Within the time interval formed by these two packets, interpolation is performed according to the order of the pulses, thereby calculating the respective timing time for each pulse within the interval.
[0050] First, the satellite timing times corresponding to two adjacent positioning time data points are extracted from the positioning time data packet. These two satellite timing times form a timing interval. The start point of this interval is the earlier satellite timing time, and the end point is the later satellite timing time. The interval length is the difference between the two. For example, when the satellite positioning signal output frequency is 1Hz, if the satellite timing times corresponding to two adjacent positioning time data points are 10:00:00.000000 and 10:00:01.000000, then these two times form a timing interval with a start point of 10:00:00.000000, an end point of 10:00:01.000000, and a duration of 1 second. This interval is the "time container" for the subsequent interpolation.
[0051] Next, the pulses within the timing interval of the second pulse sequence signal are counted to obtain the target pulses falling into the interval, and the pulse order of each target pulse is recorded. The pulse order refers to the sequence number of the target pulses within the interval according to their order of generation. For example, the first pulse generated in the interval is numbered 1, the second is numbered 2, and so on. Continuing the previous example, if the odometer encoder resolution is 1000 pulses / meter, the detection train is traveling at 10 km / h, and the frequency of the second pulse sequence signal is approximately 2.78 kHz, then approximately 2780 target pulses will fall within this 1-second interval, with their order from 1 to 2780. This step clarifies exactly how many pulses are contained within this time interval and their respective positions.
[0052] Next, based on the duration of the timing interval and the number of pulses falling within the interval, the timing increment between adjacent target pulses within the interval is determined. Since the second pulse sequence signal is generated at equal mileage intervals, and the train speed detected within the same short interval can be approximated as constant, it can be assumed that the pulses within the interval are approximately uniformly distributed in time. Therefore, the time increment between adjacent pulses is obtained by dividing the interval duration by the number of pulses. Using the previous example, with an interval duration of 1 second and approximately 2780 pulses falling within the interval, the timing increment between two adjacent target pulses is approximately 1 second ÷ 2780 ≈ 359.7 microseconds. This increment is equivalent to dividing the entire interval duration equally among the pulses, obtaining the time elapsed for each advancing pulse.
[0053] Then, based on the satellite time synchronization at the start of the time synchronization interval, the aforementioned time synchronization increment, and the pulse arrangement order of each target pulse, the time synchronization time is calculated for each target pulse in turn. Specifically, the time synchronization time of a target pulse is equal to the satellite time synchronization at the start of the interval, plus the product of the time synchronization increment and the pulse arrangement order. Continuing the previous example, the starting satellite time synchronization time is 10:00:00.000000, with an increment of approximately 359.7 microseconds: the target pulse with arrangement order 1 has a time synchronization time of approximately 10:00:00.000360; the target pulse with arrangement order 2 has a time synchronization time of approximately 10:00:00.000719; and the target pulse with arrangement order 2780 has a time synchronization time of approximately 10:00:01.000000, which falls exactly near the end of the interval. In this way, the numerous pulses that were originally squeezed between two positioning time data points and whose absolute time could not be directly obtained are all given time synchronization times accurate to the microsecond level through interpolation.
[0054] Finally, each target pulse is bound to the calculated timing time to obtain the pulse time data within that interval. By sequentially constructing timing time intervals from all adjacent positioning time data in the positioning time data packet and repeating the above process, all pulses in the second pulse sequence signal can be covered, ultimately resulting in a pulse time data packet. The technical advantage of this scheme is that even if the pulse frequency is much higher than the output frequency of the satellite positioning signal, and it is impossible to assign an independent satellite timing time to each pulse, it can still use linear interpolation between adjacent satellite timing times to assign high-precision timing times to each high-density pulse. This retains the dense sampling advantage brought by the high resolution of the odometer encoder, and ensures that each pulse and even each subsequent contour measurement data associated with it obtains a unified, continuous, and precise absolute time reference.
[0055] Furthermore, before constructing a time interval using the time synchronization times of two adjacent satellites, it is necessary to verify the validity of the time synchronization times output by the integrated navigation module. This is because, in actual operation, the integrated navigation module may be affected by factors such as obstruction, multipath effects, signal loss, or brief satellite loss, causing jumps or offsets in the satellite time synchronization times carried by individual positioning time data. If these abnormal satellite time synchronization times are directly used to construct the time interval, it will lead to distortion of the interval duration, thereby causing an overall offset in the interpolated time synchronization times of all pulses within the interval. Therefore, removing abnormal time synchronization times before constructing the time interval is a prerequisite for ensuring the accuracy of the interpolation results. The following scheme can be used to complete this verification and removal.
[0056] Optionally, the time interval can be formed by the time synchronization times of two adjacent satellites. See the following scheme for details: Calculate the average time interval of satellite time synchronization based on the satellite time synchronization time corresponding to each positioning time data in the positioning time data packet; When the time interval between the time of any target satellite and the time of the adjacent previous satellite exceeds the preset error threshold relative to the average time interval, the time of the target satellite is determined to be an abnormal time and is removed. Based on the remaining valid satellite time after removing abnormal time synchronization times, a time synchronization interval is formed by sequentially combining two adjacent valid satellite time synchronization times.
[0057] First, the average time interval of satellite time synchronization is calculated based on the satellite time synchronization time corresponding to each positioning time data in the positioning time data packet. Since satellite positioning signals should be output stably at a fixed frequency, the interval between adjacent satellite time synchronization times should normally be roughly constant. Therefore, using the average of all adjacent satellite time synchronization time intervals as a benchmark reflects the "normal" rhythm of satellite time synchronization during this detection. For example, if the satellite positioning signal output frequency is specified as 1Hz and 100 positioning time data are acquired, the normal adjacent interval should be around 1 second. The calculated average time synchronization time interval is approximately 1 second, and this value serves as a reference for subsequent judgments regarding whether each interval is abnormal.
[0058] Secondly, the actual time interval between each satellite's timing time and its preceding adjacent satellite's timing time is examined one by one, and this interval is compared with the average timing interval to calculate the timing error. When the timing error between a target satellite's timing time and its preceding satellite's timing time, relative to the average timing interval, exceeds a preset error threshold, the target satellite's timing time is determined to be an abnormal timing time and is discarded. The preset error threshold is a pre-set critical value used to define whether the interval deviation is acceptable. It can be set according to the stability and accuracy requirements of the integrated navigation module, for example, set to 10% of the average timing interval. Following the previous example, with an average time interval of 1 second and an error threshold of 10% (i.e., 0.1 seconds): if the actual interval between a satellite's time synchronization and the previous satellite's time synchronization is 1.00002 seconds, the deviation is only 20 microseconds, which is within the normal jitter range of GNSS time synchronization and does not exceed the threshold, then it is considered normal and retained. If a satellite's time synchronization is relocked after signal loss, and the actual interval between it and the previous satellite's time synchronization reaches 3 seconds, equivalent to the loss of approximately 2 positioning time data (i.e., 2 satellite time synchronizations), the deviation is as high as 2 seconds, far exceeding the 0.1-second threshold, then the target satellite's time synchronization is determined to be abnormal and removed. Through this comparison, satellite time synchronizations that jump due to signal anomalies are identified and excluded.
[0059] Finally, based on the remaining valid satellite timekeeping times after removing abnormal timekeeping times, adjacent valid satellite timekeeping times are sequentially combined to form a timekeeping interval. Here, "adjacent" refers to two immediately preceding and following satellite timekeeping times in the remaining valid satellite timekeeping time sequence after removing abnormal timekeeping times, not adjacent in the original sequence. That is, if the original k-th satellite timekeeping time is determined to be abnormal and removed, the (k-1)-th valid satellite timekeeping time will directly form a timekeeping interval with the (k+1)-th valid satellite timekeeping time. The length of this interval is approximately twice the average timekeeping interval. Although this process lengthens some timekeeping intervals, because both endpoints are reliable valid satellite timekeeping times, the interpolated timekeeping times of pulses within the interval remain accurate, avoiding the overall time deviation introduced by using abnormal timekeeping times as endpoints.
[0060] The technical advantage of this scheme is that by introducing the average time interval as a benchmark and filtering out abrupt satellite time intervals with a preset error threshold, the endpoints used to construct the time interval are always reliable and valid satellite time intervals. This ensures the accuracy and continuity of subsequent pulse time interval interpolation. Even if the integrated navigation module experiences a brief signal anomaly during the detection process, it will not contaminate the absolute time benchmark of the entire contour measurement data.
[0061] Step S106: Based on the correspondence between each pulse in the first pulse sequence signal and the second pulse sequence signal, match and bind each contour measurement data with each pulse time data in the pulse time data packet to complete the time synchronization. Among them, the contour measurement data carrying satellite time refers to the data obtained by associating the contour measurement data with its corresponding satellite time. It includes both the contour measurement results of the orbital section and the absolute time corresponding to the contour scan. Association means finding and attaching the corresponding satellite time to each contour measurement data based on the one-to-one correspondence between the two pulse sequence signals.
[0062] Specifically, as shown in step S103, each contour measurement data in the contour measurement data packet corresponds one-to-one with each pulse of the first pulse sequence signal; as shown in step S105, each pulse time data in the pulse time data packet is derived from each pulse of the second pulse sequence signal bound to the satellite timing time; and as shown in step S102, each pulse of the first pulse sequence signal corresponds one-to-one with each pulse of the second pulse sequence signal. These three correspondences, when connected end-to-end, uniquely determine a satellite timing time for each contour measurement data.
[0063] For example, a certain contour measurement data is triggered by the 2780th pulse in the first pulse sequence signal. The 2780th pulse of the first channel corresponds to the 2780th pulse of the second channel. The 2780th pulse of the second channel has been bound to a certain satellite time in step S105. Therefore, the satellite time is attached to this contour measurement data, thus obtaining a contour measurement data carrying the satellite time. By performing the above association on all contour measurement data in the contour measurement data package one by one, each orbital profile contour data can simultaneously carry its corresponding mileage position (represented by the pulse sequence number) and absolute time (represented by the satellite time).
[0064] Thus, this method splits the odometer encoder pulses in two: one path triggers contour scanning at equal mileage intervals, ensuring uniform data distribution along the mileage direction; the other path uses satellite time synchronization to add a high-precision timestamp. Ultimately, each contour measurement data point can be accurately located to a specific mileage on the track and traced back to the absolute moment of acquisition. This dual "mileage-time" anchoring not only solves the problem of uneven sampling density under variable speed driving but also provides a unified and reliable spatiotemporal reference for aligning track detection data with other time reference systems and for longitudinal comparison of multiple detection results.
[0065] refer to Figure 2Optionally, this scheme includes at least two line laser detection devices. Because a single device is limited by the laser fan angle and installation position, it can only scan a portion of the object's contour. Therefore, the local contour data collected by each device at the same cross-section needs to be stitched together to synthesize the complete contour data of that cross-section. The prerequisite for successful stitching is that all local contours involved in the stitching must come from the same cross-section at the same acquisition time and with the same cumulative mileage. To this end, this scheme can also execute steps S201 to S204, using a unified pulse sequence index and counting verification mechanism to ensure that the contour data collected by each line laser detection device is strictly aligned in time and mileage, thus ensuring correct stitching. The specific scheme is as follows: Step S201: Set the same pulse number for the corresponding pulses in the first pulse sequence signal and the second pulse sequence signal, and bind each pulse number to the corresponding satellite time synchronization time. Here, a single pulse corresponds to a fixed mileage increment, and the cumulative mileage corresponding to the current pulse number is the sum of the cumulative mileage corresponding to the previous pulse number and the mileage increment. This step establishes a unified index for aligning the time and mileage of multiple devices. Let the pulse sequence number be k. The k-th pulse in the first and second pulse sequences shares the same sequence number k, and this sequence number is associated with the satellite time synchronization time bound to the k-th pulse in the second sequence, denoted as t_k. Simultaneously, since the mileage encoder outputs one pulse for each fixed angle rotation, and each pulse corresponds to a fixed mileage increment Δs, the cumulative mileage satisfies a recursive relationship: the cumulative mileage s_k corresponding to the k-th pulse is equal to the sum of the cumulative mileage s_(k-1) corresponding to the (k-1)-th pulse and the mileage increment Δs, i.e., s_k = s_(k-1) + Δs. Through this step, each pulse sequence number k is simultaneously anchored to a satellite time synchronization time t_k and a cumulative mileage s_k, forming a unified index with a one-to-one correspondence between "sequence number—time—mileage". Each laser detection device uses this index as a link to determine whether the data collected by each device corresponds to the same cross-section at the same time and mileage, providing an alignment basis for subsequent stitching.
[0066] Step S202: Use the total number of pulses accumulated by the second pulse sequence signal as the baseline count, and obtain the trigger count accumulated by each laser detection device on the line when triggered by the first pulse sequence signal; This step establishes a reference and verification object to verify whether each device is synchronously acquiring data. The total number of pulses accumulated from the second pulse sequence signal is used as the baseline count, denoted as C_GPS(k). It is uniformly accumulated from the second pulses bound to satellite time synchronization and represents the "number of times each device should have acquired data up to the kth pulse," serving as a common alignment benchmark. Each line laser detection device is triggered by the first pulse sequence signal to perform contour scanning. Each trigger acquires a frame of local contour and accumulates it once, obtaining the trigger count for that device—the trigger count for the i-th device is denoted as C_Li(k).
[0067] Ideally, the trigger counts of each device should be exactly equal to the baseline count, indicating that they are acquiring data synchronously on the same acquisition cycle, and the resulting local contours can be stitched together frame by frame. If a device's trigger count deviates from the baseline count due to missed triggers, false triggers, or signal interference, its acquisition cycle will be misaligned with other devices, thus detecting the anomaly. This step involves calculating the baseline count and the trigger counts of each device separately to prepare comparison data for the next matching determination.
[0068] Step S203: When the satellite timing times corresponding to any two line laser detection devices at the target time are equal, the cumulative driving mileage is equal, and the reference count and the trigger count are consistent, the data matching is determined to be successful. This step makes a positive determination as to whether the local contours acquired by multiple devices come from the same cross-section. Successful matching requires the simultaneous fulfillment of three conditions: First, the satellite timing is equal, meaning that the satellite timing t_k corresponding to any two devices at the target time is the same, indicating that they acquired the data at the same absolute time; second, the cumulative mileage is equal, meaning that the cumulative mileage s_k corresponding to both devices is the same, indicating that they acquired the data at the same mileage position on the track; third, the reference count and trigger count are consistent, meaning that the trigger count C_Li(k) of each device is completely equal to the reference count C_GPS(k), indicating that each device neither missed nor mistried triggering, and the acquisition cycle is completely synchronized.
[0069] Only when the time, mileage, and count are all aligned is the data from the two devices at that pulse number considered successfully matched, meaning they are acquiring local contours of the same cross-section and can be safely stitched together; otherwise, the matching is considered unsuccessful. These three conditions together ensure that each local contour participating in the stitching always corresponds to the same cross-section, avoiding incorrect stitching of contours from different cross-sections due to time or mileage misalignment.
[0070] Step S204: When the reference count and trigger count of two line laser detection devices are inconsistent, the laser scanning of the line laser detection device is paused, and the count is recalibrated by going back to the satellite timing time corresponding to the pulse sequence number where the reference count and trigger count are consistent. This step handles and automatically calibrates for matching failures, preventing misaligned data from entering the stitching process. The system quantifies the difference between the reference count and the trigger count by calculating the counting deviation ΔC(k) = |C_GPS(k) - C_Li(k)|: when ΔC(k) = 0, it indicates that the device's acquisition is synchronized and normal; when ΔC(k) > 0, it indicates that the device has missed or falsely triggered, and its acquisition cycle is misaligned with other devices. If stitching continues in this case, the local contour will no longer correspond to the same cross-section, thus determining a matching failure and triggering the calibration process. Specifically, once it detects that the reference count and trigger count of two devices are inconsistent, the system immediately pauses the laser scanning of the line laser detection device to avoid acquiring more misaligned abnormal data under the state of cycle misalignment; then it traces back to the pulse sequence number where the reference count and trigger count were still consistent, takes the satellite timing time corresponding to the pulse sequence number as a reliable calibration starting point, and recalibrates the counts of each device accordingly to realign them with the reference count; at the same time, abnormal data caused by counting deviation within the traceback interval is isolated and does not participate in subsequent stitching and analysis. After this calibration, the acquisition cycle of each device is synchronized, and the pause can be lifted to continue normal scanning.
[0071] In summary, this scheme uses pulse sequence numbers as a link to uniformly bind satellite timing, cumulative mileage, and trigger count. It determines whether the local contour data collected by each device originates from the same cross-section based on these three conditions: time, mileage, and count. If a count deviation is detected, indicating a misalignment in the acquisition cycle, scanning is paused, the time is reverted to a reliable satellite timing for recalibration, and the abnormal data is isolated. This ensures that the local contour data collected by each laser detection device is strictly aligned in time and mileage, always corresponding to the same cross-section, thus enabling correct splicing and synthesis of complete and accurate contour data.
[0072] Optionally, the positioning time data in this scheme may also include the detected satellite positioning position of the train. This scheme may also execute the following steps: Based on the satellite positioning positions carried by two adjacent positioning time data, the first travel distance of the detection train between two adjacent satellite timing times is determined; Based on the number of pulses in the second pulse sequence signal located between two adjacent satellite timing times and the mileage increment corresponding to a single pulse, the second travel distance of the detection train between two adjacent satellite timing times is determined. When the deviation between the first travel distance and the second travel distance exceeds the preset distance deviation threshold, the pulse in the second pulse sequence signal located between two adjacent satellite timing times is identified as an abnormal pulse; The ratio of the first driving distance to the number of abnormal pulses is used as the corrected driving mileage increment corresponding to a single abnormal pulse. Based on the corrected mileage increment, the cumulative mileage corresponding to the abnormal pulse is re-determined.
[0073] This scheme is an optional mechanism for self-verification and correction of mileage data. Its premise is that each positioning time data point in the positioning time data packet carries not only the satellite time synchronization but also the satellite positioning position of the detected train. This allows for cross-verification of mileage data obtained based on pulse accumulation using satellite positioning, an independent absolute position source.
[0074] The basic idea is to simultaneously calculate the train's travel distance between two adjacent satellite timing times using two different methods, and then compare them. One method calculates the first travel distance directly from the position difference between the two points based on the satellite positioning data carried by the two adjacent timing times. This distance originates from satellite positioning and is independent of pulse counting. The other method calculates the second travel distance by multiplying the number of pulses in the second pulse sequence signal located between these two satellite timing times by the travel distance increment Δs corresponding to a single pulse. This second distance originates from the pulse accumulation of the mileage encoder. Under normal circumstances, the two methods should be roughly consistent.
[0075] When the deviation between the first and second travel distances exceeds a preset distance deviation threshold, it indicates a significant discrepancy between the mileage reflected by the cumulative pulses within this interval and the actual mileage determined by satellite positioning. This typically signifies an encoder malfunction, such as slippage, jumping, or over- or under-counting of pulses. In this case, pulses within this interval that lie between two adjacent satellite timing intervals are identified as abnormal pulses.
[0076] For abnormal pulses, this scheme no longer uses a fixed mileage increment Δs. Instead, it uses a more reliable first driving distance (satellite positioning distance) as the ratio of the number of abnormal pulses to the corrected mileage increment for a single abnormal pulse within that interval. This is equivalent to recalibrating the pulses in this interval using the measured distance from satellite positioning. Finally, based on this corrected mileage increment, the cumulative mileage corresponding to each abnormal pulse is recalculated and determined, ensuring the accuracy of the mileage data.
[0077] Let's illustrate with a specific example. Assume the mileage increment Δs corresponding to a single pulse is 1 mm, and the preset distance deviation threshold is 5 mm. Between two adjacent satellite timing times t_1 and t_2, the first mileage calculated from the satellite positioning positions of the two points is 100 mm. The second pulse sequence signal within this interval contains 120 pulses, so the second mileage is 120 × 1 = 120 mm. The deviation is 20 mm, exceeding the 5 mm threshold. Therefore, these 120 pulses are considered abnormal pulses—possibly due to encoder slippage or fluctuation causing overcounting. The mileage increment is then corrected by recalibrating using the ratio of the first mileage to the number of abnormal pulses, resulting in 100 ÷ 120 ≈ 0.83 mm. Subsequently, each pulse within this interval is accumulated at 0.83 mm, re-determining the cumulative mileage corresponding to each abnormal pulse. This restores the cumulative mileage in this interval from the previously distorted 120 mm to the 100 mm consistent with satellite positioning, thus ensuring the reliability of subsequent contour data in mileage positioning.
[0078] Optionally, this solution can also implement the following solutions: When the difference in cumulative mileage between two adjacent contour measurement data exceeds a preset mileage difference threshold, or the difference in attitude angle between two adjacent attitude measurement data exceeds a preset attitude angle threshold, the matching of contour measurement data and pulse time data is deemed invalid, and the invalid contour measurement data is discarded.
[0079] When a train travels along a track, its trajectory is physically continuous and smooth. Adjacent frames should only exhibit small, gradual changes in mileage and attitude. Therefore, the changes in mileage and attitude angle between adjacent frames can be used as criteria for accurate matching. If both changes fall within a reasonable range, the frame's contour is correctly mapped to the continuous trajectory; abrupt changes indicate a mismatch.
[0080] The integrated navigation module is also used to output attitude measurement data of the detection train. The attitude measurement data is bound to the contour measurement data according to the pulse sequence number, with the specific constraints as follows. Let the mileage vector of the k-th frame be s_k and the attitude angle vector be θ_k, and the corresponding values of the (k-1)-th frame be s_(k-1) and θ_(k-1); the preset maximum mileage deviation is Δs_max and the maximum attitude angle deviation is Δθ_max. Then the smoothing constraint requirements are: ||s_k-s_(k-1)||<Δs_max, ||θ_k-θ_(k-1)||<Δθ_max; That is, the magnitude of the difference between the mileage vectors of two adjacent frames and the magnitude of the difference between the attitude angle vectors must be less than their respective maximum deviation thresholds.
[0081] The judgment logic is as follows: if either of the above two constraints is violated—the change in mileage exceeds Δs_max, or the change in attitude angle exceeds Δθ_max—then the matching of the contour measurement data and pulse time data in the k-th frame is determined to be a mismatch, and this invalid contour measurement data is discarded, preventing it from participating in subsequent stitching and analysis. This ensures that the contour of each frame entering subsequent processing falls on a smooth and continuous motion trajectory, avoiding misaligned frames caused by jitter, frame drops, or instantaneous sensor anomalies from contaminating the final result.
[0082] For example, let Δs_max be 50 mm and Δθ_max be 2 degrees. During normal travel, the mileage change between adjacent frames is approximately 10 mm, and the attitude angle change does not exceed 0.5 degrees, both satisfying the constraints. If the ||s_k-s_(k-1)|| of the k-th frame relative to the (k-1)-th frame suddenly reaches 200 mm, exceeding the 50 mm Δs_max, it indicates an abnormal jump in mileage, and the frame is determined to be a mismatch and discarded. After smoothing constraint verification, the retained contour data remains continuous and reasonable in both mileage and attitude, and can be reliably used for subsequent processing.
[0083] Optionally, this solution can also implement the following solutions: The current speed of the detected train is determined based on the time interval between adjacent pulses in the first pulse sequence signal. Based on the current driving speed and the preset scanning delay, determine the driving mileage compensation amount for the contour measurement data; By using the mileage compensation amount, the cumulative mileage corresponding to the pulse time data matched and bound to the contour measurement data is corrected to obtain the corrected mileage of the contour measurement data.
[0084] This solution is an optional approach to compensate for mileage travel caused by scanning delay, which is used to eliminate mileage positioning deviations in contour measurement data caused by sensor scanning delay.
[0085] The problem to be solved is that the contour sensor needs a certain amount of time to complete a scan and output contour measurement data; this time is the scan delay. It is an inherent and relatively fixed amount of time for the sensor. Since the detection train is continuously moving during the scanning process, it has already traveled a certain distance during this delay from triggering the scan to actually obtaining the data. If the cumulative mileage corresponding to the matched pulse time data is directly used as the mileage of the contour frame, there will be a systematic lag deviation from the actual position of the contour. This solution estimates this displacement by multiplying the speed by the delay, corrects the mileage, and thus eliminates this deviation.
[0086] The process involves three steps. The first step is to determine the current speed. This is done by calculating the time interval between adjacent pulses in the first pulse sequence signal. The pulse sequence is generated by the odometer as the wheels rotate, and each adjacent pulse corresponds to a fixed distance traveled (i.e., the mileage equivalent of each pulse). Dividing this fixed distance by the time interval between adjacent pulses yields the current speed of the train at that moment. The shorter the time interval, the faster the speed.
[0087] The second step is to determine the mileage compensation amount. The scanning delay is a fixed, known quantity. Multiplying the current speed by the preset scanning delay yields the distance the train travels during this delay, which is the mileage compensation amount for the contour measurement data. Mileage compensation = Current driving speed × Scan delay; Because the speed changes in real time, the compensation amount corresponding to the same preset scan delay will be different at different speeds—the faster the speed, the greater the distance traveled within the same delay, and the greater the compensation amount. This is precisely why the compensation amount needs to be dynamically calculated according to the current speed.
[0088] The third step is to correct the mileage. The cumulative mileage corresponding to the pulse time data matched and bound to the contour frame is corrected using the mileage compensation amount, resulting in the corrected mileage of the contour measurement data. Corrected mileage = cumulative mileage corresponding to the matched pulse time data + mileage compensation amount; The compensation amount compensates for the displacement of the train during the delay period. Therefore, by adding this compensation amount to the original cumulative mileage, the accurate mileage position that truly corresponds to the contour is obtained.
[0089] For example, assuming a fixed scan delay of 50 microseconds (0.05 milliseconds), and the calculated current travel speed corresponding to the time interval between adjacent pulses at a certain moment is 20 meters per second (20,000 millimeters per second), then the mileage compensation is 20,000 × 0.00005 = 1 millimeter. If the cumulative mileage corresponding to the pulse time data bound to the contour matching of this frame is 1,000 millimeters, then the corrected mileage is 1,000 + 1 = 1,001 millimeters. This means that the actual position corresponding to this contour frame is 1 millimeter ahead of the originally recorded mileage, resulting in more accurate positioning after correction. When the train speed increases to 40 meters per second, the compensation for the same 50-microsecond delay becomes 2 millimeters, with the compensation increasing adaptively with speed.
[0090] After this compensation correction, each frame of contour measurement data is bound to the actual mileage position after deducting the effect of scanning delay, which improves the positioning accuracy of the contour along the mileage direction and makes the subsequent stitching and analysis results closer to the actual track conditions.
[0091] Optionally, this solution can also implement the following solutions: By using the iterative nearest point algorithm, with the goal of minimizing the distance between the laser measuring point and the preset calibration point, the rotation matrix and translation vector of each line laser detection device are solved, and the line laser data of each line laser detection device are unified into the same global coordinate system. This solution is an optional approach to unify the data from multiple line laser detection devices into the same coordinate system, thereby resolving the issue of inconsistent coordinate systems among multiple devices.
[0092] Because each line laser measuring device is installed at a different location and angle, the 3D points measured by each device are in their own local coordinate system and cannot be directly stitched together. To obtain the complete track profile, they must first be converted into a unified global coordinate system.
[0093] Let P_i be the coordinates of a three-dimensional point measured by a certain line laser in its local coordinate system, and P_world be the coordinates unified to the global coordinate system. Let R_i be the rotation matrix and t_i be the translation vector of the device. Then the coordinate transformation relationship is: P_world = R_i × P_i + t_i. The rotation matrix R_i is responsible for correcting differences in the installation angles of the equipment, and the translation vector t_i is responsible for correcting differences in the installation positions of the equipment. The key is to calculate the accurate R_i and t_i for each piece of equipment. This scheme uses the Iterative Closest Point (ICP) algorithm to solve this problem: with the goal of minimizing the distance between the laser measuring point and the preset calibration point, the rotation matrix and translation vector are iteratively adjusted to minimize the sum of the squares of the distances between all calibration points and their corresponding laser measuring points. The R_i and t_i obtained after convergence are the optimal solutions. By substituting the line laser data of each piece of equipment into the above formula using these parameters, they can be unified into the same global coordinate system, laying the foundation for subsequent stitching of the complete contour.
[0094] Optionally, this solution can also implement the following solutions: The line laser detection device to which each contour measurement data belongs is determined based on the principle of minimizing the distance between the contour center and the preset reference position in the contour measurement data of each line laser detection device. This solution is an optional approach to determine which laser detection device each frame of contour data belongs to, and is used to solve the identification problem when data from multiple devices are mixed together.
[0095] When multiple devices operate simultaneously, the numerous contour measurement data collected need to be correctly attributed to their respective source devices for proper registration and stitching. This solution utilizes the fact that the laser stripes of each device have a relatively fixed center position in space to achieve identification.
[0096] The system pre-sets the laser reference center coordinates c_i for each device. For a frame of contour measurement data to be judged, the laser stripe center coordinates c are extracted, and the Euclidean distance between c and each pre-set reference center coordinate is calculated: d = ||c - c_i||. Then, these distances are compared, and the device corresponding to the reference with the smallest distance is identified as belonging to that line laser detection device, thus completing the matching of stripe numbers and data. Because the center of each frame's contour is necessarily closest to the reference center of its true device, the principle of minimum distance can reliably determine its affiliation, assigning each mixed contour data to the correct device.
[0097] In addition, refer to Figure 3 This application also provides a timing device for a laser detection equipment for a track detection line, comprising: a pulse distributor, a combined navigation module, a time recording module, and a data processing module; The pulse distributor is connected to the odometer encoder, and the pulse distributor is connected to the line laser detection equipment group and the time recording module respectively. The combined navigation module is connected to the time recording module, and the time recording module and the line laser detection equipment group are connected to the data processing module respectively. The mileage encoder is rigidly connected to the wheel axle of the test train via a coupling, and is used to generate pulse signals corresponding to the mileage traveled based on the movement of the test train. The pulse distributor is used to copy the pulse signal into a first pulse sequence signal and a second pulse sequence signal, with each pulse in the first pulse sequence signal and the second pulse sequence signal corresponding one-to-one. The line laser detection equipment group is used to receive the first pulse sequence signal, perform contour scanning with the same scanning frequency as the first pulse sequence signal, and acquire contour measurement data packets. Each contour measurement data in the contour measurement data packet corresponds one-to-one with each pulse of the first pulse sequence signal. The integrated navigation module is used to receive and parse satellite positioning signals to obtain positioning time data packets carrying satellite timing information; The time recording module is used to receive the second pulse sequence signal and the positioning time data packet, and bind each pulse in the second pulse sequence signal with each positioning time data in the positioning time data packet to obtain the pulse time data packet; The data processing module is used to receive contour measurement data packets and pulse time data packets. Based on the correspondence between each pulse in the first pulse sequence signal and the second pulse sequence signal, it matches and binds each contour measurement data with each pulse time data in the pulse time data packet to complete the time synchronization.
[0098] The odometer encoder is an incremental photoelectric odometer (e.g., a model with a resolution ≥1000 pulses / meter), which is rigidly connected to the axle of the train being tested via a coupling and rotates synchronously with the wheel. It outputs a fixed number of pulses per revolution of the wheel, with the pulse frequency changing linearly with the vehicle speed (e.g., approximately 2.78kHz at a speed of 10km / h), meeting the triggering requirement of ≥1000 pulses / second.
[0099] Pulse distributor: Built using a high-speed analog switching chip (e.g., ADG1419), it performs a "one-to-two" replication of the 5VTTL pulse output from the odometer encoder, ensuring complete synchronization of the rising and falling edges of the two output pulses (synchronization error controllable to the ≤10ns level). The input is compatible with differential or single-ended signals, and features a built-in Schmitt trigger shaping circuit to filter out pulse jitter. It has two independent outputs with adjustable drive capability (e.g., maximum output current 20mA), and output impedance matched to backend equipment (e.g., 50Ω). It is compatible with the external trigger interface of line laser equipment (e.g., the EXTTRIG interface of Keyence LJ-X8900 / 8400). The entire system uses a ±12V dual power supply, with a built-in voltage regulator circuit outputting 3.3V to ensure signal stability.
[0100] Line laser inspection equipment group: Utilizing line laser equipment (e.g., Keyence LJ-X8900 / 8400), configured in external trigger mode. The trigger signal input terminal is connected to the first pulse, with the trigger edge set to the rising edge. The trigger frequency is consistent with the pulse frequency (≥1000 times / second). The equipment outputs data packets via an Ethernet interface, containing the scan sequence number, contour point cloud coordinates (X / Z axes), and measurement accuracy. The scan sequence number corresponds one-to-one with the pulse, incrementing by 1 with each trigger.
[0101] Integrated navigation module: Receives and parses satellite positioning signals, outputs high-precision GPS time signals (e.g., RMC / GGA statements combined with PPS pulses per second, achieving time accuracy down to the microsecond level) and positioning data such as latitude, longitude, and mileage, forming a positioning time data packet carrying satellite time synchronization.
[0102] Time recording module: Adopts an "FPGA + GPS time decoding module" architecture. The GPS decoding stage receives RMC / GGA statements and PPS second pulses through the UART interface, and parses the UTC time accurate to microseconds. The pulse acquisition stage captures the rising edge of the second pulse through the FPGA high-speed I / O port (e.g., sampling rate ≥100MHz), and records the acquisition time of each pulse. The timestamp generation stage aligns the acquisition time with the parsed GPS time to generate a pulse time data packet containing the pulse sequence number, microsecond-level GPS timestamp, and mileage. The data storage and transmission stage stores the raw data on the built-in SD card (e.g., supporting continuous ≥24 hours) and uploads it to the data processing module in real time via Ethernet (TCP / IP). In addition, a pulse counting verification node can be added, which uses the built-in counting register to compare the GPS recorded pulses with the linear laser trigger pulses in real time. The hardware uses a Schmitt trigger circuit to set a threshold to filter out jitter and glitches, and the software uses an anti-shake delay mechanism to discard short-term invalid transitions. Once the two counts are inconsistent, the laser trigger signal is cut off, the GPS reference time is traced back for recalibration, and the out-of-tolerance data segments are isolated and stored, and abnormal information is recorded throughout the process.
[0103] Data processing module: Matching and binding are completed through software algorithms. Since the scanning sequence number of the line laser and the pulse sequence number of the time recording module are derived from the same pulse signal and correspond one-to-one with each other, the processing module binds each contour measurement data with the corresponding pulse time data (including GPS timestamp and mileage) based on the sequence number alignment, thereby realizing indirect time synchronization and data fusion of the line laser data.
[0104] refer to Figure 4 In this pulse distributor, the +12V power supply is connected to the input of the voltage regulator chip, and after conversion, a +5V output is obtained from the output, which powers the Schmitt trigger and analog switch in the subsequent stage. At the same time, the common ground is connected to the ground terminal of each device as a unified reference ground for the entire circuit. In the signal path, the pulse output from the odometer encoder is first connected to the input of the Schmitt trigger for shaping. After shaping, it is connected to the analog switch from its output, which splits the pulse into two. One path is connected from output 1 to the EXT TRIG interface of the line laser device, and the other path is connected from output 2 to the FPGA of the time recording module.
[0105] In the power supply section, the +12V power supply is converted to +5V output by a voltage regulator chip (such as LM7805) to provide a stable operating voltage for the subsequent shaping circuit and analog switch. At the same time, the GND common ground is used as the unified reference ground for the entire circuit to ensure that the signal levels of each stage are consistent.
[0106] In the signal shaping section, the pulses output by the odometer encoder are first connected to a Schmitt trigger (e.g., 74HC14), and the pulse edges are shaped using its hysteresis characteristics to filter out jitter and glitches, and output clean, steep square wave pulses.
[0107] In the signal distribution section, the shaped pulses are sent to an analog switch chip (e.g., ADG1419) to complete the "one-to-two" replication, resulting in two fully synchronized pulse signals.
[0108] In the output section, output 1 connects to the EXTTRIG interface of the line laser device (e.g., the external trigger terminal of Keyence LJ-X8900 / 8400) to trigger contour scanning; output 2 connects to the FPGA of the time recording module to capture pulses and bind GPS timestamps. Both outputs originate from the same shaping pulse, ensuring strict edge consistency.
[0109] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing computer programs for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication component, and / or installed from removable medium 311. When the computer program is executed by the CPU, it performs the various functions defined in the present invention.
[0110] It should be noted that specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0111] In another aspect, the present invention also provides a computer-readable storage medium, which may be included in the timing device of the track inspection line laser detection equipment described in the above embodiments; or it may exist independently and not assembled into the timing device of the track inspection line laser detection equipment. The storage medium carries one or more computer programs, which, when executed by a processor of the timing device of the track inspection line laser detection equipment, cause the timing device to implement the timing method of the track inspection line laser detection equipment provided in the above embodiments.
[0112] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A timing method for a laser detection device for track inspection lines, characterized in that, Includes the following steps: Acquire the pulse signals generated by the mileage encoder corresponding to the travel mileage as the detection train travels; The pulse signal is copied into a first pulse sequence signal and a second pulse sequence signal by a pulse distributor, and each pulse in the first pulse sequence signal corresponds one-to-one with each pulse in the second pulse sequence signal. The first pulse sequence signal is input into the line laser detection equipment group so that the line laser detection equipment group performs a contour scan with the same scanning frequency as the first pulse sequence signal to obtain a contour measurement data packet. Each contour measurement data in the contour measurement data packet corresponds one-to-one with each pulse of the first pulse sequence signal. Receive and parse satellite positioning signals to obtain positioning time data packets carrying satellite timing information; Each pulse in the second pulse sequence signal is bound to each positioning time data in the positioning time data packet to obtain the pulse time data packet; Based on the correspondence between each pulse in the first pulse sequence signal and the second pulse sequence signal, the contour measurement data is matched and bound with each pulse time data in the pulse time data packet to complete the time synchronization.
2. The method according to claim 1, characterized in that, The line laser detection equipment group includes at least two line laser detection devices, and the method further includes the following steps: The same pulse number is set for the corresponding pulses in the first pulse sequence signal and the second pulse sequence signal, and each pulse number is bound to the corresponding satellite time synchronization time. Each pulse corresponds to a fixed mileage increment, and the cumulative mileage corresponding to the current pulse number is the sum of the cumulative mileage corresponding to the previous pulse number and the mileage increment. The total number of pulses accumulated by the second pulse sequence signal is used as a baseline count, and the trigger count accumulated by each of the line laser detection devices being triggered by the first pulse sequence signal is obtained; When the satellite timing times corresponding to any two of the line laser detection devices are equal at the target time, the cumulative driving mileage is equal, and the reference count is consistent with the trigger count, the data matching is determined to be successful. When the reference count and trigger count corresponding to two of the line laser detection devices are inconsistent, the laser scanning of the line laser detection device is paused, and the count is recalibrated by going back to the satellite timing time corresponding to the pulse sequence number where the reference count and trigger count are consistent.
3. The method according to claim 2, characterized in that, The positioning time data in the positioning time data packet also includes the detected satellite positioning position of the train, and the method further includes: Based on the satellite positioning positions carried by two adjacent positioning time data, the first travel distance of the detection train between two adjacent satellite timing times is determined; Based on the number of pulses in the second pulse sequence signal located between the two adjacent satellite timing times and the mileage increment corresponding to a single pulse, the second travel distance of the detection train between the two adjacent satellite timing times is determined; When the deviation between the first travel distance and the second travel distance exceeds a preset distance deviation threshold, the pulse in the second pulse sequence signal located between the two adjacent satellite timing times is identified as an abnormal pulse; The ratio of the first driving distance to the number of pulses in the abnormal pulse is used as the corrected driving mileage increment corresponding to a single pulse in the abnormal pulse. Based on the corrected mileage increment, the cumulative mileage corresponding to the abnormal pulse is re-determined.
4. The method according to claim 2, characterized in that, The method further includes the following steps: When the difference in cumulative mileage between two adjacent contour measurement data exceeds a preset mileage difference threshold, or the difference in attitude angle between two adjacent attitude measurement data exceeds a preset attitude angle threshold, the matching between the contour measurement data and the pulse time data is deemed invalid, and the invalid contour measurement data is discarded.
5. The method according to claim 1, characterized in that, The method further includes: The current speed of the detected train is determined based on the time interval between adjacent pulses in the first pulse sequence signal. Based on the current driving speed and the preset scanning delay, determine the driving mileage compensation amount for the contour measurement data; Using the mileage compensation amount, the cumulative mileage corresponding to the pulse time data matched and bound to the contour measurement data is corrected to obtain the corrected mileage of the contour measurement data.
6. The method according to claim 1, characterized in that, The step of binding each pulse in the second pulse sequence signal with each positioning time data in the positioning time data packet to obtain the pulse time data packet includes: Obtain the satellite timing time corresponding to two adjacent positioning time data from the positioning time data packet, and form a timing time interval with two adjacent satellite timing times; The pulses in the second pulse sequence signal that are located within the time interval are counted to obtain the target pulses that fall within the time interval and the pulse arrangement order of each target pulse; Based on the duration of the time interval and the number of target pulses, determine the time interval increment between adjacent target pulses within the time interval; Based on the satellite time synchronization time at the starting point of the time synchronization time interval, the time synchronization time increment, and the pulse arrangement order of each target pulse, the time synchronization time of each target pulse is determined sequentially. Each target pulse is bound to its corresponding timing time to obtain the pulse time data packet.
7. The method according to claim 6, characterized in that, The time interval formed by the time synchronization times of two adjacent satellites includes: The average time interval of satellite time synchronization is calculated based on the satellite time synchronization time corresponding to each positioning time data in the positioning time data packet. When the time interval between the time of any target satellite and the time of the adjacent previous satellite exceeds a preset error threshold relative to the average time interval, the time of the target satellite is determined to be an abnormal time and is removed. Based on the remaining valid satellite timekeeping times after removing abnormal timekeeping times, adjacent valid satellite timekeeping times are sequentially combined to form a timekeeping interval.
8. A timing device for a laser detection equipment for track inspection lines, characterized in that, It includes a pulse distributor, a combined navigation module, a time recording module, and a data processing module; The pulse distributor is connected to the odometer encoder, the pulse distributor is connected to the line laser detection device group and the time recording module respectively, the integrated navigation module is connected to the time recording module, and the time recording module and the line laser detection device group are connected to the data processing module respectively. The mileage encoder is rigidly connected to the wheel axle of the detection train via a coupling, and is used to generate pulse signals corresponding to the mileage traveled based on the movement of the detection train. The pulse distributor is used to copy the pulse signal into a first pulse sequence signal and a second pulse sequence signal, wherein each pulse in the first pulse sequence signal and the second pulse sequence signal corresponds one-to-one. The line laser detection equipment group is used to receive the first pulse sequence signal, perform contour scanning with the same scanning frequency as the first pulse sequence signal, and obtain contour measurement data packets. Each contour measurement data in the contour measurement data packets corresponds one-to-one with each pulse of the first pulse sequence signal. The integrated navigation module is used to receive and parse satellite positioning signals to obtain positioning time data packets carrying satellite timing information. The time recording module is used to receive the second pulse sequence signal and the positioning time data packet, and bind each pulse in the second pulse sequence signal with each positioning time data in the positioning time data packet to obtain the pulse time data packet; The data processing module is used to receive the contour measurement data packet and the pulse time data packet, and according to the correspondence between each pulse in the first pulse sequence signal and the second pulse sequence signal, match and bind each contour measurement data with each pulse time data in the pulse time data packet to complete the time synchronization.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed, perform the method as described in any one of claims 1 to 7.
10. A computer program product, characterized in that, When the computer program product is run on the timing device of the laser detection equipment for track inspection lines, the timing device of the laser detection equipment for track inspection lines performs the method as described in any one of claims 1-7.
