高中科展 · 工程學科(一) 電子、電機、機械
結合果蠅腦神經系統之仿生昆蟲設計
第一階段目標
做出一隻能用手機從遠端遙控的六足昆蟲:打開網址、輸入操作密碼,就能讓它前進、後退、轉彎;放開按鈕或網路斷線時,昆蟲會自己慢慢站好。
這是之後加上觸角避障、果蠅大腦迴路的基礎:先確定「指令送得到、腳動得對、斷線不會亂跑」。
系統架構
手機網頁
│ WebSocket(按鈕、狀態)
▼
雲端網站(Coolify)
│ MQTT
▼
MQTT 中繼站(Coolify)
▲
│ WiFi + MQTT
StickC 昆蟲 ── I2C ──▶ 6 顆 SG-90
手機和昆蟲不用在同一個地方:昆蟲只要連得上網路,就能被遙控。
硬體
| 零件 | 用途 |
|---|---|
| M5StickC | 大腦板:ESP32 晶片,負責 WiFi 連線和步態計算 |
| Hat 8Servos v1.1 | 伺服馬達擴充板,用 I2C(G0、G26)控制 8 個通道 |
| SG-90 × 6 | 六隻腳。左腳接 CH6~8,右腳接 CH2~4 |
三腳架步態
六隻腳分成兩組:{左前、左後、右中} 和 {左中、右前、右後},兩組相差半個週期輪流擺動,所以任何時候都有三隻腳撐在地上,身體不會倒。這和真的果蠅走路的方式一樣。
每隻腳的角度 = 90° + 30° × 波形(相位),波形是 sin(p) + 0.25·sin(2p),讓腳往前收得快、往後推地慢。轉彎時讓左右兩邊反著走,身體就原地旋轉。
安全設計
| 情況 | 昆蟲怎麼做 |
|---|---|
| 放開按鈕 | 200 毫秒內慢慢收腳站好 |
| 手機、網路或雲端斷線 | 0.8 秒沒收到「我還按著」,就自己站好 |
| 按「緊急站好」或 StickC 的 A 鍵 | 六隻腳馬上回到 90° |
| 很多人同時打開網頁 | 都能看,但要密碼才能操作,而且同一時間只有一人能操作 |
收腳時慢慢滑回去,是因為六顆馬達同一瞬間一起轉動,電流太大會讓擴充板斷電。
可以量測的數據
- 反應時間:手機 ⇄ 雲端、雲端 ⇄ 昆蟲的來回延遲(遙控頁的圖 2)。
- 點一下轉彎的角度:左轉、右轉約 45°,迴轉約 180°,可以用量角器實測後校正。
- 電池電壓和 WiFi 訊號強度對動作的影響。