Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
f3152b5
Add members names
Oct 27, 2024
5e3c5c9
Add image of arena
Oct 27, 2024
fe051d5
Merge pull request #1 from CDE-4301-ASI-401/matthew-setup-report
matthewyip1511 Nov 1, 2024
5ea6e86
Update index.html
shuhuiii Nov 6, 2024
bfaf3f0
Update index.html
shuhuiii Nov 6, 2024
484d7c0
add table of contents and title page
shuhuiii Nov 8, 2024
f9951be
Add images for matthew's part
Nov 12, 2024
60f75aa
Update indoorArena picture
Nov 12, 2024
3bc342d
Update photos and videos
Nov 12, 2024
a0cae0e
Merge pull request #2 from CDE-4301-ASI-401/matthew-add-images
matthewyip1511 Nov 12, 2024
025b66e
Update README
Nov 12, 2024
dd442cd
Merge pull request #3 from CDE-4301-ASI-401/matthew-update-readme
matthewyip1511 Nov 12, 2024
d7f8920
Set up rest of the report for Matthew's part
Nov 12, 2024
894ebfa
Merge pull request #5 from CDE-4301-ASI-401/matthew-add-images
matthewyip1511 Nov 12, 2024
3ca1ae4
Merge branch 'main' into matthew-update-report
Nov 12, 2024
ecb6643
Add drone flying between pillar video
Nov 12, 2024
5bf9d40
Update testing part
Nov 12, 2024
570cf90
Merge pull request #4 from CDE-4301-ASI-401/matthew-update-report
matthewyip1511 Nov 12, 2024
e2a784b
update headings, content page, section 1 and section 2 images
shuhuiii Nov 12, 2024
f7241e9
Merge branch 'main' of https://github.com/CDE-4301-ASI-401/midterm-re…
shuhuiii Nov 12, 2024
f31dde6
update figures into index.html
shuhuiii Nov 12, 2024
53d949a
add table of abbreviations
shuhuiii Nov 12, 2024
8d98ccf
update table of abbreviations
shuhuiii Nov 13, 2024
cc8d391
add comparison table
shuhuiii Nov 13, 2024
8979b7a
formating
shuhuiii Nov 13, 2024
5adc13d
add scope-of-work-table
shuhuiii Nov 13, 2024
7336fc9
.
shuhuiii Nov 13, 2024
f026931
fix bug in content page
shuhuiii Nov 13, 2024
8fed559
add msba configuration table
shuhuiii Nov 13, 2024
ca2d4a8
add drift test table
shuhuiii Nov 13, 2024
d12ba02
add key events table
shuhuiii Nov 13, 2024
06f6858
add table 6
shuhuiii Nov 13, 2024
da6d109
update references
shuhuiii Nov 13, 2024
2dc7a0d
update bugs
shuhuiii Nov 13, 2024
f0d7bdf
add temp fix for table 6
shuhuiii Nov 13, 2024
21d7ccd
remove video to host on youtube
shuhuiii Nov 14, 2024
1d7b3d3
add youtube videos
shuhuiii Nov 14, 2024
4a6b2b5
add acknowledgements section, formating
shuhuiii Nov 14, 2024
a12fab3
update order of images, formating
shuhuiii Nov 14, 2024
db1887c
Update youtube embed link for video
Nov 14, 2024
b70f74a
Merge pull request #6 from CDE-4301-ASI-401/matthew-update-image-zigzag
matthewyip1511 Nov 14, 2024
add244b
changed my pp
Fradku Nov 14, 2024
b134069
Merge pull request #7 from CDE-4301-ASI-401/yanyew-update
yanyew-low Nov 14, 2024
2fd5bcd
change pp fr
Fradku Nov 14, 2024
de2c8b8
Merge pull request #8 from CDE-4301-ASI-401/yanyew-update-2
yanyew-low Nov 14, 2024
f35a202
Add matthew's part for pillar, and update gantt chart
Nov 14, 2024
f314261
Merge pull request #9 from CDE-4301-ASI-401/matthew-update-part-and-g…
matthewyip1511 Nov 14, 2024
7a062e8
Update numbers and figures for test
Nov 14, 2024
21da515
Merge pull request #10 from CDE-4301-ASI-401/matthew-update-numbers-f…
matthewyip1511 Nov 14, 2024
9ef2c4f
update content pages and header
shuhuiii Nov 14, 2024
1a20fc9
Merge branch 'main' of https://github.com/CDE-4301-ASI-401/midterm-re…
shuhuiii Nov 14, 2024
0d2c882
add section 5 text, images and formating
shuhuiii Nov 14, 2024
f55b030
add section 1 images, text and formating
shuhuiii Nov 14, 2024
963b19d
add section 10 text
shuhuiii Nov 14, 2024
4206ebc
add text to section 9.0 future work
shuhuiii Nov 14, 2024
ed28521
add text, formating to section 8 integration test
shuhuiii Nov 14, 2024
5e26c5b
added all my texts
gssmay Nov 15, 2024
5bcce19
Merge pull request #11 from CDE-4301-ASI-401/samuel-onetimegoodonefinish
gssmay Nov 15, 2024
9742292
added figure 4.1 and 4.2
gssmay Nov 15, 2024
bdee42e
Merge pull request #12 from CDE-4301-ASI-401/samuel-addimg
gssmay Nov 15, 2024
64b6576
hi
gssmay Nov 15, 2024
ed3911d
Merge pull request #13 from CDE-4301-ASI-401/samuel-idk
gssmay Nov 15, 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Basic template for iDP report
# CDE4301 ASI-401 Swarm of Drones project

## Tools used
Welcome to the GitHub repository for our project! You may find our project site [here](https://cde-4301-asi-401.github.io/midterm-report/)

## Acknowledgement for Tools used
- Grid.js for generating table
- Shoelace for custom web-components

Binary file added assets/arena.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified assets/blackranger.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified assets/blueranger.png
100644 → 100755
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 assets/matthew/arena.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 assets/matthew/arenaWithPillarZone.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 assets/matthew/hoveringTest.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 assets/matthew/lineOfSightDoesNotPickUpPillar.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 assets/matthew/matthew.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 assets/matthew/mockUp.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 assets/matthew/newPillar.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 assets/matthew/oldPillar.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 assets/matthew/studio1.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 assets/matthew/tlabComputerRoom.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 assets/matthew/zigZagFlightPath.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified assets/pinkranger.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified assets/redranger.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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 assets/section-1/figure_1_1_indoorArena.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 assets/section-1/figure_1_2_scoringTable.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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 assets/section-1/figure_1_5_known_search_area.png
Binary file added assets/section-1/figure_1_7_pillar_area.png
Binary file added assets/section-2/figure_2_2_1_ROS2_humble.png
Binary file added assets/section-8/figure_8_5_layout_of_run_1.png
Binary file added assets/section-8/figure_8_8_layout_of_run_2.png
Binary file added assets/title_page/blackranger.png
Binary file added assets/title_page/blueranger.png
Binary file added assets/title_page/nus_logo.png
Binary file added assets/title_page/pinkranger.png
Binary file added assets/title_page/redranger.png
Binary file added assets/title_page/shuhui.jpeg
Binary file added assets/title_page/yanyew.jpg
Empty file modified assets/yellowranger.png
100644 → 100755
52 changes: 52 additions & 0 deletions components/comparision-safmc/comparison-safmc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
new gridjs.Grid({
columns: ["", "SAFMC 2024", "SAFMC 2025"],
data: [
["Field layout", "Unknown layout prior to Competition Day Mission. Disclosed layout on Competition Day Mission", "Unknown layout prior to Competition Day Mission. Disclosed layout for Known Search Area on Competition Day Mission. Undisclosed layout for Unknown Search Area on Competition Day Mission."],
["Pillar Obstacle", "No Pillar Obstacles.", "8 Pillar Obstacles."],
["Rescue Victim", "Maximum 4 Single-Rescue Victims Maximum 4 Double-Rescue Victims.", "Total 8 Victims (Includes Regular and Bonus Victims)."],
["Danger Zone", "No Danger Zones.", "Maximum 4 Danger Zones."],
["Navigation Aid", "Maximum 10 Navigation Aids within Search Area. Unlimited Navigation Aids within Start Area.", "Maximum 10 Navigation Aids within Known Search Area. Unlimited Navigation Aids within Start Area. No Navigation Aids allowed within Unknown Search Area."],
],
}).render(document.getElementById("comparison-safmc"));

class TableComponent extends HTMLElement {
static get observedAttributes() {
return ["subtitle"];
}

constructor() {
super();
this.attachShadow({ mode: "open" });
}

connectedCallback() {
this.render();
}

attributeChangedCallback(name, _, newValue) {
this[name] = newValue;
}

render() {
const div = document.createElement("div");
div.innerHTML = `
<slot></slot>
<sub>${this.subtitle}</sub>
<style>
:host {
display: block;
text-align: center;
}

sub {
font-size: 1rem;
font-style: italic;
}
</style>
`;

this.shadowRoot.appendChild(div);
}
}

customElements.define("comparison-safmc", TableComponent);
52 changes: 52 additions & 0 deletions components/comparison-raw-jpeg/comparison-raw-jpeg.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
new gridjs.Grid({
columns: ["RAW file (Original)", "JPEG file (Improved)"],
data: [
["Must be processed to become a viewable image.", "Ready to view immediately without additional processing."],
["File size is 2 to 6 times larger than JPEG.", ""],
["Higher quality than JPEG due to uncompressed data.", "Lossy format with lower quality than raw files due to compression.m"],
["Visible lags", "Smoother stream"],
],
}).render(document.getElementById("comparison-raw-jpeg"));

class TableComponent extends HTMLElement {
static get observedAttributes() {
return ["subtitle"];
}

constructor() {
super();
this.attachShadow({ mode: "open" });
}

connectedCallback() {
this.render();
}

attributeChangedCallback(name, _, newValue) {
this[name] = newValue;
}

render() {
const div = document.createElement("div");
div.innerHTML = `
<slot></slot>
<sub>${this.subtitle}</sub>
<style>
:host {
display: block;
text-align: center;
}

sub {
font-size: 1rem;
font-style: italic;
}
</style>
`;

this.shadowRoot.appendChild(div);
}
}

customElements.define("comparison-raw-jpeg", TableComponent);

54 changes: 54 additions & 0 deletions components/drift-test/drift-test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
new gridjs.Grid({
columns: ["Drone ID", "Suitable for use?", "x_inital (cm)", "x_final (cm)","∆x (cm)","y_inital (cm)","y_final (cm)", "∆y (cm)"],
data: [
["CF19", "Yes", "0", "110.0", "10.0", "0", "9.5", "9.5"],
["CF17", "Yes", "0", "110.5", "10.5", "0", "7.5", "7.5"],
["CZ01", "Yes", "0", "115.0", "15.0", "0", "10.0", "10.0"],
["CZ02", "Yes", "0", "123.2", "23.2", "0", "9.5", "9.5"],
["CZ03", "Yes", "0", "97.4" , "-2.6", "0", "14.5", "14.5"],
["CF34", "Yes", "0", "81.6" , "19.4", "0", "4.0", "4.0"],
],
}).render(document.getElementById("drift-test"));

class TableComponent extends HTMLElement {
static get observedAttributes() {
return ["subtitle"];
}

constructor() {
super();
this.attachShadow({ mode: "open" });
}

connectedCallback() {
this.render();
}

attributeChangedCallback(name, _, newValue) {
this[name] = newValue;
}

render() {
const div = document.createElement("div");
div.innerHTML = `
<slot></slot>
<sub>${this.subtitle}</sub>
<style>
:host {
display: block;
text-align: center;
}

sub {
font-size: 1rem;
font-style: italic;
}
</style>
`;

this.shadowRoot.appendChild(div);
}
}

customElements.define("drift-test", TableComponent);

53 changes: 53 additions & 0 deletions components/key-events/key-events.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
new gridjs.Grid({
columns: ["Week", "Date", "Key Events", "Location"],
data: [
["4", "10-02-2025", "Test 1", "Utown Indoor Sports Hall"],
["6", "23-02-2025", "Test 2 + Team Challenge Video Recording Video editing", "Utown Indoor Sports Hall"],
["Recess", "24-02-2025", "Submission Deadline: Team Challenge Video [28-02-2025]", ""],
["7", "09-03-2025", "Test 3", "Utown Indoor Sports Hall"],
["10", "23-03-2025", "[TBC] Competition Challenge and Competition Presentation", ""],
],
}).render(document.getElementById("key-events"));

class TableComponent extends HTMLElement {
static get observedAttributes() {
return ["subtitle"];
}

constructor() {
super();
this.attachShadow({ mode: "open" });
}

connectedCallback() {
this.render();
}

attributeChangedCallback(name, _, newValue) {
this[name] = newValue;
}

render() {
const div = document.createElement("div");
div.innerHTML = `
<slot></slot>
<sub>${this.subtitle}</sub>
<style>
:host {
display: block;
text-align: center;
}

sub {
font-size: 1rem;
font-style: italic;
}
</style>
`;

this.shadowRoot.appendChild(div);
}
}

customElements.define("key-events", TableComponent);

53 changes: 53 additions & 0 deletions components/msba-configuration/msba-configuration.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
new gridjs.Grid({
columns: ["Drone ID", "1", "2", "3"],
data: [
["Preferred Direction", "-60 deg", "0 deg", "60 deg"],
["Wall-Following Direction", "Left", "Right", "Left"],
["Wall Distance", "0.3m [Left]", "0.6 m [Right]", "0.3m [Left]"],
["Altitude", "0.3 m", "0.3 m", "0.3 m"],
["Flight Speed", "0.5 m/s", "0.5 m/s", "0.5 m/s"],
],
}).render(document.getElementById("msba-configuration"));

class TableComponent extends HTMLElement {
static get observedAttributes() {
return ["subtitle"];
}

constructor() {
super();
this.attachShadow({ mode: "open" });
}

connectedCallback() {
this.render();
}

attributeChangedCallback(name, _, newValue) {
this[name] = newValue;
}

render() {
const div = document.createElement("div");
div.innerHTML = `
<slot></slot>
<sub>${this.subtitle}</sub>
<style>
:host {
display: block;
text-align: center;
}

sub {
font-size: 1rem;
font-style: italic;
}
</style>
`;

this.shadowRoot.appendChild(div);
}
}

customElements.define("msba-configuration", TableComponent);

53 changes: 53 additions & 0 deletions components/run1_params/run1_params.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
new gridjs.Grid({
columns: ["Drone ID", "1", "2", "3"],
data: [
["Preferred Direction", "-60 deg", "0 deg", "60 deg"],
["Wall-Following Direction", "Left", "Right", "Left"],
["Wall Distance", "0.3m [Left]", "0.6 m [Right]", "0.3m [Left]"],
["Altitude", "0.3 m", "0.3 m", "0.3 m"],
["Flight Speed", "0.5 m/s", "0.5 m/s", "0.5 m/s"],
],
}).render(document.getElementById("run1_params"));

class TableComponent extends HTMLElement {
static get observedAttributes() {
return ["subtitle"];
}

constructor() {
super();
this.attachShadow({ mode: "open" });
}

connectedCallback() {
this.render();
}

attributeChangedCallback(name, _, newValue) {
this[name] = newValue;
}

render() {
const div = document.createElement("div");
div.innerHTML = `
<slot></slot>
<sub>${this.subtitle}</sub>
<style>
:host {
display: block;
text-align: center;
}

sub {
font-size: 1rem;
font-style: italic;
}
</style>
`;

this.shadowRoot.appendChild(div);
}
}

customElements.define("run1_params", TableComponent);

52 changes: 52 additions & 0 deletions components/scope-of-work/scope-of-work.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
new gridjs.Grid({
columns: ["Subsystem", "Member(s)"],
data: [
["Search Strategy", "Govindanath Samuel Sudharsanan; Low Yan Yew" ],
["Simulation", "Low Yan Yew"],
["Object Detection", "Foo Shu Hui"],
["Collision Avoidance", "Matthew Yip Tze Heng"],
],
}).render(document.getElementById("scope-of-work"));

class TableComponent extends HTMLElement {
static get observedAttributes() {
return ["subtitle"];
}

constructor() {
super();
this.attachShadow({ mode: "open" });
}

connectedCallback() {
this.render();
}

attributeChangedCallback(name, _, newValue) {
this[name] = newValue;
}

render() {
const div = document.createElement("div");
div.innerHTML = `
<slot></slot>
<sub>${this.subtitle}</sub>
<style>
:host {
display: block;
text-align: center;
}

sub {
font-size: 1rem;
font-style: italic;
}
</style>
`;

this.shadowRoot.appendChild(div);
}
}

customElements.define("scope-of-work", TableComponent);

Loading