Skip to content

Commit

Permalink
As/finalize docs (#75)
Browse files Browse the repository at this point in the history
* Add reflection

* Update srs intro

* Update readme
  • Loading branch information
adrian-soch authored Apr 6, 2024
1 parent cdf065c commit 691fb65
Show file tree
Hide file tree
Showing 5 changed files with 118 additions and 14 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@ The repo structure is:
```

The recommended order to read the documentation is
```mermaid
graph LR
E(SRS) --> D
D(VnV Plan) --> C
C(MG) --> B
B(MIS) --> A(VnV Report)
```

---

## Install
Expand Down
Binary file added docs/Reflection/Reflection.pdf
Binary file not shown.
96 changes: 96 additions & 0 deletions docs/Reflection/Reflection.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
\documentclass{article}

\usepackage{tabularx}
\usepackage{booktabs}

\title{Reflection Report on \progname}

\author{\authname}

\date{}

\input{../Comments}
\input{../Common}

\begin{document}

\maketitle

\section{Changes in Response to Feedback}

Feedback from reviewers (Domain expert, Secondary, Instructor) was integrated into the
documentation.

\plt{Summarize the changes made over the course of the project in response to feedback from TAs, the
instructor, teammates, other teams, the project supervisor (if present), and from user testers.}

\subsection{SRS}

The issues created by the reviewers and their corresponding commits that resolve them are tracked in
the Pull Requests that merged them into the main branch. Most of the updates related to added more
references or information to the Theoretical Models, and updating descriptions or assumptions to be
more clear. The links below contain each issue and commit.

\begin{itemize}
\item \url{https://github.com/adrian-soch/attitude_check/pull/41}
\item \url{https://github.com/adrian-soch/attitude_check/pull/71}
\end{itemize}

Changes to the SRS that came after development were additional instance models added to accommodate
how to determine an initial orientation given various sensor measurements. See
\url{https://github.com/adrian-soch/attitude_check/pull/72}.

\subsection{Design and Design Documentation}

Design documentation changes from reviewer comments was mostly grammar and descriptions. See
\url{https://github.com/adrian-soch/attitude_check/pull/73#issuecomment-2037849232}.

Most MG changes occured after development, to reflect changes to the modules and the hierachy. See
this commit for MG changes
\url{https://github.com/adrian-soch/attitude_check/pull/73/commits/9149bb88739fead86f0e5b4bcddd46f3f70f027e}.

After implementation the MIS was updated to reflect the input and output types and module names that
changed. See this commit
\url{https://github.com/adrian-soch/attitude_check/pull/73/commits/4520b1efe777c05dea6d5f5d2d2bcd2bb271db19}.

\subsection{VnV Plan}

The VnV Plan was updated to fix typographic errors and hyperlinks. Furthermore, the NFR was
corrected in the SRS to match the VnV document. Details in this PR:
\url{https://github.com/adrian-soch/attitude_check/pull/71}.

\section{Design Iteration}

\plt{Explain how you arrived at your final design and implementation. How did the design evolve
from the first version to the final version?}

The core of the final design was similar to the initial version, however the user facing return
types and methods were updated during the implementation. Module names were changed to match the
file names.

\section{Design Decisions}

\plt{Reflect and justify your design decisions. How did limitations, assumptions, and constraints
influence your decisions?}

The decision to use a custom Quaternion class was mostly to ensure there was enough content for the
course. If this project was redone it would make more sense to use the quaternion class provided by
Eigen since it is already a dependency for the matrix math.

The assumptions constrained the problem enough to create a seemingly ``correct'' solution.

% \section{Reflection on Project Management}

% \subsection{What Went Well?}

% \plt{What went well for your project management in terms of processes and technology?}

% \subsection{What Went Wrong?}

% \plt{What went wrong in terms of processes and technology?}

% \subsection{What Would you Do Differently Next Time?}

% \plt{What will you do differently for your next project?}

\end{document}
Binary file modified docs/SRS/SRS.pdf
Binary file not shown.
27 changes: 13 additions & 14 deletions docs/SRS/SRS.tex
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,8 @@ \section{Introduction}
presence of noise, bias, drift, and uncertainty in the sensor data, as well as the nonlinearity of
the object dynamics \cite{statement}.

There are many methods of estimating orientation, this project will reimplement the Madgwick filter \cite{madgwick_ecient_nodate}.

\plt{The introduction section is written to introduce the problem. It starts general and focuses on
the problem domain. The general advice is to start with a paragraph or two that describes the
problem, followed by a ``roadmap'' paragraph. A roadmap orients the reader by telling them what
Expand Down Expand Up @@ -1428,8 +1430,7 @@ \subsubsection{Input Data Constraints} \label{sec_DataConstraints}
\textbf{Var} & \textbf{Physical Constraints} & \textbf{Software Constraints} & \textbf{Typical
Value} & \textbf{Uncertainty}\\
\midrule
$\Delta t$ & $\Delta t > 0$ & $\Delta t > 0$ &
10 \si[per-mode=symbol] {\milli\second} & - \\
$\Delta t$ & $\Delta t > 0$ & $\Delta t > 0$ & 10 \si[per-mode=symbol] {\milli\second} & - \\
$\gamma$ & - & $0.0 \leq \gamma \leq 1.0$ & 0.041 & - \\
\bottomrule
\end{longtable*}
Expand All @@ -1438,21 +1439,15 @@ \subsubsection{Input Data Constraints} \label{sec_DataConstraints}
% \noindent \begin{description} \item[(*)] \plt{you might need to add some notes or clarifications}
% \end{description}

% \begin{table}[!h]
% \caption{Specification Parameter Values} \label{TblSpecParams}
% \renewcommand{\arraystretch}{1.2}
% \noindent \begin{longtable*}{l l}
% \toprule
% \textbf{Var} & \textbf{Value} \\
% \midrule
% $\Delta t_\text{min}$ & 1 \si{\milli\second}\\
% \begin{table}[!h] \caption{Specification Parameter Values} \label{TblSpecParams}
% \renewcommand{\arraystretch}{1.2} \noindent \begin{longtable*}{l l} \toprule \textbf{Var} &
% \textbf{Value} \\
% \midrule $\Delta t_\text{min}$ & 1 \si{\milli\second}\\
% $\Delta t_\text{max}$ & 100000 \si{\milli\second}\\
% $a_\text{max}$ & See sensor datasheet [\si{\meter\per\square\second}].\\
% $m_\text{max}$ & See sensor datasheet [\si{\tesla}].\\
% $\omega_\text{max}$ & See sensor datasheet [\si{\radian\per\second}].\\
% \bottomrule
% \end{longtable*}
% \end{table}
% \bottomrule \end{longtable*} \end{table}

\subsubsection{Properties of a Correct Solution} \label{sec_CorrectSolution}

Expand Down Expand Up @@ -1549,6 +1544,10 @@ \subsection{Nonfunctional Requirements}
achieved by \progname{} shall be described in Section 5.2.1 of the Verification and
Validation plan \cite{VnV}.

\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{nfr:performance}:]
\textbf{Performance}: \progname{} shall have an execution time on an embedded platform that is
200 Hz or better.

\item[NFR\refstepcounter{nfrnum}\thenfrnum \label{nfr:understandability}:]
\textbf{Understandability}: \progname{} shall follow standard coding conventions such that the
Application programming Interface (API) is clearly understood by a typical user.
Expand Down Expand Up @@ -1760,7 +1759,7 @@ \section{Values of Auxiliary Constants}

\bibliography {../refs/bib, ../refs/References}
% \bibliography {./bib, ./References}
\bibliographystyle{plain}
\bibliographystyle{unsrt}

\newpage
\plt{Advice on using the template:
Expand Down

0 comments on commit 691fb65

Please sign in to comment.