---
# System prepended metadata

title: Untitled

---

# AI主題



1.無人機在區域範圍內**尋找物品**，用openCV去做圖像辨識。
2.在搜尋過程中**繪製區域地圖**，並標記物品位置。
3.找到所有物品後去做**路線優化**。


可用情況:山區或海面搜救、建築物檢修、軍事偵查

ex. 在一個區域中尋找五個目標，找完後返回起始點，第二次出發時根據繪製出的地圖去尋找標記，用最快路徑跑過每一個目標。

# h1硬體與軟體



硬體:Pixhawk or APM
軟體:PX4和**ArduPilot**(ArduPilotMega(APM))

# PX4與ArduPilot比較

| Column 1 | PX4 | Ardupilot |
| -------- | -------- | -------- |
| 商業執照     | BSD     | GPLv3   |
| 地面控制站     | QGroundControl     | Mission Planner    |
| 理念     | 商業利益   | 開源精神   |


下表是github上截至2022年11月19號的統計數據：

|column1|PX4	|ArduPilot|
| -------- | -------- | -------- |
|commits（master分支）	|41538|	55588
|forks	|12.1k|	13.5k|
|starred	|6k	|7.8k|
|contributors|	556	|661|

從數據上可看出，ArduPilot在代碼提交數量、專案分支（forks）、收藏（starred）以及代碼貢獻者數量上都要多於PX4。
https://github.com/ArduPilot/ardupilot

# 蜂群相關技術

* 令牌環網技術 (訊息傳遞)
* RTK差分定位系統 (位置)

> 一種全球定位系統（GPS、GLONASS、Galileo等）的差分定位技術，用於提高全球定位精度。RTK差分定位的目標是實現更高的定位精度，通常達到厘米或毫米級的水平定位準確度。


# ROS作業系統

* ROS機器人作業系統（Robot Operating System）
https://www.ros.org/
* ROS2
https://docs.ros.org/en/foxy/index.html
![image](https://hackmd.io/_uploads/ryAHCZRNT.png)







# 模擬器
* Gazebo (模擬器)
https://gazebosim.org/home
![image](https://hackmd.io/_uploads/H1qRpZA4p.png)
* SITL Simulator(模擬器)
https://ardupilot.org/dev/docs/sitl-simulator-software-in-the-loop.html



# 地圖繪製技術

* Cartographer (繪製地圖SLAM)
https://google-cartographer-ros.readthedocs.io/en/latest/

# AI控制板
* OAK(OpenCV AI Kit)-D鏡頭來實現AI (圖像辨識)
* navio2
> OAK-D本質上是一個 RGB-D 相機，這款特殊相機的新穎之處在於它能夠在相機上運行人工智慧/電腦視覺演算法，這款感應器對ArduPilot來說更加優越的地方在於它可以通過立體攝像頭在三維空間中追蹤檢測到的物體。換句話說，攝像頭會將檢測到的物體及其三維坐標輸出到主機（攝像頭連接的設備）。
https://discuss.ardupilot.org/t/easy-way-to-integrate-ai-with-ardupilot-oak-d-part-1/79306

https://discuss.ardupilot.org/t/easy-way-to-integrate-ai-with-ardupilot-oak-d-part-2/79307

> OAK-D鏡頭官網:https://www.oakchina.cn/product/oak-d/
> navio2 https://navio2.hipi.io/



# 參考影片和輔助工具
* How Did I Use Python And Ai To Create A Fully Autonomous Drone? ArduCopter pixhawk and OpenCV.
https://www.youtube.com/watch?v=Nrzs3dQ9exw
* Ardupilot with Cartographer in ROS 2
https://www.youtube.com/watch?v=bpjGyAECKHA&ab_channel=ArduPilot

* The construct
https://app.theconstructsim.com/