Map matching design method, matching method and system based on sylixos operating system

By setting up a main thread, serial port thread, search thread, and matching thread in the SylixOS operating system, and using synchronization semaphores for data synchronization and sharing, the problem of insufficient real-time performance in map matching was solved, achieving high-frequency response and high-precision map matching results.

CN114328772BActive Publication Date: 2026-01-23BEIJING INST OF SPACE LAUNCH TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111385866.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-22
Publication Date
2026-01-23
Estimated Expiration
2041-11-22

AI Technical Summary

Technical Problem

Existing map matching technologies have failed to fully utilize the real-time features of the domestically developed real-time operating system SylixOS in scenarios with high real-time requirements, resulting in insufficient real-time performance of map matching.

Method used

The map matching design method based on the SylixOS operating system is adopted. By setting up a main thread, a serial port thread, a search thread and a matching thread, and using synchronization semaphores to synchronize and share data among these threads, the real-time performance and efficiency of the map matching process are ensured.

Benefits of technology

It achieves real-time, high-frequency response to positioning data requests from external inertial devices, improves map database search efficiency and curve matching accuracy, and meets the real-time requirements of high-precision map matching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114328772B_ABST
    Figure CN114328772B_ABST
Patent Text Reader

Abstract

The application provides a map matching design method, a matching method and a system based on a SylixOS operating system, and solves the technical problem that the real-time performance of the existing map matching cannot fully utilize the real-time performance of the operating system. The method comprises the following steps: in the map matching process, a main thread is set, which is used for responding to a map matching request of a hard interrupt; a serial port thread is set, which is used for responding to a data bidirectional serial transmission request of a first soft interrupt; a search thread is set, which is used for responding to a map database search request of a second soft interrupt; a matching thread is set, which is used for responding to a curve matching map matching request of a third soft interrupt; and data synchronization and / or data sharing are performed among the serial port thread, the search thread and the matching thread according to a synchronization semaphore. The real-time high-frequency response of a positioning data request of an external inertial device through a serial port, the map database search efficiency and the curve matching map matching accuracy are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of navigation technology, and specifically to a map matching design method, matching method, and system based on the SylixOS operating system. Background Technology

[0002] In existing technologies, map matching is a key technology in integrated navigation systems. It effectively addresses the impact of long-term accumulated errors in inertial navigation systems on integrated navigation systems, corrects position information errors in real time, and achieves high-precision autonomous positioning. Currently, high-precision map matching technology relies on highly complex map matching techniques involving multiple iterations, requiring high real-time performance. Major international real-time operating systems include Linux and VxWorks. Given the trend towards domestic production, developing a map matching design method based on a domestically developed real-time operating system is essential. SylixOS, as an embedded operating system, offers superior real-time performance, and its system characteristics can be fully utilized for map matching. Summary of the Invention

[0003] In view of the above problems, embodiments of the present invention provide a map matching design method, matching method and system based on the SylixOS operating system, which solves the technical problem that the real-time performance of existing map matching cannot fully utilize the real-time characteristics of the operating system.

[0004] The map matching design method based on the SylixOS operating system in this embodiment of the invention includes: setting the following in the map matching process:

[0005] The main thread is used to respond to map matching requests from hard interrupts;

[0006] The serial port thread is used to respond to the bidirectional serial data transmission request of the first soft interrupt.

[0007] The search thread is used to respond to map database search requests in response to the second soft interrupt;

[0008] The matching thread is used to respond to curve matching and map matching requests from the third soft interrupt;

[0009] Data synchronization and / or data sharing are performed between the serial port thread, the search thread, and the matching thread based on the synchronization semaphore.

[0010] In one embodiment of the present invention, the step of synchronizing and / or sharing data among the serial port thread, the search thread, and the matching thread based on a synchronization semaphore includes:

[0011] In the search thread and the matching thread, a first synchronization semaphore is set for the first matching condition. When the positioning data meets the first matching condition, the data synchronization processing of the search thread and the matching thread is synchronized according to the first synchronization semaphore.

[0012] A second synchronization semaphore is set in the search thread and the matching thread to meet the second matching condition. When the road information and the positioning data meet the second matching condition, the data matching process of the search thread and the matching thread is synchronized according to the second synchronization semaphore.

[0013] In the matching thread and the serial port thread, a third synchronization semaphore is set for the third matching condition. When the matching result data meets the third matching condition, the matching result data sharing process of the matching thread and the serial port thread is synchronized according to the third synchronization semaphore.

[0014] In one embodiment of the present invention, the first matching condition includes a set of conditions for determining whether the location data is synchronized in two threads.

[0015] In one embodiment of the present invention, the second matching condition includes a set of conditions for determining whether the location data and road data are synchronized in two threads.

[0016] In one embodiment of the present invention, the third matching condition includes a set of conditions for determining whether the matching result data is shared between the two threads.

[0017] The map matching method of this invention, formed using the above-described map matching design method based on the SylixOS operating system, includes:

[0018] Step a: Initialize the map matching process and start the main thread. The main thread starts the serial port thread based on the map matching request from the external inertial device in response to the hardware interrupt, while the main thread is suspended.

[0019] Step b: The serial port thread initializes the serial port and waits for the serial port interrupt to be triggered. After the serial port interrupt is triggered, it sequentially receives input data through the serial port, formats the input data, and stores it into the array of data to be matched and located.

[0020] Step c: When the serial port thread determines that the location data to be matched in the location data array meets the data integrity condition, it activates the search thread (of the map database) through a soft interrupt and synchronizes the location data to be matched in the location data array to the location data array to be searched to form the location data to be searched.

[0021] Step d: The serial port thread sets the synchronization semaphore of the array of data to be searched and located, and clears the data to be matched in the array of data to be matched.

[0022] When the search thread detects the synchronization semaphore of the array of location data to be searched, the search thread performs a map database search based on the location data to be searched.

[0023] Step e: After the map database search is completed and road information is generated, the search thread activates the matching thread through a soft interrupt, and stores the road information and the location data to be searched into the location data array to be searched to form the matching data. Then, the synchronization semaphore is set.

[0024] Step f: When the matching thread detects the synchronization semaphore of the data array to be searched and located, it calls the curve matching and map matching algorithm to perform map matching, and sets the synchronization semaphore after generating the map matching result data;

[0025] Step g: When the serial port thread detects the map matching result data synchronization semaphore, the serial port thread sequentially sends the map matching result data through the serial port;

[0026] Step i: Suspend and resume the main thread.

[0027] In one embodiment of the present invention, the parameter settings for map matching include:

[0028] 10Hz serial communication response;

[0029] 150ms map database search response;

[0030] 30m curve matching accuracy response.

[0031] The map matching design system based on the SylixOS operating system according to this invention includes: a thread setting device, used to set the following during the map matching process:

[0032] The main thread is used to respond to map matching requests from hard interrupts;

[0033] The serial port thread is used to respond to the bidirectional serial data transmission request of the first soft interrupt.

[0034] The search thread is used to respond to map database search requests in response to the second soft interrupt;

[0035] The matching thread is used to respond to curve matching and map matching requests from the third soft interrupt;

[0036] A thread synchronization device is used to synchronize and / or share data among serial port threads, search threads, and matching threads based on synchronization semaphores.

[0037] In one embodiment of the present invention, the thread synchronization device includes:

[0038] The first synchronization module is used to set a first synchronization semaphore for the first matching condition in the search thread and the matching thread. When the positioning data meets the first matching condition, the data synchronization processing of the search thread and the matching thread is synchronized according to the first synchronization semaphore.

[0039] The second synchronization module is used to set the second synchronization signal for the second matching condition in the search thread and the matching thread. When the road information and the positioning data meet the second matching condition, the data matching process of the search thread and the matching thread is synchronized according to the second synchronization signal.

[0040] The third synchronization module is used to set the third synchronization semaphore for the third matching condition in the matching thread and the serial port thread. When the matching result data meets the third matching condition, the matching result data sharing process of the matching thread and the serial port thread is synchronized according to the third synchronization semaphore.

[0041] The map matching design system based on the SylixOS operating system according to this invention includes:

[0042] The memory is used to store the program code of the design process of the map matching design method based on the SylixOS operating system described above;

[0043] A processor for executing the program code.

[0044] The map matching design method and system based on the SylixOS operating system in this invention utilize the operating system's hard real-time response characteristics combined with the priority distinction of soft real-time response to ensure real-time high-frequency response to positioning data requests from external inertial devices via serial port, map database search efficiency, and curve matching map matching accuracy. Attached Figure Description

[0045] Figure 1 The diagram shown is a flowchart of a map matching design method based on the SylixOS operating system according to an embodiment of the present invention.

[0046] Figure 2 The diagram shown is an architectural schematic of a map matching design system based on the SylixOS operating system according to an embodiment of the present invention.

[0047] Figure 3 The diagram shown is a flowchart of a map matching method based on a map matching design method of the SylixOS operating system according to an embodiment of the present invention. Detailed Implementation

[0048] To make the objectives, technical solutions, and advantages of this invention clearer and more understandable, the invention will be further described below in conjunction with the accompanying drawings and specific embodiments. Obviously, the described embodiments are merely some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.

[0049] An embodiment of the present invention provides a map matching design method based on the SylixOS operating system, as follows: Figure 1 As shown. In Figure 1 In the embodiments, the following are included:

[0050] Step 100: Configure the following settings during the map matching process:

[0051] The main thread is used to respond to map matching requests from hard interrupts; the main thread ensures the real-time response time of the map matching control process.

[0052] The serial port thread is used to respond to the bidirectional serial data transmission request of the first soft interrupt; the serial port thread ensures the timeliness of data input and output during data transmission in the map matching control process; the processing of serial port data is based on the basic data transmission technology of serial port data transmission and reception.

[0053] The search thread is used to respond to map database search requests from the second soft interrupt; the search thread ensures the timeliness of map data retrieval within the coordinate range during map matching control; map data processing is based on basic data filtering techniques from database retrieval.

[0054] The matching thread is used to respond to curve matching and map matching requests from the third soft interrupt. The matching thread ensures the timeliness of map data curve fitting during map matching control. The processing of curve matching and map matching is based on linear fitting techniques for map data matching.

[0055] Those skilled in the art will understand that threads can be used to form a single task control path within a defined overall program control process. This embodiment utilizes a defined thread to form a single task processing procedure, completing the data input, data processing, and data output of a single task. Simultaneously, the thread is bound to a system interrupt request to form a real-time triggering mechanism for the single task processing procedure. By leveraging the software and hardware interrupt control mechanisms of the SylixOS operating system, priority control of both the overall program control and the single task processing within the program control is autonomously established.

[0056] Step 200: Perform data synchronization and / or data sharing among the serial port thread, search thread, and match thread based on the synchronization semaphore.

[0057] Synchronization semaphores serve as availability markers for system or kernel resources, including but not limited to identifying the availability of resources such as data representation status, data integrity, trigger data, or timed segments. Data synchronization involves coordinating shared resources during single-task processing across different threads, while data sharing involves distributing batches of data from shared resources during single-task processing across different threads.

[0058] The map matching design method based on the SylixOS operating system in this invention utilizes the operating system's hard real-time response characteristics combined with the priority distinction of soft real-time response to ensure real-time high-frequency response to positioning data requests from external inertial devices via serial port.

[0059] like Figure 1 As shown, in one embodiment of the present invention, data synchronization or data sharing based on a synchronization semaphore includes:

[0060] Step 210: Set the first synchronization semaphore for the first matching condition in the search thread and the matching thread. When the positioning data meets the first matching condition, synchronize the data synchronization process of the search thread and the matching thread according to the first synchronization semaphore.

[0061] In one embodiment of the present invention, the first matching condition includes a set of conditions for determining whether the location data is synchronized in two threads.

[0062] Step 220: Set a second synchronization semaphore for the second matching condition in the search thread and the matching thread. When the road information and the positioning data meet the second matching condition, synchronize the data matching process of the search thread and the matching thread according to the second synchronization semaphore.

[0063] In one embodiment of the present invention, the second matching condition includes a set of conditions for determining whether the location data and road data are synchronized in two threads.

[0064] Step 230: Set the third synchronization semaphore for the third matching condition in the matching thread and the serial port thread. When the matching result data meets the third matching condition, the matching result data sharing process of the matching thread and the serial port thread is synchronized according to the third synchronization semaphore.

[0065] In one embodiment of the present invention, the third matching condition includes a set of conditions for determining whether the matching result data is shared between the two threads.

[0066] The map matching design method based on the SylixOS operating system in this invention utilizes synchronization semaphores formed by different matching conditions to synchronize the data processing between threads, enabling the control paths of each thread to match in terms of progress. Based on the real-time mechanism of the operating system interrupt, and while ensuring the efficiency and timeliness of single-task execution by a single thread, the synchronization semaphores facilitate efficient cooperation between single tasks during the overall program control process, providing high-frequency, high-precision responses to external inertial devices during the map matching process.

[0067] In the map matching design method based on the SylixOS operating system of this invention, the deployment environment adopts an integrated board design, consisting of a processing board, indicator board, filter, power module, chassis, connectors, etc. The hardware environment for deploying the SylixOS operating system includes a LOOGSON 2K1000 processor and 4GB (DDR3) memory, and the development environment uses QT4.8 development software based on the SylixOS operating system.

[0068] An embodiment of the present invention provides a map matching design system based on the SylixOS operating system, as follows: Figure 2 As shown. In Figure 2 In this embodiment, the following are included:

[0069] Thread setting device 10, used for setting during the map matching process:

[0070] The main thread is used to respond to map matching requests from hard interrupts;

[0071] The serial port thread is used to respond to the bidirectional serial data transmission request of the first soft interrupt.

[0072] The search thread is used to respond to map database search requests in response to the second soft interrupt;

[0073] The matching thread is used to respond to curve matching and map matching requests from the third soft interrupt;

[0074] The thread synchronization device 20 is used to perform data synchronization and / or data sharing among the serial port thread, the search thread, and the matching thread based on the synchronization semaphore.

[0075] like Figure 2 As shown, in one embodiment of the present invention, the thread synchronization device 20 includes:

[0076] The first synchronization module 21 is used to set a first synchronization semaphore for a first matching condition in the search thread and the matching thread, and synchronize the data synchronization processing of the search thread and the matching thread according to the first synchronization semaphore when the positioning data meets the first matching condition.

[0077] The second synchronization module 22 is used to set a second synchronization signal for the second matching condition in the search thread and the matching thread. When the road information and the positioning data meet the second matching condition, the data matching process of the search thread and the matching thread is synchronized according to the second synchronization signal.

[0078] The third synchronization module 23 is used to set the third synchronization semaphore for the third matching condition in the matching thread and the serial port thread. When the matching result data meets the third matching condition, the matching result data sharing process of the matching thread and the serial port thread is synchronized according to the third synchronization semaphore.

[0079] An embodiment of the present invention provides a map matching design system based on the SylixOS operating system, comprising:

[0080] The memory is used to store the program code of the map matching design method of the above embodiments;

[0081] A processor is a program code used to execute the design process of the map matching design method described in the above embodiments.

[0082] An embodiment of the present invention provides a map matching method based on a map matching design method using the SylixOS operating system, as follows: Figure 3 As shown. In Figure 3 In this embodiment, the following are included:

[0083] Step a: Initialize the map matching process and start the main thread. The main thread starts the serial port thread based on the map matching request from the external inertial device in response to the hardware interrupt, while the main thread is suspended.

[0084] Step b: The serial port thread initializes the serial port and waits for the serial port interrupt to be triggered. After the serial port interrupt is triggered, it sequentially receives input data through the serial port, formats the input data, and stores it into the array of data to be matched and located.

[0085] Step c: When the serial port thread determines that the location data to be matched in the location data array meets the data integrity condition, it activates the search thread (of the map database) through a soft interrupt and synchronizes the location data to be matched in the location data array to the location data array to be searched to form the location data to be searched.

[0086] Step d: The serial port thread sets the synchronization semaphore of the array of data to be searched and located, and clears the data to be matched in the array of data to be matched.

[0087] When the search thread detects the synchronization semaphore of the array of location data to be searched, the search thread performs a map database search based on the location data to be searched.

[0088] Step e: After the map database search is completed and road information is generated, the search thread activates the matching thread through a soft interrupt, and stores the road information and the location data to be searched into the location data array to be searched to form the matching data. Then, the synchronization semaphore is set.

[0089] Step f: When the matching thread detects the synchronization semaphore of the data array to be searched and located, it calls the curve matching and map matching algorithm to perform map matching, and sets the synchronization semaphore after generating the map matching result data;

[0090] Step g: When the serial port thread detects the map matching result data synchronization semaphore, the serial port thread sequentially sends the map matching result data through the serial port.

[0091] Step i: Suspend and resume the main thread.

[0092] The map matching method of this invention fully utilizes the hard real-time characteristics of the SylixOS operating system and its numerous scheduling mechanisms to ensure the implementation of the following technical parameters for map matching:

[0093] a) Achieve high-frequency response for 10Hz serial communication;

[0094] b) Achieve a map database search efficiency of 150ms;

[0095] c) Achieve 30m curve matching map matching accuracy.

[0096] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A map matching method, characterized in that, The map matching design method based on the SylixOS operating system is used, including: Configure the following settings during the map matching process: The main thread is used to respond to map matching requests from hard interrupts; The serial port thread is used to respond to the bidirectional serial data transmission request of the first soft interrupt. The search thread is used to respond to map database search requests in response to the second soft interrupt; The matching thread is used to respond to curve matching and map matching requests from the third soft interrupt; Data synchronization and / or data sharing are performed between the serial port thread, the search thread, and the matching thread based on the synchronization semaphore. The map matching method includes: Step a: Initialize the map matching process and start the main thread. The main thread starts the serial port thread based on the map matching request from the external inertial device in response to the hardware interrupt, while the main thread is suspended. Step b: The serial port thread initializes the serial port and waits for the serial port interrupt to be triggered. After the serial port interrupt is triggered, it sequentially receives input data through the serial port, formats the input data, and stores it into the array of data to be matched and located. Step c: When the serial port thread determines that the location data to be matched in the location data array meets the data integrity condition, it activates the search thread of the map database through a soft interrupt and synchronizes the location data to be matched in the location data array to the location data array to be searched to form the location data to be searched. Step d: The serial port thread sets the synchronization semaphore of the array of data to be searched and located, and clears the data to be matched in the array of data to be matched. When the search thread detects the synchronization semaphore of the array of location data to be searched, the search thread performs a map database search based on the location data to be searched. Step e: After the map database search is completed and road information is generated, the search thread activates the matching thread through a soft interrupt, and stores the road information and the location data to be searched into the location data array to be searched to form the matching data. Then, the synchronization semaphore is set. Step f: When the matching thread detects the synchronization semaphore of the data array to be searched and located, it calls the curve matching and map matching algorithm to perform map matching, and sets the synchronization semaphore after generating the map matching result data; Step g: When the serial port thread detects the map matching result data synchronization semaphore, the serial port thread sequentially sends the map matching result data through the serial port; Step i: Suspend and resume the main thread.

2. The map matching method as described in claim 1, characterized in that, The parameters for map matching include: 10Hz serial communication response; 150ms map database search response; 30m curve matching accuracy response.