36 #include <px4_platform_common/module.h> 37 #include <px4_platform_common/module_params.h> 38 #include <px4_platform_common/posix.h> 58 class Sih :
public ModuleBase<Sih>,
public ModuleParams
63 virtual ~Sih() =
default;
75 static int print_usage(
const char *reason =
nullptr);
128 static constexpr
float T1_C = 15.0f;
195 (ParamFloat<px4::params::SIH_MASS>) _sih_mass,
196 (ParamFloat<px4::params::SIH_IXX>) _sih_ixx,
197 (ParamFloat<px4::params::SIH_IYY>) _sih_iyy,
198 (ParamFloat<px4::params::SIH_IZZ>) _sih_izz,
199 (ParamFloat<px4::params::SIH_IXY>) _sih_ixy,
200 (ParamFloat<px4::params::SIH_IXZ>) _sih_ixz,
201 (ParamFloat<px4::params::SIH_IYZ>) _sih_iyz,
202 (ParamFloat<px4::params::SIH_T_MAX>) _sih_t_max,
203 (ParamFloat<px4::params::SIH_Q_MAX>) _sih_q_max,
204 (ParamFloat<px4::params::SIH_L_ROLL>) _sih_l_roll,
205 (ParamFloat<px4::params::SIH_L_PITCH>) _sih_l_pitch,
206 (ParamFloat<px4::params::SIH_KDV>) _sih_kdv,
207 (ParamFloat<px4::params::SIH_KDW>) _sih_kdw,
208 (ParamInt<px4::params::SIH_LOC_LAT0>) _sih_lat0,
209 (ParamInt<px4::params::SIH_LOC_LON0>) _sih_lon0,
210 (ParamFloat<px4::params::SIH_LOC_H0>) _sih_h0,
211 (ParamFloat<px4::params::SIH_LOC_MU_X>) _sih_mu_x,
212 (ParamFloat<px4::params::SIH_LOC_MU_Y>) _sih_mu_y,
213 (ParamFloat<px4::params::SIH_LOC_MU_Z>) _sih_mu_z
uORB::Subscription _parameter_update_sub
perf_counter_t _sampling_perf
static int task_spawn(int argc, char *argv[])
static constexpr float CONSTANTS_ABSOLUTE_NULL_CELSIUS
Definition of geo / math functions to perform geodesic calculations.
void equations_of_motion()
static float generate_wgn()
static constexpr uint16_t NB_MOTORS
matrix::Vector3f _w_B_dot
vehicle_global_position_s _gpos_gt
static matrix::Vector3f noiseGauss3f(float stdx, float stdy, float stdz)
static constexpr float T1_C
int print_status() override
High-resolution timer with callouts and timekeeping.
orb_advert_t _vehicle_angular_velocity_gt_pub
static int print_usage(const char *reason=nullptr)
__EXPORT int sih_main(int argc, char *argv[])
#define ORB_ID(_name)
Generates a pointer to the uORB metadata structure for a given topic.
PX4Accelerometer _px4_accel
vehicle_attitude_s _att_gt
static constexpr hrt_abstime LOOP_INTERVAL
double _gps_lat_noiseless
void reconstruct_sensors_signals()
static constexpr float TEMP_GRADIENT
matrix::Vector3f _v_I_dot
static constexpr float T1_K
orb_advert_t _gpos_gt_pub
static Sih * instantiate(int argc, char *argv[])
double _gps_lon_noiseless
__BEGIN_DECLS typedef uint64_t hrt_abstime
Absolute time, in microsecond units.
__BEGIN_DECLS typedef void * orb_advert_t
ORB topic advertiser handle.
px4_sem_t _data_semaphore
matrix::Vector3f _p_I_dot
perf_counter_t _loop_perf
void parameters_updated()
void parameters_update_poll()
Check for parameter changes and update them if needed.
matrix::Vector3f _gps_vel
void generate_force_and_torques()
static int custom_command(int argc, char *argv[])
orb_advert_t _vehicle_gps_pos_pub
vehicle_gps_position_s _vehicle_gps_pos
vehicle_angular_velocity_s _vehicle_angular_velocity_gt
static void timer_callback(void *sem)
Performance measuring tools.