近日復習robotik(機器人技術/機器人學),以應對考試。 剛才心血來潮,試圖整理了一下復習的內容。
首先第一章,導論
Was ist Robotik? Die Robotik befasst sich mit der Entwicklung und Steuerung von Robotern und umfasst Teilgebiete der Informatik (insbesondere der Künstlichen Intelligenz), der Elektrotechnik und des Maschinenbaus. Ziel der Robotik ist es, durch Programmierung ein gesteuertes Zusammenarbeiten der Roboter-Elektronik und Roboter-Mechanik herzustellen. (aus Wikipedia) 什么是機器人學? 機器人學致力于機器人的發展和控制,并包括信息學(尤其是人工智能),電氣工程學和機械工程的子領域。機器人學的目標是,通過編程建立機器人電子設備和機械設備的可控合作。
那么,到底什么是機器人呢? 目前比較統一的說法是,機器人是可重復編程的,多功能的可操縱器。(reprogrammable multifunctional manipulator)
工業機器人的主要任務: 連接 (包括焊接,粘連等) 加工 (包括打磨,拋光,等) 涂層 (包括上漆等) 組裝
第二章 工業機器人的構造(Aufbau von Industrierobotern) 從第一章工業機器人的主要任務可以看出,機器人主要是通過對作業部/Endeffektor(如機器手)的運動控制來完成任務的。也就是說,核心的內容就是如何實現對作業部運動的良好控制。 現在就說說工業機器人的主要構件。 Roboterarm 機器手 Anbieten/Motoren 動力機構 通常也叫執行部(Aktoren) Sensoren 傳感器 Endeffektor 終端作業部 Steuerung 控制 Bedienpanel 控制面板 Anwendungsrechner mit Software 帶軟件的應用計算機
要想機器人運動起來,就必須要有動力。下面介紹Aktoren (Anbiete/ Motoren)部分。常用的動力包括: 1,氣動 Pneumatischer Antrieb 優點:反應時間快 schnelle Reaktionszeit;便宜 kostenguenstig;組裝簡單 einfacher Aufbau 缺點:因為空氣的可壓縮,定位不準;太吵;沒法控制運動速度。 適合:快速工作循環和力量小的小機器人 kleinere Roboter mit schnellen Arbeitszyklen und wenig Kraft 2,液壓 Hydraulisch Antrieb 優點:力量極大;中等的速度。 缺點:額外的空間給液壓設備;吵鬧;污染風險;定位能力和反應時間受到油的粘性的限制。 3,電動 多用于伺服馬達(servomotoren) 優點:緊湊 kompakt;旋轉角度和扭力矩的易控性;很高的定位能力。 缺點:非常小的力量 relativ wenig Kraft; 速度不快 適合:各種小機器人 4,壓電 非常緊湊,非常高定位能力,但是很小的移動范圍。適合微型控制件。
而要將動力機構的動力傳遞到作業部,就需要傳動裝置。接下來介紹機器手的傳動裝置,關節(gelenk)。 最重要的四種關節: 1,Rotationsgelenk 旋轉關節 類似肘部 2,Lineargelenk 線狀關節 只能沿關節方向伸縮,不能旋轉 3,Torsionsgelenk 扭轉關節 4,Revolvergelenk 左輪關節
在前文有提到,機器人學的一個核心的內容就是如何實現對作業部運動的良好控制。而每個關節都是可以運動的,每個關節都有自己的傳動自由度(Getriebefreiheitsgrade),用g來表示。而一個物體(機器手)相對于一個固定的坐標系,其運動的自由度,用f來表示。在3D空間內,一個物體的狀態包括:位置(Position, 3 unabhaengige Werte)和方向(Orientierung, 3 unabhaenigige Werte)。對于一個可以完全自由運動的物體而言,f=6。也就是說,用6個獨立的值就可以完整表述一個物體在空間中的狀態。即一個物體在空間的狀態對應于一個六元組。有了完整精確的對狀態進行描述的數學表示后,所有的運動控制都將建立在這個數學表示基礎上。
第三章 運動學基礎(Grundlagen der Kinematik) 上一章提到了用6個獨立的值就可以完整表述一個物體在三維空間內的狀態。在這一章則介紹到底如何得到這些值,以及如何用這些值反應物體在空間的運動。 首先要建立三維空間的坐標系。坐標系可以分為2種:BKS和OKS。BKS又叫Weltkoordinanten/Rastsystem,以一個固定的點為原點,XYZ三個坐標軸也是固定的。描述的是物體在三維空間中的絕對位置。而OKS,則是以某個物體(坐標物體)為坐標原點,以該物體的方向為坐標軸。描述的是物體在三維空間中相對坐標物體的相對位置。
按右手法則約定坐標軸和角度方向:拇指為X,食指為Y,中指為Z,右手手握方向為正。
由此可以得到某個物體在三維空間的狀態為(x,y,z,alfa1,alfa2,alfa3)
Roll-Pitch-Yaw 任何旋轉運動都可以分解成為繞三個坐標軸的旋轉運動。也就是分解成為Roll-Pitch-Yaw。這三個旋轉可以分別用一個3X3的矩陣來表示。而旋轉的合成可以用3個矩陣的乘法來計算。不過需要注意的是,對于BKS而言,矩陣乘法是從右向左,就是說最后完成的旋轉在最左邊。而OKS正好相反,是從左向右。這就是“絕對”和“相對”的區別。
而一個物體的狀態同樣的可以用一個4X4的矩陣來表示。其中左上角的3X3表示方向,最后一列的頭三個數字表示的是空間位置(即,(a14,a24,a34)為(x,y,z))。很明顯,六元組的表示方法,描述簡單,但是不方便計算物體的運動,如方向的旋轉。而4X4矩陣的表示方法,信息有冗余,但是非常方便計算物體的運動。
下面考慮一個新的問題,如何一個物體繞給定軸旋轉旋轉給定角度后的狀態。例如繞(0,0,2)這個向量旋轉60°。 對于這個問題,用4X4矩陣就非常方便計算。
再進一步,如果一個復雜的有多個旋轉組成的操作又該如何計算呢? 這里又引入了一個和復數概念接近的四元數(quaternion)。利用四元數可以非常方便的計算剛體在三維空間的復雜運動。以繞V(1,0,0)旋轉θ為例,Q = (Cosθ/2, Sinθ/2(1,0,0)) = (Cosθ/2, Sinθ/2, 0, 0)。
今天先寫到這里,這個禮拜會陸續整理完成整個講座內容。 順便補充一下,日本在之前定下機器人發展戰略之后,國家投入大量的資源在機器人領域,將其作為戰略性的行業。在整個機器人研究領域,尤其是類人服務型機器人領域日本真的是非常的強大。無論是本田還是豐田又或是索尼都開發出世界領先的機器人。回頭看看我們,哎,年輕人寶貴的精力和創造力都只是為了換取一堆堆的鋼筋水泥。就算是國家投入資金發展高科技,換來的不是實在的技術,而是一堆創造性高度極低的“廢紙”。到頭來,估計還是得花錢向人買技術。悲哀!真是悲哀啊!
上一次復習到第三章
這一次將復習第四到第六章,這三章是robotik的重點。
第四章 直接運動學(Direkte Kinematik)
一個物體在BKS里的狀態(Stellung)能夠被清楚的描述。
旋轉軸是已知的。
各肢體(Armglieder)可以利用轉換矩陣相互描述。
本章將介紹如何根據各關節的變量值確定終端作業部(Endeffektor)在BKS中的位置。
(Direkte Kinematik/ Vorw?0?1rtsrechnung liefert zu Gelenkwinkel die Endeffektorstellung.)
(我的思考:在機器人基座相對BKS位置和各關節變量已知的情況下如何計算終端作業部相對于BKS的位置?尤其是對于既有線性關節又有旋轉關節的機器手來說,如果從基座開始,一個一個關節的位置按照六元組的模式計算的話會特別的麻煩。原因主要有對于不同的關節需要不同的計算公式等。而如果全部關節采用相對BKS的矩陣表示的話,又因為不知道各關節相對BKS的位置,而沒辦法由各關節變量直接得到。)
基本思路:
1,每個肢體都有各自的OKS。
2,對于每2個由關節相連接的肢體存在將各自所屬的坐標系進行轉換的轉換矩陣。
3,對于機器人基座(Roboterbasis)來說,存在一個相對于BKS的轉換矩陣。
4,對于終端作業部存在一個相對于最后一個肢體的轉換矩陣。
5,將經由所有肢體的轉換矩陣鏈接起來就可以計算出終端作業部在BKS中的位置。
Denavit-Hartenberg-Regeln DH規則
根據ai, αi, di 和 θi四個變量得到變換矩陣。具體規則就不細說了。總之前推算法(Vorw?0?1rtsrechnung)提供了一個唯一的描述終端作業部相對于BKS的狀態的變換矩陣。DH規則使得用四變量描述變換矩陣成為可能。
第五章 逆向運動學(inverse Kinematik/ Rückw?0?1rtsrechnung)
前一章是根據各關節的已知變量值求的終端作業部的狀態。而在機器人學的實際應用中,通常需要根據終端作業部的狀態來計算各個關節的變量值。例如,某個焊接機器手,要將終端作業部從當前作業點移動到下一作業點,就需要計算到達目標作業點時,各個關節的變量值是多少。
Vorw?0?1rtsrechnung : Bestimmen der Lage des Endeffektor für gegebene Gelenkparameter.
Rückw?0?1rtsrechnung: Bestimmen der Gelenkparameter für gegebene Endeffektorstellung (Position und Orientierung).
很明顯,對于傳動自由度(Getriebsfreiheitgrad) 大于6的機器人來說,在工作區域內,只要不處于邊界就都有多個逆推算法的解。
第六章 逐步逆向運動學
已知:想要的狀態變化(beabsichtigte ?0?2nderung der Stellung)
求: 關節變量值的變化(erforderliche ?0?2nderung der Gelenkparameter)
|