Spacecraft positioning method using ToF camera in small celestial body landing process

By using a ToF camera to triangulate and match the terrain features of small celestial bodies, the problem of precise landing of spacecraft in deep space exploration has been solved, realizing autonomous terrain-relative navigation and real-time positioning, reducing data transmission volume and improving the real-time performance of the algorithm.

CN119714306BActive Publication Date: 2026-03-24BEIJING INST OF CONTROL ENG
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-29
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

In deep space small celestial body exploration, due to communication latency and uplink bandwidth limitations, existing technologies cannot achieve precise landing of spacecraft, and autonomous terrain relative navigation methods have shortcomings in this field.

Method used

A ToF camera is used for terrain-relative navigation. By triangulating the rasterized natural terrain features, pixel information within the triangle is obtained. The self-illumination characteristics of the ToF camera are used for image rendering and matching. Combined with depth information, the aircraft is positioned.

Benefits of technology

It enables autonomous terrain-relative navigation for aircraft, reduces the amount of data uploaded, improves the real-time performance of the algorithm, and achieves accurate positioning even in shadow areas, avoiding the limitations of lighting conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119714306B_ABST
    Figure CN119714306B_ABST
Patent Text Reader

Abstract

The present application relates to a kind of small celestial body landing process using ToF camera to realize the method for aircraft positioning, belong to terrain relative navigation field.The method described in the present application can use the characteristics of ToF camera self-illumination and be aimed at the real-time rendering of the three-dimensional topography of terrain.After the generation of rendering image, the real image can be matched with rendering image using mask NCC method, and then the corresponding relationship of the center of field of view pointing to map coordinate is obtained.In addition, the depth information of ToF camera is also used to obtain the dimension of the above-mentioned pointing, and then the current aircraft position is calculated.The sensor type and light source type used in the present application are different from NFT algorithm, and only single matching is needed to complete the positioning function of aircraft.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for aircraft positioning using a ToF camera during the landing of a small celestial body, belonging to the field of terrain relative navigation. Background Technology

[0002] Currently, in deep-space small body exploration, ground-based navigation methods are virtually impossible due to communication latency and uplink bandwidth limitations. Relying solely on inertial navigation makes precise landing in the sampling area impossible. Therefore, autonomous terrain-relative navigation methods play a crucial role in missions.

[0003] In October 2020, the US OSIRIS-REx spacecraft successfully sampled the asteroid Bennu. The autonomous onboard Natural Feature Tracking (NFT) algorithm played a crucial role in this sampling process. Its principle involves rendering a digital elevation model (DEM) of the natural terrain features in real time, then matching the rendered image with navigation images to estimate the spacecraft's position and velocity relative to the asteroid.

[0004] The research results indicate that the NFT algorithm employs a single-reflection ray tracing framework. This algorithm relies on the prior pose of the spacecraft relative to the asteroid and the sun's direction, using ray tracing principles to render the grayscale values ​​of each pixel in the target window. The rendered image is then registered with a grayscale image captured by a monocular camera to achieve [the desired result]. Figure 3 2D coordinate orientation measurement.

[0005] There are currently no known practical applications of using Time-of-Flight (ToF) cameras for relative navigation on small celestial bodies. ToF cameras can provide target grayscale and depth information, and their self-illumination capabilities can be used to render the 3D shape of the terrain in real time. After the rendered image is generated, the ToF-captured grayscale image can be matched with the rendered image, and combined with the depth information, to obtain the correspondence between the field of view center and map coordinates, thus achieving real-time positioning of the spacecraft. Summary of the Invention

[0006] The technical problem solved by this invention is to overcome the shortcomings of the prior art and propose a spacecraft positioning method using a ToF camera during the landing of small celestial bodies, thereby realizing autonomous terrain-relative navigation of the spacecraft.

[0007] The technical solution of the present invention includes the following steps:

[0008] This invention discloses a method for spacecraft positioning using a ToF camera during the landing of a small celestial body, comprising:

[0009] The rasterized natural terrain features are triangulated to obtain several triangles;

[0010] Obtain the pixels located within the triangle;

[0011] Based on the albedo information of the terrain features, the pixels within the triangle are rendered to obtain a rendered image and the image grayscale value of each pixel in the rendered image.

[0012] Based on the image grayscale value, the rendered image is matched with the real grayscale image captured by the ToF camera to obtain the mask NCC;

[0013] Extract the first peak value of the mask NCC correlation matrix and calculate the image offset;

[0014] Based on the image offset, obtain the three-dimensional coordinates of the terrain features corresponding to the image offset points;

[0015] Obtain the ToF camera's real-time depth image information corresponding to the center point of the image, and calculate the current position of the aircraft.

[0016] Furthermore, in the above method, the triangulation of the rasterized natural terrain features to obtain several triangles is specifically as follows:

[0017] The triangle is generated by connecting the coordinate points counterclockwise; the coordinates of the three vertices of the triangle are (s... map ·j+i,s map ·(j+1)+i,s map ·(j+1)+i+1) or (s map ·j+i,s map ·(j+1)+i+1,s map ·j+i+1); where j,i represent the row and column coordinates of a vertex in the raster map, s map This represents the size of the raster map.

[0018] Furthermore, in the above method, the pixels located within the triangle are obtained specifically as follows:

[0019] Using the camera's intrinsic and extrinsic parameters, the three vertices of the triangle are projected onto the image plane, and the row and column positions of the three vertices of the triangle in the image are recorded as l0, l1, and l2.

[0020] A search window is created using the row and column positions;

[0021] Based on the search window, determine whether there are any pixels located within the triangle;

[0022] The method to determine whether there are any pixels inside the triangle is as follows:

[0023] Let the position of the pixel to be determined be P. Calculate the values ​​of α = l0l1×l0P, β = l1l2×l1P, and γ = l2l0×l2P respectively. If α, β, and γ are all greater than 0 or all less than 0, then pixel P is located inside the triangle; otherwise, pixel P is not located inside the triangle.

[0024] Furthermore, in the above method, the step of establishing a search window using row and column positions specifically involves:

[0025] y min =floor(min(l 0,u ,l 1,u ,l 2,u ))

[0026] y max =ceil(max(l 0,u ,l 1,u ,l 2,u ))

[0027] x min =floor(min(l 0,v ,l 1,v ,l 2,v ))

[0028] x max =ceil(max(l 0,v ,l 1,v ,l 2,v ))

[0029] Among them, y min y is the starting position of the line in the search window. max x is the end position of the line in the search window. min x is the starting position of the column in the search window. max The column ends at position l0, l1, and l2; l0, l1, and l2 are the projection positions of the three vertices p0, p1, and p2 of the triangle onto the camera's image plane. 0,u ,l 0,v The row and column position of l0, l 1,u ,l 1,v Let l1 be the row and column position, l 2,u ,l 2,v The row and column positions of l2; floor rounds down, ceil rounds up.

[0030] Furthermore, in the above method, image rendering is performed on the pixels within the triangle, specifically as follows:

[0031] S21. Determine if a pixel is occluded. If yes, exit; otherwise, update the depth cache corresponding to the pixel and save the depth of the pixel. Figure 3 3D coordinates, proceed to step S22;

[0032] S22. Perform photometric rendering on the pixel and calculate the relative albedo corresponding to the pixel; obtain the image grayscale value of the pixel based on the relative albedo.

[0033] Furthermore, in the above method, the specific method for determining whether a pixel is occluded is as follows:

[0034] Let the vectors pointing from the camera to the three vertices p0, p1, p2 of the triangle in the camera coordinate system be d0, d1, d2, respectively; and let the projection positions of d0, d1, d2 on the image plane be l0, l1, l2, where l 0,u ,l 0,v The row and column position of l0, l 1,u ,l 1,v Let l1 be the row and column position, l 2,u ,l 2,v The row and column position of l2;

[0035] Determine the pixel P(P) on the image plane in this calculation. row ,P col The depth of the triangle corresponding to the camera's position. (cam) (P) is greater than the depth Z-Buffer(P) from the camera to the triangle recorded in the depth buffer Z-buffer; if yes, the pixel is occluded, and the depth buffer Z-buffer is updated; if no, the pixel is not occluded; where P row ,P col Let P be the row and column position;

[0036]

[0037] Z-Buffer(P) = |depth (cam) (P)|,if|depth (cam) (P)|<Z-Buffer(P)

[0038] Furthermore, in the above method, the location corresponding to the pixel is saved. Figure 3 3D coordinates, the specific method is as follows:

[0039] Let pixel P = (P_i) in the camera coordinate system. row ,P col The corresponding unit vector is d = [d x ,d y ,d z ] T ;

[0040] After normalizing the vector in the Z direction, we obtain the normalized vector.

[0041] Based on the normalized vector, the ground is obtained Figure 3 The position t of the 3D coordinates in the camera coordinate system lm@cam ,

[0042] base area Figure 3 The position of the 3D coordinates in the camera coordinate system is obtained. Figure 3 The position of the 3D coordinates under the fixed-point relationship of the small celestial body is lm.

[0043] After updating the depth buffer Z-buffer, the map coordinate buffer p-buffer is updated synchronously at P(P row ,P col The fixed coordinates of the small celestial body recorded at its location:

[0044] p-Buffer(P) = lm, if | depth (cam) (P)|<Z-Buffer(P)

[0045] in, Let t be the rotation matrix that is fixedly connected to the camera frame in the prior information of the small celestial body. bf@cam This represents the position of the origin of the fixed connection of the small celestial body in the camera coordinate system.

[0046] Furthermore, in the above method, the image grayscale value of the pixel is specifically determined as follows:

[0047]

[0048] Where DN is the grayscale value of the image corresponding to pixel P; θ i Let θ be the angle of incidence. e The emission angle is denoted by ; i, j, and k represent the indices of the three vertices of the triangle; 'a' represents the relative albedo dataset of the navigation features. p Let p be the relative albedo at point p.

[0049] Furthermore, in the above method, the mask NCC specifically refers to:

[0050]

[0051] Where f2',m'2 represents a 180° flip of the corresponding image; These are FFT operations and IFFT operations, respectively. f1 is the conjugate of the corresponding image spectrum; f2 is the original grayscale image captured by the ToF camera; m1 and m2 are the masks corresponding to the extracted original grayscale image and the rendered image, respectively.

[0052] Furthermore, in the above method, the first peak value of the mask NCC cross-correlation matrix is ​​extracted, and the image offset is calculated. The specific method is as follows:

[0053] Let the maximum value of the cross-correlation matrix be the first peak value, score = max(NCC);

[0054] Let the mask NCC matching threshold be THRES;

[0055] If score < THRES, discard this round of registration;

[0056] If score ≥ THRES, calculate the image offset;

[0057] The formula for calculating image offset is:

[0058] u shift =u shift +u mis / 2

[0059] v shift =v shift +v mis / 2

[0060] u shift =u max -u rnd +1

[0061] v shift =v max -v ref +1

[0062] u mis =u rnd -u img

[0063] v mis =v rnd -v img

[0064] (u max ,v max = argmax(NCC)

[0065] Among them, (u max ,v max (u) represents the position of the first peak in the cross-correlation matrix. rnd ,v rnd ) represents the size of the rendered image, (u img ,v img () represents the dimensions of the actual photographed image.

[0066] Furthermore, in the above method, the three-dimensional coordinates of the terrain features corresponding to the image offset points are obtained, specifically through the following method:

[0067] Let the center point of the ToF real-world image be (u center ,v center Using image offsets, the corresponding rendering position (u) is calculated. match ,v match ):

[0068] u match =u center +u shift

[0069] v match =v center +v shift

[0070] The corresponding position in the map coordinate buffer p-Buffer is the 3D coordinate lm′ of the terrain feature corresponding to the image offset point:

[0071] lm′=p-Buffer(u match ,v match )

[0072] Furthermore, in the above method, the ToF camera's actual depth image information corresponding to the image center point is obtained, and the current aircraft position is calculated. The specific method is as follows:

[0073] Obtain the center point (u) of the real-world image from the ToF camera depth image. center ,v center Depth information at location l center ;

[0074] Based on depth information center and the center point of the real-world image in the ToF camera coordinate system (u center ,v center The corresponding unit points to Calculate the vector pointing from the camera to the 3D coordinates lm′ of the terrain feature in the camera coordinate system.

[0075] Based on the vector of the 3D coordinates lm′ of the camera pointing towards the terrain feature in the camera coordinate system, the corrected position w of the ToF camera under the fixed connection of the small celestial body is obtained. ToF Specifically:

[0076]

[0077] in, This is the rotation matrix that is fixedly connected to the camera system from the prior information about the small celestial body.

[0078] Beneficial effects compared to existing technologies:

[0079] (1) This invention performs implicit triangle connections for regular rasterized terrain features. The three-dimensional coordinates and relative albedo of the terrain features have the same dimensions and topological structure. This data structure only needs to store the data information necessary for rendering, without storing additional surface and normal information similar to OBJ files. For deep space exploration missions with limited uplink bandwidth, this data type can significantly reduce the total amount of uplink data.

[0080] (2) The present invention uses a rasterization rendering framework, which has a greater advantage in terms of real-time performance compared to the ray tracing framework used in existing NFT algorithms.

[0081] (3) The present invention uses a mask NCC matching method based on Fast Fourier Transform (FFT) to calibrate the image, which has a greater advantage in real-time performance compared to the standard NCC matching method.

[0082] (4) This invention proposes a method for aircraft positioning using a ToF camera. Unlike the monocular image used by the NFT algorithm, the proposed positioning method utilizes the self-illumination characteristics of the ToF camera, which makes the method not limited by lighting conditions and can achieve accurate positioning of the aircraft even in the shadow area. At the same time, the depth information of ToF can provide the dimension for the pointing information, and the positioning function of the aircraft can be completed with only one registration. Attached Figure Description

[0083] Figure 1 This is a schematic diagram of the method flow of the present invention;

[0084] Figure 2 This is a schematic diagram of the feature triangulation preprocessing of the present invention;

[0085] Figure 3 This is a schematic diagram of the triangular rasterization of the present invention;

[0086] Figure 4 This is a schematic diagram of the zero-padding operation of the present invention;

[0087] Figure 5 This is a schematic diagram of the rendering effect of Embodiment 1 of the present invention;

[0088] Figure 6 This is a schematic diagram of the calculation results in Embodiment 1 of the present invention. Detailed Implementation

[0089] The invention will be further described below with reference to the accompanying drawings. Figure 1 The diagram shown is a flowchart of the method of the present invention. The present invention provides a method for spacecraft positioning using a ToF camera during the landing of a small celestial body. The main steps are as follows:

[0090] 1. Feature Triangulation Preprocessing. The rasterized natural terrain features are triangulated, including the 3D coordinates, relative albedo, and pre-defined shadows. Triangulation refers to implicitly connecting regular rasterized terrain features into triangles; the 3D coordinates, relative albedo, and pre-defined shadows of the terrain features all have the same size and topological structure. This method only needs to save the data information necessary for rendering, without saving additional surface and normal information similar to OBJ files. For deep space exploration missions with limited uplink bandwidth, this data type can significantly reduce the total amount of uplink data.

[0091] The size of the raster map s map It must be set to an odd number, typically 199. For a single map feature, there are a total of s. map *s map vertices and 2*(s) map -1) 2 There are several triangles. These triangles need to be connected counter-clockwise to ensure that the normals of the triangles always point outwards from the celestial body. A quadrilateral mesh can be divided into two types of triangles. The connection method for the first type of triangle can be represented as (s... map ·j+i,s map ·(j+1)+i,s map The connection method of the second type of triangle can be represented as (s) (j+1)+i+1). map ·j+i,s map ·(j+1)+i+1,s map ·j+i+1). Where j,i represent the row and column coordinates of vertices within the raster map.

[0092] like Figure 2 As shown, with terrain size s map Taking 5 as an example, there are a total of s in the terrain features. map *s map =25 vertices and 2*(s map -1) 2 = 32 triangles. The connection order of the triangles is (0,5,6), (0,6,1), ..., (18,23,24), (18,24,19);

[0093] 2. Triangle rasterization. The preprocessed triangle is projected onto the image plane, and a bounding box strategy is used to determine which pixels are located within the triangle;

[0094] The three vertices of a triangle are projected onto the image plane using camera intrinsic and extrinsic parameters, and the row and column positions (l0, l1, and l2) of the three vertices on the image are recorded. Where l... 0,u ,l 0,v The row and column position of l0, l1,u ,l 1,v Let l1 be the row and column position, l 2,u ,l 2,v Let l2 be the row and column positions. Then, using the row and column positions of the three vertices on the image plane, a search window (y...) is established. min :y max ,x min :x max The search window starts at line l. 0,u ,l 1,u ,l 2,u The floor function of the minimum value in the middle, i.e., y min =floor(min(l 0,u ,l 1,u ,l 2,u The search window ends at line position l. 0,u ,l 1,u ,l 2,u The floor of the maximum value in the middle, i.e., y max =ceil(max(l 0,u ,l 1,u ,l 2,u The column starting position in the search window is l. 0,v ,l 1,v ,l 2,v The floor function of the minimum value, i.e., x. min =floor(min(l 0,v ,l 1,v ,l 2,v The column in the search window ends at position x. max =ceil(max(l 0,v ,l 1,v ,l 2,v )).like Figure 3 As shown.

[0095] Let the position of the pixel to be determined be P. Calculate the values ​​of α = l0l1×l0P, β = l1l2×l1P, and γ = l2l0×l2P respectively. If α, β, and γ are all greater than 0 or all less than 0, then pixel P is located inside the triangle; otherwise, pixel P is not located inside the triangle.

[0096] 3. Image rendering. Image rendering consists of three parts: occlusion detection and photometric rendering. For occlusion detection, a depth buffer (Z-buffer) needs to be maintained to update the minimum depth corresponding to each pixel and determine whether the current pixel is occluded. For unoccluded pixels, the relative albedo corresponding to the pixel is calculated, and then the image grayscale value of the pixel and the three-dimensional coordinates of the terrain feature corresponding to the pixel are calculated.

[0097] To determine occlusion of pixels on the image plane, a depth buffer (Z-buffer) needs to be maintained to record the minimum depth corresponding to the current pixel. Let the vectors pointing from the camera to the three vertices p0, p1, p2 of the triangle in the camera coordinate system be d0, d1, d2, respectively. The projection positions of d0, d1, d2 on the image plane are l0, l1, l2, where l... 0,u ,l 0,v The row and column position of l0, l 1,u ,l 1,v Let l1 be the row and column position, l 2,u ,l 2,v Let l2 be the row and column position. Determine the pixel P on the image plane in this calculation. row ,P col The depth of the triangle corresponding to the camera's position. (cam) Is (P) greater than the depth Z-Buffer(P) from the camera to the triangle recorded in the depth buffer Z-buffer? If yes, it means the map coordinate p is occluded by other terrain, and subsequent processing is skipped; if not, it means p corresponds to a smaller depth, and the current depth is calculated using the barycentric coordinate method and overwritten with the depth at the corresponding position in the depth buffer Z-buffer.

[0098]

[0099] Z-Buffer(P) = |depth (cam) (P)|,if|depth (cam) (P)|<Z-Buffer(P)

[0100] For unoccluded pixels, calculate the corresponding 3D terrain coordinates. Let pixel P = (Pi) in the camera coordinate system. row ,P col The corresponding unit vector is d = [d x ,d y ,d z ] T After normalizing the Z-direction of the vector, we get Zedi Figure 3 The position t of the 3D coordinates in the camera coordinate system lm@cam It can be represented as:

[0101]

[0102] After updating the depth buffer Z-buffer, the map coordinate buffer p-buffer is updated synchronously at P = (P row ,P col The fixed coordinates of the small celestial body recorded at its location:

[0103] p-Buffer(P) = lm, if | depth (cam) (P)|<Z-Buffer(P)

[0104] For photometric rendering, pixel P = (P row ,P col The gray values ​​at point ) have the following relationship:

[0105]

[0106] Where DN is the grayscale value of the image corresponding to pixel P; θ i Let θ be the angle of incidence. e The emission angle is denoted by ; i, j, and k represent the indices of the three vertices of the triangle; 'a' represents the relative albedo dataset of the navigation features. p Let θ be the relative albedo at point p. Due to the self-illumination characteristic of the ToF camera, the light source can be considered as the observer, thus θ = ... i =θ e Therefore, the gray value of the image is only proportional to the relative albedo at point p.

[0107] 4. Image Matching. The rendered image is matched with the actual grayscale image captured by the ToF camera using the mask NCC algorithm. Let the original grayscale image captured by the ToF camera be f1, and the rendered image be f2. Extract the masks m1 and m2 of the corresponding images. The masks are binary images of the same size as the corresponding original images. Parts of the image with non-zero grayscale values ​​need to participate in the registration and are set to 1 in the mask. Parts of the original image with a DN value of 0 do not participate in the registration and are set to 0 in the mask. The mask NCC algorithm formula is as follows:

[0108]

[0109] Where f2',m'2 represents a 180° flip of the corresponding image; These represent FFT and IFFT operations, respectively; F1 and M1 represent the spectrum of the image, i.e. The conjugate of the corresponding image spectrum is equivalent to During implementation, zero-padding is required on the data f1, f2′, m1, m2′. The length after zero-padding is twice the original size of f1, f2′, m1, m2′. Figure 4 As shown.

[0110] After calculating the NCC cross-correlation matrix according to the above formula, extract the first peak value of the NCC cross-correlation matrix and calculate the image offset. Let the maximum value of the cross-correlation matrix, i.e., the first peak value, be denoted as 'score', where 'score = max(NCC)'. Let the NCC matching threshold be 'THRES', which defaults to 0.45. If 'score < THRES', discard this round of registration; if 'score ≥ THRES', it indicates a strong correlation between the rendered image and the actual captured image, and proceed with subsequent operations.

[0111] Let the position of the first peak of the cross-correlation matrix be (u max ,v max =argmax(NCC), the size of the rendered image is (u rnd ,v rnd The actual image size is (u img ,v img ), then the image offset (u shift ,v shift )for:

[0112] u shift =u max -u rnd +1

[0113] v shift =v max -v ref +1

[0114] Let the size deviation between the offset image and the reference image be (u) mis ,v mis ):

[0115] u mis =u rnd -u img

[0116] v mis =v rnd -v img

[0117] The final image offset is:

[0118] u shift =u shift +u mis / 2

[0119] v shift =v shift +v mis / 2

[0120] 5. Obtain the correspondence between the ToF field of view center and the map. Utilize image offset (u shift ,v shiftThe three-dimensional coordinates of the terrain features corresponding to the center point of the ToF camera's field of view are obtained:

[0121] Let the center point of the ToF real-world image be (u center ,v center ), using image offset to calculate and render the corresponding position (u match ,v match ):

[0122] u match =u center +u shift

[0123] v match =v center +v shift

[0124] The corresponding position in the map coordinate buffer p-Buffer is the 3D coordinate lm′ of the terrain feature corresponding to the image offset point:

[0125] lm′=p-Buffer(u match ,v match )

[0126] 6. Obtain the ToF field-of-view center depth information and calculate the aircraft position. Obtain the image center point (u) in the ToF depth image. center ,v center Depth information at location l center Let the center point (u) of the real-shot image in the ToF camera coordinate system be... center ,v center The corresponding unit refers to Then the vector d from the camera to the 3D coordinates lm′ of the terrain feature in the camera coordinate system. center for:

[0127]

[0128] The corrected position w of the ToF camera under the fixed connection of the small celestial body ToF It can be represented as:

[0129]

[0130]

[0131] Example 1

[0132] This embodiment provides a method for spacecraft positioning using a ToF camera during the landing of a small celestial body. The steps of this method include:

[0133] (1) Triangulate the rasterized terrain features.

[0134] (2) The rasterization method is used to rasterize each triangle in the terrain feature.

[0135] (3) Occlusion detection and photometric rendering of terrain features. During the rendering process, the albedo (a) at each point needs to be calculated in real time. p This data is then incorporated into the photometric rendering process, and the corresponding location for each pixel is saved. Figure 3 3D coordinate information. The rendering effect is as follows: Figure 5 As shown, the left image is the rendered image, and the right image is the ToF grayscale image.

[0136] (4) The cross-correlation matrix between the rendered image and the actual captured image is calculated using the masked NCC method. The calculation results are as follows: Figure 6 As shown, the peak value represents the position with the highest correlation.

[0137] (5) Extract the depth information of the center of the ToF field of view and update the position of the aircraft.

[0138] This method comprehensively considers the impact of terrain self-occlusion and changes in terrain albedo on the grayscale of the rendered image. The photometric model used for rendering the image is designed according to the self-illumination characteristics of Time-of-Flight (ToF), making the method unaffected by lighting conditions. Compared to the standard NCC algorithm, the masked NCC algorithm, due to its use of Fast Fourier Transform (FFT), can improve real-time performance by approximately one order of magnitude.

[0139] Although the present invention has been described in detail through the preferred embodiments above, it should be understood that the above description should not be considered as a limitation of the present invention. Various modifications and substitutions to the present invention will be apparent to those skilled in the art after reading the above description. Therefore, the scope of protection of the present invention should be defined by the appended claims.

[0140] The contents not described in detail in this specification are common knowledge to those skilled in the art.

Claims

1. A method for spacecraft positioning using a ToF camera during the landing of a small celestial body, characterized in that, include: The rasterized natural terrain features are triangulated to obtain several triangles; Obtain the pixels located within the triangle; Based on the albedo information of the terrain features, the pixels within the triangle are rendered to obtain a rendered image and the image grayscale value of each pixel in the rendered image. Based on the image grayscale value, the rendered image is matched with the real grayscale image captured by the ToF camera to obtain the mask NCC; Extract the first peak value of the mask NCC correlation matrix and calculate the image offset; Based on the image offset, obtain the three-dimensional coordinates of the terrain features corresponding to the image offset points; Obtain the ToF camera's real-time depth image information corresponding to the center point of the image, and calculate the current position of the aircraft; The method for obtaining the ToF camera's real-world depth image information corresponding to the center point of the image and calculating the current position of the aircraft is as follows: Obtain the center point of the real-world image from the ToF camera depth image. Depth information at the location ; Based on depth information Center point of the real-world image in the ToF camera coordinate system Corresponding unit pointer Calculate the three-dimensional coordinates of the terrain feature pointed to by the camera in the camera coordinate system. vector ; Based on the three-dimensional coordinates of the terrain features pointed to by the camera in the camera coordinate system The vector is used to obtain the corrected position of the ToF camera under the fixed connection of the small celestial body. Specifically: in, The rotation matrix is ​​the fixed connection between the small celestial body and the camera system in the prior information. The three-dimensional coordinates of the terrain feature corresponding to the image offset point. Let be the transpose of the rotation matrix that is fixedly connected to the camera frame in the prior information about the small celestial body. It is the difference between the vector pointing from the camera to the terrain feature in the camera coordinate system, the transpose of the rotation matrix of the small celestial body fixed to the camera system in the prior information, and the product of the terrain feature's three-dimensional coordinates corresponding to the image offset point.

2. The method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 1, characterized in that: The process of triangulating the rasterized natural terrain features to obtain several triangles is as follows: The triangle is generated by connecting the coordinate points counterclockwise; the coordinates of the three vertices of the triangle are... or ;in, Represents the row and column coordinates of vertices within a raster map. This represents the size of the raster map.

3. The method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 1, characterized in that: The specific method for obtaining the pixels located within the triangle is as follows: Using camera intrinsic and extrinsic parameters, the three vertices of the triangle are projected onto the image plane, and the row and column positions of the three vertices of the triangle in the image are recorded. , and ; A search window is created using the row and column positions; Based on the search window, determine whether there are any pixels located within the triangle; The method to determine whether there are any pixels inside the triangle is as follows: Let the position of the pixel to be determined be... Calculate separately , and The value, if , and If all are greater than 0 or all are less than 0, then the pixel Located within the triangle; otherwise, pixel It is not inside the triangle.

4. The method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 3, characterized in that: The method of creating a search window using row and column positions is as follows: in, This is the starting position of the line in the search window. This is the end position of the line in the search window. This is the starting position of the column in the search window. This is the end position of the column in the search window; The three vertices of the triangle The projection position on the camera's image plane for The row and column positions, for The row and column positions, for The row and column positions; To round down, This is for rounding up.

5. The method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 1, characterized in that: The image is rendered for the pixels within the triangle, specifically as follows: S21. Determine if a pixel is occluded. If yes, exit; otherwise, update the depth cache corresponding to the pixel, save the map 3D coordinates corresponding to the pixel, and proceed to step S22. S22. Perform photometric rendering on the pixel and calculate the relative albedo corresponding to the pixel; obtain the image grayscale value of the pixel based on the relative albedo.

6. The method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 5, characterized in that: The specific method for determining whether a pixel is occluded is as follows: Let the camera point to the three vertices of the triangle in the camera coordinate system. The vectors are respectively ; The projection position on the image plane is ,in, for The row and column positions, for The row and column positions, for The row and column positions; Determine the pixels on the image plane in this calculation. The depth of the triangle corresponding to the location of the camera Is it greater than the depth from the camera to the triangle recorded in the depth buffer Z-buffer? If so, the pixel is occluded; update the depth buffer Z-buffer. If not, the pixel is not occluded. Let P be the row and column position; 。 7. The method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 5, characterized in that, The specific method for saving the map's 3D coordinates corresponding to this pixel is as follows: Let the pixels be in the camera coordinate system The corresponding unit vector is ; After normalizing the vector in the Z direction, we obtain the normalized vector. ; Based on the normalized vector, the position of the map's 3D coordinates in the camera coordinate system is obtained. , ; Based on the position of the map's 3D coordinates in the camera coordinate system, the position of the map's 3D coordinates under the fixed relationship of the small celestial body is obtained. , ; After updating the depth cache Z-buffer, the map coordinate cache is updated synchronously. exist The fixed coordinates of the small celestial body recorded at the location: in, The rotation matrix is ​​the fixed connection between the small celestial body and the camera system in the prior information. This represents the position of the origin of the small celestial body in the camera coordinate system.

8. The method for spacecraft positioning using a ToF camera during the landing of a small celestial body according to claim 5, characterized in that: The image grayscale value of the pixel is obtained through the following method: in, For pixels Corresponding image grayscale value; Angle of incidence The angle of departure; , and Represents the index of the three vertices of the triangle; For the relative albedo dataset of navigation features, For point The relative albedo at that location.

9. A method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 1, characterized in that, The mask NCC is specifically: in, This represents a 180° flip of the corresponding image; These are FFT operations and IFFT operations, respectively. The conjugate of the corresponding image spectrum; Raw grayscale image captured by a ToF camera. To render the image, These are the masks for extracting the original grayscale image and the rendered image, respectively.

10. A method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 1, characterized in that, Extract the first peak value of the mask NCC cross-correlation matrix and calculate the image offset. The specific method is as follows: Let the maximum value of the cross-correlation matrix be the first peak value. ; Let the mask NCC matching threshold be... ; like Discard this round of registration; like Calculate the image offset; The formula for calculating image offset is: in, This represents the position of the first peak in the cross-correlation matrix. The size of the rendered image, The dimensions are those of the actual photograph.

11. The method for spacecraft positioning using a ToF camera during small celestial body landing as described in claim 1, characterized in that: The specific method for obtaining the 3D coordinates of the terrain features corresponding to the offset points in the image is as follows: Let the center point of the ToF real-world image be... Calculate the corresponding rendering position using image offset. : in,( , () represents the image offset; Map coordinate cache The corresponding position in the image is the three-dimensional coordinate of the terrain feature at the offset point. : 。

Citation Information

Patent Citations

  • Natural feature rendering method for extraterrestrial celestial body detection task

    CN117876573A