跳轉到內容

機器人/設計基礎/你需要了解什麼

來自華夏公益教科書,開放的世界,開放的書籍

機器人學涵蓋多個科學和工程學科,所以當你想要設計一個更好的機器人時,你應該在這些領域獲得一些基本知識。你需要學習多少取決於你想讓你的機器人有多複雜。舉個例子:一個小型繫繩桌面機器人只需要一些關於電子學和程式設計的基本知識,一個鞋盒大小的機器人需要一些關於機械學方面的額外知識(主要關於平衡),而一個大型機器人甚至可能需要一些關於固體力學的知識。

本頁涵蓋了在機器人學中廣泛應用的領域。你不需要了解所有這些主題的所有內容,但是瞭解每個領域的知識可以幫助你構建更好的機器人,並防止你犯一些初學者常見的錯誤。

機械學是關於

  • 力的傳遞方式,在結構的不同部分之間。
  • 重心在哪裡。
  • 摩擦
  • 位置、速度、加速度
  • 牛頓定律
  • 慣性
  • 材料特性


機械學有助於保持機器人的平衡。雖然你可以在對機械學一無所知的情況下構建一個機器人,但瞭解機械學可以防止你的機器人在轉彎或拾取東西時翻倒。

機械學發揮作用的另一個方面是軸。在小型機器人上,你可以將輪子直接連線到電機的輸出軸。然而,這對大型機器人並不適用,因為這樣會給電機的內部部件帶來很大的壓力。更好的方法是將輪子連線到軸上,並使用齒輪將電機連線到軸上。瞭解機械學可以幫助你構建這樣的結構。

如果你的機器人是一個小型尋跡機器人,幾乎任何建築材料都可以使用。但是,如果你的機器人重幾公斤,那麼使用比紙板和吸管更堅固的材料是合適的。如果你的機器人是人類大小的,你應該考慮使用金屬和/或複合材料。

參見 理論力學 來了解該領域的介紹。

"理論力學" 剛開始,所以目前還沒有太多內容可以閱讀。

電子學

[編輯 | 編輯原始碼]

電子學是關於

  • 電子元件
  • 類比電路
  • 數字邏輯
  • 微控制器

電子學是不可或缺的(除非你想要構建一個完全機械的機器人或使用氣動進行控制)。如今有許多關於電子學基礎的書籍(參見 電子學)。

程式設計

[編輯 | 編輯原始碼]

計算機程式設計是關於

  • 控制結構(順序、選擇、迭代)
  • 資料型別(常量、變數、整數、實數、字串等)
  • 演算法
  • 硬體控制(設定和讀取暫存器、中斷等)
  • 邏輯

任何學過程式設計入門課程的人(例如美國高中提供的課程)都會熟悉前三點。第四點在入門課程中很少涉及,但對程式設計微控制器至關重要。雖然聽起來很難,但實際上非常簡單(對於大多數目的)。這主要歸結於使用簡單的布林邏輯設定位元組中的位,並將該值寫入某個暫存器或記憶體位置。像 Bascom 這樣的高階語言將硬體定址作為特殊變數提供,這些變數可以像任何其他變數一樣對待。

微控制器(和處理器板)是使用匯編語言仍然非常有效的領域之一。它們的記憶體(包括 RAM 和程式空間)非常有限,儘管每一代新的微控制器都具有更少的記憶體,但價格卻差不多。許多微控制器提供 2K 到 30K 的記憶體,而處理器板的記憶體通常高達 256K。這些數字差異很大,但仍然明顯少於 PC 的記憶體。但是,如果你不瞭解組合語言,大多數微控制器和處理器板都提供各種語言的編譯器(C、C++、Basic、Pascal、Fortran 等)。

機器人程式設計也是關於

  • 事件迴圈。大多數微控制器沒有資源用於執行緒。你需要每隔一小段時間檢視你的機器人任務,並選擇要採取的最小動作。程式在這個時刻能做些什麼來更接近它的目標?
  • 解釋感測器資料。感測器有很多方法提供噪聲或誤導性資訊;你能接受多少種類型的錯誤?電位器上的灰塵、斷開的開關和光電二極體上的百葉窗閃爍是明顯的故障。溫度漂移、非線性響應曲線或機器人看到自己的影子怎麼辦?
  • 決策,或 **人工智慧** 是在當前系統約束下做出正確決策的藝術。
  • 電機和運動。使機器人運動通常需要同時移動多個電機,通常還需來自感測器的反饋。

固體力學

[編輯 | 編輯原始碼]

固體力學是關於力如何在固體材料內部分佈的。瞭解這方面的知識非常有用,因為它解釋了材料對載荷的反應方式。這有助於防止使用過厚或過薄的材料。這對小型或中型機器人來說不是必須的,但它可以讓你更有效地使用建築材料,並讓你瞭解材料為什麼以及如何失效(斷裂和/或變形)。參見 [此華夏公益教科書] 來了解固體力學的入門知識。注意:前方有大量的數學知識。

即使你對數學有致命的恐懼,也要克服它,因為它提供了關於材料如何斷裂和變形的有價值的見解。不需要記憶數學公式,只要理解其背後的思想即可。

人工智慧

[編輯 | 編輯原始碼]

人工智慧(在機器人學中)是關於

  • 找到兩點、三點(或更多)之間最短的路徑
  • 處理障礙物
  • 處理新情況(機器學習)

關於人工智慧有很多 書籍,它們涵蓋了多個不同的層次。這個領域的歷史雖然短暫,但已經成果豐碩,但仍有很長的路要走。人工智慧不僅僅是讓計算機思考和推理。它更多地是關於在機器中組織、排序和整理知識,以及構建演算法從這些資料庫中提取現實世界結論。像 谷歌雅虎 這樣的搜尋引擎就是人工智慧實際應用的例子。

除了純粹的人工智慧書籍外,關於大腦如何工作的書籍以及其他類似的書籍可以為機器人的人工智慧提供有趣的視角。注意力和集中力等概念可以以某種有趣的方式應用於整合感測器資料。

雖然數學通常被視為終極的理論科學,但它可能是機器人學許多更高階領域中最重要的技能之一。例如,力學需要大量的數學知識。對於簡單的結構,你只需要高中水平的數學知識,而對於更復雜的形狀,則需要使用更復雜的數學工具,例如積分。但由於機器人學是一門非常實用的手藝,所以很多事情都可以透過近似來完成。然而,數學在進行正確的近似時非常有用。

華夏公益教科書