Skip to content

Commit b8be842

Browse files
committed
init
0 parents  commit b8be842

14 files changed

Lines changed: 323 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: ci
2+
on:
3+
push:
4+
branches:
5+
- main # main 브랜치에 코드가 push될 때마다 작동
6+
permissions:
7+
contents: write
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- uses: actions/setup-python@v5
14+
with:
15+
python-version: 3.x
16+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
17+
- uses: actions/cache@v4
18+
with:
19+
key: mkdocs-material-${{ env.cache_id }}
20+
path: .cache
21+
restore-keys: |
22+
mkdocs-material-
23+
- run: pip install mkdocs-material # 사용하는 플러그인이 있다면 여기에 추가 (예: pip install mkdocs-material mkdocs-roamlinks)
24+
- run: mkdocs gh-deploy --force

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
site/
2+
.DS_Store

docs/assets/1024.png

177 KB
Loading
35.5 MB
Binary file not shown.

docs/assets/drone_1.png

5.26 MB
Loading

docs/assets/drone_2.png

465 KB
Loading

docs/assets/mount.png

491 KB
Loading

docs/assets/mount_hardware_1.png

531 KB
Loading

docs/assets/mount_hardware_2.png

588 KB
Loading

docs/guide/hardware.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Hardware Setup Guide
2+
3+
The SkyMapper system is built entirely using off-the-shelf consumer hardware. This approach ensures high accessibility and low cost while maintaining high-fidelity 3D reconstruction capabilities without the need for expensive LiDAR sensors.
4+
5+
---
6+
7+
## 🚁 1. Commercial UAV Requirements
8+
We utilize standard commercial drones to eliminate the need for expensive, custom-built aerial platforms.
9+
10+
* **Recommended Drone:** DJI Phantom 4 Pro V2.0 (or equivalent commercial models supporting developer SDKs).
11+
* **Payload Capacity:** Must be able to comfortably carry an additional payload of approximately 200-250g (smartphone + mount) without compromising flight stability or battery life significantly.
12+
* **Communication:** Reliable radio link for sending closed-loop control commands from the ground station or flight controller.
13+
14+
## 📱 2. Smartphone Requirements
15+
The smartphone acts as the primary sensor payload, leveraging its built-in cameras, IMU, and advanced processing power.
16+
17+
* **Minimum Specs:** A modern smartphone with robust Vision-Inertial Odometry (VIO) capabilities (e.g., iOS devices with ARKit or Android devices with ARCore).
18+
* **Core Role:** 1. Captures high-resolution images for photogrammetry.
19+
2. Estimates real-time 6DoF (Degrees of Freedom) pose without drift.
20+
3. Transmits synchronized pose and image data to the web server.
21+
22+
---
23+
24+
## 🔧 3. Custom 3D-Printed Mount Design
25+
To securely attach the smartphone to the UAV without interfering with its native sensors, we designed a custom, lightweight 3D-printed mount. Below are the structural designs modeled in OnShape.
26+
27+
<div style="display: flex; gap: 20px; justify-content: center; margin: 30px 0;" markdown="1">
28+
29+
<figure style="margin: 0; flex: 1; text-align: center;" markdown="1">
30+
31+
![Mount Design 1](../assets/mount_hardware_1.png){ style="border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); width: 100%; object-fit: cover;" }
32+
33+
<figcaption style="color: #a0a0a0; font-size: 0.9em; margin-top: 10px;">
34+
<b>Figure 1a:</b> 3D CAD model of the mount structure
35+
</figcaption>
36+
37+
</figure>
38+
39+
<figure style="margin: 0; flex: 1; text-align: center;" markdown="1">
40+
41+
![Mount Design 2](../assets/mount_hardware_2.png){ style="border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); width: 100%; object-fit: cover;" }
42+
43+
<figcaption style="color: #a0a0a0; font-size: 0.9em; margin-top: 10px;">
44+
<b>Figure 1b:</b> Detailed view of the smartphone holder
45+
</figcaption>
46+
47+
</figure>
48+
49+
</div>
50+
51+
!!! info "Material Recommendation"
52+
We strongly recommend using **PETG** or **ABS** over standard PLA. These materials offer a better balance of flexibility and thermal resistance, which is crucial for outdoor flights and reducing motor vibrations.
53+
54+
---
55+
56+
## 🧩 4. Final Integration & Assembly
57+
The core of our system is the seamless physical integration of the commercial UAV and the smartphone using the printed mount. The design focuses on minimal weight addition, secure attachment, and an unobstructed field of view (FOV).
58+
59+
<figure style="margin: 40px 0; text-align: center;" markdown="1">
60+
![SkyMapper Hardware Integration](../assets/drone_1.png){ style="border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.5); width: 100%; max-width: 600px; display: block; margin: 0 auto;" }
61+
<figcaption style="color: #a0a0a0; font-size: 0.95em; margin-top: 15px;">
62+
<b>Figure 2:</b> Final assembled hardware configuration showing the commercial UAV carrying the smartphone payload.
63+
</figcaption>
64+
</figure>
65+
66+
### Assembly Steps:
67+
1. **Print the Parts:** Print the top and bottom brackets using the provided `.stl` files located in the `hardware/3d_models` directory of our GitHub repository.
68+
2. **Attach to UAV:** Secure the brackets around the drone's landing gear. Ensure they are tightly fastened to prevent any mid-flight shifting.
69+
3. **Insert Smartphone:** Slide the smartphone into the holder. **Crucial:** Verify that the camera lens and IMU are completely clear of any physical obstructions (like the drone's propellers or legs).
70+
4. **Final Check:** Shake the drone gently to ensure the mount is rigid and the smartphone does not rattle.

0 commit comments

Comments
 (0)