def test_accelerometer(self): huginn_data_path = configuration.get_data_path() fdm_builder = FDMBuilder(huginn_data_path) fdmexec = fdm_builder.create_fdm() accelerometer = Accelerometer(fdmexec) self.assertAlmostEqual( accelerometer.true_x, convert_jsbsim_acceleration( fdmexec.GetAuxiliary().GetPilotAccel(1)), 3) self.assertAlmostEqual( accelerometer.true_y, convert_jsbsim_acceleration( fdmexec.GetAuxiliary().GetPilotAccel(2)), 3) self.assertAlmostEqual( accelerometer.true_z, convert_jsbsim_acceleration( fdmexec.GetAuxiliary().GetPilotAccel(3)), 3) self.assertAlmostEqual( accelerometer.x, accelerometer.true_x + accelerometer.x_measurement_noise, 3) self.assertAlmostEqual( accelerometer.y, accelerometer.true_y + accelerometer.y_measurement_noise, 3) self.assertAlmostEqual( accelerometer.z, accelerometer.true_z + accelerometer.z_measurement_noise, 3)
def test_convert_acceleration(self): acceleration = 1.0 expected_acceleration = 0.304799 converted_acceleration = convert_jsbsim_acceleration(acceleration) self.assertAlmostEqual(converted_acceleration, expected_acceleration, 3)
def test_accelerometer(self): huginn_data_path = configuration.get_data_path() fdm_builder = FDMBuilder(huginn_data_path) fdm_builder.aircraft = "Rascal" fdmexec = fdm_builder.create_fdm() sensors = Sensors(fdmexec) self.assertAlmostEqual( sensors.accelerometer.true_x, convert_jsbsim_acceleration( fdmexec.GetAuxiliary().GetPilotAccel(1))) self.assertAlmostEqual( sensors.accelerometer.true_y, convert_jsbsim_acceleration( fdmexec.GetAuxiliary().GetPilotAccel(2))) self.assertAlmostEqual( sensors.accelerometer.true_z, convert_jsbsim_acceleration( fdmexec.GetAuxiliary().GetPilotAccel(3)))
def test_accelerations(self): huginn_data_path = configuration.get_data_path() fdm_builder = FDMBuilder(huginn_data_path) fdmexec = fdm_builder.create_fdm() accelerations = Accelerations(fdmexec) x_acceleration = fdmexec.GetAuxiliary().GetPilotAccel(1) expected_x_acceleration = convert_jsbsim_acceleration(x_acceleration) self.assertAlmostEqual(accelerations.x, expected_x_acceleration, 3) y_acceleration = fdmexec.GetAuxiliary().GetPilotAccel(2) expected_y_acceleration = convert_jsbsim_acceleration(y_acceleration) self.assertAlmostEqual(accelerations.y, expected_y_acceleration, 3) z_acceleration = fdmexec.GetAuxiliary().GetPilotAccel(3) expected_z_acceleration = convert_jsbsim_acceleration(z_acceleration) self.assertAlmostEqual(accelerations.z, expected_z_acceleration, 3) p_dot = fdmexec.GetAccelerations().GetPQRdot(1) expected_p_dot = convert_jsbsim_angular_acceleration(p_dot) self.assertAlmostEqual(accelerations.p_dot, expected_p_dot, 3) q_dot = fdmexec.GetAccelerations().GetPQRdot(2) expected_q_dot = convert_jsbsim_angular_acceleration(q_dot) self.assertAlmostEqual(accelerations.q_dot, expected_q_dot, 3) r_dot = fdmexec.GetAccelerations().GetPQRdot(3) expected_r_dot = convert_jsbsim_angular_acceleration(r_dot) self.assertAlmostEqual(accelerations.r_dot, expected_r_dot, 3) u_dot = fdmexec.GetAccelerations().GetUVWdot(1) expected_u_dot = convert_jsbsim_acceleration(u_dot) self.assertAlmostEqual(accelerations.u_dot, expected_u_dot, 3) v_dot = fdmexec.GetAccelerations().GetUVWdot(2) expected_v_dot = convert_jsbsim_acceleration(v_dot) self.assertAlmostEqual(accelerations.v_dot, expected_v_dot, 3) w_dot = fdmexec.GetAccelerations().GetUVWdot(3) expected_w_dot = convert_jsbsim_acceleration(w_dot) self.assertAlmostEqual(accelerations.w_dot, expected_w_dot, 3) gravity_acceleration = fdmexec.GetAccelerations( ).GetGravAccelMagnitude() expected_gravity_acceleration = convert_jsbsim_acceleration( gravity_acceleration) self.assertAlmostEqual(accelerations.gravity, expected_gravity_acceleration, 3)
def gravity(self): """Returns the acceleration of the gravity in meters/sec^2""" acceleration = self.fdmexec.GetAccelerations().GetGravAccelMagnitude() return convert_jsbsim_acceleration(acceleration)
def w_dot(self): """Returns the w item of the the body axis acceleration in meters/sec^2""" acceleration = self.fdmexec.GetAccelerations().GetUVWdot(3) return convert_jsbsim_acceleration(acceleration)
def z(self): """Returns the acceleration along the z axis of the aircraft in meters/sec^2""" acceleration = self.fdmexec.GetAuxiliary().GetPilotAccel(3) return convert_jsbsim_acceleration(acceleration)