---
# System prepended metadata

title: 基本介紹與安裝

---

# 基本介紹與安裝

## 簡介
UAV-OS，一個為了控制 Tello 而生的無人機作業系統。最主要是因為ROS對於Python的支援度真的不太好，而且可能有過於複雜的問題。因此，決定自行開發一套無人機作業系統，專注於將各項無人機的功能性拆分成不同的Process，也就是影像、控制、邏輯的部分全部拆開，各自獨立運算與執行。這樣的架構，一方面可以為讓開發者在進行無人機應用的開發時，可以隨時調用三邊的資源而不會早成效能減損，一方面分成不同的Process，可以更好的控制阻塞是IO，讓他不會影響到其他的Process的控制。

以下為很前期的設計草圖，當作紀念而已。
![](https://i.imgur.com/ZRlGCEE.jpg)


## 安裝
### 需求

建議使用 PyCharm IDE 來進行開發
使用 Pipenv 來進行虛擬環境、套件管理


### 安裝步驟

首先，請先Pull此專案，請到你想要存放code的資料夾，執行此指令
```
git pull https://gitlab.com/uav-delivery/uav/uav-os.git
```

使用 Pycharm 打開「uav-os」專案資料夾
從 Pycharm 設定 Environment，新增一個 pipenv 環境，指定使用 python 3
打開 Pycharm 終端機，輸入以下指令安裝套件

```
pipenv install
```

## 開始開發
接下來，準備開始進行開發吧！
此篇教學文會依序介紹以下內容，好讓你快速上手開發無人機：

1. 介紹程式架構與多進程、執行緒架構
2. 如何開始寫無人機自動駕駛程式
3. 如何使用 FlightCmdService 來讓無人機執行指令
4. 如何使用 FrameService 取得無人機的 Frame