Commit 65465054 authored by Lauros Pajunen's avatar Lauros Pajunen
Browse files

Create random quaternion trajectories for external orientations

parent 57605b90
Loading
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
import numpy as np
from scipy.spatial.transform import Rotation


FRAMES_PER_SEC = 50
@@ -23,3 +24,19 @@ def constant_trajectory(duration_sec, yaw=0, pitch=0, roll=0):
    trj[:, 3] = roll
    return trj


def random_trajectory_quat(duration_sec):
    n_frames = int(FRAMES_PER_SEC * duration_sec)
    trj = Rotation.random(n_frames).as_quat()
    return trj


def constant_trajectory_quat(duration_sec, w=1, x=0, y=0, z=0):
    n_frames = int(FRAMES_PER_SEC * duration_sec)
    trj = np.empty((n_frames, 4))
    trj[:, 0] = w
    trj[:, 1] = x
    trj[:, 2] = y
    trj[:, 3] = z
    return trj
+5 −5
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ from collect_artifacts import (
    find_failed_files_for_sanitizer_test,
)
from combine_genpatt_and_jbm_profile import combine_error_profiles
from create_trajectories import random_trajectory
from create_trajectories import random_trajectory, random_trajectory_quat


SCRIPT_DIR = pathlib.Path("./scripts").resolve()
@@ -156,10 +156,10 @@ def run_check(in_format: str, out_formats: list, tests: list, run_fec: bool = Tr

    # create random trajectory files
    if "BINAURAL" in oc_str:
        trajectory_files = [HEAD_TRAJ_FILE, EXOF_TRAJ_FILE]
        for tf in trajectory_files:
        traj = random_trajectory(int(DURATION))
            np.savetxt(tf, traj, fmt="%.2f", delimiter=",")
        np.savetxt(HEAD_TRAJ_FILE, traj, fmt="%.2f", delimiter=",")
        traj_exof = random_trajectory_quat(int(DURATION))
        np.savetxt(EXOF_TRAJ_FILE, traj_exof, fmt="%.2f", delimiter=",")

    ### always run encoder and decoder with no frameloss
    cmd_no_fec = [