iT邦幫忙

2026 iThome 鐵人賽

DAY 21
0
AI Engineering

VoCare:從 AI 陪伴到智慧長者照護的實作之路系列 第 21 篇

Day 21|讓 VoCare 動起來:馬達控制與移動邏輯

  • 分享至 

  • xImage
  •  

前一篇介紹了 VoCare 機器人的硬體組成,今天就接著往下一步:讓機器人真的動起來。

目前 VoCare 使用 DC 馬達作為移動來源,所以最基本的任務,就是先讓系統可以控制:

  • 前進
  • 後退
  • 左轉
  • 右轉
  • 停止

馬達是怎麼控制方向的?

DC 馬達本身的概念其實很簡單。

如果改變電流方向,馬達的旋轉方向也會跟著改變。

所以可以把控制概念簡化成:

正轉 → 前進
反轉 → 後退
停止 → 停止移動

如果機器人左右兩側各有馬達,就可以透過控制兩邊的旋轉方向來完成不同動作。

前進與後退

最基本的情況是兩側馬達一起動。

前進
左馬達:向前
右馬達:向前

→ 機器人前進
後退
左馬達:向後
右馬達:向後

→ 機器人後退

只要兩邊的方向一致,機器人就能直線移動。

要怎麼轉彎?

轉彎就需要讓左右兩側馬達產生不同的動作。

例如左轉可以設計成:

左馬達:停止或向後
右馬達:向前

→ 機器人向左轉

右轉則相反:

左馬達:向前
右馬達:停止或向後

→ 機器人向右轉

實際效果還會受到馬達速度、輪子大小以及機器人重量影響,所以後續需要再測試。

控制指令不要直接交給 AI

即使未來 VoCare 可以理解:

往前走一點。

AI 也不應該直接控制馬達。

比較安全的方式是:

使用者語音
↓
AI 理解需求
↓
轉換成標準指令
↓
控制模組確認
↓
馬達執行

例如 AI 只需要輸出:

MOVE_FORWARD
TURN_LEFT
STOP

真正要讓馬達轉多久、轉多快,則交給底層控制程式負責。

為什麼要保留 STOP?

在所有動作裡,我覺得 STOP 反而是最重要的指令之一。

因為實體機器人和一般軟體不同,如果程式發生錯誤,機器人可能還會繼續移動。

所以控制邏輯需要考慮:

指令執行時間限制
異常時停止
無法連線時停止
使用者要求停止時立即停止

讓機器人會動很重要,但能隨時停下來更重要。

先測試基本動作

在接上完整 AI 功能之前,我會先把基本移動分開測試。

測試單顆馬達
↓
測試左右馬達
↓
測試前進 / 後退
↓
測試左右轉
↓
測試停止
↓
再接上 VoCare 控制流程

這樣如果哪個動作出問題,比較容易找到原因。

Day 21 小結

VoCare 的機器人移動其實可以拆成兩個部分:

AI 負責理解「使用者想做什麼」,控制模組負責決定「馬達要怎麼動」。

把兩層分開之後,不只比較容易維護,也能避免 AI 的判斷直接影響硬體。


上一篇
Day 20|把 VoCare 做成真的機器人:硬體組成與組裝紀錄
系列文
VoCare:從 AI 陪伴到智慧長者照護的實作之路 共 21 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言