Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final presentation #89

Merged
merged 87 commits into from
Jun 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
c752f22
update
Maximellerbach Apr 25, 2022
4b48886
video 1
MaxMartelo Apr 26, 2022
60af929
model architecture Max
Apr 26, 2022
ba0b894
Model architecture Max
Apr 26, 2022
52f60c1
Merge branch 'second-presentation' of https://github.com/Autonomobile…
Apr 26, 2022
867c37b
little fixes
Maximellerbach Apr 26, 2022
231c617
added trining process
AlexandreGirold Apr 26, 2022
3c7eefa
Merge branch 'second-presentation' of https://github.com/Autonomobile…
AlexandreGirold Apr 26, 2022
e803716
better layout
AlexandreGirold Apr 26, 2022
a821d81
removing code except one example
AlexandreGirold Apr 26, 2022
3813576
Merge branch 'second-presentation' of https://github.com/Autonomobile…
AlexandreGirold Apr 26, 2022
964dd01
first draft at theory
Maximellerbach Apr 26, 2022
117d0fe
added activations
Maximellerbach Apr 26, 2022
2f35612
Merge branch 'second-presentation' of github.com:Autonomobile/AutoPyl…
Maximellerbach Apr 26, 2022
c37190a
update
Maximellerbach Apr 26, 2022
b9c78af
Merge branch 'second-presentation' of github.com:Autonomobile/AutoPyl…
Maximellerbach Apr 26, 2022
4a5585a
fixing image name
Maximellerbach Apr 26, 2022
e5452d1
typos fix
Maximellerbach Apr 26, 2022
d2b71d8
added softmax vis
Maximellerbach Apr 26, 2022
8aaec09
added model pic
AlexandreGirold Apr 26, 2022
f7d9153
updated models archi
Maximellerbach Apr 26, 2022
89b2fcb
my model
AlexandreGirold Apr 26, 2022
6478344
Merge branch 'second-presentation' of https://github.com/Autonomobile…
AlexandreGirold Apr 26, 2022
96ab516
didin't see you added the pic
AlexandreGirold Apr 26, 2022
13aba7a
conlusion
AlexandreGirold Apr 26, 2022
eea07c6
mise en forme
AlexandreGirold Apr 26, 2022
d5c8638
added telemetry server part made by mickael
Maximellerbach Apr 26, 2022
1082264
Merge branch 'second-presentation' of https://github.com/Autonomobile…
AlexandreGirold Apr 26, 2022
2b9460e
added true max-model
AlexandreGirold Apr 26, 2022
22f8db2
mickaNet model
AlexandreGirold Apr 26, 2022
e4c0d7d
added sacha's model
Maximellerbach Apr 26, 2022
760675c
small corrections/rephrasing probably missed some
AlexandreGirold Apr 26, 2022
92202fb
removed model wrappers
Maximellerbach Apr 26, 2022
7f29e5a
Merge branch 'second-presentation' of github.com:Autonomobile/AutoPyl…
Maximellerbach Apr 26, 2022
d54aa8f
resized micka's model picture
Maximellerbach Apr 26, 2022
9758cb2
fixed looks of architectures
Maximellerbach Apr 26, 2022
3d1cb58
mise en page
Maximellerbach Apr 26, 2022
110ad6a
project defense
Apr 27, 2022
bd7458e
fic project defense
Apr 27, 2022
f624903
fix of datagenerator
Apr 27, 2022
e4b37af
hot fix datagen
Apr 27, 2022
91d1de3
last fix of project defense
Apr 27, 2022
af9fff9
last changes
Maximellerbach Apr 27, 2022
e9137fd
Merge branch 'second-presentation' of https://github.com/Autonomobile…
Apr 27, 2022
f024c35
fixing pb
May 5, 2022
e32428d
Merge branch 'main' into modelMaxime.G
Maximellerbach May 5, 2022
aa5f4fb
fixing merge conflict
Maximellerbach May 7, 2022
e577578
final presentation folder
Jun 2, 2022
b72c47a
beginning of the project report
Jun 2, 2022
e3ded65
valid up to the constraints
Jun 2, 2022
1d14dbc
reload pdf
Jun 2, 2022
1db8c57
Correction + Conclusion
Jun 2, 2022
63e2807
Create README.tex
AlexandreGirold Jun 4, 2022
ac6652c
Delete README.tex
AlexandreGirold Jun 4, 2022
7f91647
Create README.tex
AlexandreGirold Jun 4, 2022
f4e629c
Update README.tex
AlexandreGirold Jun 4, 2022
ae85ea1
Delete README.tex
AlexandreGirold Jun 4, 2022
cb01900
README.tex
AlexandreGirold Jun 4, 2022
e01a521
Merge branch 'Final-presentation' of https://github.com/Autonomobile/…
AlexandreGirold Jun 4, 2022
b543762
Rename README.tex to readme.tex
AlexandreGirold Jun 4, 2022
fdb482c
correction report + readme pdf
Jun 5, 2022
71a7816
readme sunday morning
Jun 5, 2022
168290f
readmefix
Jun 5, 2022
97be3ed
readme fix1
Jun 5, 2022
da7520b
fix conclu project report
Jun 5, 2022
4d21dda
readme fix2
Jun 5, 2022
ce7474c
project defense
Jun 5, 2022
ef3341f
readme fix3
Jun 5, 2022
29194b8
first draft for the project report
Maximellerbach Jun 5, 2022
cde78cc
maj telemetry
Jun 5, 2022
baafde9
some more text
Maximellerbach Jun 6, 2022
30b381e
Merge branch 'Final-presentation' of github.com:Autonomobile/AutoPylo…
Maximellerbach Jun 6, 2022
b9c9cc3
Installation and Operating Manual
Jun 6, 2022
a038781
maj of project defense
Jun 6, 2022
51029db
finished my parts
Maximellerbach Jun 6, 2022
b7707b0
last maj
Jun 6, 2022
de81102
circuit
AlexandreGirold Jun 6, 2022
9ead576
some fixes
Maximellerbach Jun 6, 2022
cd963da
Merge branch 'Final-presentation' of github.com:Autonomobile/AutoPylo…
Maximellerbach Jun 6, 2022
8c0fedf
Merge branch 'Final-presentation' of https://github.com/Autonomobile/…
AlexandreGirold Jun 6, 2022
0f66462
Mistakes
AlexandreGirold Jun 6, 2022
04559df
last push project report
Jun 6, 2022
ad08928
my last push
Jun 6, 2022
26438d0
Maxime je t'emmerde...
AlexandreGirold Jun 6, 2022
7b912a4
update
Maximellerbach Jun 6, 2022
8a6ba6f
Merge branch 'Final-presentation' of github.com:Autonomobile/AutoPylo…
Maximellerbach Jun 6, 2022
b626366
Merge branch 'main' into Final-presentation
AlexandreGirold Jun 6, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added ressources/docs/Telem2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/Telem3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/Telem4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/Telem5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/camera.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/car-sim.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/classement.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified ressources/docs/control-loop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/diagram2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/install.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/race.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/race1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/race2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/real-camera.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/sim-camera.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/sim-folder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/sim-speed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/sim-steering.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/sim-zones.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/simulator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/soutenance-circuit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/splines.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/superCar.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/telem1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/track-irl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ressources/docs/track-measurements.png
Binary file added ressources/docs/training.png
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
\documentclass[12pt]{article}

% Language setting
% Replace `english' with e.g. `pathspanish' to change the document language
\usepackage[english]{babel}

% Set page size and margins
% Replace `letterpaper' with`a4paper' for UK/EU standard size
\usepackage[a4paper,top=2cm,bottom=2cm,left=3cm,right=3cm,marginparwidth=1.75cm]{geometry}

% Useful packages
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage[colorlinks=true, allcolors=black]{hyperref}

\begin{document}

%title
\title{\underline{Installation and Operating Manual - AutoPylot}}
\date{June 2022}


\author{%
Group: Autonomobile
}

\maketitle

\centerline{\includegraphics[height=10cm]{../../logos/logo-transparent-black.png}}
\newpage

\tableofcontents
\newpage
\section{How to setup the software}

It is recommended to have python 3.6.X installed, as this is the python version installed on the car.
To avoid any packages conflicts with your existing python installation, we will use virtualenv install virtualenv using:\\

\noindent\fbox{%
\parbox{\textwidth}{%
pip install virtualenv
}%
}\\

Clone the repo, and install the package and it's dependencies:\\

\noindent\fbox{%
\parbox{\textwidth}{%
git clone https://github.com/Autonomobile/AutoPylot.git\\
cd AutoPylot
}%
}\\

Then, create a virtual env (you need to specify the path to your python3.6):\\

\noindent\fbox{%
\parbox{\textwidth}{%
virtualenv --python your path to python.exe venv
}%
}\\

Then, every time you will be working on the project, you will need to activate this environment, to do so:\\

\noindent\fbox{%
\parbox{\textwidth}{%
\path{\venv\Scripts\activate}.
}%
}\\

Now, to install autopylot and its requirements (including dev requirements):\\

\noindent\fbox{%
\parbox{\textwidth}{%
pip install -e .[dev]
}%
}\\

For the code formatting, we will use something called "pre-commit", that enables us to automate stuff as linting before committing. If the code is not well linted, it will throw an error before committing and will lint it, you will only have to commit again to apply the changes the linter did ! Here is how to setup pre-commit:\\


\noindent\fbox{%
\parbox{\textwidth}{%
pip install -e .[dev]
}%
}\\

You are now all setup to work on the project ! Don't forget to keep the setup.py and requirements.txt up to date.\\

To exit the virtualenv:\\

\noindent\fbox{%
\parbox{\textwidth}{%
deactivate
}%
}\\

Useful tools:
\\\\
\begin{itemize}
\item Setup a python linter (we use flake8) : https://code.visualstudio.com/docs/python/linting
\item Setup the test extension of VS-Code : https://code.visualstudio.com/docs/python/testing
\item Use a docstring generator for example the VS-Code extension "Python Docstring Generator"
\end{itemize}


\section{How to setup the Telemetry Server}

\subsection{Installation}

Installation:\\

\noindent\fbox{%
\parbox{\textwidth}{%
npm i\\
or\\
yarn
}%
}\\

Start Development:\\

\noindent\fbox{%
\parbox{\textwidth}{%
npm run dev
}%
}\\

Start Production Build:\\

\noindent\fbox{%
\parbox{\textwidth}{%
npm run build\\
npm run start
}%
}\\

then open http://localhost:3000/ \\

\subsection{Usage}

Before starting:\\

In your settings.json of your autopylot client, change the following line with the host and port you need.\\

\noindent\fbox{%
\parbox{\textwidth}{%
"SERVER\textunderscore ADDRESS": "ws://localhost:3000"
}%
}\\

Don't remove the ws:// or change the protocol to http:// as it will not work.\\


\subsection{User Manual}

\begin{itemize}

\item start the server with npm run start.
\item open the client in a browser at http://localhost:3000/ or your custom address.
\item start the autopylot client.

if everything goes well, you should see a popup with a message telling you that a new car is connected.\\

\item select the car with the dropdown menu in the top right corner.
\item start tracking !

\end{itemize}

\section{How to collect, train and deploy your model}
Here is the three main steps in the making of a model\\

\subsection{Collect}
First you need to collect some data.\\

You will need to select in the "settings.json" the "CAMERA\textunderscore TYPE", "ACTUATOR\textunderscore TYPE" and "CONTROLLER\textunderscore TYPE". By default they are set for the car configuration eg "webcam", "serial" and "xbox" respectively, if you are collecting data on a PC, I suggest you using "sim", "sim" and "keyboard". This will use data coming from the simulator, inputs from the keyboard and output them (actuate) in the simulator.


Start the script with the following command (don't need to cd if you are in the right directory):\\

\noindent\fbox{%
\parbox{\textwidth}{%
cd main\textunderscore programs/examples \\
python3 drive\textunderscore with\textunderscore controller.py
}%
}\\

To drive depending on the controller type you use:\\

\begin{itemize}
\item "xbox": steering: left joystick, throttle: left and right triggers
\item "keyboard": steering: "q" and "d" keys, throttle: "z" and "s" keys.
\end{itemize}

To record data depending on the controller type you use:\\

\begin{itemize}
\item "xbox": hold button "a"
\item "keyboard": hold key "r"
\end{itemize}


You should see the collected data your "~/collect" folder. If unsure about the location of the folder, check the "COLLECT\textunderscore PATH" settings in the settings.json\\

Note: by default a model will be loaded, if you don't touch anything, you will enter "autonomous" mode using the predictions from this default model.\\


\subsection{Training}
There are plenty settings for the training script:\\
\begin{itemize}
\item "MODEL\textunderscore TYPE": you need to set the type of the model you want to build. For example, if you made a new method to create a model in architectures.py in the Models class called "steering\textunderscore model". You can set the "model\textunderscore type" field to steering\textunderscore model and when training your model, it will be created using this function.
\item "MODEL\textunderscore NAME": the name of the model you want to train, the model will be saved under this name. If you wish to retrain it later, make sure to use the same name (if you wish you can copy a model, change its name and then train it again to avoid loosing the previously trained one).
\item "TRAIN\textunderscore LOAD\textunderscore MODEL": whether you want to load the model or create one from scratch.
\item "TRAIN\textunderscore BATCH\textunderscore SIZE": How much data you want in one batch.
\item "TRAIN\textunderscore EPOCHS": How many times you want to train the model on the dataset before saving it.
\item "TRAIN\textunderscore SPLITS": Proportion of data in the training set and testing set. If set to 0.9, this will result in having 90 percent of the data going to the training set and 10 percent going to the testing set.
\item "TRAIN\textunderscore AUGM\textunderscore FREQ": How frequent we want data to be augmented using data augmentation functions.
\end{itemize}


you can now start this training script with:\\
\noindent\fbox{%
\parbox{\textwidth}{%
cd main\textunderscore programs/\\
python3 train.py
}%
}\\

Once finished, your new model should be saved in the "models" folder at the root of your project.\\

\subsection{Deploy}
You will need to change in the settings.json the "MODEL\textunderscore NAME" field to the name of the model you just trained. then same as for the "collect" part, start the drive\textunderscore with\textunderscore controller.py script and enjoy! \\

\noindent\fbox{%
\parbox{\textwidth}{%
cd main\textunderscore programs/examples
python3 drive\textunderscore with\textunderscore controller.py
}%
}\\

\end{document}
Binary file not shown.
65 changes: 65 additions & 0 deletions ressources/final-presentation/project-defense/project-defense.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
\documentclass[11pt]{article}

\usepackage[a4paper,top=2cm,bottom=2cm,left=3cm,right=3cm,marginparwidth=1.75cm]{geometry}

\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorlinks=true, allcolors=black]{hyperref}

\usepackage[english]{babel}

\title{\underline{Project defense}}

\begin{document}
\title{\underline{Project defence - AutoPylot}}
\date{}
\maketitle
Members : Alexandre Girold, Mickael Bobovitch, Maxime Ellerbach, Maxime Gay.
\section{Introduction}
An overall look at our project.\\
Project : An autonomous vehicle. \\
Objective : Make an autonomous car which can race on a given track without human input for direction or speed.

\section{Common and individual tasks}

\begin{tabular}{|c|c|c|c|}
\hline
Alexandre &
Maxime.G &
Maxime.E &
Mickael \\ \hline
\begin{tabular}[c]{@{}c@{}}Introduction\\ Quick Recap\\ Website Presentation\end{tabular} &
\begin{tabular}[c]{@{}c@{}}Data Gathering\\ Training\\ Conclusion\end{tabular} &
\begin{tabular}[c]{@{}c@{}}Label Zones\\ Simulator\\ Race \end{tabular} &
\begin{tabular}[c]{@{}c@{}}Installation\\ Telemetry Server \\ Race\end{tabular} \\ \hline
\end{tabular}

\section {Description of the realization of the tasks}

\begin{itemize}

\item Quick Recap: Recap of previous project defenses.
\item Label Zones: Creation of label zones to improve car speed.
\item Installation: Installation of the project.
\item Presentation Website: Showcase our project.
\item Data Gathering: How do we gather data.
\item Training: Training of our model.
\item Simulator: Gathering data with an online simulator.
\item Telemetry server: Send telemetry to an external server.
\item The Race: Demonstration on track.
\item Conclusion: What are we planning for the future.

\end{itemize}

\section {Conclusion}

\begin{itemize}
\item Recap of what we have said.
\item Done : We improved our training model and the telemetry server. We also created a simulator to train our model.

\item To do : We have to win the Vivatech race.

\end{itemize}


\end{document}
Binary file not shown.
Loading