A real-time trajectory generator of strapdown inertial navigation system combined with FlightGear and Matlab
Patent Information
- Application Number
- CN202410005868.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-03
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2044-01-03
AI Technical Summary
在惯性导航过程中,惯性测量元件输出的数据是不可或缺的信息,但由于载体运动实时数据在实地获取的过程中会面临着测试周期长、消耗巨大、真实数据容易受环境影响等各种外界因素,从而导致数据的失真
[0037]本发明的有益效果为:使用PC机建立虚拟的飞行环境,模拟真实的飞行状态,收集实时的仿真数据,能够为惯性导航算法研究提供真实的实验数据,大大节省了实验数据采集的经费与耗时。
Smart Images

Figure CN117872802B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer simulation technology, and in particular to a real-time trajectory generator for strapdown inertial navigation systems that combines FlightGear and Matlab. Background Technology
[0002] With the continuous development of the times, simulation technology has begun to be applied on a large scale in various fields, and it also plays a very important role in the research of inertial navigation. In the process of inertial navigation, the data output by the inertial measurement element is indispensable information. However, due to various external factors such as long testing cycles, huge consumption, and the susceptibility of real data to environmental influences when acquiring real-time data of the carrier motion in the field, data distortion can occur. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide a real-time trajectory generator for strapdown inertial navigation systems that combines FlightGear and Matlab, which can realize visualization and accuracy of trajectory generator simulation.
[0004] To address the aforementioned technical problems, this invention provides a strapdown inertial navigation real-time trajectory generator that combines FlightGear and Matlab, comprising: a flight control input device and a PC; the flight control input device is connected to the PC for controlling the FlightGear flight simulator.
[0005] Preferably, the PC is equipped with FlightGear simulation software and Matlab simulation software; the FlightGear simulation software is used for human-computer interaction to realize visual flight simulation and generate flight data of the carrier's position, speed and attitude; the Matlab simulation software is used to receive the flight data generated by the FlightGear simulation software, generate IMU sensor data based on the flight data, and display and store the flight trajectory and sensor data in real time.
[0006] Accordingly, a simulation method for a real-time trajectory generator for strapdown inertial navigation systems combining FlightGear and Matlab includes the following steps:
[0007] Step 1: Configure the XML file to determine the FlightGear data output format and transmission mode, and set the FlightGear flight simulation startup parameters;
[0008] Step 2: Use the flight control equipment to operate the FlightGear aircraft to perform simulated flight, generate flight simulation data in real time, and send it to the Matlab simulation software via UDP protocol;
[0009] Step 3: Use Matlab simulation software to process the received flight data, generate IMU sensor simulation data, and display and store the flight trajectory and IMU sensor data in real time.
[0010] Preferably, in step 1, the FlightGear simulation startup parameters include aircraft model, takeoff airport, data transmission direction, data transmission frequency, transmission protocol, data transmission address, and data transmission port.
[0011] Preferably, in step 1, the data types of the output include roll angle, pitch angle, heading angle, eastward speed, northward speed, celestial speed, longitude, latitude, and altitude.
[0012] Preferably, in step 2, the flight simulation data includes position, velocity, and attitude data.
[0013] Preferably, in step 2, the flight control equipment is used to operate the FlightGear aircraft to perform simulated flight, and flight simulation data is generated in real time and sent to the Matlab simulation software via UDP protocol. Specifically, this includes the following steps:
[0014] Step 21: Use the udpport function in Matlab to establish the address and port for receiving data corresponding to the data transmission of FlightGear;
[0015] Step 22: Use Matlab's read function to receive flight data sent by FlightGear based on the UDP protocol, byte by byte.
[0016] Preferably, in step 3, processing the received flight data using Matlab simulation software to generate IMU sensor simulation data specifically involves: using the flight data to reverse-engineer the gyroscope and accelerometer data output by the inertial devices, wherein the gyroscope data... The angular velocity of the aircraft relative to inertial space in the carrier coordinate system, measured by accelerometer data. This is the relative force of the aircraft to inertial space in the carrier coordinate system.
[0017] Preferably, gyroscope data The calculation formula is:
[0018] (1)
[0019] In equation (1), The transformation matrix from the vehicle coordinate system to the navigation coordinate system is expressed as follows:
[0020]
[0021] in, This refers to the roll angle; The pitch angle; For heading angle;
[0022] In equation (1), Let be the rotational angular velocity of the n-system relative to the i-system, and its calculation formula is:
[0023]
[0024]
[0025]
[0026] in, This represents the angular velocity of Earth's rotation relative to inertial space. This refers to the angular velocity of the navigation system relative to the Earth. This is the Earth's rotational angular velocity; This refers to the eastward speed of the aircraft. This refers to the aircraft's northbound speed; Let be the radius of curvature at each point on the meridian; Let be the radius of curvature of each point on the circle; Latitude; For height;
[0027] In equation (1), The projection of the rotational angular velocity of the b-frame relative to the n-frame in the b-frame is obtained through three coordinate system rotations:
[0028]
[0029] in, This refers to the roll rate; It is the pitch angular velocity; Angular velocity of heading;
[0030] Equation (1) and This refers to the gyroscope output error. The error is constant. For random drift, a first-order Markov process is used.
[0031] Preferred, compared to The calculation formula is:
[0032] (2)
[0033] In equation (2), The projection of the force in the navigation system is calculated using the following formula:
[0034]
[0035] in, = , , , These are the eastward, northward, and upward accelerations of the carrier, respectively. = , , , These represent the northward, eastward, and upward velocities of the carrier, respectively. It is the acceleration due to gravity;
[0036] In equation (2), and For acceleration error, This represents the constant error of the accelerometer. To reduce accelerometer noise, a first-order Markov process is used.
[0037] The beneficial effects of this invention are as follows: by using a PC to establish a virtual flight environment, simulating real flight conditions, and collecting real-time simulation data, it can provide real experimental data for inertial navigation algorithm research, greatly saving the cost and time of experimental data collection. Attached Figure Description
[0038] Figure 1 This is a block diagram of the trajectory generator system of the present invention.
[0039] Figure 2 This is a schematic diagram of the trajectory generator simulation process of the present invention.
[0040] Figure 3 This is a diagram showing the storage format of the flight data output by FlightGear in this invention.
[0041] Figure 4 This is a schematic diagram of the simulated flight trajectory and the generated IMU sensor data of the present invention. Detailed Implementation
[0042] like Figure 1 As shown, a strapdown inertial navigation real-time trajectory generator combining FlightGear and Matlab includes: a flight control input device and a PC; the flight control input device is connected to the PC for controlling the FlightGear flight simulator. The PC is equipped with FlightGear simulation software and Matlab simulation software; the FlightGear simulation software is used for human-computer interaction to achieve visualized flight simulation, generating position, velocity, and attitude flight data of the vehicle; the Matlab simulation software receives the flight data generated by the FlightGear simulation software, generates IMU sensor data based on the flight data, and displays and stores the flight trajectory and sensor data in real time.
[0043] like Figure 2 As shown, a simulation method for a real-time trajectory generator for strapdown inertial navigation systems combining FlightGear and Matlab includes the following steps:
[0044] Step 1: Configure the XML file to determine the FlightGear data output format and transmission mode, and set the FlightGear flight simulation startup parameters.
[0045] FlightGear's data output types include: 1) roll angle, 2) pitch angle, 3) heading angle, 4) eastward speed, 5) northward speed, 6) celestial speed, 7) longitude, 8) latitude, and 9) altitude.
[0046] like Figure 3 The image shows an example of the storage format of flight data output by the FlightGear software provided by this invention. Specifically, the FlightGear simulated flight startup parameter settings include:
[0047] 1) Aircraft model: 757-200-RB211
[0048] 2) Departure Airport: ZBAA, i.e., Beijing Capital International Airport
[0049] 3) Data transmission direction: out
[0050] 4) Data transmission frequency: 50Hz
[0051] 5) Transport protocol: UDP
[0052] 6) Data transmission address: 127.0.0.1
[0053] 7) Data transmission port: 1234
[0054] Step 2: Use the flight control equipment to operate the FlightGear aircraft to perform simulated flight, generate flight simulation data in real time, and send it to the Matlab simulation software via UDP protocol.
[0055] Step 21: Use the udpport function in Matlab to establish the address and port for receiving data corresponding to the FlightGear data transmission;
[0056] Specifically, the usage of the udpport function is as follows:
[0057] u = udpport('IPV4', 'LocalHost','127.0.0.1', 'LocalPort',1234);
[0058] Establish a receiving port with IP address version: IPv4, local host address: 127.0.0.1, local host port: 1234.
[0059] Step 22: Use Matlab's read function to receive flight data sent by FlightGear based on the UDP protocol byte by byte;
[0060] Step 3: Use Matlab simulation software to process the received flight data, generate IMU sensor simulation data, and display and store the flight trajectory and IMU sensor data in real time.
[0061] Specifically, the simulation method for IMU sensor data is as follows: gyroscope and accelerometer data output from inertial devices are calculated inversely from flight data. Among these, the gyroscope data... The angular velocity of the aircraft relative to inertial space in the carrier coordinate system, measured by accelerometer data. This is the relative force of the aircraft to inertial space in the carrier coordinate system.
[0062] Specifically, gyroscope output data The calculation method is as follows:
[0063] (1)
[0064] In equation (1), The transformation matrix from the vehicle coordinate system to the navigation coordinate system is expressed as follows:
[0065]
[0066] in, This refers to the roll angle; The pitch angle; This is the heading angle.
[0067] In equation (1), Let be the rotational angular velocity of the n-system relative to the i-system, and its calculation formula is:
[0068]
[0069]
[0070]
[0071] in, This represents the angular velocity of Earth's rotation relative to inertial space. This refers to the angular velocity of the navigation system relative to the Earth. This is the Earth's rotational angular velocity; This refers to the eastward speed of the aircraft. This refers to the aircraft's northbound speed; Let be the radius of curvature at each point on the meridian; Let be the radius of curvature of each point on the circle; Latitude; For height.
[0072] In equation (1), The projection of the rotational angular velocity of the b-frame relative to the n-frame in the b-frame is obtained through three coordinate system rotations:
[0073]
[0074] in, This refers to the roll rate; It is the pitch angular velocity; This is the angular velocity of the heading.
[0075] Equation (1) and This represents the gyroscope output error. The error is constant. For random drift, a first-order Markov process is used.
[0076] Specifically, the data output by the triaxial accelerometer The calculation method is as follows:
[0077] (2)
[0078] In equation (2), The projection of the force in the navigation system is calculated using the following formula:
[0079]
[0080] in, = , , , These are the eastward, northward, and upward accelerations of the carrier, respectively. = , , , These represent the northward, eastward, and upward velocities of the carrier, respectively. This is the acceleration due to gravity.
[0081] In equation (2), and This is the acceleration error. This represents the constant error of the accelerometer. To reduce accelerometer noise, a first-order Markov process is used.
[0082] like Figure 4The image shows an example of a simulated flight trajectory and generated IMU sensor data provided in an embodiment of the present invention.
Claims
1. A real-time trajectory generator for strapdown inertial navigation systems combining FlightGear and Matlab, characterized in that, include: Flight control input device and PC; the flight control input device is connected to the PC for controlling the FlightGear flight simulator; The PC is equipped with FlightGear and Matlab simulation software. FlightGear is used for human-computer interaction to achieve visualized flight simulation, generating flight data on the vehicle's position, velocity, and attitude. Matlab receives the flight data generated by FlightGear, generates IMU sensor data based on the flight data, and displays and stores the flight trajectory and sensor data in real time. Specifically, this includes the following steps: Step 1: Configure the XML file to determine the FlightGear data output format and transmission mode, and set the FlightGear flight simulation startup parameters; Step 2: Use the flight control equipment to operate the FlightGear aircraft to perform simulated flight, generate flight simulation data in real time, and send it to the Matlab simulation software via UDP protocol; Step 3: Process the received flight data using Matlab simulation software to generate IMU sensor simulation data, and display and store the flight trajectory and IMU sensor data in real time; use the flight data to reverse engineer the gyroscope and accelerometer data output by the inertial devices, including the gyroscope data. The angular velocity of the aircraft relative to inertial space in the carrier coordinate system, measured by accelerometer data. The specific force of the aircraft relative to inertial space in the carrier coordinate system; Gyroscope data The calculation formula is: (1) In equation (1), The transformation matrix from the vehicle coordinate system to the navigation coordinate system is expressed as follows: in, This refers to the roll angle; The pitch angle; For heading angle; In equation (1), Let be the rotational angular velocity of the n-system relative to the i-system, and its calculation formula is: in, This represents the angular velocity of Earth's rotation relative to inertial space. This refers to the angular velocity of the navigation system relative to the Earth. This is the Earth's rotational angular velocity; This refers to the aircraft's eastward speed; This refers to the aircraft's northbound speed; Let be the radius of curvature at each point on the meridian; Let be the radius of curvature of each point on the circle; Latitude; For height; In equation (1), The projection of the rotational angular velocity of the b-frame relative to the n-frame in the b-frame is obtained through three coordinate system rotations: in, This refers to the roll angular velocity; It is the pitch angular velocity; Angular velocity of heading; Equation (1) and This refers to the gyroscope output error. The error is constant. For random drift, a first-order Markov process is used; Comparison The calculation formula is: (2) In equation (2), The projection of the force in the navigation system is calculated using the following formula: in, = , , , These are the eastward, northward, and upward accelerations of the carrier, respectively. = , , , These represent the northward, eastward, and upward velocities of the carrier, respectively. It is the acceleration due to gravity; In equation (2), and For acceleration error, This represents the constant error of the accelerometer. To reduce accelerometer noise, a first-order Markov process is used.
2. The real-time trajectory generator for strapdown inertial navigation system combining FlightGear and Matlab as described in claim 1, characterized in that, In step 1, the FlightGear flight simulation startup parameters include aircraft model, takeoff airport, data transmission direction, data transmission frequency, transmission protocol, data transmission address, and data transmission port.
3. The real-time trajectory generator for strapdown inertial navigation system combining FlightGear and Matlab as described in claim 1, characterized in that, In step 1, the data types of the output include roll angle, pitch angle, heading angle, eastward speed, northward speed, celestial speed, longitude, latitude, and altitude.
4. The real-time trajectory generator for strapdown inertial navigation system combining FlightGear and Matlab as described in claim 1, characterized in that, In step 2, the flight simulation data includes position, velocity, and attitude data.
5. The real-time trajectory generator for strapdown inertial navigation system combining FlightGear and Matlab as described in claim 1, characterized in that, Step 2 involves using flight control equipment to operate the FlightGear aircraft to perform simulated flight, generating flight simulation data in real time, and sending it to the Matlab simulation software via UDP protocol. The specific steps include: Step 21: Use the udpport function in Matlab to establish the address and port for receiving data corresponding to the data transmission of FlightGear; Step 22: Use Matlab's read function to receive flight data sent by FlightGear based on the UDP protocol, byte by byte.
Citation Information
Patent Citations
Design method of visualization system of simulated aircraft
CN106909762A