RELATIVE POSE DETERMINATION ALGORITHM FOR SPACE ON-ORBIT CLOSE RANGE AUTONOMOUS OPERATIONS USING LiDAR

: Non cooperative on-orbit operations, such as rendezvous, docking or berthing operations, have become more relevant, mainly due to the necessity of expanding mission lifetimes, the increase of space debris and the reduction of human dependency. In order to automate these operations, the relative pose calculation between the target and the chaser must be determined autonomously. In recent years, LiDAR sensors have been introduced for this problem, achieving good accuracies. The critical part of this operation is the first relative pose calculation, since there is no previous information about the attitude of the target. In this work, a methodology to carry out this first relative pose calculation using LiDAR sensors is presented. A template matching algorithm has been developed, which uses the 3D model of the target to calculate the relative pose of the target regarding the LiDAR sensor. Three different study cases, with different distances and rotations, have been simulated in order to validate the algorithm, reaching an average error of 0.0383m.


INTRODUCTION
Uncooperative on orbit servicing (OOS) (W.J. Li et al., 2019;Long et al., 2007), such as docking, rendezvous, berthing, repairing, refuelling (Flores-Abad et al., 2014;Okamoto and Kato, 2022) and also Active Debris Removal (ADR) (Bonnal et al., 2013;Borelli et al., 2023), have been rising in the last decades, in order to increase the end of life (EOL) of spacecrafts (Kaiser et al., 2008), being increasingly autonomous and reducing the human factor on critical activities.The term uncooperative refers to those operations in which there is not communication with the target spacecraft or object, and even in some cases without auxiliar markers which can be used for a raw pose (position and rotation) determination.Therefore, the pose determination of the target is needed to perform the operation successfully (Lampariello et al., 2021;Zhou et al., 2019).Two key factors of these positioning systems are the use of spacecraft resources (power consumption, voltage, etc.) and the environmental conditions, such as illumination, FoV (Field of View) or maximum detection range.All these factors are limiting factors when developing and implementing these systems.
For the target pose determination, many different sensors can be used.Electro-optical sensors are the most common sensors used for these operations (Feng et al., 2018), where passive sensors, such as monocular, binocular or stereovision sensors (Pesce et al., 2017;Pomares et al., 2018, Hu et al., 2023) stand out.In recent years, the use of active sensors, such as LiDAR (Light Detection and Ranging) sensors, have also been introduced for these operations (Y.Li et al., 2019;Renaut et al., 2023).The difference between these sensors is that the passive ones captured the radiation reflected by the object that comes from another radiation or light source, while in the active ones, the radiation source is the sensor itself.The main advantage of the active sensors is that they do not depend so much on the environmental conditions as the passive ones to be able to acquire accurate measurements.Methods using passive sensors, such as different kinds of cameras, depend on the illumination conditions, making it in some cases hard to distinguish the object from the background of the image.One example of these sensor systems is the VGS (Video Guidance Sensor) system, that uses different images to determine the relative pose in autonomous rendezvous and docking operations.This system was improved in later versions, AVGS (Advanced Video Guidance Sensor) (Howard et al., 2008) and NGAVGS (Next Generation Advanced Video Guidance Sensor) (Lee et al., 2008), improving its accuracy and its operational range, from 300m to 5.000m.VGS systems are still evolving, as it is shown in (Hariri et al., 2020), where authors apply a Smartphone Video Guidance Sensor (SVGS) for relative pose determination in proximity operations.One example of the use of passive sensors for attitude estimation, in this case using a monocular camera sensor, is presented by Sharma and D'Amico (Sharma and D'Amico, 2020).They apply a CNN (Convolutional Neural Network) to obtain the relative pose through images.In this work, the target is divided into bounding boxes and the acquired images are compared with a database of images to determine its attitude.
On the other hand, the positioning systems that implement LiDAR sensors do not depend on the illumination conditions.The main disadvantage of these systems regarding to the passive sensors is their power consumption, typically higher, and the amount of data generated, which require higher computational resources.In recent years, a new type of solidstate LiDAR sensors (Poulton et al., 2017) has been developed, which do not use the moving mechanisms that traditional LiDAR sensors systems use to collect data.In addition, they have reduced their weight and power consumption compared to traditional LiDAR sensors (Raj et al., 2020), which makes them more viable to be used in this kind of operations.There are already some examples where LiDAR is implemented in real space operations, such as the TriDAR sensor, which combines LiDAR with a position-based (triangulation) method to a) determine the pose of the spacecraft (English et al., 2005;Ruel et al., 2012).
In the last years, several algorithms and methods have been proposed to determine the relative pose of a target using LiDAR sensors.Some authors propose a method based on the calculation of 3D local feature descriptors and key points (Bueno et al., 2017;Guo et al., 2016;Hu and Jiang, 2022), which are properties of the point cloud invariant to rotations and translations, for relative pose calculation.These methods lessen the point cloud density, reduce the computation time and obtain a robust pose determination.Opromolla et al. (Opromolla et al., 2015) use a LiDAR sensor to determine the relative pose of spacecrafts and they extract a simplified point cloud.Their method is based on a first alignment of the centroid of the partial point cloud of the target acquired from the viewpoint of the sensor installed on the chaser platform with a complete point cloud of the target.Then, a template matching algorithm is applied to achieve a first coarse attitude determination, finishing with a modified ICP (Iterative Closest Point) algorithm to achieve a fine attitude determination.In later work, Opromolla et al. propose a similar workflow, but in this case using a model-based algorithm to achieve the first coarse attitude determination (Opromolla et al., 2017).
The objective of this paper is to design an uncooperative relative pose determination algorithm for in-orbit close range operations using realistic point clouds of a spacecraft.The developed method implements a point cloud simulator developed by González-deSantos et al., (González-deSantos et al., 2022), which uses the 3D model of the target and applies the characteristics of the implemented LiDAR for the acquisition of the data.Thus, realistic point clouds of the target are produced, obtaining the same scanning pattern, angular and distance errors and generating occlusions as if it had been made with the actual sensor.In this way, the point clouds used present a complex geometry, which make it difficult to calculate the attitude of the target, but which fit a real study case.A template matching algorithm have been developed for a first rough attitude determination of the target using the partial point cloud captured from the position of the chaser and a complete point cloud of the target.After this, an ICP algorithm is used to increase the accuracy of the calculated relative position of the target regarding the chaser.This paper is organized as follow.In Section 2 the developed methodology is described.Section 3 presents the study cases where the algorithm has been tested and the obtained results.Finally, Section 4 introduce the conclusions of the work, discussing the results obtained.

MATERIALS AND METHODS
In this work, an uncooperative relative pose determination algorithm using a LiDAR sensor is presented.In order to calculate the relative pose between the target and the chaser vehicle, where the LiDAR sensor is installed, a template matching algorithm have been developed.It uses the 3D model of the target to generate a complete point cloud model as reference.Then, the objective is to registrate the partial point cloud of the target generated from the viewpoint of the chaser with the complete point cloud generated with the 3D model on the origin of coordinates.The point cloud registration basically is the calculation process of the spatial transformations that aligns the partial point cloud generated from the point of view of the chaser and the complete one used as reference.In this way, we can define the relative pose between the target and the chaser using the spatial transformation calculated for the point cloud registration.
A template matching algorithm have been developed for a first coarse registration.This algorithm extracts a plane of the partial view, calculating the corners of this plane and then, they are matched with a database that contains all the planes of the 3D model used as reference and their corners.With these matching corners, a first spatial transformation is calculated, followed by an ICP algorithm to improve the accuracy.Figure 1 shows the workflow of the developed methodology.

LiDAR simulator
For this work, the Envisat satellite was used as target (ESA Development Team, n.d.).It is a satellite developed by ESA for earth observation that was operational from 2002 to 2012.This satellite was selected for this work because complete CAD models are available online, with all the exterior components such as different antennas or solar panels, what is necessary for the operation simulation.Three different situations have been simulated, which represents both initial and final rendezvous (with distances from 100m to 10m) and docking manoeuvre.

Plane extraction
Once the study case is simulated and the point clouds are generated, the next step in the developed algorithm is the plane extraction, that basically consist in calculating the planes contained in the point cloud.For this, a RANSAC (Random Sample Consensus) algorithm is applied, calculating a plane contained in the point cloud and extracting the points that belongs to this plane.In the case of the complete point cloud of the target used as reference, a plane dataset is generated and stored to be used in the next step for the plane matching.In this way, all these planes used as dataset are calculated in preprocessing, speeding up the target pose calculation algorithm.In the case of the partial point cloud acquired from the point of view of the LiDAR sensor, only one plane is extracted in real time, which corresponds to the plane that contains the biggest number of points possible.
Once a plane is extracted, it is discretized into a binary image, generating square cells with a defined length to represent the plane.To generate this binary image, the points that belong to the plane are projected onto the plane, then it is segmented into cells and all the cells are labelled depending on if they contain points or not.For this, a threshold number of points is defined to classify these cells as 1, in case they contain as many or more points as the defined threshold, or 0 otherwise.Then, a discretized plane can be processed as an image.
Due to the scanning pattern of the LiDAR, the point density and other issues derived from the scanning process, some of the cells that form part of the plane are labelled as empty (Figure 4a).This issue can affect to the corner detection algorithm that is presented in Section 2.3.To solve this problem, a morphological closing operation is applied, using a 3x3 structuring element (Eq.( 1)).As result, these small holes shown in Figure 4a are filled in and the edges and corner of the plane are well defined (Figure 4b). (1)

Corner detection and matches
Once the planes are extracted from the point cloud and discretized into binary images, the corners are detected.In order to achieve it, different patterns are used, which are displaced all over the image, looking for match with the binary images.The patterns used are different 3x3 matrices that represent different types of corners (Figure 5).These patterns are used both to detect the corners of the binary images obtained from the discretization of all the planes of the entire point cloud used as reference and for the binary image obtained from the discretization of the main plane of the partial point cloud (Figure 6).
As can be seen in Figure 6b, the binary image obtained from the partial point cloud is rotated.This is due to the relative pose of the target regarding the LiDAR sensor.This rotation and the discretization employed, together with the occluded areas of the plane, produce false detected corners.
In order to compare the corners presented in both binary images, a relative distance matching algorithm has been developed.This algorithm calculates the distance between each pair of corners of the same plane and stores this information in a matrix of relative distances, which is unique for each plane of the point cloud.Then, the distance matrix from the main plane of the partial viewpoint cloud is compared with each distance matrix of the database of the reference point cloud.The algorithm calculates which of the distance matrices of the database best fits with the one in the partial view.In this way, the algorithm calculates not only what plane of the database suits better, but also the corner matching.The algorithm reduces the mismatching that can be produced by calculating relative angles and distances between corners of the same plane and comparing these values to the equivalent corners in the other plane (Figure 7).A threshold is stablished to make the comparison between those values in both planes.

Relative pose calculation
Once the corners of the binary images are matched, they are reprojected from the binary images to the point cloud.In this way, the rigid body transformations for the alignment of these matching corners are calculated, defining the Euler angles and translations that identify the relative pose between the target and the LiDAR sensor.
In addition, in order to achieve a higher accuracy on the relative pose calculation, these rigid body transformations are done in two steps.Firstly, a raw alignment is done and then, it is followed by an ICP algorithm to reduce errors, as it is shown in Figure 8. same plane, so only two different rigid body transformation solutions are calculated, one the mirror image of the other.To select which one of the two solutions is the valid one, the partial viewpoint cloud is registered using these two solutions with the reference point cloud and the point-to-point distance of both point clouds regarding the reference one is calculated.The solution with the lower mean distance is selected as the correct one.
Then, an ICP algorithm is used to obtain a precise alignment, which reduce the point-to-point distance between the partial viewpoint cloud and the reference one.
Figure 9 illustrates how a partial viewpoint is aligned after these two steps.

RESULTS AND DISCUSSION
Three different study cases have been simulated: a far rendezvous manoeuvre with a distance around 100m, a near rendezvous manoeuvre with a distance around 10m and docking operation, with a small distance around some cm but with rotations to simulate the final stage of docking.

Far rendezvous
This first case is simulating a far rendezvous case with distances of the order of 100m.A point cloud with a translation of [100,20,10]m and with rotations of 10 and 45 degrees regarding to X and Z axes, respectively, are applied, as can be seen in Figure 10.This is the most challenging study case, since the FoV of the simulated LiDAR is 70.4º, so the point density of the partial view is low.Even in this challenging case, good results were obtained (Figure 11), achieving a good registration, as can be seen in the histogram in the Figure 12, where the point-to-point distance is shown.The average distance is 0.048m with a standard deviation of 0.053m.

Near rendezvous
This second study case is simulating a near rendezvous manoeuvre.A point cloud with a translation of [15,15,15]m and with rotations of 10 and 45 degrees regarding to X and Z axes, respectively, are applied, as can be seen in Figure 13.In this second case, the point density of the partial viewpoint cloud is higher, which makes it possible to obtain a better result than in the previous case.Figure 14 shows the final alignment achieved for this study case.

Docking
In this last case, trying to cover both rendezvous and docking operations, a cloud with small translation (around cm) and the same rotation of the previous case was simulated (see Figure 16).In this case, the best results were obtained.Figure 17 shows the final alignment achieved in this case.Figure 18 shows the point-to-point distance histogram.As it can be appreciated, the average distance is 0.028m with a standard deviation of 0.032m Table 1 shows a summary of the results obtained in these three simulated study cases.For all of them, a database of 50 planes extracted from the reference point cloud was used.A laptop with an Intel Core 11 th Gen i7-11800H 2.30GHz and with 16 GB RAM was used for this work.All the algorithms were implemented in Matlab R2021a (Matlab, n.d.), using the Point Cloud Processing Library.

CONCLUSIONS
This paper presents a template matching algorithm for relative pose determination of uncooperative target, based on LiDAR sensor and implemented in Matlab.The simulation of a Livox MID-70 sensor is carried out to obtain a realistic partial viewpoint cloud from which the algorithm extracts its main plane.After that, the plane is discretized into a binary image to be processed and detect the corners.This plane and its corners are checked with a database previously generated from the 3D model of the target, in order to match the corners of the plane with the ones of the reference model.Once these corners are matched, the rigid body transformations for the alignment of these corners are calculated, followed by an ICP algorithm to improve the obtained result, calculating in this way the relative pose between the target and the LiDAR sensor.
The developed methodology was tested in three different simulated study cases, obtaining good results in all of them.The average translation error is 0.0373m, with an average rotation error of 0.003º and with an average computing time of 5.47s.The average point-to-point distance error of the aligned point clouds is 0.0383m, which is slightly higher than the range error of the LiDAR used (0.02m) for the simulations.
The proposed method has proven to work well and that it is valid for been used in the first view obtained from the target.In addition, after the pose calculation, other algorithms, such as the ICP algorithm can be used to continue the tracking of the target.As future work, the algorithm is going to be optimised, applying parallel programming and heterogeneous programming strategies to speed it up, making it faster.Also, a new method will be developed, modifying the template-based matching to work with different kind of key points, to make it work not only with planes, but also with curve surfaces.

Figure 1 .
Figure 1.Workflow of the developed methodology.

FigureFigure 4 .
Figure2ashows the STL triangulation model of the Envisat used for the point cloud simulation, for both the complete point cloud used as reference for the relative pose calculation and the partial point cloud used for the simulation.

Figure 2 .Figure 6 .
Figure 2. Envisat satellite CAD model used for the simulations.a) STL model.b) Complete point cloud used as reference for the relative pose calculation.

Figure 5 .
Figure 5. Patterns used for the corner detection.(Cyan cells: contain points; blue cells: not contain points).

Figure 8 .Figure 9 .
Figure 8. Relative pose calculation algorithm workflow.For the first raw alignment, just 3 points of the matched corners are used.As just one plane of the partial view is used for the relative pose calculation, these 3 points are contained in the

Figure 11 .
Figure 11.Final alignment in far rendezvous case.

Figure 14 .
Figure 14.Final alignment in near rendezvous case.
Figure 15 the point-to-point distance histogram, where the average distance 0.039m is with a standard deviation of 0.045m.

Figure 17 .
Figure 17.Final alignment in docking case.