def __predict_nominal_state(self, imu_measurement: np.array):
        """
        Predict step for simplified ESEKF using only gyro.
        :param imu_measurement: np.array([dt, wx, wy, wz])
        """
        q = self.nominal_state[0:4]  # quaternion
        w_b = self.nominal_state[4:7]  # gyro bias

        dt = self.dt
        w_m = imu_measurement

        w = w_m - w_b

        angle = la.norm(w)
        if angle < 1e-6:
            return

        axis = w / angle
        R_w = tr.rotation_matrix(dt * angle, axis)
        dq = tr.quaternion_from_matrix(R_w, True)
        q_next = tr.quaternion_multiply(q, dq)

        if q_next[0] < 0:
            q_next *= -1

        self.nominal_state[0:4] = q_next

        Predict step for simplified ESEKF using only gyro.
        :param imu_measurement: np.array([dt, wx, wy, wz])
        
deploy/helpers/KF.py