Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)))
Beispiel #4
0
    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)
Beispiel #5
0
    def gravity(self):
        """Returns the acceleration of the gravity in meters/sec^2"""
        acceleration = self.fdmexec.GetAccelerations().GetGravAccelMagnitude()

        return convert_jsbsim_acceleration(acceleration)
Beispiel #6
0
    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)
Beispiel #7
0
    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)