English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

guest
1 / ?
back to lessons

歡迎

歡迎來到機器人領域 — 機械、電子和軟體聚合而成製造會感知、決策和行動的機器的工程學科。

機器人這個詞來自捷克語 robota,意思是強制勞動。卡雷爾·恰佩克在1920年的一部戲劇中創造了這個詞。一個世紀後,機器人焊接汽車、探索火星、進行手術、清掃客廳。

並非每一台自動化機器都是機器人。烤麵包機有自動化功能 — 加熱並彈出 — 但它無法感知環境或適應。機器人有三個基本功能:

- 感知 — 透過感測器收集有關世界的信息

- 決策 — 處理該信息並選擇一個行動

- 行動 — 透過執行器移動或操縱物理世界

The Sense-Decide-Act Control Loop

這個感知-決策-行動迴路持續運行。工廠機械臂每秒檢查其關節位置數千次。火星探測車在每個輪子命令之前分析地形圖像。迴路速度和複雜性各不相同,但結構是相同的。

機器人存在於自主權譜系上。遠程控制的排爆機器人零自主性 — 人類做出每一個決策。倉庫機器人在走廊間導航並避免障礙物有部分自主性。自動駕駛汽車旨在實現完全自主性,儘管這仍然是一個開放的工程挑戰。

機器人的主要類別:

- 工業機器人 — 固定基座機械臂,在工廠焊接、噴漆、組裝和堆棧貨物

- 服務機器人 — 在非製造環境中幫助人類:手術機器人、送貨機器人、清掃機器人

- 移動機器人 — 在世界各地移動:輪式、腿式、履帶式、航空(無人機)和水下(ROV和AUV)

本課程涵蓋每位機器人專家需要理解的核心構建塊:執行器、感測器、控制系統、編程概念和職業路徑。

熱身

快速檢查

讓我們看看你開始的地方。

你曾經建造、編程或使用過任何形式的機器人或自動化系統嗎?如果有,請描述你做了什麼。如果沒有,當你想到機器人時,你想到了什麼?

馬達和運動

執行器:機器人如何運動

執行器是任何將能量轉換為物理運動的裝置。執行器是機器人的肌肉。


直流馬達 — 最簡單的電動馬達。施加電壓,軸旋轉。反向電壓,它向相反方向旋轉。速度與電壓成正比。直流馬達便宜且快速,但它沒有內置的方式來了解其位置。它們在輪式機器人和簡單機制中很常見。


步進馬達 — 以離散步長移動,通常每步1.8度(每轉200步)。你命令一個特定的步數,馬達準確地移動那麼遠。步進馬達在沒有感測器的情況下提供精確的開迴路位置控制,但在重負荷下可能會跳步。常見於3D打印機、CNC路由器和攝像機萬向節中。


伺服馬達 — 一個馬達與位置感測器(編碼器)和控制器結合在一個閉迴路系統中。控制器持續比較命令的位置和實際位置,並更正任何誤差。伺服馬達提供速度、扭矩和精度的最佳組合。工業機械臂幾乎完全使用伺服馬達。


氣動執行器 — 使用壓縮空氣產生線性或旋轉運動。在其尺寸方面快速且強大,但難以精確控制,因為空氣是可壓縮的。常見於工廠夾爪和拾取放置機器中。


液壓執行器 — 使用加壓流體(油)而不是空氣。因為液體幾乎不可壓縮,液壓以精確控制提供巨大的力。重型建築設備、大型工業壓機和一些腿式機器人(如Boston Dynamics的早期Atlas)使用液壓。交換是重量、複雜性和流體洩漏的風險。


自由度(DOF) — 每個獨立的運動軸是一個自由度。典型的工業機械臂有6個自由度:三個用於在空間中定位末端執行器(X、Y、Z),三個用於定向(滾動、俯仰、偏航)。人類手臂有7個自由度。更多自由度意味著更多靈活性,但控制和編程中的複雜性更多。

Actuator types: DC motor, stepper, servo, hydraulic, and DOF comparison

選擇正確的執行器

將執行器與任務相匹配

選擇正確的執行器需要理解應用要求:速度、精度、力量和環境。

一名工程師正在為手術系統設計機械臂。該臂必須將手術刀定位在0.1毫米以內,並在切割期間保持穩定。你會選擇哪種類型的執行器,為什麼?為什麼其他選擇會更糟?

機器人如何感知世界

感測器:機器人的感官

沒有感測器,機器人是盲聾的。感測器提供驅動每項決定的原始數據。


編碼器 — 測量旋轉。光學編碼器有一個帶有狹槽的圓盤;光線照射並且檢測器在圓盤旋轉時計數脈衝。這告訴控制器一個關節移動了多遠。增量編碼器計數相對運動;絕對編碼器在上電時報告確切角度。每個伺服馬達都有一個編碼器。


IMU(慣性測量單元) — 結合加速度計(測量線性加速度)、陀螺儀(測量旋轉速度)和有時磁力計(測量磁方向)。IMU告訴機器人它的方向以及它如何通過空間移動。對於無人機、腿式機器人和任何需要保持平衡的移動平台至關重要。


LIDAR(光檢測和測距) — 發射激光脈衝並測量每個脈衝反彈回來的時間。這創建了周圍環境的詳細2D或3D映射。自動駕駛汽車和倉庫機器人使用LIDAR進行障礙物檢測和映射。一個旋轉的LIDAR每秒可以產生數十萬個距離測量。


攝像頭 — 提供豐富的視覺數據,但需要大量計算來解釋。單個攝像頭給出2D圖像;立體攝像頭(兩個已知分離的攝像頭)提供深度信息。計算機視覺算法處理攝像頭數據以進行對象識別、線條跟蹤和視覺SLAM(同時定位和映射)。


力/扭矩感測器 — 測量在某個點施加的力和扭矩,通常在機器人的腕部或末端執行器處。對於需要受控接觸的任務至關重要:組裝(將銷釘插入孔)、拋光和協作機器人必須檢測與人的接觸並立即停止。


感測器融合 — 沒有單一感測器是完美的。LIDAR提供精確的距離但沒有顏色。攝像頭提供豐富的圖像但在黑暗中掙扎。IMU隨著時間漂移。感測器融合結合來自多個感測器的數據,以製造比任何單一感測器都更準確和可靠的圖像。自動駕駛汽車持續融合LIDAR、攝像頭、雷達、GPS和IMU數據。

Robot sensor types: encoder, IMU, LIDAR, camera, force/torque, and sensor fusion

為任務選擇感測器

將感測器與任務匹配

感測器選擇取決於機器人需要知道什麼、環境和計算預算。

一家公司正在建造一個在倉庫中運行的自主叉車。它必須在貨架走廊之間導航,避免附近走動的人,並在精確位置提起托盤。你將配備哪些感測器,為什麼?考慮每個感測器貢獻了其他感測器無法做到的東西。

開迴路對比閉迴路

控制:使機器人表現正常

沒有控制的機器人只是零件的集合。控制系統是決策層 — 它們採用感測器數據並計算驅動執行器的命令。


開迴路控制 — 發送命令並希望最好。一個被命令進行200步的步進馬達會嘗試,但如果在負載下跳步,沒有任何東西檢測到錯誤。開迴路簡單便宜,但它無法更正幹擾。微波爐是開迴路的:它按照你設置的時間運行,無論食物是否真的是熱的。


閉迴路控制 — 測量輸出,將其與期望值進行比較,並更正差異。這是回饋控制,它是所有認真機器人的基礎。伺服馬達是閉迴路的:編碼器測量實際位置,控制器將其與命令的位置進行比較,並調整馬達電壓以縮小間隙。


PID控制 — 最廣泛使用的回饋控制器。PID代表比例-積分-微分

- P(比例): 更正與當前誤差成正比。大誤差,大更正。但單獨的P通常會超調或以小的持續誤差定居。

- I(積分): 隨著時間積累過去的誤差。如果系統長時間略微關閉,我會建立並更用力地推動。這消除了穩態誤差,但如果設置太高可能會導致振盪。

- D(微分): 響應誤差變化的速度。如果誤差快速縮小(系統接近目標),D減少更正以防止超調。D充當阻尼器。

調整PID控制器 — 找到正確的P、I和D值 — 是部分科學和部分工藝。太多P和系統振盪。太多I和它上升並超調。太多D和它對噪聲做出反應。實際機器人通常需要為每個關節進行PID調整。


穩定性 — 控制系統如果收斂到期望的狀態是穩定的。不穩定系統以增加幅度振盪 — 機器人將自身抖動散架。穩定性分析是控制工程中的核心技能。

PID closed-loop feedback diagram with P, I, and D term explanations

應用控制概念

像控制工程師一樣思考

理解回饋和PID不只是理論 — 它解釋了為什麼機器人表現的方式。

一個無人機以10米高度懸停。一陣大風將其推下至9.5米。逐步介紹PID控制器將如何響應以將其帶回10米。每個組件(P、I和D)對更正的貢獻是什麼?

狀態機和ROS

軟體:機器人的大腦

機器人軟體與網絡或商業軟體從根本上不同。它以實時運行,與物理硬體互動,必須優雅地處理意外情況 — 掉落的物體、卡住的關節、人踏入工作區。


狀態機 — 機器人編程中最常見的編程模式。狀態機定義一組狀態(如IDLE、MOVING、GRIPPING、ERROR)和它們之間的轉換。機器人始終恰好處於一個狀態。事件觸發轉換。

例如,一個拾取放置機器人:

- IDLE:等待命令

- MOVING_TO_PICK:行進到拾取位置

- GRIPPING:在物體上關閉夾爪

- MOVING_TO_PLACE:將物體運送到目標位置

- RELEASING:打開夾爪

- ERROR:出了問題(物體掉落、關節故障、檢測到障礙物)

每個狀態都有定義的進入動作、退出動作和轉換條件。狀態機防止機器人做毫無意義的事情 — 你不能釋放你從未握住的物體。


ROS(機器人操作系統) — 實際上不是操作系統。ROS是一個中間件框架,提供通信基礎設施、硬體抽象和大量可重複使用的套件庫。它在Linux上運行。使用ROS構建的機器人使用發布-訂閱架構:感測器節點在主題上發布數據,控制節點訂閱它們需要的主題。這種模塊化設計意味著你可以在不重寫導航代碼的情況下交換LIDAR感測器。


路徑規劃 — 機器人如何決定其從點A到點B的路線,同時避免障礙物。簡單的方法包括路點導航(跟蹤一系列預定義點)和勢場(障礙物排斥、目標吸引)。高級方法如A*和RRT(快速探索隨機樹)在複雜環境中搜索最優或可行路徑。自動駕駛汽車在世界變化時每秒多次重新規劃路徑。

Robot state machine, ROS publish-subscribe architecture, and A* path planning

設計機器人行為

思考機器人軟體

好的機器人軟體預期失敗並優雅地處理它。

你正在編程一個移動倉庫機器人,它從貨架上拾取箱子並將其送達包裝站。為此任務設計一個簡單的狀態機。列出狀態,對於每個狀態,描述什麼觸發到下一個狀態的轉換。至少包括一個錯誤狀態並解釋是什麼觸發它。

機器人職業

在機器人領域建造職業

機器人在製造、物流、醫療保健、農業和國防領域快速增長。以下是主要職業路徑。


機器人技術人員 — 安裝、維護、故障排除和修復機器人系統。這是最容易進入的入口點。你親身與硬體一起工作 — 更換馬達、校準感測器、重新佈線控制器和診斷故障。社區學院課程和製造商認證(FANUC、ABB、KUKA)可以讓你開始。典型起薪:$45,000-$65,000。


控制工程師 — 設計和調整使機器人表現正確的控制系統。此角色需要強大的數學(線性代數、微分方程)和編程技能。控制工程師從事PID調整、運動分析、感測器集成和安全系統。電氣、機械或機電工程學士學位是典型的。薪資範圍:$75,000-$120,000。


ROS開發人員/機器人軟體工程師 — 編寫協調感知、規劃和控制的軟體。這些開發人員使用C++和Python,構建ROS節點,實施路徑規劃算法,並集成機器學習模型以進行感知。強大的計算機科學技能是必不可少的。此角色對自動駕駛汽車、倉庫機器人和無人機系統的需求很高。薪資範圍:$90,000-$150,000。


自動化集成商 — 為工廠設計和實施完整的機器人工作單元。集成商採用製造問題(以60單位/小時的速度焊接這兩個零件),選擇機器人、末端執行器、安全系統和傳送帶,對整個單元進行編程,並在工廠車間進行調試。集成商需要跨機械、電氣和軟體的廣泛知識。許多人為系統集成公司工作。薪資範圍:$70,000-$110,000。


其他路徑 — 創建機器人結構和機制的機械設計師。設計電源系統和電路板的電氣工程師。推進操縱、運動和機器學習感知邊界的研究科學家。在極端環境中部署機器人的現場機器人工程師 — 水下、地下或太空中。


常見的線索:機器人獎勵能夠跨越學科思考的人。一個純粹的機械人沒有軟體技能就掙扎。一個純粹的軟體人沒有理解物理就掙扎。最好的機器人專家是T形的 — 在一個領域有深刻的專業知識,在所有領域都有工作知識。

Robotics career paths: technician, controls engineer, ROS developer, automation integrator

你的前進道路

反思

你現在已經涵蓋了基本構建塊:執行器、感測器、控制系統、編程模式和職業路徑。

根據你在本課程中學到的內容,機器人的哪個領域最讓你感興趣,為什麼?你在下個月內可以採取一個具體步驟來開始在該領域建造技能是什麼?