|
Spacecraft Control Framework 1.0
Spacecraft Control Library
|
Classes and functions for modeling 3 phase motors. More...
Files | |
| file | sc_control.h |
| Control functions. | |
| file | sc_lambert.h |
| Lambert method. | |
| file | sc_orbit_mnvr.h |
| Orbit maneuver algorithms. | |
Classes | |
| class | Filter |
| struct | lambert_out |
| Structure for storing the data output the Lambert TOF solver. More... | |
| class | PD |
| class | PID3Axis |
| class | pm_machine_abc |
| pm_machine_abc I% Assumes a 3 phase machine in a Y connection. More... | |
| class | pm_machine_dq |
| pm_machine_dq More... | |
| class | pm_machine_torque_control |
| pm_machine_torque_control More... | |
| class | pm_machine_ukf |
| pm_machine_ukf Implement space vector pulsewidth modulation. More... | |
| class | PulseWidthLP |
| Multi-Thruster Pulsewidth Solution using Linear Program Formulation. More... | |
| class | relative_state_from_points |
| Generates transformaton matrix and offset plus camera parameters from points. More... | |
| class | state_space |
| State space model. More... | |
| class | svpwm |
| SVPWM Implement space vector pulsewidth modulation. More... | |
| class | UKF |
| Unscented Kalman Filter class. More... | |
Typedefs | |
| typedef struct lambert_out | lambert_out |
| Structure for storing the data output the Lambert TOF solver. | |
Functions | |
| ml_matrix | momentum_unloading (const ml_matrix &u, const ml_matrix &b, double gain, const ml_matrix &h, double tol=0.2) |
| Momentum management using magnetic torquers. More... | |
| ml_matrix | momentum_with_rwa_body (const ml_matrix &inr, const ml_matrix &omega_body, const ml_matrix &omega_rwa, const ml_matrix &u_rwa, double inr_rwa) |
| Momentum with RWA in the body frame. More... | |
| ml_matrix | magnetic_control (const ml_matrix &torque_demand, const ml_matrix &u_magnetic_torquer, const ml_matrix &b_field, double cost) |
| Magnetic torquer control. | |
| ml_matrix | discrete_state_transition_matrix (const ml_matrix &w, double dT) |
| State transition matrix. More... | |
| ml_matrix | attitude_propagation_discrete (const ml_matrix &w, const ml_matrix &q, double dT) |
| State propagation. More... | |
| lambert_out | lambert_tof (const ml_matrix &r1, const ml_matrix &r2, double dT, int orbitType=1, double mu=3.98600436e5, double tol=1e-10, int maxIter=20) |
| Solves the Lambert time of flight problem using Battin's method. More... | |
Classes and functions for modeling 3 phase motors.
Momentum management using magnetic torquers.
Classes and functions for perfoming control calculations.
This includes all classes and functions related to guidance, estimation, control, and distribution.
| ml_matrix momentum_unloading | ( | const ml_matrix & | u, |
| const ml_matrix & | b, | ||
| double | gain, | ||
| const ml_matrix & | h, | ||
| double | tol | ||
| ) |
Momentum management using magnetic torquers.
| u | (3,n) Dipole unit vectors in the frame of h |
| b | (3,1) Magnetic field vector in the frame of h |
| gain | Proportional gain |
| h | (3,1) Momentum |
| tol | Tolerance on using a dipole |
References pinv().
| ml_matrix momentum_with_rwa_body | ( | const ml_matrix & | inr, |
| const ml_matrix & | omega_body, | ||
| const ml_matrix & | omega_rwa, | ||
| const ml_matrix & | u_rwa, | ||
| double | inr_rwa | ||
| ) |
Momentum with RWA in the body frame.
Momentum with RWA in the body frame.
| inr | (3,3) Inertia matrix |
| omega_body | (3,1) Body rate |
| omega_rwa | (n,1) RWA rotation rate |
| u_rwa | (3,n) RWA unit vectors |
| inr_rwa | Tolerance on using a dipole |
| ml_matrix discrete_state_transition_matrix | ( | const ml_matrix & | w, |
| double | dT | ||
| ) |
State transition matrix.
State transition matrix.
The plant equations are qDot = -skew(w)*angle + b/2 bDot = zeros(3,3); This function uses a 5th order expansion. For |w| = 1 this routine will be equivalent to C2DZOH to 1e-14 if dT < 0.03125 sec.
| w | (3,1) Rate vector |
| dT | (1,1) Time step |
References skew_symmetric().
| ml_matrix attitude_propagation_discrete | ( | const ml_matrix & | w, |
| const ml_matrix & | q, | ||
| double | dT | ||
| ) |
State propagation.
State propagation.
| w | (3,1) Angular velocity |
| q | (4,1) Old quaternion |
| dT | (1,1) Time change |
References skew_symmetric().
| lambert_out lambert_tof | ( | const ml_matrix & | r1, |
| const ml_matrix & | r2, | ||
| double | dT, | ||
| int | orbit_type, | ||
| double | mu, | ||
| double | tol, | ||
| int | maxIter | ||
| ) |
Solves the Lambert time of flight problem using Battin's method.
Solves the Lambert time of flight problem using Battin's method.
| data | Orbital elements for the satellite. |
| pos | position "r" matrix to be returned (km). |
| vel | velocity "v" matrix to be returned (km/s). |
Orbit insertion maneuver
| data | Orbital elements for the satellite. |
| pos | position "r" matrix to be returned (km). |
| vel | velocity "v" matrix to be returned (km/s). |
Bilinear tangent
| data | Orbital elements for the satellite. |
| pos | position "r" matrix to be returned (km). |
| vel | velocity "v" matrix to be returned (km/s). |
Lambert's law maneuver
| r1 | initial position. |
| r2 | final position. |
| dT | time of flight. |
| orbit_type | 1 = posigrade, -1 = retrograde. |
| mu | gravitational parameter. |
| tol | tolerance for iteration. |
| maxIter | Maximum number of iterations. |
References lambert_out::a, Lambert(), lambert_out::p, lambert_out::tol, and lambert_out::vT.