Disclosure of Invention
Aiming at the defects existing in the prior art approach, the invention discloses a camera attitude determination method based on joint processing of a star sensor, a gyroscope, a star sensor installation angle and camera installation angle on-orbit real-time measurement data, an on-orbit camera attitude determination system and a simulation verification system, wherein the real-time measurement data of the star sensor installation angle is introduced, and the satellite body attitude determination method is improved. The real-time measurement data of the camera mounting angle is introduced, and a direct determination method of the satellite camera attitude is provided.
In order to achieve the above purpose, the technical route adopted by the invention is as follows:
A camera pose determining method comprises the following steps:
step 1, acquiring real-time measurement data of a star sensor, a gyroscope, a star sensor installation angle and a camera installation angle;
And 2, synchronizing three data of the gyroscope, the star sensor installation angle and the camera installation angle to the moment generated by the star sensor data by taking the star sensor data as reference time, wherein the method specifically comprises the steps of fitting a linear function by using the original moment data, and acquiring data of a new moment from the fitting function.
Step 3, constructing a star sensor attitude matrix by using two or more star sensor optical axis vectors by adopting a double-vector method or a Quest method;
Step 4, correcting a star sensor constant value installation matrix by using a star sensor installation angle real-time measurement result to obtain a new star sensor installation matrix;
The method comprises the steps of expressing the installation angle of the star sensor into a gesture matrix by using an Euler angle mode, and then finishing the correction of the installation matrix of the star sensor by using an installation matrix multiplication method.
Step 5, using a star sensor attitude matrix and a new star sensor installation matrix to obtain an attitude matrix and an attitude quaternion of a satellite body coordinate system relative to an inertial coordinate system;
Step 6, constructing a variable-order extended Kalman filter by using the satellite body attitude quaternion vector part and the gyro constant drift amount, and acquiring an attitude quaternion after satellite body gyro filtering;
step 7, correcting a constant camera installation matrix by using a real-time measurement result of the camera installation angle to obtain a new camera installation matrix;
The method comprises expressing the camera installation angle into matrix form by Euler angle method, and correcting the camera constant installation matrix by multiplying the installation matrix.
And 8, obtaining a camera attitude matrix and a quaternion by using the attitude quaternion filtered by the satellite body gyroscope and the new camera installation matrix.
The on-orbit camera gesture determining system according to the camera gesture determining method comprises a plurality of star sensors, gyroscopes, a star sensor installation angle measuring device, a camera installation angle measuring device and a system management unit;
Each star sensor acquires a posture quaternion Q of a star sensor measurement coordinate system relative to an inertial coordinate system, a gyroscope acquires the angular velocity of a satellite body, a star sensor installation angle measuring device acquires the variable quantity of a star sensor installation matrix, and a camera installation angle measuring device acquires the variable quantity of a camera installation matrix;
The star sensor, the gyroscope and the star sensor installation angle measuring device and the camera installation angle measuring device respectively utilize a hardware data interface or a bus interface of the star sensor, the gyroscope and the camera installation angle measuring device to send respective data to the system management unit;
The system management unit performs time synchronization on star sensor data, gyro data, star sensor installation angles and camera installation angles, calculates a star sensor attitude matrix by using an attitude quaternion Q value of the star sensor, calculates a new star sensor installation matrix by using the star sensor installation angles and a default installation matrix to obtain a satellite body attitude matrix, builds a Kalman filter to complete joint filtering of the attitude quaternion and the gyro angular velocity, calculates a new camera installation matrix by using the camera installation angles and the default installation matrix to obtain a camera attitude matrix, and transmits a calculation result to the ground through a satellite-to-ground link after the system management unit completes the determination of the whole camera attitude.
The simulation verification system of the camera attitude determination method comprises a dynamics simulation simulator, a camera included angle simulator, a star sensor simulator, a gyro simulator, a system management unit simulator, an attitude control unit simulator and an attitude control executing mechanism simulator;
The system comprises a dynamic simulation simulator, an orbit dynamics model, a satellite sensor installation angle and a camera installation angle change amount, wherein the dynamic simulation simulator is used for obtaining dynamic simulation data by establishing a structural thermodynamic model, a gesture dynamics model and an orbit dynamics model and constructing a closed-loop simulation system;
The dynamics simulation simulator sends dynamics simulation data to the star sensor simulator and the gyro simulator, generates star sensor data and gyro data to the gesture control unit simulator, generates a control instruction to the gesture control execution mechanism simulator, and feeds back to the dynamics simulation simulator to complete the whole closed-loop control process;
meanwhile, the dynamics simulation simulator gives dynamics simulation data to the camera installation angle simulator and the star sensor installation angle simulator, generates camera installation angle data and star sensor installation angle data, and sends the camera installation angle data, the star sensor data and the gyroscope data to the system management unit simulator;
The system management unit simulator performs time synchronization on star sensor data, gyro data, star sensor installation angles and camera installation angles, calculates a star sensor attitude matrix by using an attitude quaternion Q value of the star sensor, calculates a new star sensor installation matrix by using the star sensor installation angles and a default installation matrix to obtain a satellite body attitude matrix, builds a Kalman filter to complete joint filtering of the attitude quaternion and the gyro angular velocity, calculates a new camera installation matrix by using the camera installation angles and the default installation matrix to obtain a camera attitude matrix, and outputs a result after the system management unit completes the determination of the whole camera attitude.
Compared with the prior art, the invention has the beneficial effects that:
(1) The invention provides the preprocessing and using methods of the star sensor installation angle measurement data and the camera installation angle measurement data, and the determination accuracy of the satellite body posture and the camera posture is improved.
(2) The invention is suitable for increasing the installation angle measuring capability of the star sensor and the camera on the basis of using the star sensor and the gyroscope, and finishing the high-precision gesture determination of the satellite body gesture or the satellite camera gesture.
Detailed Description
The invention is further described below by way of example with reference to the accompanying drawings.
A camera pose determining method comprises the following steps:
step 1, collecting real-time measurement data of four instruments including a star sensor, a gyroscope, a star sensor installation angle and a camera installation angle as input. The data generation times are different, but there is a time stamp to determine the exact time of the data.
And 2, synchronizing three data of the gyroscope, the star sensor mounting angle and the camera mounting angle to the moment when the star sensor data are generated by taking the star sensor data as reference time so as to ensure the precision of subsequent joint processing. Specifically, the linear function is fitted by using the original time data, and then the new time data is obtained from the fitted function.
And 3, constructing a star sensor attitude matrix by using optical axis vectors of two or more star sensors, and solving the problems of high optical axis precision and low transverse axis precision of a single star sensor. Specifically, a bi-vector method or a Quest method is used.
And 4, correcting a star sensor constant value installation matrix by using a star sensor installation angle real-time measurement result to obtain a new star sensor installation matrix. The star sensor installation angle real-time measurement result has smaller data, is expressed into a gesture matrix by using an Euler angle mode, and is corrected by using an installation matrix multiplication method.
And 5, obtaining an attitude matrix and an attitude quaternion of the satellite body coordinate system relative to the inertial coordinate system by using the attitude matrix of the star sensor and the new installation matrix of the star sensor.
And 6, constructing a variable-order extended Kalman filter by using 6 quantities of the satellite body attitude quaternion vector part and gyro constant drift, and obtaining the attitude quaternion of the satellite body after gyro filtering.
And 7, correcting the constant camera installation matrix by using the real-time measurement result of the camera installation angle to obtain a new camera installation matrix. The real-time measurement result data of the camera installation angle is smaller, the Euler angle mode is used for expressing the real-time measurement result data into a matrix form, and then the correction is completed by using an installation matrix multiplication method.
And 8, obtaining a camera attitude matrix and a quaternion by using the satellite body filtered attitude quaternion and the new camera installation matrix.
Example 1:
referring to fig. 1, the camera pose determination method steps are as follows:
And 1, acquiring on-orbit real-time measurement data of a star sensor, a gyroscope, a star sensor installation angle and a camera installation angle. The star sensor 1 and the star sensor 2 measure quaternions Q_STS1 and Q_STS2, the measured value of the gyro angular velocity is wm, the three-axis installation angle variation of the star sensor 1, the star sensor 2 and the camera is deltaphi _sts1, deltaphi _sts2 and deltaphi _cm, which are 3-dimensional vectors.
And 2, preprocessing star sensor, gyroscope, star sensor installation angle and camera installation angle data. Fitting a linear function and taking the data of the synchronous time points as a result.
And 3, calculating the optical axis direction r_sts1 of the measurement coordinate system of the star sensor 1 under the inertial space coordinate system. And calculating the optical axis direction r_sts2 of the measuring coordinate system of the star sensor 2 under the inertial space coordinate system. And acquiring a star sensor attitude matrix S. The formula is as follows:
r_sts1=quat2dcm(Q_STS1)·[0;0;1];
r_sts2=quat2dcm(Q_STS2)·[0;0;1];
M=cross(r_sts1,r_sts2)/norm(cross(r_sts1,r_sts2));
L=(r_sts1+r_sts2)/norm((r_sts1+r_sts2));
K=cross(M,L);
S=[K L M];
Step 4, measuring a mounting matrix Msts1 of the coordinate system relative to the satellite body coordinate system by using the star sensor 1, and measuring a mounting matrix Msts2 of the coordinate system relative to the satellite body coordinate system by using the star sensor 2. Calculating the optical axis direction r_Bd1 of the star sensor 1 measurement coordinate system under the satellite body coordinate system and the optical axis direction r_Bd2 of the star sensor 2 measurement coordinate system under the satellite body coordinate system, and finally obtaining a new star sensor mounting matrix Sbase with the following formula:
Wherein deltaphi _st1= [0.00031,0.00062,0.00011], deltaphi _st2= [0.00032,0.00042,0.00025] obtained in real time, and the accuracy of the installation angle of the new installation matrix of the corrected star sensor is improved by about 1-2 degrees.
r_BD1=Msts1·[1 0 0;0cos(deltaphi_sts1(1))-sin(deltaphi_sts1(1));0sin(deltaphi_sts1(1))cos(deltaphi_sts1(1))]·[cos(deltaphi_sts1(2))0sin(deltaphi_sts1(2));0 1 0;-sin(deltaphi_sts1(2))0cos(deltaphi_sts1(2))]·[0;0;1];
r_BD2=Msts2·[1 0 0;0cos(deltaphi_sts2(1))-sin(deltaphi_sts2(1));0sin(deltaphi_sts2(1))cos(deltaphi_sts2(1))]·[cos(deltaphi_sts2(2))0sin(deltaphi_sts2(2));0 1 0;-sin(deltaphi_sts2(2))0cos(deltaphi_sts2(2))]·[0;0;1];
Mbase=cross(r_BD1,r_BD2)/norm(cross(r_BD1,r_BD2));
Lbase=(r_BD1+r_BD2)/norm((r_BD1+r_BD2));
Kbase=cross(M,L);
Sbase=[Kbase Lbase Mbase];
Deltaphi _sts1 (i) represents the i-th element in deltaphi _sts1, i=1, 2,3;
deltaphi _sts2 (i) represents the i-th element in deltaphi _sts2, i=1, 2,3;
Step 5, calculating a satellite body attitude matrix;
Input and variable description:
And acquiring an attitude matrix O_BD of the satellite body coordinate system relative to the inertial coordinate system and a corresponding quaternion Q_BD by utilizing the star sensor attitude matrix S and the star sensor new installation matrix Sbase. The formula is as follows:
O_BD=S·SbaseT;
Q_BD=dcm2quat(O_BD);
And 6, acquiring a quaternion filter value qEKF and a gyroscope Chang Piao estimation bhat of the filtered satellite body coordinate system relative to the inertial coordinate system by utilizing a quaternion measurement qm of the satellite body coordinate system relative to the inertial coordinate system, namely Q_BD, and an angular velocity measurement wm of the satellite body coordinate system relative to the inertial coordinate system.
And 7, acquiring a new camera mounting matrix Mfnew by utilizing the three-axis mounting angle change deltaphi _cm of the camera and a mounting matrix Mf of the camera coordinate system relative to the satellite body coordinate system, wherein the formula is as follows.
Wherein deltaphi _cm= [0.00012,0.00031,0.00015] obtained in real time, and the accuracy of the installation angle of the corrected new installation matrix of the camera is improved by about 1 angle.
Mfnew=Mf·[1 0 0;0cos(deltaphi_cm(1))-sin(deltaphi_cm(1));0sin(deltaphi_cm(1))cos(deltaphi_cm(1))]·[cos(deltaphi_cm(2))0sin(deltaphi_cm(2));0 1 0;-sin(deltaphi_cm(2))0cos(deltaphi_cm(2))]·[cos(deltaphi_cm(3))-sin(deltaphi_cm(3))0;sin(deltaphi_cm(3))cos(deltaphi_cm(3))0;0 0 1];
Deltaphi _cm (j) represents the j-th element in deltaphi _cm, j=1, 2,3;
Step 8, acquiring a camera attitude matrix O_CM and a quaternion Q_CM by utilizing a satellite body coordinate system attitude quaternion qEKF, a satellite body coordinate system attitude matrix O_ BDfilter and a camera new installation matrix Mfnew, wherein the formula is as follows:
The final q_cm= [ -0.12727493 0.714286049-0.636473081-0.261718239 ] improves the overall accuracy by about 2 degrees compared to before the installation angle correction.
O_BDfilter=quat2dcm(qEKF);
O_CM=Mfnew·O_BDfilter;
Q_CM=dcm2quat(O_CM);
The basic functions used in the above embodiments are all general functions, and are briefly described as follows:
cross () is a vector cross function;
norm () is the modulo function of a vector;
The quat2dcm () is a quaternion-to-gesture matrix function;
the dcm2quat () is a gesture matrix to quaternion function.
With reference to fig. 2, an on-orbit pose determination system of a camera pose determination method includes:
The star sensor can acquire the attitude quaternion Q of the star sensor measurement coordinate system relative to the inertial coordinate system, the gyroscope can acquire the angular velocity of the satellite body, the star sensor installation angle measuring device can acquire the variation of the star sensor installation matrix, and the camera installation angle measuring device can acquire the variation of the camera installation matrix. The four devices respectively use the hardware data interface or the bus interface of the devices to send to the system management unit. In the system management unit, various data are preprocessed such as time synchronization. And then calculating a star sensor attitude matrix by utilizing the Q value of the star sensor, and calculating a new installation matrix by utilizing the installation angle of the star sensor and a default installation matrix, thereby obtaining a satellite body attitude matrix. And constructing a Kalman filter to finish the joint filtering of the attitude quaternion and the gyro angular speed. And calculating a new installation matrix by using the camera installation angle and the default installation matrix, and further obtaining a camera attitude matrix. And after the system management unit finishes the determination of the posture of the whole camera, the calculation result is downloaded to the ground through a satellite-ground link.
Referring to fig. 3, the simulation verification system of the camera pose determination method is as follows:
A closed-loop simulation system is built by building three main simulation models, namely a structural thermodynamic model, an attitude kinetic model and an orbit kinetic model. The orbit dynamics model is used to build orbit dynamics and kinematics models, i.e. calculation models of the change of satellite orbit with time. The attitude dynamic model is used for establishing dynamic and kinematic models, and simulating the satellite attitude change process according to the output moment of the attitude control mechanism. The structural thermodynamic model is used for simulating structural deformation by combining the change of the orbit and the gesture, and giving the change of the mounting angle of the star sensor and the camera mounting angle.
The dynamics simulation data is sent to a star sensor simulator and a gyro simulator to generate star sensor data and gyro data. Further gives the control command to the gesture control unit simulator, generates the control command to the gesture control executing mechanism simulator, and completes the whole closed-loop control process.
Meanwhile, the dynamics simulation data are also fed into a camera mounting angle simulator and a star sensor mounting angle simulator to generate camera mounting angle data and star sensor mounting angle data. The data is sent to a system management unit simulator together with star sensor data and gyro data;
The system management unit simulator performs time synchronization on star sensor data, gyro data, star sensor installation angles and camera installation angles, calculates a star sensor attitude matrix by using an attitude quaternion Q value of the star sensor, calculates a new star sensor installation matrix by using the star sensor installation angles and a default installation matrix to obtain a satellite body attitude matrix, builds a Kalman filter to complete joint filtering of the attitude quaternion and the gyro angular velocity, calculates a new camera installation matrix by using the camera installation angles and the default installation matrix to obtain a camera attitude matrix, and outputs a result after the system management unit completes the determination of the whole camera attitude.
The invention, in part not described in detail, is within the skill of those skilled in the art.