Skip to content

Latest commit

 

History

126 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

robot-notes — 機器人知識筆記

一份從硬體寫到調度的機器人筆記,涵蓋輪式 AMR、移動操作(車 + 機械手臂)、四足與人形四種形態。

  • 在講什麼 — 一台機器人從馬達、感測器、韌體,一路到導航、多車交管與模擬驗證,每一層各自要解什麼問題、為什麼是這個設計。
  • 怎麼組織 — 拆成共通核心形態分支兩塊。判準是一句話:把形態換掉,這篇還成不成立? FOC 換相、編碼器解碼、SLAM、costmap 這些換成四足照樣成立,放核心;差速運動學、手臂 IK、雙足平衡只對特定形態成立,放分支。
  • 寫給誰 — 想把機器人從頭搞懂的人,尤其是寫軟體、但對硬體不熟的那種。名詞第一次出現就當場翻譯。
  • 規模 — 60+ 篇主題文件、190+ 張手繪示意圖,全部繁體中文,每篇都從「這東西要解決什麼根本問題」推起。
  • 完整度不均 — 輪式 AMR(送餐機器人、物流搬運車)是最早展開、覆蓋最完整的一條線;移動操作與四足剛起頭;人形還沒寫。進度見 PLAN.md

Pudu BellaBot 送餐機器人 Bear Robotics Servi 送餐機器人


這份筆記在講什麼

機器人技術堆疊全景:由上而下是多機調度、上位機(導航與 VLM)、下位機韌體、硬體四層;左側是 Physical AI 模擬驗證,右側是法規認證與資安兩個橫切主題,底部是數學基礎

中間四層是資料實際流過的路徑:調度層決定「哪台車去做哪件事、誰先走」,上位機想「我在哪、怎麼過去」,下位機把速度指令變成馬達轉動,硬體是真正會動的東西。層與層之間的介面很窄——調度給的是任務與路權,上位機給下位機的是一組 (v, ω),下位機回報 odometry。介面窄是刻意的:每一層都能單獨替換、單獨測試。

左右兩側則是貫穿每一層的橫切主題。模擬(50)不是另外一層,而是把整條堆疊搬進電腦裡跑;法規(60)與資安(70)則是每一層都會被要求交出證據的東西。

一台機器人拆開來看

送餐機器人爆炸圖:由上而下是托盤層、觸控螢幕、深度相機、上位機、下位機主板、馬達驅動器、電池組、2D LiDAR、底盤板與急停、驅動輪與萬向輪,每個零件標出對應章節

上面那張圖是邏輯分層,這張是實體零件。同一台車的兩種看法:軟體工程師習慣看左邊那種,但真正會撞到牆、會沒電、會過熱的是這一堆東西。


機器人怎麼運作

完全沒碰過硬體的話,先建立這個直覺再往下讀。

一台送餐機器人,其實就是一台會自己走路的小推車,裡面有兩顆腦分工:

  • 上位機(high-level)是一台跑 Linux 的小電腦,負責「想」——我在地圖哪裡、怎麼走到 5 號桌、前面有人要不要繞。
  • 下位機(low-level)是一顆 MCU(常見 STM32),負責「動」——即時控制兩顆馬達的轉速、回報走了多遠、撞到就立刻停。

兩顆腦用一條線(UART/CAN)講話:上位機每幾十毫秒丟一個速度指令,下位機照做、再回報實際狀態。這個迴圈一直跑,車就動起來了。

上位機透過 UART 接下位機,下位機再用 CAN 匯流排接馬達驅動器與 BMS

四個全文反覆出現的核心詞:

一句話
MCU 微控制器,一顆專做即時控制的小晶片(這裡是 STM32)
(v, ω) 速度指令:v = 前進速度,ω(omega)= 轉彎的角速度
encoder(編碼器) 裝在馬達上、量「輪子轉了多少」的感測器
odometry(里程定位) 用輪子轉動量推算「我移動到哪了」,會慢慢累積誤差

懂這四個詞,就能順順讀下去了。


從哪裡開始讀

你的情況 建議路線
完全沒碰過硬體 上面「機器人怎麼運作」→ 系統架構底盤感測器,卡名詞就查 術語表
想先看全貌 系統架構
軟體背景、想補硬體 底盤馬達/FOC感測器
做下位機韌體 下位機運動控制編碼器通訊匯流排
做導航 SLAM定位路徑規劃
做多車調度 / 路網交管 路網模型與交通管制室內 AMR 路網選型OpenRMFVDA5050
想做 AI 模擬(進階) 先走完上面硬體/導航,再讀 Physical AI 總覽
要準備上線合規 法規與認證總覽資安總覽
想比較不同形態 形態分支總覽 — 一張表看輪式 / 移動操作 / 四足 / 人形在自由度、支撐面、控制核心、法規上差在哪
要在搬運車上裝手臂 手臂運動學底盤與手臂的耦合
想搞懂四足為什麼難 足式的根本分岔步態與致動

進階小節(如數位電路 §15 半導體物理、定位 §28 地標 PnP)初讀可跳過,需要時再回來。 看不懂的名詞 → 查 術語表,開頭有一節「基礎詞」放讀任何一篇之前該知道的。


文件索引

00-overview 系統全貌

  • 系統架構 — 上位機/下位機分層、資料流、硬體選型、軟體架構、研發路線

10-core 共通核心 — 換了形態,這幾層還在

  • 共通核心總覽 — 判準(把形態換掉這篇還成不成立)、三個層次、四個分岔點

10-core/10-hardware 硬體

底盤與傳動不在這裡——它只對輪式成立,放在形態分支。這就是「共通核心 vs 形態分支」判準的第一個實例。

  • 馬達與 FOC 控制 — FOC、定子/轉子、有刷/無刷、功率橋、閘極驅動
  • 編碼器 — 霍爾、增量式 A/B 相、四倍頻、STM32 硬體讀取
  • 感測器 — 2D LiDAR、深度相機、IMU,以及各自的盲區
  • LiDAR 完整解析 — 測距原理(dToF/相位/FMCW)、905 vs 1550nm、掃描機構、2D vs 3D;附 2025–2026 產品盤點與選型
  • 通訊匯流排 — CAN 與 RS485 的分工,STM32F4 串接
  • 數位電路 — 推挽 vs open-drain、上拉電阻、wired-AND
  • 電源與安全 — 電壓法規、急停鏈、ramp/過流/堵轉保護

10-core/20-firmware 韌體

10-core/30-navigation 導航

  • SLAM 建圖 — 2D SLAM 流程、scan matching、loop closure、pose graph
  • 3D LiDAR SLAM 建圖 — 點雲配準(ICP/NDT/LOAM)、LIO 融 IMU、FAST-LIO 系譜;附 ROS2 可用套件盤點
  • 定位 — AMCL 粒子濾波、odometry、AprilTag 地標定位
  • 座標轉換與 TF — 為何分 map/odom、齊次變換、tf2 樹、REP-103/105
  • 路徑規劃與軌跡(Nav2) — 三層架構、costmap 膨脹、Hybrid-A*、DWB/MPPI/RPP、行為樹
  • 路徑平滑與軌跡生成 — 從「折線轉角曲率無限大」推起:G0–G3 連續性階梯、Bézier 完整推導(凸包與碰撞檢查)、B-spline 的局部支撐與內建 C²、clothoid、速度規劃(梯形 vs S 曲線、彎道速度上限),以及 Open-RMF 兩個 waypoint 之間為什麼是三次

20-forms 形態分支 — 換了形態,這幾層就得換

  • 形態分支總覽 — 四種形態在自由度、支撐面、運動學、控制核心、狀態估計、法規上的分岔點對照
  • 輪式 AMR — 為什麼輪式的問題最「乾淨」(支撐面固定 + 平面運動 + 接觸不切換)
    • 底盤與傳動 — 兩輪差速、萬向輪、輪轂馬達、行星減速機
  • 移動操作:搬運車 + 機械手臂 — 兩者相加才長出來的三件事
    • 手臂運動學 — FK/IK 為什麼難度不對稱、DH 為什麼 4 個參數、球型手腕是機構遷就求解、Jacobian 的三重身分
    • 底盤與手臂的耦合 — 冗餘與零空間投影、誤差預算、傾覆判準、安全標準之間的空隙
  • 四足 — 讓輪式問題乾淨的三個前提被同時打掉
    • 足式的根本分岔 — 浮動基座與欠致動、接觸讓系統變成混合系統、ZMP 與 capture point 各保證什麼、沒有輪子怎麼估狀態
    • 步態與致動 — duty factor 的門檻為什麼是 1/n 而不是固定的 0.5、為什麼工業減速機裝上去會壞、QDD vs SEA、RL 為什麼主導、安全標準目前是空的

40-fleet 多機調度

路網與交管(先讀這兩篇)

  • 路網模型與交通管制 — 三條技術路線的第一性原理比較:空間怎麼表示、衝突怎麼定義、卡死怎麼解;前導線公式推導、柵格化的理由、環形鎖偵測
  • 室內 AMR 路網規劃選型 — 叉車/搬運車/送貨機器人的物理差異如何決定路網;單一廠牌 vs 多廠牌混場的兩條決策路徑與切換門檻

跨車隊協調

底層通訊

  • ROS 2 的 DDS — DDS 是什麼、去中心化、QoS / ROS_DOMAIN_ID / RMW,為何多容器要處理多播
  • RMF 多容器部署 — adapter/core 各一 docker、DDS 跨容器、最小 docker-compose
  • MQTT over TLS(EMQX) — 三層(加密/認證/授權)、mTLS client 憑證、ACL、cipher 選擇
  • 機器人的廣域連線 — 廠區 private 5G、公網 5G+VPN、衛星 Direct-to-Device(3GPP NTN)、6G NTN

50-physical-ai Physical AI(進階)

術語密度較高,建議先讀完 00/10/30。

55-vlm-llm VLM & LLM

60-compliance 法規與認證

70-security 資安

  • 機器人通訊安全(總覽) — 五個通訊面的威脅與手段、加密+認證+授權三件套、誠實現況
  • SROS2 / DDS-Security — ROS2 節點間預設明文這個洞怎麼補:認證、加密、授權一次到位
  • OTA 韌體簽章 — 守「裝什麼」:上位機軟體與 MCU 韌體兩種 OTA,簽章驗證的核心
  • Secure boot — 守「跑什麼」:即使 Flash 被用別的方式改過,開機時也擋下來

90-foundations 數學基礎

參考論文


這個 repo 怎麼寫的

歷史原始整理文件保留在 docs/_legacy/(內容已拆分到上述主題檔)。

About

機器人筆記

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors