《機器人學 🤖 —— AI 的身體與行動》45/100 模型預測控制 (MPC) 🧠 預判未來的高階控制方法!

更新私密發佈閱讀 16 分鐘

🚀 AI時代系列 (4) -《機器人學 🤖 —— AI 的身體與行動》

45/100 📌 第 5 周:控制系統與穩定性設計

45.模型預測控制 (MPC) 🧠 預判未來的高階控制方法!

________________________________________

一、為什麼要學「模型預測控制」?

✅ 再穩定的 PID,有時也敵不過**「延遲 + 變動 + 複雜環境」**的現實考驗。

模型預測控制 (Model Predictive Control, MPC)

是一種前瞻性思考的控制法:

🎯 它不只是修正當下,而是預測未來可能發生什麼!

________________________________________

二、MPC 的核心思維模型

🔮 它像是機器人內建一位「先知」:

模擬接下來 1秒、3秒、5秒後的可能走向

在腦中模擬出幾百條未來路徑

提前選出穩定安全又高效的最佳動作!

________________________________________

三、MPC 控制流程圖

當前狀態 ➔ 模型預測 ➔ 預測 N 步未來狀態序列 ➔ 計算最佳行動路徑 ➔ 執行第一步 ➔ 重複

👉 每一輪都像在玩小型「模擬世界」,不斷即時更新計劃。

________________________________________

四、MPC 的核心公式簡單說明

目標:

MPC 控制目標(成本函數):

Minimize:

J = Σ [ (y_k - r_k)^T * Q * (y_k - r_k) + (u_k)^T * R * (u_k) ]

k=0 到 N

Subject to:

x(k+1) = A * x(k) + B * u(k)

y(k) = C * x(k)

u_min <= u(k) <= u_max

y_min <= y(k) <= y_max

🧩 說明:

J:整體成本(損失函數),控制器要使這個值最小

y_k:第 k 步的預測輸出

r_k:第 k 步的期望值(參考軌跡)

u_k:第 k 步的控制輸入(機器人的動作)

x(k):系統狀態(如位置、速度)

A, B, C:系統模型矩陣(離散狀態空間模型)

Q, R:權重矩陣(調整誤差與控制輸出的重要性)

N:預測範圍(Prediction Horizon)

這個公式的意義在於:**MPC(模型預測控制)透過預測未來系統行為,找出一組控制輸出序列,使系統在未來一段時間內盡量貼近目標值,同時避免超出輸入與輸出的限制條件。**它不只是即時反應,而是像「下棋高手」一樣,根據系統模型預測接下來幾步的結果,選擇整體成本(誤差與控制代價)最小的方案,每次只執行當下的第一步,然後重新計算,如此反覆進行,實現更穩定、智慧與安全的控制。

🎯 讓路徑整體穩定、順暢、經濟、平滑。

________________________________________

五、MPC 與 PID 最大差異

PID 控制屬於反應式控制方式,只根據當前誤差進行即時修正,運算簡單、回應快速,適合用在結構明確、變化不大的系統。相對地,MPC(模型預測控制)則採用預測性思維,透過系統模型預測未來幾秒內的狀態變化,再從整體角度找出最優控制策略,不僅能精準跟蹤目標,還能同時考慮各種操作限制。儘管 MPC 計算量大、設計複雜,但在多變、約束多、需提前規劃的場景中(如智慧車、機器人、人群避障)展現出遠優於 PID 的智慧與柔韌性。

________________________________________

六、MPC 擅長的典型應用場景

| 應用場景 | MPC 功能貢獻 |

| 自駕車轉彎超車 | 預測前方車流與障礙行為提早決策 |

| 無人機空中編隊 | 預判編隊隊形變動提前微調位置 |

| 機械手臂避障操作 | 預估手臂運動路徑是否會撞到障礙物 |

| 自平衡兩輪機器人 | 預測傾斜趨勢,提前調整推力防倒 |

________________________________________

七、MPC 的強大特色

✅ 多約束處理能力:

可以把「速度限制、加速度限制、安全距離、障礙區域…」全部整合進考慮

✅ 多目標平衡能力:

能讓系統同時考慮平穩、能耗、路徑最佳化

✅ 高階 AI 融合基礎:

適合整合深度學習預測模型做複雜動態模擬

________________________________________

八、AI 結合 MPC 的突破應用

AI 融入讓 MPC(模型預測控制)從傳統最佳化控制器,進化為更智慧、更精準的決策核心。透過深度學習,控制系統能建立更準確的非線性動態模型,捕捉複雜環境下的真實行為;強化學習則進一步學會在多階段任務中做出長期最優控制決策;當系統模型存在誤差或變動時,AI 可進行動態補償,增強系統的魯棒性與容錯能力;此外,AI 演算法也能大幅加快運算速度,協助 MPC 在每一輪控制週期中即時完成複雜運算,使智慧控制真正落地應用於自駕車、機器人與工業自動化等高速場景。

🤖 模型假設:離散時間線性化倒立擺(自平衡機器人)

使用線性化狀態空間模型:

x_{k+1} = A * x_k + B * u_k

其中狀態為:

系統狀態向量:

x = [ θ, θ_dot ]ᵗ

其中:

θ = 傾角(radians)

θ_dot = 角速度(radians/second)

u = 控制輸入(例如馬達扭矩或車輪加速度)

________________________________________

🐍 Python 實作(用 cvxpy + 簡化模型)

python

import numpy as np

import matplotlib.pyplot as plt

import cvxpy as cp

# 離散間模型(簡化版)

dt = 0.1 # 時間間隔

A = np.array([[1, dt],

[0, 0.98]]) # 角度與角速度變化(假設重力影響)

B = np.array([[0],

[dt]]) # 控制影響角速度

n_states = 2

n_inputs = 1

N = 10 # MPC 預測步數

x0 = np.array([[0.2], # 初始角度偏離(例如 0.2 rad)

[0.0]]) # 初始角速度

# 記錄歷史

x_history = [x0.flatten()]

u_history = []

# MPC 控制迴圈

for t in range(50): # 模擬 50 步

x = cp.Variable((n_states, N + 1))

u = cp.Variable((n_inputs, N))

cost = 0

constraints = [x[:, 0] == x0.flatten()]

for k in range(N):

cost += cp.sum_squares(x[:, k]) + 0.01 * cp.sum_squares(u[:, k])

constraints += [x[:, k+1] == A @ x[:, k] + B @ u[:, k]]

constraints += [cp.abs(u[:, k]) <= 1.0] # 控制輸入限制(模擬電機限制)

prob = cp.Problem(cp.Minimize(cost), constraints)

prob.solve()

u_val = u[:, 0].value

x0 = A @ x0 + B @ u_val

x_history.append(x0.flatten())

u_history.append(u_val[0])

# 視覺化結果

x_array = np.array(x_history)

time = np.arange(len(x_array)) * dt

plt.figure(figsize=(12, 5))

plt.subplot(2, 1, 1)

plt.plot(time, x_array[:, 0], label="角度 θ (rad)")

plt.plot(time, x_array[:, 1], label="角速度 θ̇ (rad/s)")

plt.axhline(0, color='gray', linestyle='--')

plt.legend()

plt.title("MPC 控制下的自平衡機器人狀態")

plt.subplot(2, 1, 2)

plt.step(time[:-1], u_history, where='post', label="控制輸入 u")

plt.axhline(0, color='gray', linestyle='--')

plt.ylabel("u (扭矩)")

plt.xlabel("時間 (s)")

plt.legend()

plt.grid()

plt.tight_layout()

plt.show()

這段 Python 程式碼模擬了一個使用 MPC(模型預測控制) 來穩定 自平衡機器人(倒立擺) 的範例。機器人的狀態由角度 𝜃和角速度 𝜃˙組成,初始時有一個 0.2 弧度的傾斜。程式每一個控制週期使用 cvxpy 解決一個最佳化問題,預測未來 10 步的狀態,目標是讓角度趨近於 0(直立),並同時限制控制輸出在 ±1 的範圍內。每輪只執行預測中的第一個控制輸出(receding horizon),然後更新狀態。最終透過 matplotlib 視覺化控制過程中角度、角速度與控制輸入的變化,展示機器人如何逐步恢復平衡。整體程式示範了 MPC 在控制不穩定系統上的智慧決策與穩定能力。

________________________________________

🧠 說明:

初始傾斜角度為 0.2 rad,機器人會倒下

MPC 控制器預測未來 10 步行為,決定最適控制序列

每輪只執行第一個控制動作(receding horizon)

控制目標是讓角度趨近 0,也就是自動恢復直立平衡

________________________________________

🛠 可擴充方向(給研究或實務使用):

加入位置變數 x ,x˙,做完整的 4 維倒立擺控制

結合 強化學習 進行控制器自我調整

加入 LIDAR、IMU 等感測器資訊做實體機器整合

________________________________________

九、MPC 直覺生活比喻 🎮

👉 想像你在繁忙十字路口開車左轉:

你看到對向車流速度、行人動作

大腦會「腦補模擬」:

o 幾秒後可能出現的空隙

o 轉不轉得過去

o 要不要踩煞車或加速

🎯 這正是你自己內建的「生物版 MPC」!

________________________________________

🌱 生動反思任務

請思考:

如果讓醫療配送機器人在繁忙醫院走廊導航,

病人輪椅、護理車、病房門隨時會動,

👉 MPC 如何幫助它在擁擠中預判走位、平穩穿越?

👉 結合哪些 AI 技術,讓預測更準?行為更柔順?

ANS:

🎯

在繁忙的醫院走廊中,一台自動配送機器人正在送藥物。眼前的路線卻充滿挑戰:

病人輪椅隨時轉動、護理車突然停下、病房門忽然開啟。

這不是單一障礙物的問題,而是一場「動態混亂中的智慧決策」。

________________________________________

👉 MPC 如何幫助它在擁擠中預判走位、平穩穿越?

1. 預測性思維(Predictive Thinking)

MPC 會預測接下來幾秒內病人、門、護理車可能的位置,並提前規劃一條不只「現在安全」,而是「整個預測時間段都安全」的路徑。

2. 動態限制加入規劃

MPC 可將障礙物未來可能的移動範圍(如門的打開角度、輪椅的移動半徑)納入限制條件,確保不進入危險區域。

3. 平滑控制輸出

控制輸出會平衡「速度、轉向與舒適度」,避免急煞、急轉造成碰撞或讓病人驚慌。

4. 即時重新規劃(Receding Horizon)

每一步都會重新預測與規劃,可即時應對突發改變,例如護理車突然逆向推回。

________________________________________

👉 結合哪些 AI 技術,讓預測更準?行為更柔順?

✅ 1. 行人/設備動態預測(深度學習 + RNN)

使用攝影機與 LIDAR 搭配 AI 模型(如 LSTM 或 Transformer)來預測輪椅、病人、醫護車在未來幾秒的行進軌跡。

✅ 2. 場景理解(Computer Vision)

分辨哪些物體會動、哪些是固定結構,例如:門 vs. 牆、醫療推車 vs. 固定垃圾桶。

✅ 3. 模糊邏輯或行為規則嵌入

例如在人多時減速,在病房門附近自動繞行、遠離產生風險的區域,使行為更像「有經驗的護理人員」。

✅ 4. 強化學習訓練風格策略

在模擬環境中反覆訓練「最少剎車、最少閃避、最少擁堵」的導航風格,讓控制策略符合醫院現場節奏。

________________________________________

🧠 一句反思:

真正聰明的導航,不只是在不撞人的路上走,而是能理解「人會怎麼動」、「該讓誰先走」、「什麼時候放慢」,像個成熟的醫護助手般圓融。

______________________________________

✅ 你已正式進入 AI 控制系統的智慧預判核心!




留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
16會員
388內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
人工智慧是什麼? 人工智慧(Artificial Intelligence, AI) 簡單來說,就是讓機器模仿人類的思考、學習和決策的能力。它就像是一個聰明的電腦程序,可以執行許多原本需要人類智慧才能完成的工作,例如: 語音辨識: 讓電腦聽懂人類的語言,像是 Siri、Google As
Thumbnail
人工智慧是什麼? 人工智慧(Artificial Intelligence, AI) 簡單來說,就是讓機器模仿人類的思考、學習和決策的能力。它就像是一個聰明的電腦程序,可以執行許多原本需要人類智慧才能完成的工作,例如: 語音辨識: 讓電腦聽懂人類的語言,像是 Siri、Google As
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
AI的世界充滿了創新和潛力,涵蓋了許多領域,包括但不限於機器學習,自然語言處理、電腦視覺和機器人技術。AI對人類社會的影響是複雜而多層面的,既帶來了巨大的機遇,也提出了新的挑戰。社會需要在技術發展和倫理規範之間找到平衡,確保AI技術的應用能夠真正造福人類。
Thumbnail
AI的世界充滿了創新和潛力,涵蓋了許多領域,包括但不限於機器學習,自然語言處理、電腦視覺和機器人技術。AI對人類社會的影響是複雜而多層面的,既帶來了巨大的機遇,也提出了新的挑戰。社會需要在技術發展和倫理規範之間找到平衡,確保AI技術的應用能夠真正造福人類。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 77 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 77 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
AI與人類分工:預測與判斷的智慧結合
Thumbnail
AI與人類分工:預測與判斷的智慧結合
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News