PEE51_SPC_documents/latex/softwareontwerp_stabilisatie.latex
LailaTheElf 3e4ab04fe3
All checks were successful
generate pdf files / build (push) Successful in 2m34s
ingeleverd!!
2025-06-22 23:56:31 +02:00

168 lines
5.0 KiB
Plaintext

\documentclass[11pt]{article}
\usepackage[a4paper, portrait, includehead, includefoot, margin=1.5cm]{geometry}
\usepackage[dutch]{babel}
\usepackage{pdfpages}
\usepackage{xcolor}
\usepackage{makecell}
\usepackage{tabularx}
\usepackage{adjustbox}
\usepackage{framed}
\usepackage{longtable}
\providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\usepackage{booktabs}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\newfontfamily\fontRoboto[]{Roboto}
\newfontfamily\fontUbuntu[]{Ubuntu}
\setmainfont{Roboto}
% \usepackage[style=ieee]{biblatex}
% \usepackage{csquotes}
% \addbibresource{bibliography.bib}
% header and footer
\usepackage{fancyhdr}
\renewcommand{\headrule}{}
\usepackage[nodayofweek]{datetime}
\definecolor{darkishyellow}{rgb}{177, 179, 173}
% for images
\usepackage{graphbox}
% add bookmarks with \hypertarget
\usepackage{bookmark}
\usepackage{hyperref}
% heading numberging
\setcounter{secnumdepth}{3}
\renewcommand\thesection{{\fontUbuntu\arabic{section}}}
\renewcommand\thesubsection{{\fontUbuntu\arabic{section}.\arabic{subsection}}}
\renewcommand\thesubsubsection{{\fontUbuntu\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}}
\usepackage{sectsty}
\allsectionsfont{\fontUbuntu}
\setlength{\headheight}{14pt}
% no indent at paragraphs
\usepackage{parskip}
\usepackage{setspace}
\setstretch{1.1}
\let\tmpitem\itemize
\let\tmpenditem\enditemize
\renewenvironment{itemize}{\tmpitem\setlength\itemsep{-.4em}}{\tmpenditem}
\begin{document}
\raggedright
\pagecolor{darkishyellow}
\begin{titlepage}
\null\vfill
\begin{center}
{\Huge\fontUbuntu Softwareontwerp Sabilisatie \par}
\vskip 3em
% \includegraphics{assets/eriks.50.png}
\vskip 3em
{\huge\fontUbuntu Superlight Personal Carrier \par}
\end{center}
\vskip 25em
{
\large
\lineskip .75em
\begin{tabular}{r l}
gemaakt door: & Finley van Reenen (0964590@hr.nl) \\
& Chris Tan (0992143@hr.nl) \\
& Tijn Snijders (1001829@hr.nl) \\
& Max Kappert (1030682@hr.nl) \\
& Thomas Braam (0989527@hr.nl) \\\\
vak code: & ELEPEE51 \\\\
ge\"exporteerd op: & \today
\end{tabular}
}
\vfill\null
\end{titlepage}
\pagestyle{fancy}
\fancyhead{} % clear all header fields
\fancyhead[LO]{\color{gray}\fontUbuntu Softwareontwerp Sabilisatie}
\fancyhead[RO]{\color{gray}\fontUbuntu Superlight Personal Carrier}
\fancyfoot{} % clear all footer fields
\fancyfoot[LO]{\color{gray}\fontUbuntu E.L.F. van Reenen, C. Tan, T Snijders, M. Kappert en T. Braam}
\fancyfoot[CO]{\color{gray}\fontUbuntu }
\fancyfoot[RO]{\color{gray}\fontUbuntu \thepage}
\newpage
\section{inleiding}\label{inleiding}
\newpage
\section{FoC library}\label{foc-library}
In C zijn er niet veel librarys voor FOC, de enige goede library die we
hebben gevonden is \href{https://www.simplefoc.com/}{SimpleFOCproject}.
Dit komt er in debuurd van een framework. In de video van de homepagina
worden een aantal gemeenschaps projecten laten zien, waarvan meerdere
een reactiewiel voor sabilisatie laat zien. Dit belooft veel goeds, toch
is er gekozen om een andere library te kiezen. Het goed implementeren
van een regel kring met de IMU vraagd veel kennis van hoe dit
`framework' werkt. Onze implementatie is niet exact het zelfde als die
van deze gemeenschaps projecten. Wij hebben dus de kennis nogdig om deze
code aan te passen.
Er is gekozen om te werken met de \href{https://lib.rs/crates/foc}{Rust
library FOC}. Deze library is alleen een implementatie voor het FOC
algaritme, wadoor er meer flexibilitijd is hoe het systeem verder werkt.
Dit kan dus ook verder geoptimaliseerd worden en meer ge configureerd.
dat tweede is de grootste reden warom voor deze library is gekozen. Er
is behoefte aan een systeem dat aangepast kan worden naar wat later
beter blijkt te zijn.
\newpage
\section{Rust op RP2040}\label{rust-op-rp2040}
Rust voor microcontrollers is nog in een sooft alpha versie. Het werkt
voor het grootste deel, maar hier en daar zijn nog wat beperkingen.
Vrijwel al deze beperkingen hebben een workaround. Het groote voordeel
is dat er een `officele' standaard is voor het HAL interface\footnote{embeded-hal:
\url{https://docs.rs/embedded-hal}}. Dit maakt zorgd er voor dat er
veel librarys voor IC's beschikbaar zijn die gewoon werken.
\newpage
\section{Async}\label{async}
De standaard async funtionalitijd in rust werkt nog niet voor
microcontrollers\footnote{\url{https://www.youtube.com/watch?v=H7NtzyP9q8E}}.
Hier zijn wel alternative librarys voor\footnote{\url{https://arewertosyet.com/}},
Embassy\footnote{\url{https://embassy.dev/}} en RTIC\footnote{\url{https://rtic.rs}}
zijn de twee die het meest genoemd worden. Embassy ziet er wat
eenvoudiger uit als RTIC, daarvoor is ook gekozen om te gebruiken.
\newpage
\section{AS5600}\label{as5600}
Er wordt gebruik gemaakt de AS5600 library van Rafael
Bachmann\footnote{\url{https://github.com/barafael/as5600-rs}}.
\newpage
\section{}\label{section}
\end{document}