1. Introduction
To describe the position of material points in three-dimensional Euclidean space, orthogonal coordinate systems are usually used. The selection of the system is free and dictated by practical reasons [
1]. The transformation between two orthogonal coordinates system is also required quite commonly. In the fields of geodesy and photogrammetry the transformation through similarity is commonly used as well. This allows the transformation of coordinates between two relative oblique orthogonal systems. This takes place in engineering geodesy in which the measures are transformed to the coordinate system of the measured object or for example tunnel boring machines [
2]. The transformation through similarity covers the scale change (homothetic) and isometry, i.e., translation and rotation [
3]. The transformation through similarity often assumes that the set of points (space) behaves in accordance to the rigid body mechanics [
4]. In this way the geophysical researches on tectonic plate movements are described [
5].
If the molecular system (rigid body), which is originated in the zero intercept, is put into a rotary motion, after some time (t) the position on the OXY plane of its particular points in relation to the reference system, which is constant, can be described as the following relation (1) [
6]:
where:
ω—angular velocity,
t—time,
X, Y—coordinates in the primary coordinate system (fixed),
X’, Y’—coordinates in the secondary coordinate system.
If a rectilinear motion is added to a rigid body moving with a uniform rotary motion, at the same time assuming the cycle time and constant velocity, what was described as relation (2), the relation (1) will be described as the following matrix (3) (
Figure 1).
where:
where:
X0, Y0—the translation vector,
λ = 1—scale change coefficient equal to one.
other signs are assumed as in the relations (1), (2).
Indeed the transformation on the plane described by Equation (3) is the Helmert active transformation, shown in
Figure 1, but in passive form, a transformation known in the fields of geodesy and photogrammetry [
7]. However, due to the small difference it should be called a special example of the Helmert Transformation as the change scale coefficient λ is equal to 1. Thus, the transformation through similarity gets reduced to the isometric transformation consisting of translation and rotation, what is also common for surveying [
8].
In the transformations through similarity which are connected to move, three rotation angles are used for the description, for example Taita-Bryan or Euler angles [
9]. In geodesy and photogrammetry, the 3D transformation is described with relation [
10]:
where:
X, Y, Z—coordinates in the primary reference system,
X’, Y’, Z’—coordinates in the secondary reference system,
X0, Y0, Z0—the translation vector (movement of the primary coordinate system),
λ—the factor of the scale change.
where:
a11, a12, a13, ..., a33—factors of the A rotation matrix,
ω—the rotation around the X axis (clockwise), the roll angle,
φ—the rotation around the Y axis (clockwise), the pitch angle,
κ—the rotation around the Z axis (clockwise), the yaw angle.
The transformations are described by Equations (4) and (5) but in plenty of cases and for calculation convenience they are often reduced to infinitesimal transformations. Taking into account Equation (6) allows one to obtain the A matrix in the form (7):
where:
By that means the matrix A described with the relation (5) is often brought to so called small rotation angles [
11] (7). Consequently, this leads to the infinitesimal transformation [
6] of the relation (4) to:
The transformation described with the relation (8) often applies to aerial surveying. The situation changes when it comes to close range photogrammetry. The rotation angles are much larger than in the traditional aerial surveying so special algorithms must be used [
12].
The transformations using matrix (7) are commonly used to determine the orientation of the reference ellipsoid and 3D base line [
2]. For these purposes the Bursa-Wolf [
13,
14] transformations, described by the relation (9), and Molodensky-Badekas transformations [
2], described by relation (10), are used:
where:
—angle expressed in radians and marked the same as in the relation (5),
—angle expressed in radians and marked the same as in the relation (5),
—angle expressed in radians and marked the same as in the relation (5),
—change scale coefficient,
coordinates of the translation vector,
other signs as in the relation (4).
where:
coordinates of the translation vector measured accordingly along the axis (secondary coordinate system),
—coordinates of the translation vector of the secondary coordinate system to the common centroid of the reference systems,
other signs as in the relation (9).
The transformations described by the relations (9) and (10) are based on the rotation matrix (7) which is determined for small rotation angles. Moreover, in the Moldensky-Badekas transformation the displacement of both systems to the common centroid occurs.
Moreover, in similarity (and isometric) transformations described by relations (5), (8), (9), (10) angular elements of exterior orientation of sensor, expressed in the rotation matrix, are involved with displacement of the coordinate system and it cannot be calculated separately. Considering the above mentioned relations the following main question (research problem) arises: is it possible to build such a space in which:
translations between two relative oblique orthogonal coordinate system are reduced to zero;
simultaneously the angular relative orientation of both coordinate systems is constant;
it is possible to direct computing the rotation matrix separately from displacement of the system and from the scaling factor.
Answering this question—OUR main research problem—permits on direct determination of the rotation matrix and then exterior orientation of a sensor without connection to displacement of the coordinate system. Solving such a problem is the purpose of this publication.
The remainder of this paper propose an algorithm based on the use of three (or more) centroids and the generation of the new space of points in which the following elements will be calculated: change scale coefficient (checking the similarity transformation), exterior orientation of sensor: rotation matrix and coordinates of sensor expressed in external coordinates system. The proposed method, unlike the Moldensky-Badekas transformation or Bursa-Wolf transformation, can be applied for big rotation angles, and for close range photogrammetry purposes. The method is a further development of the Total Free Station (TFS) transformation [
15] to several centroids in Hilbert type space. It can be applied for local, precise surveying as well as for geodynamic, close range photogrammetry and engineering purposes, especially for non-stable places (e.g., on floating vessels) where levelling of an instrument may not be possible and it is necessary to determine the exterior orientation of sensors. This method is suitable for sensors which can measure angles and/or distances like Total Station, laser scanners (e.g., TLS—Terrestrial Laser Scanner, ALS—Airborne Laser Scanner), echo-sounders and also can be applied to metric and non-metric cameras for photogrammetric purposes.
2. Materials and Methods
The following article presents the algorithm of the transformation through similarity (isometric) based on the transformation in the newly normed R
3 Euclidean space. An Euclidean space is a R
n vector space with Euclidean scalar product and norm and metric [
16]. The linear space, based on which the norm is defined (one or more), is called the normed space. In linear normed space the length of the vector is determined by the real-valued functional called also a norm of the space that meets the axioms of norm [
17]:
- (1)
where (positive definiteness)
- (2)
(fulfilling the triangle condition)
- (3)
(first degree homogeneity)
Every scalar product in the vector space creates a norm of vector (11). Each norm in the vector space determines a metric as a norm of the difference of u and v vector (12) [
16]:
Thus, the norm must be perceived as the general length of the u vector (11) and the metric in the normed space must be perceived as the d distance between a pair of the elements of the space (distance between the pair of points) (12). The following considerations are carried out in the complete linear vector space (Banach space), normalized space, in which each Cauchy sequence of its elements converges to an element of this space [
18]. Thanks to the possibility to determine the scalar product that generates the norm of vectors, the space is an unitary space (i.e., a vector space with scalar product), defined as the Hilbert space. The R
3 normed Euclidean space with standard—Euclidean scalar product is a subset of Hilbert space in which the considerations are carried out. Accordingly, in the present discussion, the key element of the definition of the newly normalized Hilbert space is the definition of its norm, i.e., the method of determining the length of vectors in the space.
This publication proposes the algorithm for the transformation through similarity (isometric) given by Equation (13) and presented in
Figure 2. Problem is solved in a R
3 normed Euclidean space which is defined as the Hilbert type space through reduced to zero translations between two relative oblique orthogonal coordinate system by the norm space.
In this publication the transformation through similarity is given by the relation:
where:
—the translation vector (movement of the primary coordinate system),
other signs are assumed as in the relation (4).
In the transformation described by relation (13), which in the current paper is called the Multi-Centroid Transformation (MCT), scaling the primary coordinate system comes first. In case the scaling factor
, then the transformation becomes the isometric transformation and is called Multi-Centroid Isometric Transformation (MCT). Both MCT and MCIT are development of the TFS transformation [
15] to the case of at least three centroids. The next step is its translation and the last element is the rotation expressed in the A rotation matrix.
The proposed algorithm for such a problem of transformation, with conditions:
translations between two relative oblique orthogonal coordinate system are reduced to zero;
simultaneously the angular relative orientation of both coordinate systems is constant;
it is possible to directly compute the rotation matrix and simultaneously separately from the displacement of the system and the scaling factor;
is solved in Hilbert space, according to algorithm presented on
Figure 2. This transformation is the inverse transformation of (13) and is given by the relation:
where the signs are as in relation (13).
The proposed solution for such a problem is to start, after surveying and collecting a data set, with the displacement of the coordinate systems—primary and secondary systems—to one common centroid (
Figure 3). Each coordinate system is moved along its axis so the relative angle orientation of both systems does not change. This action is repeated for (at least) three times for three (or more) centroids (
Figure 4). In this way each of the displacements generates new points (
Table 1).
The points are known in both coordinate systems and have a function as centroids (points on which the systems are displaced. The situation of displacing the points on four centroids—four points already known in both relative oblique and scale (by any factor) coordinate systems (
Figure 3)—can be considered. By displacing the systems on P1 point—the first centroid—three new pairs of points (vectors) are obtained in both the oblique and scale coordinate systems: P2 and P2′, P3 and P3′, P4 and P4′. By displacing on the second centroid, three pairs of points will be obtained once again. P1 and P1′, P5 and P5′, P6 and P6′, where
and
. As there are only two pairs of points—two new vectors are linearly independent in relation to the ones generated from the P1 centroid. By displacing the systems on the third centroid, three pairs of points will be obtained: P7 and P7′, P8 and P8′, P9 and P9′, where only the pairs of P9 and P9′ are linearly independent. The displacement to the fourth centroid generates vectors opposite to the displacement on the first one After all the displacements the following pairs of points (vectors) are obtained and linearly independent: P2 and P2′, P3 and P3′, P4 and P4′, P5 and P5′, P6 and P6 as well as P7 and P7′. The data are presented in the
Table 1 and the linearly independent vectors are marked with bold font.
For four centroids and with further displacements we obtain six new pairs of points in both the relative oblique and scaled coordinate systems. The fourth displacement does not generate a new pair of points. The number of generated pair of points (vectors) in the new space can be defined as follows:
where S
n—number of generated pair of points (vectors), and n—number of centroids.
According to the relation (15) it can be calculated that every time n−1 of points are generated, where n means the number of centroids. This is because the last centroid generates no new points, all of them are opposite to the points generated on previous centroids. For three centroids (n = 3), three new pairs of points are obtained. Thus, to calculate the rotation matrix (for big rotation angles) and the change scale coefficient, four centroids are necessary that will allow to obtain six new pairs of points in Hilbert space.
For example, 44 new pairs of points can be generated with only 10 centroids and 190 new pairs of points can be generated with 20 centroids. The relation (15) of the new pair of points to the number of centroids is presented in
Figure 5.
The norm of Hilbert space, where the points for MCT are generated, due to the fact that the space is linear, is defined by the length of the vector (real-valued functional) which is described by relation (11). The scalar product of the vector (cos angle = 1) defines the length of the vector. Thanks to the possibility to determine the vector product in the linear space, in which the considerations are realized, the space is the inner product space (Hilbert space). The length of the u vector in the space is described by the relation (11). The u vector is determined by the relation:
where:
—the vector in the normed Hilbert (R3) space, where its length is calculated in accordance to the relation (17) is the space’s norm;
—the vector originated in the zero intercept of the primary coordinate system and ends in the p point,
—the vector originated in the zero intercept of the primary coordinate system and ends in the pc point which is the centroid.
Once the relation (16) is transformed we obtain the norm of the Hilbert (R
3) space:
The norm in the newly defined vector space produces a metric as the norm of the difference between the pc and p vectors and is the “input” to this new space. The p point is any point and the pc point is the centroid.
The points in the new Hilbert space are induced by the displacement of the systems. The displacement of the systems takes place (at least) three times, for four known points in both systems from which three become centroids (the fourth displacement, as mentioned before, does not generate new points). The translation of the systems takes place along the axis of each of the systems. The procedure does not change the relative angle orientation of the coordinate systems and at the same time allows one to generate points (vectors) in the new Hilbert space. In this way three pairs of symmetric vectors are received and thanks to this it is possible to calculate (check) the scale factor and rotation matrix. When determining the scale in the orthogonal transformation it is necessary to use the invariant of the square of the length of the vector in relation to the rotation, which is the invariant of the transformation [
1]. In the transformation through similarity the system is scaled and especially if the change scale coefficient equals one the transformation becomes the isometric one. As a consequence, after displacing the systems (entering the new space—Hilbert space), the problem of changing the scale of the system and determining the rotation matrix is solved. In the next step the change scale coefficient is calculated using the fact that the scale does not change in relation to the transformation. Thus, the scale change does not result from the rotations of the system but from scaling the primary coordinate system. Thus, comparing the lengths of the vectors in the newly normed space coordinate system without the rotation and that in the system with the rotation, the ratio of their lengths will allow to determine the change scale coefficient
from the dependence:
where:
—the vector in the newly normed space, originated in the zero intercept (without the rotation and scaling) and ended in the p point,
—the vector in the newly normed space, originated in the zero intercept (with the rotation and scaling) and ended in the p point.
The change scale coefficient can be determined from the relation (18) for many times and for several point and then averaged. It can be also determined once for the vector of the highest length in the rotated system.
Once the change scale coefficient is determined (checked that is equal one) it is possible to determine the rotation matrix from the relation (13). For this purpose the approach presented in [
12] is used in the algorithm for big rotation angles where the condition on the orthogonality of the A matrix is used, what can be described as the relations (19), (20):
where:
Once the A matrix is determined, the rotation of the system takes place. This leads to displacement of the axes of the both systems—the primary and secondary coordinate systems. The next and last step in the MCT (MCIT) is translation (returning one) of the systems along the already known track as it is the same track the system without the rotation was translated to the first centroid in accordance to the relation (21). Therefore, this is a translation of a known vector with coordinates opposite to the coordinates of the first centroid on which the system without the rotation was displaced.
where:
P—the matrix of the points transformed from the secondary coordinate system to the primary coordinate system,
—the matrix of the point after scaling and rotating in the newly normed Hilbert space,
—the translation matrix (returning one) to the real-valued space, where the measurements were carried out—the matrix consisting of vector opposite to the centroid no. 2.
In this way and in accordance to relation (21), the opposite translation and return to the real-valued space, where the measurements were carried out, take place. In the next step the errors on the check points (ICT—Independent Control Points) are calculated, which coordinates in both systems (the one with the rotation and the one without the rotation) were known but these were not the centroids and did not take part in the transformation. Then the mean errors of coordinates are calculated (standard deviations) once the transformation is finished.
The discussion on the results may be also carried out base on the maximal errors of coordinates, which are three times bigger than mean errors (according to Gaussian distribution with confidence level of 99.73%). Then maximal errors of exterior orientation accuracy of a sensor which is connected to the coordinates accuracy can be estimated, for infinitesimal values of errors, according the same relation (13), as follows:
where:
M—maximum error according to Gaussian distribution with confidence level of 99.73%,
other signs as in the relation (13).
The relation (22) can be present in parametric form:
where:
, ,
other signs as in the relations (22) and (13).
Relation (23) can be modified to:
Separate values for the angular exterior orientation of sensor can be calculate on the basis of relation (5), for errors—relation (24), as follows:
where:
—external angular orientation of sensor expressed in radians,
signs a13, a23, a33—factors of the A rotation matrix—as in the relations (5).
Simultaneously for infinitesimal values of errors in relation (24)
is equal zero, and
is equal one, it is received the isometric transformation with simplification
than
matrix can be simplify to relation:
Relation (26) can be applied for infinitesimal values of errors e.g., in case of geodetic surveying carried out with the levelled instrument. The rotation errors around the X axis (∂ω) and Y axis (∂φ) are mostly related to the instrument levelling errors, while the rotation error around the Z axis (∂κ) is related to the accuracy of the instrument (if the geometrical and axial conditions are met).
Based on the known errors of the 3D base line coordinates—in relation (24) matrix
—the estimated errors of the exterior orientation of sensors can be calculated at first. From this point of view knowing points and its errors in primary coordinate system and precision of sensor which will be used in oblique orthogonal coordinate system makes possible to estimate expected values of errors of exterior orientation of sensor or calibrate instrument IMU (Inertial Measurements Unit) through the check correctness of results against values calculated as differentials of (24) through relations:
where:
Taking into account, on the relation (5) basis, that:
for infinitesimal values in relation (6), relation (28) can be expressed as the identity in the form:
3. Results
Within the experiment a few lab (numeric) and field researches were performed. In laboratory tests, the mathematical correctness of the proposed method on the assumed data that were used in the matrix was checked (all the following data were assumed in [m]). In
Table 2 below are shown detailed calculations for one data set.
In the laboratory data set it was assumed that the coordinates are with a precision of ±1 mm. Next the system (set of points) was scaled. The assumed change scale coefficient equaled
= 1257, and the points were translated of the vector [1555.555 154,000.321 −145.356] and rotated with the following angles: ω = 27.35478°, φ = 5.578938°, κ = 19.30716° (for calculation of A). In this way the matrix of points in the scaled, translated and rotated system was obtained as in
Table 3.
Matrix A is calculated according to relation (5):
In the next step, the “entry” to the newly normed Hilbert (R
3) space was performed according to the relation (17), by translating the systems to centroids (successively to the points—rows—no. 2, 7 and 1 in
Table 4 and
Table 5). Below in
Table 4 and
Table 5 the data after translation to the centroid no. 2 is presented (sequentially for primary and secondary systems):
Once the systems were displaced on the further centroids, the matrices of points in both systems (secondary system—rotated and scaled—P4, primary system—without the rotation and the scale change—p4) were generated:
Four homologous pair of points in matrixes p4 and P4 were generated from only two points no. 9 and no. 7. Points generated using individual centroids were signed as D (d)—for the first centroid, E (e)—for the second centroid, F (f)—for the third centroid. In the next step the scale change coefficient from the relation (18) was calculated for six newly generated points (vectors):
It is obvious from the above that the preciseness of determining the scale change coefficient is 10
−9 of the input data, what indicates the correctness of the designation of the coefficient and also the confirmation of isometric transformation. In the nest step the rotation matrix was calculated on the basis of relation (13) with condition (20):
by multiplying the N14 matrix with the A (rotation) matrix:
calculated for angled assumed in advance (ω = 27.35478°, φ = 5.578938°, κ = 19.30716°) of which the primary system was rotated and the unit matrix was obtained:
In the next step scaling and rotating of the opposite matrix (N14) were performed, in accordance to the relation (13), as well as the translation to the system from the newly normed Hilbert (R
3) space to the real-valued space of a vector opposite to the centroid no. 2 (Equation (21)). The following deviations were obtained in the check points (ICP) (presented with overstated precision) in
Table 6.
The mean errors (standard deviations) of the typical observation for example data sets are presented in
Table 7.
The mean errors (standard deviations) of the typical observation for example data set distorted by random errors according to normal Gaussian distribution are presented in Table 14. Considering
Table 7,
Table 8 and Table 14 it was found that the method is mathematically correct and analogue calculations for field measures were carried out.
The next step was field tests in a real surveying environment. All data for field measurements were given in [m]. The surveying by Total Station was performed in two relative oblique coordinate systems that were translated by an unknown value. Firstly, the measurements were carried out with the levelled and centered instrument with the compensator turned on. The following points were obtained (coordinates of the points) are presented in
Table 9.
Then the instrument was not levelled and translated with the unknown vector. The coordinate system was connected with the translated and oblique instrument (Total Station). Then the compensator in the instrument was turned off. The field surveying was performed with the Total Station (model Trimble M3) with the angle accuracy of 2” and 2 mm + 2 ppm distance measurement accuracy measured to reflective foil. Nine points in two full series were measured. The distance between the points and the instrument was from 10 to 50 m. In this way a matrix of the points was obtained as in
Table 10.
In the newly normed Hilbert space the scale change coefficient (18) was calculated for the lengths of six vectors in both coordinate systems:
Coordinates were measured with a Total Station (angles and distances from two different stations). Computed scale values reflect the random errors in the observation and also is connected to the accuracy of the Total Station itself. After checking the scale factor coefficient in the nest step the rotation matrix was calculated on the basis of relation (13) with condition (20). It was assumed the stochastic model of errors according to normal Gaussian distribution. The following average errors [mm] were obtained after transformation (
Table 11 and
Table 12).
In the next and last step, the exterior orientation of sensor and errors were calculated.