mirror of
https://gitlab.com/lander-team/lander-cpp.git
synced 2025-06-16 15:17:23 +00:00
70 lines
2.9 KiB
C++
70 lines
2.9 KiB
C++
#include <array>
|
|
|
|
#ifndef SVARS_H
|
|
#define SVARS_H
|
|
|
|
struct sVars
|
|
{
|
|
double x, y, z;
|
|
double xPrev, yPrev, zPrev;
|
|
double vx, vy, vz;
|
|
double vxPrev, vyPrev, vzPrev;
|
|
double vxBody, vyBody, vzBody;
|
|
double ax, ay, az, axPrev, ayPrev, azPrev;
|
|
|
|
double yaw, pitch, roll;
|
|
double phidot, thetadot, psidot;
|
|
double yawPrev, pitchPrev, rollPrev;
|
|
double yawdot, pitchdot, rolldot;
|
|
double yawdotPrev, pitchdotPrev, rolldotPrev;
|
|
double yawddot, pitchddot, rollddot;
|
|
double yawddotPrev, pitchddotPrev, rollddotPrev;
|
|
|
|
double m, m0, mp, mb, mdot;
|
|
double vehicleHeight, vehicleRadius;
|
|
|
|
double tb;
|
|
double vb;
|
|
double thrust, thrust_prev, burnElapsed, burnStart;
|
|
double LQRx, LQRy, Fx, Fy, Fz;
|
|
double momentX, momentY, momentZ;
|
|
|
|
double I11, I22, I33;
|
|
double I11prev, I22prev, I33prev;
|
|
double I11dot, I22dot, I33dot;
|
|
|
|
int maxServo;
|
|
double xServoDegs, yServoDegs;
|
|
|
|
double simTime;
|
|
int stepSize;
|
|
|
|
std::array<std::array<double, 2>, 26> thrustCurve = { { {0.148, 7.638},
|
|
{0.228, 12.253},
|
|
{0.294, 16.391},
|
|
{0.353, 20.210},
|
|
{0.382, 22.756},
|
|
{0.419, 25.260},
|
|
{0.477, 23.074},
|
|
{0.520, 20.845},
|
|
{0.593, 19.093},
|
|
{0.688, 17.500},
|
|
{0.855, 16.225},
|
|
{1.037, 15.427},
|
|
{1.205, 14.948},
|
|
{1.423, 14.627},
|
|
{1.452, 15.741},
|
|
{1.503, 14.785},
|
|
{1.736, 14.623},
|
|
{1.955, 14.303},
|
|
{2.210, 14.141},
|
|
{2.494, 13.819},
|
|
{2.763, 13.338},
|
|
{3.120, 13.334},
|
|
{3.382, 13.013},
|
|
{3.404, 9.352},
|
|
{3.418, 4.895},
|
|
{3.450, 0.000}} };
|
|
};
|
|
|
|
#endif |