機器人初級

維基教科書,自由的教學讀本

《機器人初級》一本介紹機器人科學和機器人技術的科普讀物,而不是一本機器人製作指南或說明書,亦不是一本學術專著。
機器人包含科技範圍甚廣,在很多地方無法詳細闡述(為了避免使您失去重點)。在這種情況,我們為您指出您需要的知識,及參考資料的來源,以幫助您了解其原理。但是我們會儘量全面且簡明,使得在大多數情況下,您不必參考其他資料。

何為機器人[編輯]

不平凡的歷史[編輯]

「Robot「的來歷[編輯]

Robot這個詞最早出現在一部諷刺戲劇《羅莎姆萬能機器人公司》(1920年)中,作者是捷克斯洛伐克作家恰佩克。在這部戲劇中第一次使用了捷克語「羅伯塔(Robota)」——勞動的奴隸,來稱呼機器人。而後來,在艾薩克·阿西莫夫的科幻作品《我,機器人》中,延續了這個稱謂,並改為「羅伯特(Robot)」,使得這個名稱深入人心。從此誕生了現在用來描述機器人的名詞。
早期的機器人形象多來自文學作品,成為科幻小說不可缺少的角色。日本漫畫家手塚治虫的漫畫《鐵臂阿童木》和同名動畫片,在20世紀60年代影響巨大,主人公「阿童木」也成為機器人的代名詞。2001年,根據小說《我,機器人》改編的電影《機械公敵》再一次將機器人的形象呈現給世人。
文學作品中的機器人神通廣大,但現實中的機器人遠遠沒有達到這種水平。直到21世紀初,機器人還只是能夠依照事先編寫好的程序完成簡單運動。

早期的機器人設想[編輯]

達·文西設計的機械人的複製品及內部零件

機器人的設想可以追溯到幾百年甚至幾千年前。

早期關於巧妙機器的記載多屬於傳說。中國商朝末期,姜子牙為救西伯侯姬昌,向商紂王獻上了三件寶物。其中之一的軒轅車,不用牛馬拉,也不用人操作,只要坐在車上發號施令,車就可行動。中國東漢末年,蜀漢的諸葛亮用「木牛流馬」運輸糧草,日夜不停,不飲不食。

近代的機器人,包含巧妙的機械設計,那時還沒有計算機的概念。十六世紀,達·文西設計了一個靠機械擺驅動的機械人,內部有齒輪等機械零件,能夠擺動雙臂。十九世紀,一個日本人設計了一個巧妙的「端茶人」。它靠發條和齒輪驅動,能夠端著茶盤繞著圓形桌子運動,當坐著的客人拿走盤子中的茶杯時,「端茶人」會停下來;當客人喝完茶,將茶杯放回茶盤,「端茶人」就會繼續行動,返回出發點。這些機器人的原型已經不存在了,但後來,人們根據圖紙或文字記載,將其復原。

現代機器人出現[編輯]

現代機器人的顯著特徵是,採用了控制電路和電力化動力。 1947年,美國阿貢國家實驗室試製了一種較簡單的操作器,用於拿取放射性物質。經過改進,1954年設計的M8型投入實際使用。人可以在安全區內操作機器人,移動放射性物質,而免受輻射傷害。 1958年(待考證),日本東京大學試製了人造手一號。 1963年(待考證),美國麻省理工試製了「MH-1」型操作器。操作器的研製和改進,為機器人積累了技術基礎。 二戰後,大批士兵肢體傷殘,需要大量的假肢和替代器具。1950年,美國國際商用機器人公司開始研究電動假手。以後許多大學和醫院都開始研究假肢和輪椅等器材。

一些常識[編輯]

電路基礎[編輯]

數字電路[編輯]

邏輯代數[編輯]

程序設計[編輯]

簡單機械[編輯]

工具軟體[編輯]

我們將向您列舉在設計機器人的過程中會用到的一些有力的工具軟體。對於大部分機器人的設計,這些軟體是不可或缺的。單純依靠個人的能力是效率低下的,並容易出錯。

使用工具軟體的優勢有:

  • 使工作過程簡化,節約時間和精力。
  • 使設計更直觀,調理清晰,幫助設計者思考。
  • 能夠檢查錯誤或者讓設計者更容易發現異常,減少不必要的疏忽導致的錯誤。
  • 提高設計的質量。
  • 完成人無法完成的巨大工作量和複雜工作。
  • 讓協同設計更加容易。
  • 以更加簡單、快速、高質量的方式表現設計全貌。

使用工具軟體的弊端有:

  • 受計算機的影響,思維僵化。
  • 部分軟體需要付出高額費用。
  • 專業軟體難於掌握。

CAD&CAM軟體[編輯]

CAD是Computer-Aided Design的縮寫,意為「計算機輔助設計」。CAM是Computer-Aided Manufacturing的縮寫,意為「計算機輔助製造」。

AutoCAD[編輯]
AutoCAD繪製二維工程圖

AutoCAD是Autodesk公司推出的CAD軟體。在二維工程圖方面表現出眾,可以快速繪製零件的平面視圖。同時也具有三維建模功能,功能全面。相對其他工程軟體,價格比較低。在機械、電子、建築、土木等領域有極為廣泛的應用。

雖然現在3D建模日漸興盛,但AutoCAD的二維建模功能仍然是很多工程師鍾愛的設計工具。不論採用哪種方式設計,最後圖紙一定是二維的。對比用鉛筆和尺的繪圖方式,AutoCAD的出現是一次飛躍。關於AutoCAD的書籍非常普遍,每所理工類大學的圖書館中都必不可少。很多大學的機械、電力、建築等專業都開設了AutoCAD的課程。AutoCAD本身也有詳細的入門指導和幫助文檔,使得學習AutoCAD簡單易學。

除了原版外,AutoCAD擁有眾多衍生版本,以適應不同行業的需求。其中AutoCAD Mechanical是面向機械工程師的,在原軟體的基礎上,添加了許多新功能。

另外有一系列「類AutoCAD」軟體,採用和AutoCAD類似的界面、功能、操作方式,併兼容較早版本的DWG格式。比較著名的有:

  • BricsCAD 收費軟體,但價格非常低,不具有3D建模功能。
  • QCAD 僅有2D繪圖功能。


OpenCASCADE/FreeCAD[編輯]
在Linux中運行的OpenCASCADE

OpenCASCADE是先進的參數化智能CAD/CAM/CAE軟體,能夠實現參數化建模,數字樣機仿真,從三維生成二維工程圖等全面的功能。

  • 軟體比較小巧,安裝文件不足100Mb,安裝後也僅占用200Mb左右硬碟空間。
  • 對計算機性能要求不高,初始運行占用50~100Mb內存(與軟體版本、外掛程式有關)。
  • 界面簡潔易用,運行穩定。
  • 自由軟體,可免費獲取。
  • 跨平台,支持Microsoft Windows,Linux,MacOS X。由於開放原始碼,還可以被移植到其他平台。在Linux平台下,是為數不多的CAX軟體之一。

FreeCAD是基於OpenCASCADE的CAX軟體。除具備OpenCASCADE的功能之外,FreeCAD建立了靈活易用的Qt圖形界面,增加了許多新特性(如IGES,STEP,BRep格式導入等),使用Python編寫程序腳本。

Solidworks[編輯]
使用Solidworks設計的軸承(渲染後效果)

Solidworks是達索公司開發的參數化CAM軟體,以高效、易用著稱,目標是使設計過程簡化。Solidworks的優勢集中在操作方式和用戶界面上,擁有數百項相關專利。使用Solidworks比使用非參數化建模軟體,可以節約60%的時間,獲得更高的質量。目前,Solidworks佔據了CAM市場約10%的份額,位居前列。但Solidworks軟體體積龐大,運行緩慢,對計算機性能要求很高。在普通的PC上,只能處理50個零件以下的裝配體,若需要處理數百零件的大型裝配體,則需要更強的圖形工作站。Solidworks的授權費用高昂,如Solidworks2010的市場價格是48,000¥。

Pro/Engineer[編輯]
UG[編輯]
Inventor[編輯]

EDA軟體[編輯]

Altium Designer[編輯]
OrCAD/Pspice[編輯]

OrCAD是可用於電子設計,專門用來讓電子工程師設計電路圖及相關圖表,設計印刷電路板所用的印刷圖,及電路的模擬之用。

科學計算與仿真軟體[編輯]

科學計算和仿真在複雜機器人設計過程中應用廣泛。基礎的應用如計算三維運動的雅柯比矩陣,進行電路信號仿真等等;高級的應用如建立碰撞模型,對現實情況進行模擬等。

Matlab[編輯]

一個專業的科學計算與仿真軟體,功能強大,體積臃腫,售價高昂。

Scilab[編輯]
Scilab4.0,運行在Ubuntu Linux上

Scilab是法國科學院研發的自由科學計算軟體,涵蓋了Matlab的幾乎所有功能,並提供了Matlab文件到Scilab文件的轉換工具,兼容Matlab命令,擁有眾多的工具箱。占用空間和內存都比Matlab小很多,界面與Matlab差別較大,大部分功能都通過命令行實現。支持多國語言,包括簡體中文。跨平台,支持Linux。

編程軟體[編輯]

每一系列的微處理器或微控制器晶片都有對應的編程工具。它們是編程、調試、模擬仿真的工具。

AVRStudio[編輯]
GCCAVR(WinAVR)[編輯]
ICC[編輯]
Arduino IDE[編輯]

Arduino IDE是一個以C語言為基礎,基於一個簡單的微控制器板和實現處理語言的發展環境編譯器軟體。

含控制電路的簡易機器人[編輯]

基於單片機的簡單機器人[編輯]

微處理器控制複雜機器人[編輯]

處於實驗中的高新機器人[編輯]

打開外殼[編輯]