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

Feedback #1

Open
wants to merge 90 commits into
base: feedback
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
1329df7
Setting up GitHub Classroom Feedback
github-classroom[bot] Nov 25, 2023
af1726a
add online IDE url; add deadline
github-classroom[bot] Nov 25, 2023
1de5310
format: tweaking paragraphs
simojo Nov 28, 2023
8550e4c
feat: adding references
simojo Nov 30, 2023
80463a5
feat: adding uav review article
simojo Nov 30, 2023
8529eb2
feat: beginning introduction
simojo Nov 30, 2023
ee8df37
feat: testing footnotes
simojo Nov 30, 2023
9542034
feat: adding shell.nix
simojo Nov 30, 2023
4995bcd
fix: fixing typo in references.bib
simojo Nov 30, 2023
fb7238d
format: thesis.md
simojo Nov 30, 2023
b0f73e4
feat: adding headers specific to my project
simojo Nov 30, 2023
1221b57
fix: testing out control sequences
simojo Nov 30, 2023
771b3e1
fix: spelling and log level
simojo Dec 1, 2023
d9aa838
feat: starting on background
simojo Dec 1, 2023
322475f
feat: beginning ethical discussion
simojo Dec 1, 2023
79e81f5
feat: logging pandoc version
simojo Dec 1, 2023
7bae819
fix: removing natbib from default template
simojo Dec 1, 2023
81e1c01
Updating with new CSL standard
dluman Dec 1, 2023
7f85654
Merge pull request #2 from ReadyResearchers-2023-24/template-fix
simojo Dec 1, 2023
dd41f35
fix: removing natbib
simojo Dec 1, 2023
c615722
feat: wip ethical implications
simojo Dec 2, 2023
6da4c95
feat: adding references for ethics
simojo Dec 2, 2023
07cff35
feat: adding table of UAV related incidents
simojo Dec 2, 2023
19f85f3
fix: ability to reference tables
simojo Dec 2, 2023
f508677
feat: adding to ethical discussion
simojo Dec 3, 2023
cd9f3d2
feat: adding more to military ethics and shifting to related work
simojo Dec 3, 2023
2165ca4
feat: explaining mechanics in theory and updating actions
simojo Dec 3, 2023
1e17a82
feat: pip installing pandoc-xnos in workflow
simojo Dec 3, 2023
2d1034d
fix: installing patch of pandoc-xnos in github workflow
simojo Dec 3, 2023
9cb2a27
feat: trig functions in rotational matrix
simojo Dec 4, 2023
dbb6619
fix: removing unwanted semicolon from pip install
simojo Dec 4, 2023
736c6f7
feat: grid tables for better readability
simojo Dec 4, 2023
331452e
feat: including comments under ambigous sections for review
simojo Dec 4, 2023
bce77d8
feat: consolidating dual-department specific styles
simojo Dec 4, 2023
c2ec140
fix: images can be resized while maintaining aspect ratio
simojo Dec 18, 2023
2b15f93
feat: detailing method of approach and theory
simojo Dec 18, 2023
c8fcc98
feat: referencing correct einstein coefficient image
simojo Dec 18, 2023
82ca439
feat: finishing theory and starting on current/future work
simojo Dec 19, 2023
5d48aac
feat: ethics and protecting fig/eq/table references
simojo Dec 19, 2023
2b7c006
feat: abstract
simojo Dec 19, 2023
8239484
feat: path planning review and autowrapping urls
simojo Dec 19, 2023
dab334b
feat: wrapping url documentation
simojo Dec 19, 2023
ed4382c
fix: formatting reward function
simojo Dec 19, 2023
0d29bb6
feat: simplifying build steps
simojo Jan 23, 2024
4a8e989
feat: de2014 discussion of simulating quadcopter dynamics
simojo Jan 23, 2024
d286f61
feat: adding more related works and introduction content
simojo Jan 25, 2024
b761a05
feat: adding paper about parameterized action spaces
simojo Jan 28, 2024
15aa46a
Updating CSL references to pass builds
dluman Feb 17, 2024
00ee56a
Restoring titles and correct thesis config information
dluman Feb 17, 2024
159f5a2
feat: appendix: installing/using pcg_gazebo
simojo Feb 26, 2024
3292f2d
Merge remote-tracking branch 'origin/githubraw-csl-cdn'
simojo Feb 26, 2024
07a56db
feat: adding pcg_gazebo reference
simojo Feb 26, 2024
72e4b7e
fix: incorrect world name in pcg gazebo appendix section
simojo Feb 26, 2024
e44be3d
feat: adding reference about cirriculum learning
simojo Mar 9, 2024
9a66e40
feat: updated pcg_gazebo config
simojo Mar 12, 2024
c2c5b93
feat: adding theory on deep reinforcement learning
simojo Mar 14, 2024
38db6ae
fix/format: syntax highlighting and typo
simojo Mar 14, 2024
08cea27
feat: finishing content on DDPG regarding target networks
simojo Mar 14, 2024
9b8d857
feat: gazebo description and action space
simojo Mar 14, 2024
f16bb06
fix: math notation
simojo Mar 15, 2024
35fc285
feat: theory and experimental additions
simojo Mar 19, 2024
b5ee671
format: inertia tensor derivation
simojo Mar 19, 2024
648252a
feat: code highlighting, beginning pcg discussion, addings lotsa images
simojo Mar 20, 2024
f124222
feat: texttt has a nice little box around it, and explaining reward m…
simojo Mar 21, 2024
353e8f4
feat: beginning section on random obstacle generation
simojo Mar 21, 2024
d4485c4
feat: using theme name instead of text file
simojo Mar 21, 2024
2d37063
feat: adding blurb about ToF drum, wip
simojo Mar 21, 2024
28f9d2e
feat: finishing method on mesh
simojo Mar 21, 2024
03e974f
feat: appendix: processing stl files for simulation and evaluating tr…
simojo Mar 21, 2024
4cb3f48
feat: training steps and breaking down large urdf file
simojo Mar 21, 2024
dfb4786
fix: comma splice
simojo Mar 21, 2024
21c4e2c
feat: related work on gps-denied positioning
simojo Mar 22, 2024
537ac27
feat: related work on quadcopter attitude control, keras, and NN arch…
simojo Mar 22, 2024
a781ae8
fix: page numbers incorrectly referenced
simojo Mar 22, 2024
bdcea29
fix: adding information about cirriculum learning to goals
simojo Mar 22, 2024
365e6b9
feat: finishing related works by adding section about curriculum lear…
simojo Mar 22, 2024
06adba7
feat: adding data to results section
simojo Mar 23, 2024
a62037d
feat: various additions
simojo Mar 23, 2024
088fb52
feat: completing future work
simojo Mar 23, 2024
2e27cf8
feat: abstract editing
simojo Mar 23, 2024
3ea3050
fix: only number up to subsubsections
simojo Mar 29, 2024
fa0bd9b
feat: discussion on moment of inertia tensor mostly complete, awaitin…
simojo Apr 2, 2024
3f4681d
feat: rotational matrix added detail
simojo Apr 2, 2024
3bcb53a
feat: extra figures to demonstrate rot matrix
simojo Apr 8, 2024
195ca87
feat: changes to vcsel chapter
simojo Apr 10, 2024
e85a760
feat: finishing section on VCSEL theory (yay!)
simojo Apr 12, 2024
75ec93c
chore: removing fixmes that were obselete
simojo Apr 12, 2024
77eec77
feat: setting up github actions to run on every push
simojo Apr 25, 2024
5d604c2
feat: fixes #13
simojo Apr 26, 2024
c8f2954
fix: values derived from action mislabeled
simojo May 3, 2024
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
28 changes: 28 additions & 0 deletions .filters/sec-refs-better.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
local make_sections = (require 'pandoc.utils').make_sections
local section_numbers = {}

function populate_section_numbers (doc)
function populate (elements)
for _, el in pairs(elements) do
if el.t == 'Div' and el.attributes.number then
section_numbers['#' .. el.attr.identifier] = el.attributes.number
populate(el.content)
end
end
end

populate(make_sections(true, nil, doc.blocks))
end

function resolve_section_ref (link)
if #link.content > 0 or link.target:sub(1, 1) ~= '#' then
return nil
end
local section_number = pandoc.Str(section_numbers[link.target])
return pandoc.Link({section_number}, link.target, link.title, link.attr)
end

return {
{Pandoc = populate_section_numbers},
{Link = resolve_section_ref}
}
23 changes: 17 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: Release Senior Thesis
on:
push:
tags:
- '*.*.*'
on: [push]

jobs:
publish:
runs-on: ubuntu-latest
Expand All @@ -11,8 +9,19 @@ jobs:
run: sudo apt install fuse
- name: Install pandoc
uses: nikeee/setup-pandoc@v1
- name: Setup Python ${{ matrix.python-version }}
if: always()
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Pip
if: always()
run: |
python -m pip install --upgrade pip
- name: Install pandoc-xnos
run: pip install git+https://github.com/nandokawka/pandoc-xnos.git@284474574f51888be75603e7d1df667a0890504d && pip install pandoc-fignos pandoc-eqnos pandoc-tablenos pandoc-secnos --user
- name: Install pandoc-citeproc
run: sudo apt-get -qq update && sudo apt-get install -y pandoc-citeproc
run: sudo apt-get -qq update && sudo apt-get install -y pandoc-citeproc && pandoc --version
- name: Install tectonic
uses: wtfjoke/setup-tectonic@v1
with:
Expand All @@ -22,10 +31,11 @@ jobs:
- name: Set up git repository
uses: actions/checkout@v2
- name: Convert with pandoc
run: mkdir log && mkdir output && pandoc --defaults pdf.yaml --to latex --metadata-file config.yaml --lua-filter .filters/abstract-to-meta.lua --template template/thesis.tex
run: mkdir log && mkdir output && pandoc --filter pandoc-xnos --defaults pdf.yaml --to latex --metadata-file config.yaml --lua-filter .filters/abstract-to-meta.lua --lua-filter .filters/sec-refs-better.lua --template template/thesis.tex --citeproc --csl https://www.zotero.org/styles/journal-of-the-acm --bibliography references.bib --highlight-style zenburn --number-sections
- name: Create release
id: create_release
uses: actions/create-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
Expand All @@ -36,6 +46,7 @@ jobs:
- name: Upload released asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-24ddc0f5d75046c5622901739e7c5dd533143b0c8e959d652212380cedb1ea36.svg)](https://classroom.github.com/a/YtDhL1_h)
[![Open in Visual Studio Code](https://classroom.github.com/assets/open-in-vscode-718a45dd9cf7e7f842a935f5ebbe5719a5e09af4491e668f4dbf3b35d5cca122.svg)](https://classroom.github.com/online_ide?assignment_repo_id=13030031&assignment_repo_type=AssignmentRepo)
# 600/610: Senior Thesis Starter for Fall 2023 and Spring 2024

[![Release Senior Thesis](../../actions/workflows/main.yml/badge.svg)](../../actions/workflows/main.yml)
Expand Down
22 changes: 17 additions & 5 deletions abstract.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
# Abstract

Provide a concise summary of your proposed research of approximately 250
words. The abstract does _not_ serve as or replace the introduction; consider
it a summary of the entire document. It makes sense to wait to write the abstract
until the rest of the document has been written. Write your abstract using
the `abstract.md` file, and the template will automatically include it.
Autonomous navigation is necessary for a robotic system to interact with its
surroundings in a real world environment, and it is necessary to realize
technologies such as fully autonomous unmanned aerial vehicles (UAVs) and land
vehicles. Reinforcement Learning (RL) has proven to be a novel and effective
method for autonomous navigation and control, as it is capable of optimizing a
method of converting its instantaneous state to an action at a point in time.
Here we use a Deep Deterministic Policy Gradient (DDPG) RL algorithm to train
the COEX Clover quadcopter system to perform autonomous navigation. With the
advent of solid state lasers, miniaturized optical ranging systems have become
ubiquitous for aerial robotics because of their low power and accuracy. By
equipping the Clover with ten Time of Flight (ToF) ranging sensors, we supply
continuous spatial data in combination with inertial data to determine the
quadcopter's state, which is then mapped to its control output. Our results
suggest that, while the DDPG algorithm is capable of training a quadcopter
system for autonomous navigation, its computation-heavy nature leads to delayed
convergence, and relying on discretized algorithms may permit more rapid
convergence across episodes.
16 changes: 16 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env sh

pandoc \
--filter pandoc-xnos \
--defaults pdf.yaml \
--to latex \
--metadata-file config.yaml \
--lua-filter .filters/abstract-to-meta.lua \
--lua-filter .filters/sec-refs-better.lua \
--lua-filter .filters/pagebreak.lua \
--template template/thesis.tex \
--citeproc \
--csl https://www.zotero.org/styles/journal-of-the-acm \
--bibliography references.bib \
--highlight-style zenburn \
--number-sections
18 changes: 12 additions & 6 deletions config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
# https://maehr.github.io/academic-pandoc-template/

# Project-specific values
title: 'Senior Thesis'
author: 'Student Name'
date: '22 July 2022'
firstreader: 'First Reader'
secondreader: 'Second Reader'
title: 'Development of Quadcopter for Autonomous Navigation'
author: 'Simon Jones'
date: '22 April 2024'
cisreader: 'Janyl Jumadinova, PhD'
physicsreader: 'Dan Willey, PhD'
logo: 'images/logo'

# Template Values: DO NOT TOUCH

# Bibliography
csl: https://www.zotero.org/styles/journal-of-the-acm # See https://www.zotero.org/styles for more styles.
csl: https://cdn.githubraw.com/ReadyResearchers-2023-24/thesis-resources-cdn/main/cdn/journal-of-the-acm.csl # See https://www.zotero.org/styles for more styles.
bibliography: references.bib # See https://github.com/jgm/pandoc-citeproc/blob/master/man/pandoc-citeproc.1.md for more formats.
suppress-bibliography: false
link-citations: true
Expand Down Expand Up @@ -75,3 +75,9 @@ header-includes:
Dontyoueverhyphenateme
}%
```
- |
```{=latex}
% fixing issue with code blocks not wrapping: https://github.com/jgm/pandoc/issues/4302#issuecomment-360799891
\usepackage{fvextra}
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,commandchars=\\\{\}}
```
8 changes: 8 additions & 0 deletions data-processing/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Each of the files with headers like:

```
# 3: navigating to random free spots in each map; ran overnight, but realized that drone was potentially spawning within walls. this encouraged me to manually enter in all of the free spots in each world.
episode episodic_reward average_reward world_file timestamp
```

are used in the results of this paper. Otherwise, they may be removed.
Loading
Loading