Method and device for determining angular velocity of inertial space

By using the separation technologies of the odd number row and the pixel flow of the even number of pixels in the star sensor, identify and distinguish the real stars and interference targets, solve the problem of misjudgment in the complex space environment, and realize the more accurate inertial space angle speed Measurement.

CN119355290APending Publication Date: 2025-01-24启元实验室
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411325881.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

Star sensors are difficult to distinguish real stars from interfering targets in complex space environments, resulting in an increased risk of misjudgment.

Method used

By obtaining the first and second control signals and exposure parameters, determine the odds and pixel pixel streams, and calculate their own target quality sets and observation vector sets based on these pixel flows, and finally determine the angular speed of the inertial space.

Benefits of technology

The ability to identify interference targets is improved, and image features are revealed through the separation of odd pixel streams, making them more significant, thereby more accurately distinguishing real stars and interference targets, and determining the angular velocity in inertial space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119355290A_ABST
    Figure CN119355290A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of signal processing, and discloses a method and device for determining the angular velocity of an inertial space, and the method comprises the steps: obtaining a first control signal, a second control signal and an exposure parameter; based on the first control signal, the second control signal and the exposure parameter, determining an odd-number row of pixel flow corresponding to the first control signal and an even-number row of pixel flow corresponding to the second control signal; determining a first target centroid set and a second target centroid set; based on the first target centroid set and the second target centroid set, determining a first target observation vector set and a second target observation vector set; based on the first target observation vector set and the second target observation vector set, determining a first output attitude corresponding to the first target observation vector set and a second output attitude corresponding to the second target observation vector set; an angular velocity of the inertial space is determined based on the first output attitude, the second output attitude, and the exposure time interval.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of signal processing technology, and in particular to a method, device, computer equipment, storage medium and program product for determining angular velocity in inertial space. Background Art

[0002] With the rapid development of aerospace technology, the requirements for the accuracy and autonomy of spacecraft attitude control are increasing. As a high-precision optical attitude sensor that does not rely on external signal sources, star sensors play a vital role in the attitude determination and navigation of spacecraft. It can autonomously observe the stars in the sky, and by comparing the star map with the built-in star map database, it can achieve high-precision attitude measurement of the spacecraft in inertial space, providing a reliable absolute attitude information benchmark for the orbit control and attitude adjustment of the spacecraft.

[0003] At present, the design and implementation of star sensors have made significant progress. Its core components include high-precision optical systems, high-sensitivity photosensitive elements and necessary mechanical structures. These components work together to enable star sensors to stably and accurately capture star images in complex space environments and quickly complete star map recognition and attitude resolution.

[0004] In order to deal with possible interference factors in the space environment, such as clouds, solar flares, space debris, etc., the current method is to jointly process multiple adjacent frames of images and distinguish real stars from interference targets by comparing the changes in star positions in different frames.

[0005] However, since interference targets in space usually appear as point-like targets, which have similar characteristics to real stars in a single-frame image, it is difficult to directly distinguish real stars from interference targets through a single-frame image. This increases the risk of misjudgment of star sensors in complex space environments. Summary of the invention

[0006] In view of this, the present invention provides a method, apparatus, computer equipment, storage medium and program product for determining the angular velocity in inertial space, so as to solve the problem of misjudgment caused by star sensors in complex space environments.

[0007] In a first aspect, the present invention provides a method for determining an angular velocity in an inertial space, the method comprising: acquiring a first control signal, a second control signal and an exposure parameter; determining, based on the first control signal, the second control signal and the exposure parameter, an odd-numbered pixel stream corresponding to the first control signal and an even-numbered pixel stream corresponding to the second control signal; determining a first target centroid set based on the odd-numbered pixel streams, and determining a second target centroid set based on the even-numbered pixel streams; determining, based on the first target centroid set and the second target centroid set, a first target observation vector set corresponding to the first target centroid set and a second target observation vector set corresponding to the second target centroid set; determining, based on the first target observation vector set and the second target observation vector set, a first output posture corresponding to the first target observation vector set and a second output posture corresponding to the second target observation vector set; determining the angular velocity in the inertial space based on the first output posture, the second output posture and the exposure time interval.

[0008] The method for determining the angular velocity of the inertial space provided in this embodiment determines the odd and even rows of pixel streams through the first control signal, the second control signal and the parameter, that is, the resolution in space or time is improved, and the recognition ability of the interference target can be improved. In addition, the separation of the odd and even pixel streams can reveal certain image features and become more significant. In addition, by processing the set of observation vectors, two output attitudes (the first output attitude and the second output attitude) are obtained. These two attitudes represent the attitudes of the spacecraft at different times (or different pixel streams). Since the behavior of the interference target in the continuous image may be different from that of the real star (for example, they may not follow the fixed position pattern of the star), therefore, by comparing the two output attitudes, the real star and the interference target can be further distinguished, so as to more accurately determine the angular velocity of the inertial space.

[0009] In an optional embodiment, based on the first control signal, the second control signal and the exposure parameters, determining the odd-numbered row pixel stream corresponding to the first control signal and the even-numbered row pixel stream corresponding to the second control signal includes: determining the odd-numbered row pixels for imaging based on the first control signal and the exposure parameters; determining the even-numbered row pixels for imaging based on the second control signal and the exposure parameters; performing linear interpolation and downsampling on adjacent pixels in the odd-numbered row pixels for imaging to obtain the odd-numbered row pixel stream; performing linear interpolation and downsampling on adjacent pixels in the even-numbered row pixels for imaging to obtain the even-numbered row pixel stream.

[0010] The method for determining the angular velocity in the inertial space provided in this embodiment can reduce the influence of noise to a certain extent by dividing the imaging process into odd-numbered rows and even-numbered rows of pixels for separate processing. Because noise is usually randomly distributed in an image, while stars (or other targets) occupy relatively fixed positions. By processing odd-numbered rows and even-numbered rows of pixels separately, the distribution of noise in the two groups of pixels can be made more independent, so that it is easier to be identified and suppressed in subsequent processing.

[0011] In addition, in complex space environments, interference targets (such as space debris, satellites, etc.) may appear in the image in the form of dots, which are difficult to distinguish from real stars. By dividing the image into odd-row and even-row pixel streams, the performance of these interference targets in the two sets of pixel streams can be made more inconsistent. Because the interference targets may not appear in the same odd-row or even-row position in every frame, while real stars will. This inconsistency helps to identify and exclude interference targets in subsequent processing.

[0012] In an optional embodiment, a first target centroid set is determined based on an odd-numbered pixel stream, and a second target centroid set is determined based on an even-numbered pixel stream, including: extracting a first grayscale weighted centroid and a first pixel area of ​​star points from the odd-numbered pixel stream; wherein the first pixel area refers to the number of image pixels belonging to the same star point in the odd-numbered pixel stream; extracting a second grayscale weighted centroid and a second pixel area of ​​the star point from the even-numbered pixel stream; wherein the second pixel area refers to the number of image pixels belonging to the same star point in the even-numbered pixel stream; comparing the first pixel area with a preset pixel area, determining a first target grayscale weighted centroid from the first grayscale weighted centroid based on the first comparison result, and using the first target grayscale weighted centroid as the first target centroid set; comparing the second pixel area with the preset pixel area, determining a second target grayscale weighted centroid from the second grayscale weighted centroid based on the second comparison result, and using the second target grayscale weighted centroid as the second target centroid set.

[0013] The method for determining the angular velocity in the inertial space provided in this embodiment can more accurately identify the star points in the image by processing the odd-numbered rows and the even-numbered rows of pixel streams respectively. The gray-weighted centroid not only considers the position of the pixel, but also the gray-scale value of the pixel, so it can more accurately reflect the actual position of the star in the image. At the same time, by comparing the pixel area with the preset pixel area, those interference targets with too small or too large areas can be excluded, thereby further improving the accuracy of recognition.

[0014] In an optional embodiment, based on the first target centroid set and the second target centroid set, determining the first target observation vector set corresponding to the first target centroid set and the second target observation vector set corresponding to the second target centroid set includes: obtaining the first ordered set and the second ordered set; wherein the first ordered set and the second ordered set are both empty ordered sets; respectively detecting whether the first target centroid set and the second target centroid set are empty sets; if the first target centroid set and the second target centroid set are not empty sets, taking any one target centroid coordinate from the first target centroid set; traversing each centroid coordinate in the second target centroid set, and processing the target centroid coordinate with each centroid coordinate respectively to generate a processing result; if the processing result is not greater than the preset processing result, adding the target centroid coordinate to the first ordered set, and adding the processing result to the second target centroid set; The centroid coordinates in the set are added to the second ordered set; the step of repeatedly taking out any one target centroid coordinate from the first target centroid set until the processing result is not greater than the preset processing result, adding the target centroid coordinate to the first ordered set, and adding the centroid coordinates in the second target centroid set corresponding to the processing result to the second ordered set, until the first target centroid set is an empty set, and obtaining a first candidate observation vector set corresponding to the first target ordered set and a second candidate observation vector set corresponding to the second target ordered set; determining the first candidate observation vector set based on the first target ordered set, and determining the second candidate observation vector set based on the second target ordered set; determining the first target observation vector set corresponding to the first candidate observation vector set and the second target observation vector set corresponding to the second candidate observation vector set based on the first candidate observation vector set and the second candidate observation vector set.

[0015] The method for determining the angular velocity in the inertial space provided in this embodiment can accurately find the center of mass pairs that match each other in the two sets by traversing each center of mass coordinate in the second target center of mass set and processing it with the target center of mass coordinate taken from the first target center of mass set (such as calculating the distance, angle difference, etc.). Only when the processing result is not greater than the preset processing result, the pair of center of mass is added to the ordered set, which ensures that only highly similar center of mass pairs will be selected, thereby improving the matching accuracy. In addition, based on the candidate observation vector set (the first candidate observation vector set and the second candidate observation vector set) obtained by strict matching and screening, the attitude of the spacecraft can be determined more accurately. Because each candidate observation vector represents a real and accurate star point (or its corresponding matching point) in the image, the observation vector set constructed based on these vectors will be closer to the actual situation, thereby improving the accuracy of attitude solution.

[0016] In an optional embodiment, based on the first candidate observation vector set and the second candidate observation vector set, determining a first target observation vector set corresponding to the first candidate observation vector set and a second target observation vector set corresponding to the second candidate observation vector set includes: detecting whether the number of three-dimensional vector coordinates in the first candidate observation vector set is greater than a preset number; detecting whether the number of three-dimensional vector coordinates in the second candidate observation vector set is greater than a preset number; if the number of three-dimensional vectors in the first candidate observation vector set is greater than the preset number and the number of three-dimensional vectors in the second candidate observation vector set is greater than the preset number, determining the three-dimensional vector coordinates of the first target and the second target based on the three-dimensional vector coordinates of the first target in the first candidate observation vector set. The first angle cosine value between the three-dimensional vector coordinates, and taking the first target three-dimensional vector coordinates in the second candidate observation vector set as the reference, determine the second angle cosine value between the first target three-dimensional vector coordinates and the second target three-dimensional vector coordinates; determine the error value based on the first angle cosine value and the second angle cosine value; determine the average and standard deviation of multiple error values, and determine the error interval based on the average and standard deviation; detect whether the error value is within the error interval; if the error value is not within the error interval, delete the first angle cosine value and the second angle cosine value corresponding to the error value; if the error value is within the error interval, retain the first angle cosine value and the second angle cosine value corresponding to the error value; obtain the first target observation vector set and the second target observation vector set.

[0017] The method for determining the angular velocity in the inertial space provided in this embodiment can ensure that there are sufficient observation data for subsequent processing by detecting whether the number of three-dimensional vector coordinates in the candidate observation vector set is greater than a preset number. At the same time, by calculating the cosine value of the angle and screening based on the error interval, those observation vectors whose angles with the reference vector are too large or too small, that is, those that may be caused by noise or mismatching, can be excluded, thereby improving the quality and reliability of the data. In addition, by adjusting parameters such as the preset number, the mean and standard deviation of the error interval, the strictness of the screening can be flexibly controlled. If you want to retain more observation vectors to increase redundancy, you can appropriately relax these parameters; if you want to improve the accuracy of the solution, you can tighten these parameters. This flexibility enables the method to adapt to different application scenarios and needs.

[0018] In an optional embodiment, determining a first candidate observation vector set based on a first target ordered set and determining a second candidate observation vector set based on a second target ordered set includes: acquiring a focal length of a star-sensitive optical system and a two-dimensional coordinate of a principal point of an imaging plane of a star sensor; determining the first candidate observation vector set based on the focal length, the two-dimensional point coordinates in the first target ordered set, and the two-dimensional coordinates of the principal point of the imaging plane of the star sensor; and determining the second candidate observation vector set based on the focal length, the two-dimensional point coordinates in the second target ordered set, and the two-dimensional coordinates of the principal point of the imaging plane of the star sensor.

[0019] The method for determining the angular velocity in the inertial space provided in this embodiment can ensure the reliability of the entire observation vector calculation process by accurately measuring and calibrating the position of the principal point of the imaging plane. At the same time, based on the accurate focal length and principal point coordinates, even in the face of complex space environments and noise interference, it can maintain a high observation vector calculation accuracy, avoid observation vector errors caused by inaccurate focal length, and improve the accuracy of the observation vector.

[0020] In a second aspect, the present invention provides a device for determining the angular velocity of an inertial space, the device comprising: an acquisition module, used to acquire a first control signal, a second control signal and an exposure parameter; a first determination module, used to determine, based on the first control signal, the second control signal and the exposure parameter, an odd-numbered row of pixel streams corresponding to the first control signal and an even-numbered row of pixel streams corresponding to the second control signal; a second determination module, used to determine a first target centroid set based on the odd-numbered row of pixel streams, and to determine a second target centroid set based on the even-numbered row of pixel streams; a third determination module, used to determine, based on the first target centroid set and the second target centroid set, a first target observation vector set corresponding to the first target centroid set and a second target observation vector set corresponding to the second target centroid set; a fourth determination module, used to determine, based on the first target observation vector set and the second target observation vector set, a first output posture corresponding to the first target observation vector set and a second output posture corresponding to the second target observation vector set; a fifth determination module, used to determine the angular velocity of the inertial space based on the first output posture, the second output posture and the exposure time interval.

[0021] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the method for determining the angular velocity in an inertial space of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0022] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to cause a computer to execute the method for determining the angular velocity in an inertial space of the first aspect or any corresponding embodiment thereof.

[0023] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions for causing a computer to execute the method for determining the angular velocity in an inertial space according to the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0025] Figure 1 is a flow chart of a method for determining an angular velocity in an inertial space according to an embodiment of the present invention;

[0026] Figure 2 is a schematic diagram of exposure time of odd-numbered rows and even-numbered rows according to an embodiment of the present invention;

[0027] Figure 3 is a schematic diagram of a system for determining angular velocity in an inertial space according to an embodiment of the present invention;

[0028] Figure 4 is a structural block diagram of a device for determining an angular velocity in an inertial space according to an embodiment of the present invention;

[0029] Figure 5 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0030] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0031] Based on relevant technologies, it can be seen that with the rapid development of aerospace technology, the requirements for the accuracy and autonomy of spacecraft attitude control are increasing. As a high-precision optical attitude sensor that does not rely on external signal sources, the star sensor plays a vital role in the attitude determination and navigation of spacecraft. It can autonomously observe the stars in the sky, and by comparing the star map with the built-in star map database, it can achieve high-precision attitude measurement of the spacecraft in inertial space, providing a reliable absolute attitude information benchmark for the orbit control and attitude adjustment of the spacecraft.

[0032] At present, the design and implementation of star sensors have made significant progress. Its core components include high-precision optical systems, high-sensitivity photosensitive elements and necessary mechanical structures. These components work together to enable star sensors to stably and accurately capture star images in complex space environments and quickly complete star map recognition and attitude resolution.

[0033] In order to deal with possible interference factors in the space environment, such as clouds, solar flares, space debris, etc., the current method is to jointly process multiple adjacent frames of images and distinguish real stars from interference targets by comparing the changes in star positions in different frames.

[0034] However, since interference targets in space usually appear as point-like targets, which have similar characteristics to real stars in a single-frame image, it is difficult to directly distinguish real stars from interference targets through a single-frame image. This increases the risk of misjudgment of star sensors in complex space environments.

[0035] Based on this, the present invention provides a method for determining the angular velocity of inertial space, and determines the odd and even rows of pixel streams through a first control signal, a second control signal and a parameter, that is, the resolution in space or time is improved, and the recognition ability of the interference target can be improved. In addition, the separation of odd and even pixel streams can reveal certain image features and become more significant. In addition, by processing the set of observation vectors, two output attitudes (a first output attitude and a second output attitude) are obtained. These two attitudes represent the attitudes of the spacecraft at different times (or different pixel streams). Since the behavior of the interference target in the continuous image may be different from that of the real star (for example, they may not follow the fixed position pattern of the star), therefore, by comparing the two output attitudes, the real star and the interference target can be further distinguished, so as to more accurately determine the angular velocity of the inertial space.

[0036] According to an embodiment of the present invention, a method embodiment for determining the angular velocity in an inertial space is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0037] In this embodiment, a method for determining the angular velocity of an inertial space is provided, which can be used in computer devices, such as computers, servers, etc. Figure 1 FIG. 1 is a flow chart of a method for determining an angular velocity in an inertial space according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:

[0038] Step S101, obtaining a first control signal, a second control signal and an exposure parameter.

[0039] The first control signal and the second control signal refer to control signals for controlling the start and end of exposure. The first control signal and the second control signal may be generated by a controller or a timing generator of the system to control the exposure and reading process of the image sensor. For example, in a rolling shutter camera, the first control signal may be used to start the exposure of odd rows of pixels, while the second control signal is used to start the exposure of even rows of pixels. Exposure parameters may include analog gain, digital gain, black level, color space, gamma curve, temperature compensation coefficient, etc., which are used to adjust the photosensitivity of the image sensor to ensure that a clear image can be obtained under different lighting conditions. For example: in a star-sensitive optical system, the first control signal and the second control signal are generated by an FPGA (field programmable gate array) and sent to the image sensor through a serial communication interface. The exposure parameters are set through a software interface and stored in the non-volatile memory of the controller.

[0040] Step S102: Based on the first control signal, the second control signal and the exposure parameter, determine the odd-numbered pixel streams corresponding to the first control signal and the even-numbered pixel streams corresponding to the second control signal.

[0041] According to the timing and exposure parameters of the control signal, the image sensor will expose and read the odd and even rows of pixels in turn, generating an odd row of pixel streams corresponding to the first control signal and an even row of pixel streams corresponding to the second control signal. Specifically, the internal logic of the image sensor or the external FPGA / ASIC (application-specific integrated circuit) can be used to separate and process the pixel streams. The raw image data can also be processed by software algorithms to extract the data of the odd and even rows of pixels. For example: in a high-resolution CMOS image sensor, the internal registers are controlled by FPGA to achieve alternating exposure and reading of odd and even rows of pixels, generating two independent pixel streams.

[0042] Step S103, determining a first target centroid set based on the odd-numbered pixel streams, and determining a second target centroid set based on the even-numbered pixel streams.

[0043] The data in each pixel stream is processed (such as threshold segmentation, centroid calculation, etc.) to determine the centroid position of each star or feature point on the imaging plane, thereby generating a first target centroid set and a second target centroid set. For example: Gaussian filtering and threshold segmentation algorithms are applied to each pixel stream to extract the star image, and the centroid calculation algorithm is used to determine the centroid position of each star.

[0044] Step S104, based on the first target centroid set and the second target centroid set, determine a first target observation vector set corresponding to the first target centroid set and a second target observation vector set corresponding to the second target centroid set.

[0045] Based on the focal length of the star sensor, the coordinates of the principal point of the imaging plane, and the two-dimensional coordinates of the target centroid set, the observation vector in the three-dimensional space corresponding to each centroid point is calculated through geometric transformation to generate a first target observation vector set and a second target observation vector set. For example: using the focal length of the star sensor and the coordinates of the principal point of the imaging plane, as well as the two-dimensional coordinates of the target centroid set, the three-dimensional observation vector corresponding to each centroid point is calculated through a perspective projection model.

[0046] Step S105 , based on the first target observation vector set and the second target observation vector set, determining a first output posture corresponding to the first target observation vector set and a second output posture corresponding to the second target observation vector set.

[0047] Based on the first target observation vector set and the second target observation vector set, the output attitude of the spacecraft is calculated using an attitude solution algorithm (such as the least squares method, Kalman filter, etc.). For example, the Kalman filter algorithm is applied to the first target observation vector set and the second target observation vector set, combined with the prior attitude information of the spacecraft, to calculate the output attitude at the current moment.

[0048] Step S106, determining the angular velocity in the inertial space based on the first output posture, the second output posture and the exposure time interval.

[0049] Based on the first output attitude, the second output attitude and the exposure time interval, the angular velocity of the spacecraft in the inertial space is calculated by differential operation or attitude dynamics model. For example, assuming that the exposure time interval is T seconds, the difference between the first output attitude and the second output attitude is divided by T seconds to obtain the estimated angular velocity of the spacecraft in the inertial space.

[0050] More specifically, combined with Figure 2 As shown in the figure, the exposure time of the odd-numbered rows and the exposure time of the even-numbered rows have a time slice with a constraint relationship. The exposure time of the odd-numbered rows is represented as the time slice Span 1 =[Instant 1_start , Instant 1_end], the exposure time of the even-numbered rows is expressed as the time slice Span 2 =[Instant 2_start , Instant 2_end ], among which, Instant 1_start and Instant 1_end Respectively represent the start and end time of the odd-numbered row exposure time, in time, Instant 2_start and Instant 2_end Represent the start and end time of the even-numbered row exposure time, respectively, in time. Then, the odd-numbered row exposure time and the even-numbered row exposure time have the same duration, that is, the time slice Span 1 and Span 2 The time span is the same, expressed mathematically as Instant 1_end -Instant 1_start =Instant 2_end -Instant 2_start ; At the same time, the combined time span of the odd-numbered row exposure time and the even-numbered row exposure time is less than half of the time interval ΔT between two adjacent frames of image output by the photosensitive element, that is, Where max() indicates the larger value, and min() indicates the smaller value. In a specific example, the three-axis components of the angular velocity of the star sensor are [10, 10, 2]° / s, respectively, and the corresponding angular velocity is about 14.28° / s. The star sensor uses CMOS as a photosensitive element, and the imaging size is 1400×1200 pixels. The size of each pixel is 0.015mm. The odd rows are numbered 1, 3, 5, 7, ..., 1399, and the even rows are numbered 2, 4, 6, 8, ..., 1400, with 1200 pixels in each row. The focal length of the optical system is 68mm, which is converted to 4533.333 pixels. The coordinates of the principal point of the imaging plane c x =700.0 pixels, c y = 600.0 pixels. The output frequency of the star sensor is 10 Hz, that is, the interval between two frames of image output by CMOS is ΔT = 100 ms (i.e. Figure 2 The interval 2 in the figure starts from time 0ms for the first frame exposure, the odd-numbered rows are exposed from 0ms to 20ms, and the even-numbered rows are exposed from 13ms to 33ms, and the exposure also lasts for 20ms. It can be seen that the combined time span of the exposure time of the odd-numbered rows and the even-numbered rows is from 0ms to 33ms, and the total time is 33ms, and The interval between the exposure center time of the odd-numbered rows and the exposure center time of the even-numbered rows (i.e. Figure 2The interval 1) is 13ms. Then the next frame of image is exposed again every 100ms, for example, the exposure start time of the second frame of the odd-numbered row is 100ms, and the exposure start time of the third frame is 200ms, and the exposure of the even-numbered row is similarly increased by 100ms per frame.

[0051] The method for determining the angular velocity of the inertial space provided in this embodiment determines the odd and even rows of pixel streams through the first control signal, the second control signal and the parameter, that is, the resolution in space or time is improved, and the recognition ability of the interference target can be improved. In addition, the separation of the odd and even pixel streams can reveal certain image features and become more significant. In addition, by processing the set of observation vectors, two output attitudes (the first output attitude and the second output attitude) are obtained. These two attitudes represent the attitudes of the spacecraft at different times (or different pixel streams). Since the behavior of the interference target in the continuous image may be different from that of the real star (for example, they may not follow the fixed position pattern of the star), therefore, by comparing the two output attitudes, the real star and the interference target can be further distinguished, so as to more accurately determine the angular velocity of the inertial space.

[0052] In an optional implementation, the above step S102 includes:

[0053] Step a1: determining odd-numbered rows of pixels for imaging based on the first control signal and exposure parameters.

[0054] Step a2: determining the even-numbered rows of pixels to be imaged based on the second control signal and the exposure parameters.

[0055] According to the instruction of the first control signal, its internal mechanism is adjusted to read and record only the pixel information of the odd-numbered rows on the image sensor; according to the instruction of the second control signal, its internal mechanism is adjusted to read and record only the pixel information of the even-numbered rows on the image sensor.

[0056] Step a3: linearly interpolate and downsample adjacent pixels in the odd-numbered rows of pixels of the image to obtain an odd-numbered row of pixel streams.

[0057] Linear interpolation downsampling is used to estimate unknown values ​​between two known values. In this step, it is used to reduce the resolution of odd-numbered rows of pixels. After linear interpolation downsampling, the number of odd-numbered rows of pixels is reduced, but part of the information of the original image is retained to form a new pixel stream.

[0058] Step a4, performing linear interpolation downsampling on adjacent pixels in the even-numbered rows of pixels of the image to obtain an even-numbered row of pixel streams.

[0059] Linear interpolation downsampling is used to estimate unknown values ​​between two known values. Specifically, linear interpolation downsampling is performed on every two adjacent pixels in the same row of pixels, and only one pixel is output to the back-end process to ensure that the number of output pixels after downsampling within the row is halved; in this step, it is used to reduce the resolution of even-numbered rows of pixels. After linear interpolation downsampling, the number of pixels in the even-numbered rows is reduced, but some information of the original image is retained to form a new pixel stream.

[0060] It should be noted that the color types of the odd-numbered row pixels and the even-numbered row pixels are both grayscale types. The odd-numbered row pixel stream and the even-numbered row pixel stream are output separately from each other without mixing.

[0061] Specifically, in a specific example, odd rows and even rows are read out alternately, and pixels in each row are downsampled within the row. There are 1200 pixels in a row, and pixels 1 and 2 are linearly interpolated to obtain 1 downsample, pixels 3 and 4 are linearly interpolated to obtain 1 downsample, and so on. Finally, 600 downsampled pixels are output in each row, and then output in sequence; in this way, all odd rows (1, 3, 5, ..., 1399 rows) of downsampled pixels are sequentially output to form an odd row pixel stream, and all even rows (2, 4, 6, ..., 1400 rows) of downsampled pixels are sequentially output to form an even row pixel stream, which are separated and not mixed together; from the perspective of the image, the odd row pixel stream is equivalent to forming an image with a resolution of 700×600, and the even row pixel stream is also equivalent to forming an image with a resolution of 700×600, and the exposure center time interval of the two images is 13ms.

[0062] The method for determining the angular velocity in the inertial space provided in this embodiment can reduce the influence of noise to a certain extent by dividing the imaging process into odd-numbered rows and even-numbered rows of pixels for separate processing. Because noise is usually randomly distributed in an image, while stars (or other targets) occupy relatively fixed positions. By processing odd-numbered rows and even-numbered rows of pixels separately, the distribution of noise in the two groups of pixels can be made more independent, so that it is easier to be identified and suppressed in subsequent processing.

[0063] In addition, in complex space environments, interference targets (such as space debris, satellites, etc.) may appear in the image in the form of dots, which are difficult to distinguish from real stars. By dividing the image into odd-row and even-row pixel streams, the performance of these interference targets in the two sets of pixel streams can be made more inconsistent. Because the interference targets may not appear in the same odd-row or even-row position in every frame, while real stars will. This inconsistency helps to identify and exclude interference targets in subsequent processing.

[0064] In an optional implementation, the above step S103 includes:

[0065] Step b1, extracting the first grayscale weighted centroid and the first pixel area of ​​the star point from the odd-numbered pixel streams; wherein the first pixel area refers to the number of image pixels belonging to the same star point in the odd-numbered pixel streams.

[0066] Step b2, extracting the second grayscale weighted centroid and the second pixel area of ​​the star point from the even-numbered pixel stream; wherein the second pixel area refers to the number of image pixels belonging to the same star point in the even-numbered pixel stream.

[0067] An odd-numbered pixel stream may be a pixel stream in which an image is divided into odd-numbered rows (or columns) and even-numbered rows (or columns) for different processing or analysis. Here, an odd-numbered pixel stream refers to a set of pixels in all odd-numbered rows in an image. Star point: In astronomical images, a star point refers to a bright spot formed on an image by light emitted by a star. Grayscale weighted centroid refers to a grayscale weighted centroid that is the centroid position of a portion of an image (such as a star point), but takes into account the grayscale value of each pixel as a weight. The calculation formula usually involves the sum of the products of the coordinates and grayscale value of each pixel in the image, and then divides it by the total grayscale value. The first pixel area refers to the number of image pixels associated with a specific star point in the odd-numbered pixel stream. This can be determined by techniques such as image segmentation and connectivity analysis.

[0068] Step b3, comparing the first pixel area with the preset pixel area, determining the first target grayscale weighted centroid from the first grayscale weighted centroid based on the first comparison result, and using the first target grayscale weighted centroid as the first target centroid set.

[0069] Each grayscale weighted centroid has a corresponding area. The area corresponding to each grayscale weighted centroid is compared with the preset pixel area, and then the first target grayscale weighted centroid is determined from the first grayscale weighted centroid based on the first comparison result, and the first target grayscale weighted centroid is used as the first target centroid set.

[0070] Step b4, comparing the second pixel area with the preset pixel area, determining the second target grayscale weighted centroid from the second grayscale weighted centroid based on the second comparison result, and using the second target grayscale weighted centroid as the second target centroid set.

[0071] Each grayscale weighted centroid has a corresponding area. The area corresponding to each grayscale weighted centroid is compared with the preset pixel area, and then the second target grayscale weighted centroid is determined from the second grayscale weighted centroid based on the second comparison result, and the second target grayscale weighted centroid is used as the second target centroid set.

[0072] For example: Set the effective area range to Area min ≤Effective Area≤Area max, where Area min and Area max Area is a positive integer, and then the star points that are not within the effective area are screened out, and only the star point centroids that meet the effective area range are added to the output centroid set; min =3, Area max =100, the odd-numbered pixel streams are input to the centroid extraction unit 1, and the coordinates and areas of 8 groups of centroids are directly extracted. After the area feature is screened, the centroid set A contains the coordinates of 7 centroids, which are A={[132.2287, 530.7984] T , [410.5506, 504.2249] T , [241.2409, 167.8886] T , [518.0364, 368.6276] T , [620.6363, 393.2679] T , [464.2718, 263.2828] T , [440.0828, 110.9266] T}, the even-numbered rows of pixels are input to the centroid extraction unit 2, and the coordinates and areas of 7 groups of centroids are directly extracted. After the area feature screening, the centroid set B contains the coordinates of 6 centroids, which are B = {[133.5448, 529.3181] T , [411.7123, 501.9120] T , [241.3707, 166.0925] T , [518.7660, 365.9561] T , [621.4241, 390.2876] T , [463.0721, 263.0831] T}.

[0073] The method for determining the angular velocity in the inertial space provided in this embodiment can more accurately identify the star points in the image by processing the odd-numbered rows and the even-numbered rows of pixel streams respectively. The gray-weighted centroid not only considers the position of the pixel, but also the gray-scale value of the pixel, so it can more accurately reflect the actual position of the star in the image. At the same time, by comparing the pixel area with the preset pixel area, those interference targets with too small or too large areas can be excluded, thereby further improving the accuracy of recognition.

[0074] In an optional implementation, the above step S104 includes:

[0075] Step c1, obtaining a first ordered set and a second ordered set; wherein the first ordered set and the second ordered set are both empty ordered sets.

[0076] The first ordered set and the second ordered set are empty ordered sets, wherein the elements of the ordered sets are arranged in a certain order. Specifically, an empty ordered set A' and an ordered set B' are created, and an ordered set means that the set can record and access the elements in the set in the order in which the elements are added.

[0077] Step c2, respectively detecting whether the first target centroid set and the second target centroid set are empty sets.

[0078] After determining the above-mentioned first target centroid set and second target centroid set, it is necessary to detect whether the first target centroid set and the second target centroid set are empty sets, that is, to detect whether there are centroid coordinates in the first target centroid set and the second target centroid set.

[0079] Step c3: if the first target mass center set and the second target mass center set are not empty sets, take out any target mass center coordinates from the first target mass center set.

[0080] Step c4, traverse each centroid coordinate in the second target centroid set, and process the target centroid coordinate with each centroid coordinate respectively to generate a processing result.

[0081] Step c5: if the processing result is not greater than the preset processing result, the target centroid coordinates are added to the first ordered set, and the centroid coordinates in the second target centroid set corresponding to the processing result are added to the second ordered set.

[0082] Randomly or according to a specific rule (such as order), a centroid coordinate is taken from the set, and a certain processing (such as calculating distance, similarity, etc.) is performed on each centroid coordinate in the second set, and compared with the target centroid coordinate. If the processing result meets the conditions (such as less than a preset threshold), the two centroid coordinates are added to the corresponding ordered sets respectively.

[0083] For example: Take any centroid coordinate p from the centroid set A a , p a ∈R 2 is a two-dimensional coordinate in the real number field, traversing each centroid coordinate p of the set B b , p b ∈R 2 is a two-dimensional coordinate in the real number field; if |p b -p a |≤d, then p a Add to the sorted set A' in order and add p b Add to the ordered set B' and set pb Remove from set B, else if |p b -p a |>d is no operation; the extracted coordinates refer to the centroid coordinates p a Once taken out, the centroid set A no longer contains the coordinate element; traverse each centroid coordinate p of the set B b , refers to the traversal of the access property, rather than the p b Remove from the collection.

[0084] Step c6, repeatedly execute the step of taking out any target centroid coordinate from the first target centroid set until the processing result is not greater than the preset processing result, adding the target centroid coordinate to the first ordered set, and adding the centroid coordinate in the second target centroid set corresponding to the processing result to the second ordered set, until the first target centroid set is an empty set, and obtaining the first candidate observation vector set corresponding to the first target ordered set and the second candidate observation vector set corresponding to the second target ordered set.

[0085] After the first centroid coordinate taken out from the first target centroid set is processed, each centroid coordinate in the first target centroid set is executed in turn to obtain the first candidate observation vector set corresponding to the first target ordered set and the second candidate observation vector set corresponding to the second target ordered set.

[0086] Step c7: determining a first candidate observation vector set based on the first target ordered set, and determining a second candidate observation vector set based on the second target ordered set.

[0087] After obtaining the first candidate observation vector set corresponding to the first target ordered set and the second candidate observation vector set corresponding to the second target ordered set, the centroid coordinates in the first target ordered set and the second target ordered set can be converted to obtain the first candidate observation vector set and the second candidate observation vector set.

[0088] Specifically, the above step c7 includes:

[0089] Step c71, obtaining the focal length of the star sensor optical system and the two-dimensional coordinates of the principal point of the star sensor imaging plane.

[0090] The focal length is the distance from the center of the lens to the imaging plane in an optical system, which determines the size and clarity of the image. In star sensors, the focal length is a fixed value because the position and distance of stars are relatively fixed in space. How to obtain: The focal length is usually determined during the design or manufacturing stage of the star sensor and recorded in the device's specifications. It can also be obtained by directly measuring the distance from the lens of the optical system to the imaging sensor.

[0091] The principal point of the imaging plane is a point on the imaging plane, usually located at the center of the imaging plane, and is the reference point for the optical system imaging. In the star sensor, the coordinates of this point are used to convert the image coordinates into coordinates in the celestial coordinate system. How to obtain: The two-dimensional coordinates of the principal point are usually determined by a calibration process during the design or manufacturing stage. This process involves calibrating the star sensor using stars of known positions to determine the position of the principal point on the imaging plane. In some cases, the position of the principal point can also be automatically determined by image processing algorithms.

[0092] Step c72, determining a first candidate observation vector set based on the focal length, the two-dimensional point coordinates in the first target ordered set, and the two-dimensional coordinates of the principal point of the star sensor imaging plane.

[0093] First, the offset of each star relative to the principal point is calculated based on the two-dimensional coordinates of the principal point of the imaging plane and the two-dimensional coordinates of each star. Then, the direction vector (i.e., observation vector) of each star in the celestial coordinate system is calculated through trigonometric relationships using the focal length and these offsets. These direction vectors constitute the first set of candidate observation vectors.

[0094] Step c73, determining a second candidate observation vector set based on the focal length, the two-dimensional point coordinates in the second target ordered set, and the two-dimensional coordinates of the principal point of the star sensor imaging plane.

[0095] Similarly, the offset is calculated based on the two-dimensional coordinates of the principal point of the imaging plane and the two-dimensional coordinates of each star in the second target ordered set. Using the focal length and the offset, the direction vector of each star in the celestial coordinate system is calculated through trigonometric relationships. These direction vectors constitute the second candidate observation vector set.

[0096] Specifically, in an application scenario, the two-dimensional point coordinates in the first target ordered set A' and the second target ordered set B' are converted into three-dimensional observation vectors in sequence and collected in the same order to form an observation vector set. The centroid set A' is converted to obtain the first candidate observation vector set W A ′, set B′ is transformed to obtain the second candidate observation vector set W B ′; where the coordinates of any two-dimensional point are denoted by p∈R 2 The x-axis coordinate is p x , the y-axis coordinate is p y , and its corresponding three-dimensional observation vector is w∈R 3 , the focal length of the star sensor optical system is f, and the x-axis coordinate of the principal point of the star sensor imaging plane is c x , the y-axis coordinate is c y , where p x , p y , c x , c y, f are all real numbers and the unit is pixel, normalization() represents the vector normalization operation, then the conversion formula from the two-dimensional point coordinates to the three-dimensional observation vector is as follows:

[0097]

[0098] Step c8: Based on the first candidate observation vector set and the second candidate observation vector set, determine a first target observation vector set corresponding to the first candidate observation vector set and a second target observation vector set corresponding to the second candidate observation vector set.

[0099] Specifically, the above step c8 includes:

[0100] Step c81, detecting whether the number of three-dimensional vector coordinates in the first candidate observation vector set is greater than a preset number.

[0101] Step c82, detecting whether the number of three-dimensional vector coordinates in the second candidate observation vector set is greater than a preset number.

[0102] The three-dimensional vector coordinates refer to the positions of stars in the celestial coordinate system, which are obtained through observation and calculation of star sensors. The preset number is a set threshold value used to determine whether the observation data is sufficient. This value can be set according to the specific application scenario, the performance of the star sensor, and the required accuracy. Specifically, the number of three-dimensional vector coordinates in the first candidate observation vector set can be directly counted and compared with the preset number. The number of three-dimensional vector coordinates in the second candidate observation vector set can be directly counted and compared with the preset number.

[0103] Step c83, if the number of three-dimensional vectors in the first candidate observation vector set is greater than the preset number and the number of three-dimensional vectors in the second candidate observation vector set is greater than the preset number, the first target three-dimensional vector coordinates in the first candidate observation vector set are used as a reference to determine the first angle cosine value between the first target three-dimensional vector coordinates and the second target three-dimensional vector coordinates, and the first target three-dimensional vector coordinates in the second candidate observation vector set are used as a reference to determine the second angle cosine value between the first target three-dimensional vector coordinates and the second target three-dimensional vector coordinates; wherein the first target three-dimensional vector coordinates are any one of the three-dimensional vector coordinates in the first candidate observation vector set; and the second target three-dimensional vector coordinates are other three-dimensional vector coordinates in the first candidate observation vector set.

[0104] First angle cosine value: Taking the first target three-dimensional vector coordinates in the first candidate observation vector set as the reference, calculate the angle cosine value between it and the second target three-dimensional vector coordinates. This value reflects the directional difference or similarity between the two. Second angle cosine value: Taking the first target three-dimensional vector coordinates in the second candidate observation vector set as the reference, also calculate the angle cosine value between it and the second target three-dimensional vector coordinates. If the number of three-dimensional vectors in the two candidate observation vector sets meets the preset requirements, it is necessary to further analyze the relationship between these vectors. Here, the similarity or directional difference between the first target three-dimensional vector coordinates and the second target three-dimensional vector coordinates is evaluated by calculating the angle cosine value.

[0105] In one possible implementation, the cosine of the angle can be calculated by dividing the dot product of the two vectors by the product of their moduli. Suppose two three-dimensional vectors are A(x1, y1, z1) and B(x2, y2, z2), then the cosine of the angle between them is:

[0106]

[0107] For example, if the three-dimensional vector coordinates of the first target in the first candidate observation vector set are A(1, 2, 3), and the three-dimensional vector coordinates of the second target are T(4, 5, 6), the cosine value of the angle between them can be calculated by the above formula as the first cosine value of the angle. Similarly, the cosine value of the second angle between the three-dimensional vector coordinates of the first target and the three-dimensional vector coordinates of the second target in the second candidate observation vector set can also be calculated.

[0108] Step c84, determining the error value based on the cosine value of the first angle and the cosine value of the second angle.

[0109] The error value may be an absolute difference or a relative difference between the two cosine values ​​of the angle, and is used to quantify the degree of inconsistency between the two. Specifically, the error value may be determined by the difference between the first cosine value of the angle and the second cosine value of the angle. For example, if the cosine value of the first angle is 0.9 and the cosine value of the second angle is 0.85, then their absolute error is |0.9-0.85|=0.05.

[0110] Step c85, determining the average value and standard deviation of multiple error values, and determining the error interval based on the average value and the standard deviation.

[0111] After determining the above-mentioned multiple error values, the mean value and standard deviation between the multiple error values ​​can be determined, and then the error interval is determined according to the mean value and standard deviation. Specifically, the mean value and standard deviation can be determined using computing software such as MATLAB software. Then, the difference between the mean value and the preset allowable error parameter is used as the minimum value of the error interval, and the sum between the mean value and the preset allowable error parameter is used as the maximum value of the error interval.

[0112] Step c86, detecting whether the error value is within the error range.

[0113] Step c87: if the error value is not within the error interval, the first angle cosine value and the second angle cosine value corresponding to the error value are deleted.

[0114] Step c88, if the error value is within the error interval, retain the first angle cosine value and the second angle cosine value corresponding to the error value to obtain the first target observation vector set and the second target observation vector set.

[0115] Then, the first angle cosine value and the second angle cosine value whose error values ​​are within the error interval are retained, and the first angle cosine value and the second angle cosine value whose error values ​​are not within the error interval are deleted, so as to obtain the first target observation vector set and the second target observation vector set.

[0116] For example: A The first vector w in ′ A-1 ∈R 3 As a benchmark, calculate it and the kth vector w in turn A-k The cosine value of the angle cosθ A-k , calculated as cosθ A-k =w A-k T ·w A-1 , where k = 2, 3, ..., N is a positive integer, w A-k T Represents vector w A-k The transpose of W B ′Do similar operations, with the first vector w B-1 ∈R 3 As a benchmark, calculate it and the kth vector w in turn B-k The cosine of the angle cosθ B-k , calculated as cosθ B-k =w B-k T ·w B-1 ; Calculate the error e for k=2,3,…,N in turn k , where e k is a real number, and the calculation formula is e k = cosθ B-k -cosθ A-k , and get the sequence e 2 ,e 3 ,…,e N And calculate the parameters μ and σ. If N ≥ 6, for the sequence e 2 ,e 3 ,…,e NAfter removing the maximum and minimum values, the statistical average is taken as μ and the standard deviation is taken as σ. Otherwise, if N<6, for the sequence e 2 ,e 3 ,…,e N Directly calculate the mean value as μ and the standard deviation as σ, where μ and σ are both real numbers; finally, set an allowable error parameter δ, δ is a real number ranging from 0<δ≤5σ; traverse number k=2,3,...,N to determine e k Is it contained in the interval [μ-δ,μ+δ]? If Then from the set W A ′ and W B ' removes the vector corresponding to the number k; at this time W A ′ as the first target observation vector set W A , at this time W B ′ as the second target observation vector set W B .

[0117] In a specific example, the parameter d is set to 8.0, and the first target ordered set A' is set to {[132.2287, 530.7984] T , [410.5506, 504.2249] T , [241.2409, 167.8886] T , [518.0364, 368.6276] T , [620.6363, 393.2679] T , [464.2718, 263.2828]}, the second target ordered set B' = {[133.5448, 529.3181] T , [411.7123, 501.9120] T , [241.3707, 166.0925] T , [518.7660, 365.9561] T , [621.4241, 390.2876] T , [463.0721, 263.0831] T};

[0118] The first candidate observation vector set W A ′={[0.09514773, -0.10083947, 0.99034252] T , [-0.026596316, -0.08970398, 0.9956133] T , [0.04784580, 0.05811906, 0.99716245] T, [-0.07389715, -0.03018027, 0.9968091] T , [-0.1184575, -0.04082334, 0.9921196] T , [-0.0503435, 0.016176102, 0.998601] T}, the second candidate observation vector set W B ′={[0.09458401, -0.1002047, 0.9904609] T , [-0.02710867, -0.08869488, 0.9956899] T , [0.047786624, 0.05890664, 0.9971191] T , [-0.07421882, -0.029005749, 0.9968201] T , [-0.11880365, -0.039519321, 0.992131] T , [-0.04981621, 0.01626449, 0.998626] T}.

[0119] Since N=6 satisfies N≥4, for W A ′, taking the first vector as the reference, there is w A-1 =[0.09514773,-0.10083947,0.99034252] T , for W B ′, taking the first vector as the reference, there is w B-1 =[0.09458401,-0.1002047,0.9904609] T ; Calculate the cosine value of the angle between the reference and the kth vector in the corresponding set in turn, and get the following cosine value of the angle: cosθ A-2 =0.9925133, cosθ A-3 =0.9862241, cosθ A-4 =0.98319465, cosθ A-5 =0.97538387, cosθ A-6 =0.9825357; cosθ B-2 =0.99251554, cosθ B-3 =0.98622463, cosθ B-4 =0.98319794, cosθ B-5 =0.9753901, cosθ B-6=0.9827584.

[0120] Calculate e in sequence k , and the sequence e is calculated 2 =2.23e-06, e 3 =5.28e-07,e 4 =3.29e-06, e 5 =6.24e-06, e 6 =2.23e-04; since N≥6, the maximum value e is removed 6 and the minimum value e 3 After that, 2 , e 4 , e 5 ] Statistics, we get parameters μ = 3.92e-06, σ = 2.07e-06; set parameter δ = 2σ = 4.15e-06.

[0121] Judge k Is it included in the interval [-2.3e-7, 8.07e-6]? It is found that only So from the set W A ′ and W B ′, the vector corresponding to the number k=6 is removed, which is actually identified as the vector formed by the interference target; finally, the first target observation vector set W A ={[0.09514773, -0.10083947, 0.99034252] T , [-0.026596316, -0.08970398, 0.9956133] T , [0.04784580, 0.05811906, 0.99716245] T , [-0.07389715, -0.03018027, 0.9968091] T , [-0.1184575, -0.04082334, 0.9921196] T}, the second target observation vector set W B ={[0.09458401, -0.1002047, 0.9904609] T , [-0.02710867, -0.08869488, 0.9956899] T , [0.047786624, 0.05890664, 0.9971191] T , [-0.07421882, -0.029005749, 0.9968201] T, [-0.11880365, -0.039519321, 0.992131] T}.

[0122] The method for determining the angular velocity in the inertial space provided in this embodiment can ensure that there are sufficient observation data for subsequent processing by detecting whether the number of three-dimensional vector coordinates in the candidate observation vector set is greater than a preset number. At the same time, by calculating the cosine value of the angle and screening based on the error interval, those observation vectors whose angles with the reference vector are too large or too small, that is, those that may be caused by noise or mismatching, can be excluded, thereby improving the quality and reliability of the data. In addition, by adjusting parameters such as the preset number, the mean and standard deviation of the error interval, the strictness of the screening can be flexibly controlled. If you want to retain more observation vectors to increase redundancy, you can appropriately relax these parameters; if you want to improve the accuracy of the solution, you can tighten these parameters. This flexibility enables the method to adapt to different application scenarios and needs.

[0123] Combination Figure 3 As shown, in an optional embodiment, the present invention provides a system for determining the angular velocity of an inertial space, the system comprising:

[0124] A staggered exposure logic control unit is provided, which outputs corresponding exposure time control signals and exposure parameters for odd-numbered rows and even-numbered rows of photosensitive elements respectively, and independently controls the exposure of odd-numbered rows and even-numbered rows; wherein, staggered exposure refers to independent exposure of odd-numbered rows of pixels and even-numbered rows of pixels of the photosensitive element, the exposure time of all odd-numbered rows of pixels is the same, the exposure time of all even-numbered rows of pixels is the same, and the exposure time of odd-numbered rows is different from that of even-numbered rows; the exposure time control signal refers to a control signal capable of controlling the start and end of exposure; except that the exposure time is different between odd-numbered rows and even-numbered rows, all other exposure parameters are the same, including analog gain, digital gain, black level, color space, gamma curve, and temperature compensation coefficient;

[0125] The exposure time of odd-numbered rows and the exposure time of even-numbered rows have a time slice with a constraint relationship. The exposure time of odd-numbered rows is represented as the time slice Span 1 =[Instant 1_start ,Instant 1_end ], the exposure time of the even-numbered rows is expressed as the time slice Span 2 =[Instant 2_start ,Instant 2_end ], among which, Instant 1_start and Instant 1_end Respectively represent the start and end time of the odd-numbered row exposure time, in time, Instant 2_start and Instant2_end Represent the start and end time of the even-numbered row exposure time, respectively, in time. Then, the odd-numbered row exposure time and the even-numbered row exposure time have the same duration, that is, the time slice Span 1 and Span 2 The time span is the same, expressed mathematically as Instant 1_end -Instant 1_start =Instant 2_end -Instant 2_start ; At the same time, the combined time span of the odd-numbered row exposure time and the even-numbered row exposure time is less than half of the time interval ΔT between two adjacent frames of image output by the photosensitive element, that is, Among them, max() means to seek a larger value, and min() means to seek a smaller value.

[0126] (2) It has an imaging interleaved readout control unit, which interleaves the odd-numbered rows of pixels and the even-numbered rows of pixels of the imaging, and then performs intra-row downsampling on each row. Subsequently, all odd-numbered row downsampled pixels are output in sequence as an odd-numbered row pixel stream, and all even-numbered row downsampled pixels are output in sequence as an even-numbered row pixel stream.

[0127] (3) It has two independent parallel centroid extraction units, including centroid extraction unit 1 and centroid extraction unit 2. Centroid extraction unit 1 extracts the grayscale weighted centroids and the pixel areas occupied by star points according to the odd-numbered pixel streams, and outputs a first target centroid set A based on an area feature screening method. Centroid extraction unit 2 extracts the grayscale weighted centroids and the pixel areas occupied by star points according to the even-numbered pixel streams, and outputs a second target centroid set B based on an area feature screening method.

[0128] The grayscale weighted centroid refers to the weighted centroid of the star points in the image with the pixel grayscale as the weight, denoted by p, p∈R 2 is the two-dimensional coordinate in the real number domain, and the value unit is pixel; the pixel area occupied refers to the number of image pixels belonging to the same star point.

[0129] The area feature-based screening method is: first set the effective area range to Area min ≤Effective Area≤Area max , where Area min and Area max is a positive integer, and then the star points that are not within the effective area are screened out, and only the star point centroids that meet the effective area range are added to the output centroid set.

[0130] (4) An observation vector conversion and filtering unit is provided to realize a fast vector acquisition and filtering algorithm with linear time complexity, including the following method steps:

[0131] (4-1) First, create an empty ordered set A' and an ordered set B'. An ordered set means that the elements in the set can be recorded and accessed in the order in which the elements are added.

[0132] (4-2) Select a distance threshold parameter d, which is usually a real number in the range of 0.1≤d≤20, with the unit being pixel.

[0133] (4-3) If the centroid set A is not empty, execute sequentially from step (4-4), otherwise if A is empty, jump to step (4-6).

[0134] (4-4) Take any centroid coordinate p from the centroid set A a , p a ∈R 2 is a two-dimensional coordinate in the real number field, traversing each centroid coordinate p of the set B b , p b ∈R 2 is a two-dimensional coordinate in the real number field; if p b -p a |≤d, then p a Add to the sorted set A' in order and add p b Add to the ordered set B' and set p b Remove from set B, else if |p b -p a |>d is no operation; the extracted coordinates refer to the centroid coordinates p a Once taken out, the centroid set A no longer contains the coordinate element; traverse each centroid coordinate p of the set B b , refers to the traversal of the access property, rather than the p b Remove from the collection.

[0135] (4-5) Return to step (4-3) to make a judgment.

[0136] (4-6) The ordered sets A' and B' are obtained as the centroid sets A' and B' after screening.

[0137] (4-7) The two-dimensional point coordinates in A' and B' are converted into three-dimensional observation vectors in sequence and collected in the same order to form an observation vector set. Note that A' is converted to obtain W A ′, B' is converted to W B ′; where the coordinates of any two-dimensional point are denoted by p∈R 2 The x-axis coordinate is p x , the y-axis coordinate is p y , and its corresponding three-dimensional observation vector is w∈R 3, the focal length of the star sensor optical system is f, and the x-axis coordinate of the principal point of the star sensor imaging plane is c x , the y-axis coordinate is c y , where p x , p y , c x , c y , f are all real numbers and the unit is pixel, normalization() represents the vector normalization operation, then the conversion formula from the two-dimensional point coordinates to the three-dimensional observation vector is as follows:

[0138]

[0139] (4-8) Start the filtering step, record W A ′ and W B ′ The number of elements contained in each is N, where N is a non-negative integer. Determine the size of N. If N ≥ 4, execute sequentially from step (4-9), otherwise jump directly to step (4-12).

[0140] (4-9) With W A The first vector w in ′ A-1 ∈R 3 As a benchmark, calculate it and the kth vector w in turn A-k The cosine of the angle cosθ A-k , calculated as cosθ A-k =w A-k T ·w A-1 , where k = 2, 3, ..., N is a positive integer, w A-k T Represents vector w A-k The transpose of W B ′Do similar operations, with the first vector w B-1 ∈R 3 As a benchmark, calculate it and the kth vector w in turn B-k The cosine of the angle cosθ B-k , calculated as cosθ B-k =w B-k T ·w B-1 .

[0141] (4-10) Calculate the error e for k = 2, 3, ..., N in turn k , where e k is a real number, and the calculation formula is e k = cosθ B-k -cosθ A-k , and get the sequence e 2 ,e 3 ,...,e NAnd calculate the parameters μ and σ, the method is, if N ≥ 6, for the sequence e 2 ,e 3 ,...,e N After removing the maximum and minimum values, the statistical average is taken as μ and the standard deviation is taken as σ. Otherwise, if N<6, for the sequence e 2 ,e 3 ,…,e N Directly calculate the mean value as μ and the standard deviation as σ, where μ and σ are both real numbers; finally, set an allowable error parameter δ, which is a real number ranging from 0<δ≤5σ.

[0142] (4-11) Traverse the number k = 2, 3, ..., N to determine e k Is it contained in the interval [μ-δ,μ+δ]? If Then from the set W A ′ and W B ' removes the vector corresponding to the number k.

[0143] (4-12) At this time, W A ′ as the filtered observation vector set W A , at this time W B ′ as the filtered observation vector set W B .

[0144] (5) It has an attitude calculation unit and an angular velocity estimation unit, respectively using W A and W B Realize star map matching and attitude solution, solve and get the corresponding output attitude 1 and output attitude 2, use the exposure time slice center time as the attitude solution corresponding time, then the exposure time of output attitude 1 is The exposure time of output posture 2 is The nonlinear rotation difference between the two postures and the exposure time interval are further used to calculate and output the inertial space angular velocity.

[0145] In this embodiment, a device for determining the angular velocity of the inertial space is also provided, and the device is used to implement the above-mentioned embodiments and preferred embodiments, and the descriptions have been made no further. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0146] This embodiment provides a device for determining the angular velocity of an inertial space, such as Figure 4 As shown, including:

[0147] The acquisition module 401 is used to acquire the first control signal, the second control signal and the exposure parameter; the first determination module 402 is used to determine the odd-numbered pixel streams corresponding to the first control signal and the even-numbered pixel streams corresponding to the second control signal based on the first control signal, the second control signal and the exposure parameter; the second determination module 403 is used to determine the first target centroid set based on the odd-numbered pixel streams and the second target centroid set based on the even-numbered pixel streams; the third determination module 404 is used to determine the first target observation vector set corresponding to the first target centroid set and the second target observation vector set corresponding to the second target centroid set based on the first target centroid set and the second target centroid set; the fourth determination module 405 is used to determine the first output posture corresponding to the first target observation vector set and the second output posture corresponding to the second target observation vector set based on the first target observation vector set and the second target observation vector set; the fifth determination module 406 is used to determine the angular velocity in the inertial space based on the first output posture, the second output posture and the exposure time interval.

[0148] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0149] The device for determining the angular velocity in the inertial space in this embodiment is presented in the form of a functional unit, where the functional unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0150] The embodiment of the present invention also provides a computer device having the above Figure 4 The device for determining the angular velocity in inertial space is shown.

[0151] See also Figure 5 , Figure 5 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 5As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 5 A processor 10 is taken as an example.

[0152] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0153] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.

[0154] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0155] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0156] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0157] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0158] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0159] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A method for determining the angular velocity in an inertial space, characterized in that The method comprises: Acquiring a first control signal, a second control signal, and an exposure parameter; Based on the first control signal, the second control signal and the exposure parameter, determining the odd-numbered pixel streams corresponding to the first control signal and the even-numbered pixel streams corresponding to the second control signal; Determine a first target centroid set based on the odd-numbered pixel streams, and determine a second target centroid set based on the even-numbered pixel streams; Based on the first target centroid set and the second target centroid set, determining a first target observation vector set corresponding to the first target centroid set and a second target observation vector set corresponding to the second target centroid set; Based on the first target observation vector set and the second target observation vector set, determining a first output posture corresponding to the first target observation vector set and a second output posture corresponding to the second target observation vector set; An angular velocity in an inertial space is determined based on the first output posture, the second output posture, and the exposure time interval.

2. The method for determining the angular velocity in an inertial space according to claim 1, characterized in that: The method of determining, based on the first control signal, the second control signal and the exposure parameter, an odd-numbered row pixel stream corresponding to the first control signal and an even-numbered row pixel stream corresponding to the second control signal comprises: Determine odd-numbered rows of pixels for imaging based on the first control signal and the exposure parameter; Determine an even-numbered row of pixels for imaging based on the second control signal and the exposure parameter; Downsampling the adjacent pixels in the odd-numbered rows of pixels of the imaging by linear interpolation to obtain an odd-numbered row of pixel streams; Linear interpolation downsampling is performed on adjacent pixels in the even-numbered rows of pixels in the imaging to obtain an even-numbered row of pixel streams.

3. The method for determining the angular velocity in an inertial space according to claim 1, characterized in that: Determining a first target centroid set based on the odd-numbered pixel streams and determining a second target centroid set based on the even-numbered pixel streams includes: Extracting the first grayscale weighted centroid and the first pixel area of ​​the star point from the odd-numbered pixel streams; wherein the first pixel area refers to the number of image pixels belonging to the same star point in the odd-numbered pixel streams; Extracting the second grayscale weighted centroid and the second pixel area of ​​the star point from the even-numbered pixel stream; wherein the second pixel area refers to the number of image pixels belonging to the same star point in the even-numbered pixel stream; Comparing the first pixel area with a preset pixel area, determining a first target grayscale weighted centroid from the first grayscale weighted centroid based on the first comparison result, and using the first target grayscale weighted centroid as a first target centroid set; The second pixel area is compared with the preset pixel area, and a second target grayscale weighted centroid is determined from the second grayscale weighted centroid based on the second comparison result, and the second target grayscale weighted centroid is used as the second target centroid set.

4. The method for determining the angular velocity in an inertial space according to claim 1, characterized in that: Determining, based on the first target mass center set and the second target mass center set, a first target observation vector set corresponding to the first target mass center set and a second target observation vector set corresponding to the second target mass center set, comprising: Obtain a first ordered set and a second ordered set; wherein the first ordered set and the second ordered set are both empty ordered sets; Respectively detecting whether the first target centroid set and the second target centroid set are empty sets; If the first target mass center set and the second target mass center set are not empty sets, taking any target mass center coordinate from the first target mass center set; Traversing each centroid coordinate in the second target centroid set, and processing the target centroid coordinate with each centroid coordinate respectively to generate a processing result; If the processing result is not greater than the preset processing result, the target centroid coordinates are added to the first ordered set, and the centroid coordinates in the second target centroid set corresponding to the processing result are added to the second ordered set; Repeat the steps of taking out any one target centroid coordinate from the first target centroid set until the processing result is not greater than the preset processing result, adding the target centroid coordinate to the first ordered set, and adding the centroid coordinate in the second target centroid set corresponding to the processing result to the second ordered set, until the first target centroid set is an empty set, and obtaining a first candidate observation vector set corresponding to the first target ordered set and a second candidate observation vector set corresponding to the second target ordered set; Based on the first target ordered set, determine a first candidate observation vector set, and based on the second target ordered set, determine a second candidate observation vector set; Based on the first candidate observation vector set and the second candidate observation vector set, a first target observation vector set corresponding to the first candidate observation vector set and a second target observation vector set corresponding to the second candidate observation vector set are determined.

5. The method for determining the angular velocity in an inertial space according to claim 4, characterized in that: Determining, based on the first candidate observation vector set and the second candidate observation vector set, a first target observation vector set corresponding to the first candidate observation vector set and a second target observation vector set corresponding to the second candidate observation vector set, includes: Detecting whether the number of three-dimensional vector coordinates in the first candidate observation vector set is greater than a preset number; Detecting whether the number of three-dimensional vector coordinates in the second candidate observation vector set is greater than a preset number; If the number of three-dimensional vectors in the first candidate observation vector set is greater than a preset number and the number of three-dimensional vectors in the second candidate observation vector set is greater than a preset number, the first target three-dimensional vector coordinates in the first candidate observation vector set are used as a reference to determine the first angle cosine value between the first target three-dimensional vector coordinates and the second target three-dimensional vector coordinates, and the first target three-dimensional vector coordinates in the second candidate observation vector set are used as a reference to determine the second angle cosine value between the first target three-dimensional vector coordinates and the second target three-dimensional vector coordinates; wherein the first target three-dimensional vector coordinates are any three-dimensional vector coordinates in the first candidate observation vector set; and the second target three-dimensional vector coordinates are other three-dimensional vector coordinates in the first candidate observation vector set; Determine an error value based on the first angle cosine value and the second angle cosine value; Determine an average value and a standard deviation of the plurality of error values, and determine an error interval based on the average value and the standard deviation; Detecting whether the error value is within the error interval; If the error value is not within the error interval, deleting the first angle cosine value and the second angle cosine value corresponding to the error value; If the error value is within the error interval, the first angle cosine value and the second angle cosine value corresponding to the error value are retained to obtain a first target observation vector set and a second target observation vector set.

6. The method for determining the angular velocity in an inertial space according to claim 4, characterized in that: The step of determining a first candidate observation vector set based on the first target ordered set and determining a second candidate observation vector set based on the second target ordered set includes: Obtain the focal length of the star sensor optical system and the two-dimensional coordinates of the principal point of the star sensor imaging plane; Determine a first candidate observation vector set based on the focal length, the two-dimensional point coordinates in the first target ordered set, and the two-dimensional coordinates of the principal point of the star sensor imaging plane; A second candidate observation vector set is determined based on the focal length, the two-dimensional point coordinates in the second target ordered set, and the two-dimensional coordinates of the principal point of the star sensor imaging plane.

7. A device for determining the angular velocity in an inertial space, characterized in that The device comprises: An acquisition module, used for acquiring a first control signal, a second control signal and an exposure parameter; A first determining module, configured to determine, based on the first control signal, the second control signal and the exposure parameter, an odd-numbered row pixel stream corresponding to the first control signal and an even-numbered row pixel stream corresponding to the second control signal; A second determination module is used to determine a first target centroid set based on the odd-numbered pixel streams and a second target centroid set based on the even-numbered pixel streams; A third determination module is used to determine, based on the first target centroid set and the second target centroid set, a first target observation vector set corresponding to the first target centroid set and a second target observation vector set corresponding to the second target centroid set; a fourth determination module, configured to determine, based on the first target observation vector set and the second target observation vector set, a first output posture corresponding to the first target observation vector set and a second output posture corresponding to the second target observation vector set; The fifth determination module is used to determine the angular velocity in the inertial space based on the first output posture, the second output posture and the exposure time interval.

8. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the method for determining the angular velocity in an inertial space according to any one of claims 1 to 6 by executing the computer instructions.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method for determining the angular velocity in an inertial space according to any one of claims 1 to 6.

10. A computer program product, characterized in that The method comprises computer instructions for causing a computer to execute the method for determining the angular velocity of an inertial space according to any one of claims 1 to 6.