|
全部資料下載:
電路圖文件
仿生六足機器人硬件原理圖.pdf
(127.98 KB, 下載次數: 170)
2016-4-13 03:35 上傳
點擊文件名下載附件
描述:硬件原理圖
源代碼
robot-project.rar
(6.48 MB, 下載次數: 139)
2016-4-13 03:35 上傳
點擊文件名下載附件
描述:程序
教程
六足機器人-答辯論文.pdf
(1.99 MB, 下載次數: 136)
2016-4-13 03:36 上傳
點擊文件名下載附件
描述:
其他文件
仿生六足機器人 D-H數學模型 P.7-10.pdf
(234.1 KB, 下載次數: 109)
2016-4-13 03:36 上傳
點擊文件名下載附件
描述:D-H數學模型
以下是圖片預覽:
以下是預覽(無圖版)
本設計主要研究的是小型仿生六足機器人控制系統的開發,其采用自主設計 的控制器作為硬件平臺?刂破髦饕形⑻幚砥、驅動模塊、電源模塊、外圍擴 展構成。其中驅動模塊采用了分時復用的原理,將處理器的 3 路 PWM 信號擴展成
24 路,具有信號質量好、占用處理器資源少的優點。
在軟件層上,采用了 D-H 建模、三角算法、六次項軌跡規劃等算法來構建機 器人的運動的數學模型。在機器人的運動過程中,首先是由三角算法構建機器人 的運動步態,之后運用六次軌跡規劃算法模擬出六足動物的抬腿擺動軌跡,最后
經由運動學的求逆,運算出每個關節的旋轉角,進而模擬出六足動物的運動步態。
摘要................................................................................................................................ I
Abstract ........................................................................................................................ II
第 1 章 緒論.................................................................................................................. 1
1.1 機器人的發展史 .............................................. 1
1.2 仿生機器人的發展............................................. 1
1.2 仿生機器人的用途 ............................................ 2
1.3 仿生機器人的運動算法與控制的熱點............................. 3
1.4 仿生六足機器人的開發流程..................................... 4
第 2 章 仿生六足機器人的運動學計算...................................................................... 6
2.1 仿生六足機器的機構特點....................................... 6
2.2 機器人的位置運動學........................................... 7
2.3 D-H 參數法的簡介............................................. 7
2.4 仿生六足機器人的腿部正運動學計算 ............................ 8
2.6 仿生六足機器人的逆運動學 ................................... 10
第 3 章 仿生六足機器人的運動算法........................................................................ 13
3.1 運動軌跡的主要參數 ......................................... 13
3.2 六次項足跡規劃 ............................................. 13
3.3 行走步態設計................................................ 16
3.4 轉彎步態設計................................................ 18
3.4.1 原點轉彎 .............................................. 18
3.4.2 定點轉彎步態設計 ...................................... 19
第 4 章 控制系統設計................................................................................................ 20
4.1 控制系統概述及其要求 ....................................... 21
4.2 舵機原理介紹................................................ 21
4.3 下位機硬件開發.............................................. 22
4.3.1 主處理器的選型........................................ 22
4.3.2 驅動模塊設計 .......................................... 23
4.3.3 驅動模塊信號測試...................................... 24
4.3.4 電源模塊設計 .......................................... 24
4.3.5 下位機軟件架構........................................ 25
4.4 上位機軟件開發.............................................. 26
4.4.1 上位機軟件的主要功能.................................. 26
4.4.3 上位機軟件界面........................................ 28
4.5 誤差分析 ................................................... 29 結論.............................................................................................................................. 29 參考文獻...................................................................................................................... 30 致謝.............................................................................................................................. 31 附錄 1 機器人零件工程圖 ............................................ 30 附錄 2 驅動模塊 PCB .................................................................................................. 30 附錄 3 控制系統硬件原理圖....................................................... 錯誤!未定義書簽。
第1章 緒論
1.1 機器人的發展史
1920 年《Rossum’s Universal Robots》
由 Karel Capek 寫的劇本第一次在人類文學 上出現了機器人概念;隨后這個概念引來了 無數人的遐想,同時也造就了眾多有關機器
人的小說或是電影;而隨著人類科學技術的 不斷發展,人們驚訝的發現:遐想不在是遐 想,機器人已經在不知不覺中出現在人們的 生活生產里面[1]。
美國在 1954 年出現第一臺可編程的磁 控制器,其是有 Geoge Devol 開發設計的。 由于采用了示教再現的控制技術,使得其具有了在當時的優秀的可控性能。這標志著現代機器人已經初具雛形,隨后該技術 促進了機器人技術的發展,第一臺數控機床也緊跟著出現。
1955 年,D-H 建模開始出現在機器人領域,其運用了數學的矩陣變換來描述 機器人的姿態變換運動[2]。并由此推導出機器人運動的變換方程,人們稱之為 D-H 參數建模。隨著該模型的不斷發展,到現在已經成為了機器人建模最為簡潔的方 法之一。
隨著機器人技術更新的越來越快,機器人開始不再只是局限于工業領域,機 器人開始在一些非工業領域嶄露頭角,如在一些高危行業,如災難發生現場、復 雜地貌地區、非人類居住區域等等。
這些有人類不可完成的任務,用機
器人卻可以達到很好的效果。如圖
1-1 與圖 1-2,都是機器人技術的在 非工業領域的具體運用。圖 1-1 是 輪式機器人在外星球執行影像、土 壤、氣體等資料的收集;圖 1-2 是 美國的全地形六足機器人,其可以 在輪式機器人與履帶式機器人無法 到達的區域執行任務。
1.2 仿生機器人的發展
圖 1-2 美國全地形六足機器人
現代機器人由于一開始是出現在工業領域,其對自然環境的適應力較為底 下,而隨著人類的需求的不斷的擴大,現代機器人開始模仿自然界的動物的肢體 結構或是行為模式來設計,以便增強機器人的自然環境的適應能力。由于生物的 自然進化經過幾億年的自然選擇,其本身就具有極大的研究性,這對現代機器人 的技術的更新起到了重要的作用。
仿生機器人的誕生是多種學科融合的結果,涉及仿生學、人工智能、力學、 傳感技術、機構學、微電子學、控制學、信息科學、計算科學等學科知識[3]。仿 生機器人不僅具有傳統機器人的特點,也具有生物運動的部分特點,這使其的運 行效率大大增加!
自然界的生物種類有很多,仿生機器人的種類也相對較多,但一般分為兩類: 類人型、非人型。在當代的仿生機器人技術的前沿,類人型機器人主要研究的是 仿人型的行走姿態的變換、指關節運動的變化、手臂運動等姿態。非人型仿生機 器人主要研究集中在陸地昆蟲、深海魚類、空中飛行等方面。
1.2 仿生機器人的用途
在自然界存在許多人類無法正常到達或是會對生命產生危險的場合,如礦難 發生地點、月球表面、恐怖組織活動區域等等。為了對這些危險區域進行探測與 研究,通常需要運用機器人來滿足人類的需求。而這些區域通常都是凹凸不平、 地勢不規則,在人類還沒有對仿生機器人進行大規模研究的時候,都是運用輪式 機器人與履帶式機器人來進行探測。雖然輪式機器人在平坦的路面上具有很高的 機動性與靈活性,但是在松軟的地面上,輪式機器人的適應力卻極差。為了改善 機器人在松軟地面上的適應力,人們采用了履帶式機器人,但履帶式機器人在凹 凸不平的路面上其可控性、平穩性仍然很差。尤其是在一些地貌復雜區域上,輪 式機器人與履帶式機器人的能耗都將大大的增加,平穩性、可控性能也大大降低。
雖然仿生多足機器人在平穩性與適應性上有明顯的優勢,但是由于使腿部協 調穩定運動從機械結構設計到控制系統算法都比較復雜,相對于自然界的節肢動 物仿生多足步行機器人的機動性還有很大差距。
隨著現代仿生學技術的不斷發展與完 善,仿生機器人的用途必然隨著人類發展而 越來越廣泛,仿生多足機器人已經在多變的 地貌上展現實用價值,與當代科學技術所生 產的常規的機器人相比,仿生多足機器人在 這方面擁有難以超越的實用性與方便性[4]。 由于仿生多足機器人的運動的時候是點接 觸,是一系列離散的點,它可以在行走經由 算法處理而選擇最佳的路徑行走[5];一個很 顯著的特點就是仿生多足機器人可以通過 算法主動隔振,通過對機身運動姿態、運動 足跡的解耦,做到機體姿態的相對平穩;由 于是離散的點,仿生多足機器人在不平地面 與松軟地面的能耗也相應減少,而且運動速 度較快。正是由于這些特點,仿生多足機器人在戰地偵查、行星表面、災難救援運用的越來越廣。
如圖 1-3 是美國 iRobot 公司研究院開發的美國大狗,其具有良好的運動性 能,能在復雜的地貌上執行任務。即使受外力干擾,如遭到人類的猛踢、地面打 滑等,它也能經由傳感器向中央處理器發送數據,經過運算后,自動校正自己的 姿態,使自身不會跌倒。這些性能保證了美國大狗能在戰場上運送物資、執行一 些人類不能執行的任務,具有極強的實用性。
1.3 仿生機器人的運動算法與控制的熱點
雖然仿生學在不斷完善,但是由于一些基礎理論并沒有得到有效的解決,當 代的技術并不能很好的仿生出動物的運動性能。但是隨著越來越多的研究人員關 注,仿生機器人運動算法與控制發展的越來越好。
多足步行機器人是仿生機器人的一個重要分支,因為其能在復雜的地面上行
為了能自主處理在不同的環境中運動姿態,多足步行機器人必然需要一個步 態控制系統,步態控制系統主要分為力控制與位置控制,都是經由動力學的數學 模型而來。由于采用了動力學的數學模型,多足步行機器人的控制系統能對生物 的運動姿態進行較為真實的仿真;谶\動學的逆運動學的控制算法,能實現分 層次控制。例如將多足機器人分為腿部模型與機體模型,在底層能操縱多足機器 人的每一條腿,在高層次上能實現機體運動姿態的控制。
1.4 仿生六足機器人的開發流程
在本文中主要研究的是仿生六足機器人的控制器開發,其采用了多種先進 技術,有仿生學原理、電子技術、單片機技術、運動控制、數學建模仿真、數據 處理等等。在仿生機器人領域,采用了算法控制的仿生六足機器人,在運動上更 加逼近以真實生物,使得仿生六足機器人的運動更加平穩、順滑。
在開發過程中,首先運用了三維建模軟件,構造機器人的三維實體模型;再 構建數學模型,對仿生六足機器人的運動方式進行了仿真與分析,并采用了六次 項軌跡算法構建仿生六足機器人的運動軌跡;之后采用電子技術、單片機技術等, 將六足機器人的控制模型與控制方式以程序的方式加載在控制器中;最后對控制 模型進行調試與調整。
圖 1-4 仿生六足機器人的開發流程
① 數學模型的建立
仿生六足機器人的六條腿的每條腿的結構都是一樣且都為三軸串聯型結構, 所以只要分析一條腿的數學模型就可以得出仿生六足機器人的腿部的數學模型。 但是如果要構建姿態變換的數學模型,是要構建并聯型機器人的數學模型,就不 能單單只分析一條腿,而是要整體進行分析。
② 控制器的功能分析 控制器實際上是包含了微處理器、驅動模塊、電源模塊、外圍模塊等等的硬
件。因為處理器的計算結果位數都是有限的,像本中采用的 ARMstm32 芯片, 其運算結果可以精確到小數點后 7 位,基本可以滿足運動控制的需求,如果是需 要更高精度的計算,可以采用 DSP 芯片。
③ 誤差與校準分析 在仿生六足機器人的機械結構裝配過程中,是存在著一定的裝配誤差的。有
時候,運動部件的齒輪的嚙合也會造成一定的裝配誤差。而微處理器的計算結果 由于運算精度的問題,也會產生誤差。為了盡量的克服這些裝配誤差造成的運動 精度的下降,就必須對這些誤差進行校準。
本章小結
仿生機器人由于具有自然環境的生物的一些特性,相對于輪式、履帶式機器
人,其具有的優勢是無可比擬的,如仿生機器人可以運用在自然環境惡劣的情況 下,完成人類無法執行的任務。但是仿生機器人由于其行走的的復雜性,其控制 系統更為復雜。在仿生機器人領域,雖然仍有一些基礎理論并沒有得到有效的解 決,但相信隨著人類技術的發展與需要的不斷擴大,相信其會發展的越來越好。
第2章 仿生六足機器人的運動學計算
2.1 仿生六足機器的機構特點
圖 2-1 螞蟻的身體結構圖
仿生六足機器是以自然
界的多足生物為原形而建立 起的模型。如圖 2-1 是螞蟻 身體的結構示意。本文中的 仿生六足機器人的研究忽略 了腿部末端的跗節與刺爪, 只研究仿生六足機器人運動 的時候主體結構與基節的轉 動角度、基節與股節的轉動 角度、股節與脛節的轉動角 度,這三個角度。多足生物 末端的跗節、刺爪主要的作
用是抓附,或者是微小動作的操作,而在本文中主要研究的是多足生物的運動姿 態問題,故在此不做詳細分析。
仿生六足機器人是由機體和六條腿所組成的,機體與腿部通過運動部件相連 接。六條腿通過一定的布置規則安放在機體上。仿生六足機器人的腿部與三自由 度工業機械手相類似,都是串聯型結構。從整體上看,仿生六足機器人是并聯型 結構。
2.2 機器人的位置運動學
一個物體在在三維空間可以采用基坐標系與在物體上固連一個坐標系來表 示,基坐標系為已知,基坐標系與物體的固連坐標系關系為已知,這樣一個物體 的位置與姿態就可以通過與基坐標系的相對關系來表達。
如果采用矩陣來表達,就是:
n、y、x 通常這三個單位向量互相垂直,在矩陣中,每一個單位向量都有它
們所在的基坐標系中的三個分量表示,其意義是表達著物體的姿態。 px、p y、pz
表達著物體在基坐標系的位置。該矩陣是齊此變換矩陣,最后一行為比例因子。 機器人是一種開環結構。當機器人的關節變量為已知的時候,我們可以通過 正向運動學通過數學推導得出其末端執行器的位姿;當我們只知道機器人的末端
位姿的時候,可以通過逆向運動學的求逆,得出機器人的關節變量。 正如前面的所描述的,固連在物體上的坐標系的原點有三個自由度,我們只
需三條信息就可以將其確定下來。故,坐標系的原點可以采用任意的坐標系來描 述,而機器人的運動則可以通過在坐標系中的運動來描述。常用的坐標系描述有:
① 比卡爾(直角)坐標
② 圓柱坐標
③ 球坐標
④ 鏈式(旋轉)坐標
在這里我們采用的是鏈式坐標,在后面的 D-H 參數法建模中,會詳細談論。 其它坐標,在此不做討論。
2.3 D-H 參數法的簡介
仿生六足機器人的運動數學建模采用的是 Denavit 和 Hartenberg 提出來的 標準方法,稱為 D-H 模型,D-H 建模方法適用于任何復雜的機器人建模[2]。
通常機器人都是有旋轉關節、滑動關節等組成的,而連桿的長度則是根據需 求來制定的即是長度是可以任意的。在構建機器人的數學模型時,首先要做的就 是固連一個參考的坐標系,然后就是選擇最簡便的變換順序,把坐標從第一個的 關節變換到最后的關節。
圖 2-2 D-H 參數法關節標注
2.4 仿生六足機器人的腿部正運動學計算
若一個機器人的結構是 由很多個的關節與連桿組 成,且依次連接的三個關節 能在坐標系中通過變換互相 轉換;可將第一個關節為關 節 n,依次類推為關節 n+1、 關節 n+2,同時稱在 n 與 n+1 之間的關節為連桿 n,依照 順序為連桿 n+1、連桿 n+2。 至于矩陣變換,將在仿生六 足機器人的腿部正逆運動學 計算詳細講解[2]。
圖 2-3 腿部簡化模型
法則確定 Z 軸的方向。在關節 1 處的 Z
軸為 Z 0 ,依次類推。
在確立了 Z 軸后,繼續建立 X 軸。 X 0 的方向可以自由設定,但 X 1 的方向 由 Z 0 指向 Z1 的垂線所確立, X 2 也類 似。 X 3 - Z 3 坐標系固連在簡化模型尾
端,由于尾端沒有接其他關節,故
X 3 - Z 3 坐標系與 X 2 - Z 2 坐標系坐標系
如圖 2-3 是仿生六足機
器人的腿部簡化模型。由于只 有三自由度,其只有位置,而 沒有姿態。
仿生六足機器人的腿部簡 化模型有三個關節,確定其旋 轉的正方向。
如圖 2-4 在確定關節的旋
轉方向之后,以每個關節的旋 轉軸心為 Z 軸,并以右手旋轉
圖 2-4 腿部簡化模型結構簡圖
一樣,即從 X 2 - Z 2 坐標系平移至 X 3 - Z 3 坐標系,其姿態不變。建立坐標系后,
將參數導入 D-H 表即表 2-1。
參數說明:
θ n 為 X n 1 繞 Z n 1 旋轉至與 X n 平行的旋轉角度。
α n 為 Z n 1 繞 X n 1 旋轉至與 Z n 平行的旋轉角度。
d n 為 Z n 1 與在 Z n 軸上分別做的兩條公垂線的距離。
a n 為 Z n 1 與 Zn 的垂線距離。
變換順序為:
① X n 1 繞 Z n 1 旋轉至與 X n 平行。
② X n 1 -Z n 1 平移至 X n -Z n 坐標系。
③ Z n 1 繞 X n 1 旋轉至與 Z n 平行。
從變換順序可得知,每次的坐標系的變換都是按當前坐標系變換,即在最終
變換的時候都是矩陣右乘。從關節 1(即基節,以此關節的坐標系作為基坐標系) 變換到關節 2 得 A 1 ,依次變換到關節 3,可得 A 2 、A 3 。
依據 D-H 表,將參數代入變換矩陣 A 中。
得到每個關節的變換矩陣后,可得到從關節 1 變換到關節 3 的最終變換:
式(2-8)表達的數學意義是:在三個關節的旋轉角度為已知的前提下,通 過正向運動學的計算,可以推導出仿生六足機器人的腿部簡化模型的尾端位置。
2.6 仿生六足機器人的逆運動學
在上節式(2-8)表達的意義是在知道每個關節的旋轉角度后,就可以求得 仿生六足機器人的腿部簡化模型的尾端位置。也可以依據兩矩陣的關系得到尾端 坐標系的姿態,而建立矩陣的最終目的并不在此,而在于矩陣的逆求解,即逆運 動學解,其意義是在仿生六足機器人的簡化模型的尾端的位姿為已知的情況下, 求得每個關節的旋轉角度。
在上面的運動方程中,有很多角度是耦合在一起的,這就必須從矩陣中提取 足夠的元素來解耦,如 a3S1C2C3 a3S1S2 S3 a2 S1C2 a1S1 。
為使角度解耦,可以采用矩陣
式(2-12)、(2-14)、(2-17)這三個角度的函數關系式表達的數學意義是: 在已知仿生六足機器人的腿部簡化模型的尾端位置的前提下,可以通過逆運動學 的計算推導出仿生六足機器人的腿部的關節旋轉角度。
本章小結
仿生六足機器人的腿部屬于串聯型結構,通過對其正逆運動學的求解,可以 求得其關節旋轉角與腿部末端姿態的函數關系式。由這些函數關系式,就可以對 仿生六足機器人的腿部運動進行運動控制。
第3章 仿生六足機器人的運動算法
3.1 運動軌跡的主要參數
仿生六足機器人在地面上行走時,依靠的是腿的運動變換來實現的。尤其是 在復雜的地面上,對腿的擺動軌跡有著很高的要求。因此在設計的腿的擺動的時 候,必須考慮幾點重要參數:
① 運動軌跡曲線的高寬比[6]。該值可以直接體現出仿生六足機器人的單腿 的運動特性。該值越大,仿生六足機器人的運動能力就越高。但是該值也會影響 仿生六足機器人的運動速度,該值越大,仿生六足機器人的運動速度也會相應變 慢。故,在設計之初就應該考慮一個合適的值,在運動能力與運動速度兩者之間 有所收放。
② 運動軌跡曲線的弧長[6]。當弧長的寬度固定時,軌跡曲線越長,則仿生 六足機器人的單腿在空中滯留的時間就越長,相應的仿生六足機器人的運動速度 就會變慢。但是,如果該值過低,會影響仿生六足機器人越過具有一定高度的障 礙物的能力。
③ 運動軌跡曲線的運算復雜程度[6]。當運動軌跡曲線所限制的參數越多, 其的運動軌跡曲線將會加強仿生六足機器人的運動特性,但是與之相對應的是其 運算復雜性會成幾何級數增長。運算越復雜,處理器產生的誤差也會越大。因此 在選擇運動軌跡的步態算法時,要優先考慮中央處理器是否能勝任,產生的誤差 是否在可允許范圍內。
3.2 六次項足跡規劃
在仿生機器人的領域,通常都是將多足機器人的腿部運動末端的從支撐面抬 起再到降落至支撐面的過程叫為擺動相,這一過程中所產生的曲線就是上一節所 說的仿生多足機器人的運動軌跡曲線。從支撐面抬起那個點稱為起始坐標,降落 至支撐面的那個點稱之為終點坐標。在設計擺動相的時候,不僅僅只是限制其起 始坐標、終點坐標,還要限制其他幾個重要參數,如:中點坐標、起始速度、終
度、中點加速度等參數。 在上一節的仿生六足機器人的單腿的擺動設計中,可知:當運動軌跡曲線
所限制的參數越多的時候,其運算復雜程度也會越大。由數學知識可知,越高次 數的多次項所擬合的曲線越精確。而仿生六足機器人的腿部末端的軌跡曲線可以 由下面的多次項來表達:
將約束條件代入(3-1)式中,并解方程就可以得出系數矢量。在文獻[3,96-97]
中由于求解方式繁瑣且不明朗,不適合實際運用。故在這里采用 MATLAB 高級科 學計算器來求解,代碼如下:
3.3 行走步態設計
仿生六足機器人的運動是要協調多條腿來共同完成的,為了維持其在運動時 的穩定性,采用“三角算法”來設計其行走步態[5]。
所謂的“三角算法”即是仿生六足機器人在行走的時候是有三條腿作為支撐 點的,仿生六足機器人的重心穩定在三條腿組成的三角形中,另三條腿處于擺動 狀態中。
在仿生六足機器人執行行走、轉彎時,每條腿都是分成兩部分動作來完成的, 第一部分是抬腿擺動相,第二部分是支撐摩擦相。
仿生六足機器人在行走步態時有三個重要參數:t1 抬腿擺動時間參數、t2 支 撐摩擦時間參數、t3 中繼時間參數。其中中繼時間參數是包含在在擺動相與支撐
摩擦相的時間參數內。當中繼時間參數為 0 時,表達的意義是完成抬腿擺動相后 才進行支撐摩擦相;當中繼時間參數大于 0 時,表達的意義是在抬腿摩擦相運行 至 (t1 t3 ) 時,支撐摩擦相就開始進行;當中繼時間參數小于 0 時,與中繼時間運
動步驟參數大于 0 相反。
通常 t3 時間都設為 0,其用途是增加支撐腿的摩擦力,或是減少仿生六足機
器人行走時完成一個步態的時間,在此只分析 t3 為 0 時的情況。
如圖 3-1 至圖 3-4 是仿生六足機器人的運動的簡圖,在這里將每個腿都看出 是一個整體,其關節變化不做分析。將腿分為兩組,A 組與 B 組。
圖 3-1 仿生六足機器人行走時腿部姿態變換
(a)站立姿態 (b)A 組腿運動 (c)B 組腿運動 (d)A 組腿運動
圖 3-1(a)是仿生六足機器人的站未進入行走步態時的站立圖,此時的重心位
于坐標中心點.
當仿生六足機器人處于行走步態時,其的腿的擺動順序可由 A→B,或者是 由 B→A。這里的腿的擺動順序并不會影響仿生六足機器人的步行的效果,故在
這里只分析 A→B 的擺動順序,B→A 的分析也與之類似。
圖 3-1(b)是仿生六足機器人從站立姿態向行走步態轉換是的第一個步態,A 組腿此時都處于抬腿擺動相中,B 組腿為支撐腿。從圖中可以看出仿生六足機器 人此時的重心位于由 B 組腿即是支撐腿所組成的三角形中。
圖 3-1(c)是當 A 組腿的抬腿擺動相完成,支撐摩擦相開始執行時,B 組腿的 抬腿擺動相也相應開始。在圖中我們可以看出隨著 A 組腿的支撐摩擦相的變化, 仿生六足機器人的重心都是穩定在由三條腿組成的三角形內,在仿生六足機器人 的原點 Y 軸上變化,其變化幅度與其一個步態的行走距離相關。
圖 3-1(d)是與圖 3-1(c)的運動效果相似,只是抬支撐摩擦相變為由 B 組執 行,A 組進行抬腿擺動相。即是此時又變換為了圖 3-2 所示的運動效果,這樣不
斷的往復循環,構成了仿生六足機器人的行走步態。從圖 3-1(d)中可以看出仿 生六足機器人的重心的變換跟圖 3-1(c)是一樣的。
當已知行走步態一個步態的行走距離與仿生六足機器人的初始的時候六條 腿相對腿的三維坐標值時,由以上的分析可以得出抬腿擺動相結束后相對于腿部 坐標軸的坐標值,由此可以由六次項規劃對軌跡進行求解,再有腿部的數學模型 求解出關節的旋轉角度。
3.4 轉彎步態設計
3.4.1 原點轉彎
所謂的原點轉彎,即是仿生六足機器人繞著其自身的中點自轉,其與之前 的行走步態相類似,都是由抬腿擺動相、支撐摩擦相組成,但是其軌跡的求解比 行走步態較為復雜。在上一節,已經指出仿生六足機器人的行走、轉彎都是兩部 分組成的,即抬腿擺動相,支撐摩擦相。當仿生六足機器人由站立姿態向原點轉 彎步態變換的時候,若先是 A 組腿先執行抬腿擺動相,其繞原點的旋轉的順序與 優先由 B 組腿執行的順序剛好相反。
(a) (b)
圖 3-2 仿生六足機器人原點轉彎時腿部姿態變換
(a)站立姿態 (b)A 組腿抬腿
如圖 3-2(a),為仿生六足機器人的站立姿態,從圖中可以看出:在仿生六
足機器人的初始設置中,其六條腿的站立點都是在以仿生六足機器人的中心為原 點的圓中。當仿生六足機器人原點轉彎時,其每條腿都是在這個圓上運動的。由 于仿生六足機器人是以點來支撐的,其每個步態的軌跡并不需要如圖中為一段圓
弧,在這里拆分成長度為 width 的直線一斷斷來逼近圓弧,這樣可以減少運算量, 在下面的章節分析中,也做類似的處理。
圖 3-2(b)為仿生六足機器人由站立姿態向繞原點轉彎步態變化時的第一步。
從中可以看出其與行走步態時相類似,不過其軌跡的投影是與 Y 軸成一定角度的 為 3 ,通常在繞原點轉彎時,其步態的行走距離是已知的。只要求解出 3 ,在 已知起始點的位置坐標,就可以求解出仿生六足機器人的腿部在抬腿擺動相結束 時所處的位置坐標。
因仿生六足機器人的每條腿在原點轉彎時,其運動類似,在這里只分析 A1 腿ɑ的求解。如圖 3-2 中 d1 是 A1 腿部末端原點坐標軸上 Y 軸的投影;d2 是 A1 腿部在 Y 軸的投影;d3 是 A1 腿部中點到原點的距
離;width 是繞原點轉彎時一個步態的行走距離。 這些參數都是在機構設計與初始化參數設置中已
知的。設 A1 腿末端的初始點的相對于腿部的坐標 軸為 x, y (因高度在初始與結束后不變,在此忽 略 z )。由坐標變換可得 x0 , y0 相對于原點的坐標 為 x d 3, y d 2。r 是原點到 A1 腿部末端的距離,
也是仿生六足機器人在原點轉彎步態中腿部末端
圖 3-2 A1 腿角度分析
所在點的圓的半徑。依圖與幾何知識可得:
由以上三式可得仿生六足機器人的 A1 腿的抬腿擺動相結束后相對于 A1 腿部 坐標軸的坐標為:x0 width * sin 3, y0 width * cos 3 。由此可以由六次項規劃 對軌跡進行求解,再有腿部的數學模型求解出關節的旋轉角度。
3.4.2 定點轉彎步態設計
在自然界中,生物的轉彎姿態除了有繞原點轉彎外,還有繞一定點轉彎,與 汽車轉彎相類似,繞一定點進行一段軌跡為圓弧的運動。其的步態跟上一節的原 點轉彎步態有一定的相似性,一個步態也是分為抬腿擺動相、支撐摩擦相,但是 由于繞的點不再是原點,其軌跡點變得更為復雜。
如圖 3-3 為仿生六足機器人由站立姿態向繞一定點轉彎步態的第一步,從 圖中可看出 A1 組的是繞定點 o 在作半徑為 r1、r2、r3 的圓弧運動(在仿生六足 機器人的機構設計中,為對稱結構,故 r1 r2 )。
圖 3-3 A 組腿抬腿
由幾何知識可知: width1 r1 。其相對坐標值的求解與上一節是類似的,
width 3 r3
都是由已知的機構參數與初始化坐標參數來求得夾角,再求得相對坐標值。 但是由于是繞定點轉彎,其 A3 腿的運動方向與上一節是有所不同,在此因引起 注意!
本章小結
仿生六足機器人的運動過程中,涉及一個六次項方程的求解,通過該六次項 曲線擬合,可以模仿出六足動物運動時的抬腿擺動相。通過對在“三角算法”上 設計出了機器人的在運動時的行走步態、轉彎步態等。
4.1 控制系統概述及其要求
仿生六足機器人的控制系統是嵌
入式控制系統。其是下位機軟硬件采用 的是 keil MDK 開發環境,主處理器采 用的是 stm32 單片機;其上位機軟件是 基于 Visual Basic 6.0 的開發環境所 開發的采用串口通訊的控制軟件。
如圖 4-1 是仿生六足機器人控制
系統的架構圖,其中的工作原理是:主 處理器負責算法計算,并將處理的結果 發送至驅動模塊,驅動模塊集成了源,可以直接驅動運動部件即關節按照主處理器的指令進行旋轉運動;上位機軟 件通過通訊模塊與主處理器進行實時的通訊,上位機軟件將指令發送至主處理器 后,主處理器會返回數據給上位機軟件,并將指令下達給驅動模塊、外圍器件; 外圍可擴展器件是可選擇安裝的器件,在硬件方案設計的初期已經考慮到了外圍 器件的可擴展性,故預留了較多接口,可自行擴展所需要的硬件。
由于仿生六足機器人在運動的時候是 18 個關節協同運作,其控制難度相比 普通的輪式機器人更為復雜。這就對控制系統提出了一定要求,具體為:
① 實時可控性。仿生六足機器人的運動是由 18 個關節協同完成的,其工作 的時候如果指令發送時間有較大的誤差的,將會嚴重影響仿生六足機器人的運動 性能。而且仿生六足機器人運動時,其每個關節的旋轉量是有所不同的。故對驅 動模塊發送指令有一定的實時可控性的要求。
② 運算速度較快。仿生六足機器人在運動的時候,其軌跡點都是由數學方 程式運算所得,再加載到仿生六足機器人的數學模型中,如果控制系統運算速度 過慢,將會導致仿生六足機器人的運動滯瀉。
③ 人機界面的友好性,即是對上位機軟件的界面有一定的要求。人機界面 是交互界面,它可以將人類的控制意圖直接傳送給控制系統,而人類也可以通過 人機界面了解控制系統當前的狀態。這就對人機界面提出了一定的要求,其必須 簡單明了,不能由于人機界面的過于復雜,而造成控制錯誤。
④ 外圍器件的可擴展性。如圖計算機升級一樣,控制系統隨著研究的不斷 深入,也需要升級,這時就必須有一定的接口來滿足升級的需求。
4.2 舵機原理介紹
圖 4-2 舵機結構
仿生六足機器人運動的的時 候是需要關節進行驅動的,由于 是小型機器人,這里采用目前在 航模上運用較多的舵機來作為運 動關節。舵機具有小巧、驅動力 矩大等優點,很適合小型機器人 的原形機開發?刂葡到y的驅動 原理是依據舵機而開發,故在此 有必要對舵機的原理做簡單介 紹。
如圖 4-2 是舵機的結構圖,其里面集成了信號接收裝置、電機、減速裝置等。 常用的舵機的有數字信號與模擬信號之分,模擬舵機的信號要補間斷保持,,而 數字舵機只需在改變的時候發送數字信號,且多個舵機可同時聯線。在本文中采 用的是改進的數碼舵機,其本質仍為模擬舵機(加了自保持信號裝置)。在此僅 對模擬舵機做簡單的介紹。
舵機的轉動角度是由信號接收裝置對信號與當前角度的做過對比之后,若與 當前角度值有所不同,就經由直流電機帶動減速裝置,在減速裝置上有一個電位 器(相當于位置傳感器),當達到信號預定位置后,電機停止轉動。
舵機接受的信號是周期為 20ms 的脈沖調制信號即是 pwm 波,其脈沖寬度多 為 0.5ms- 2.5ms,對應的舵機的轉動值為 0 至 180 度。當信號固定為某一個值 后,舵機的轉動就會固定在對應的位置,只要外界所加力矩不超過舵機所能承受 的最大轉動力矩,其會一直保持該狀態,直至信號改變。
圖 4-3 舵機 pwm 信號脈寬與轉動角度對照表
4.3 下位機硬件開發
4.3.1 主處理器的選型
在上一節的中已經提出了對控制系統的要求的,依照要求選擇了意法半導體
的 stm32F103 增強性單片機作為處理器,其是一種高性能、成本低、功耗少的
Cortex-M3 內核的單片機。該系列的單片機是 32 位單片機,其時鐘頻率達到
72MHz,可超頻至 144MHz,其內置 32K 到 128K 的內存,內置多個外設接口,可 進行多種不同的擴展處理[8]。
即使是后期對處理器有更高要求,也可以選擇 Cortex-M4 內核的意法半導體 的單片機,這種單片機內部集成了 DSP 算法,運算速度有顯著提升,但價格較貴, 由于都是同一公司生產的單片機,對于程序的移植有一定的方便性。
圖 4-4 stm32 最小系統供電方案
如圖 4-4 是 stm32F100xx 系列最小系統供電方案,其只需外圍接幾個電容,
加個 3.3V 電源就可以正常工作,其硬件設置簡單方便,便于開發[8]。
4.3.2 驅動模塊設計
驅動模塊在整個硬件設計中,其難度最高。由于要考慮到控制的系統的實時 性、干擾性,又要考慮到對主處理器的端口資源的占用度,這對驅動模塊提出了 很高的要求,市面上同類的驅動器基本都是直接利用單片機的端口發送指令,資 源利用效率極低。這里采用創新設計,利用分時復用原理通過外圍芯片來擴展信 號的輸出。
對于驅動模塊,設計了以下兩個方案:
① 采用 74HC573 八進制 3 態非反轉透明鎖存器,stm32 輸出 8 路 pwm 信號, 用 3 個管腳分別控制 74HC573 的輸出使能端,每 20ms 更新一次數據?奢敵 24 路 pwm 信號[9]。
② 采用 74HC595 移位寄存器,stm32 輸出 4 路 pwm 信號,用 2 個管腳輸出 spi 協議數據,對 3 個 74HC595 輸出通道進行選擇。每 2.5ms 更新一次數據? 輸出 24 路 pwm 信號。
在實際測試中發現方案一雖然占用 cpu 資源少,但是 8 路 pwm 信號同時輸出 會有信號失真的現象發生,且占用管腳較多,不利于后期擴展設計。只能放棄該
方案。
在對舵機的原理分析的時候,發現只要在 20ms 的周期內對舵機發出一個 pwm 信號(最大脈寬為 2.5ms),舵機就能對 pwm 信號進行識別。也就是說對一個舵 機來說其實質的信號范圍為 0-2.5ms,剩余的 17.5ms 可以利用高低電平來補足。
基于以上發現,設計了方案二。在實際測試中,該方案表現出色,輸出信號 質量高,占 cpu 資源較少,占用管腳少,有利于后期擴展設計。故采用該方案。
4.3.3 驅動模塊信號測試
由于舵機的接受信號是 20ms 周期內才有效的,在驅動模塊設計完畢后,有 必要對驅動模塊的信號輸出做一定的測試。
如圖 4-5 是驅動模塊的信號周期的測試在示波器上的波形圖,從圖中可以看 出其波形為標準的 pwm 波,波形除了一些外部干擾外,其余皆正常,周期也穩定在 20ms 左右。
如圖 4-6 是隨機選取一個信號接收點對信號測試的波形圖。在該信號點上 stm32 單片機的 pwm 設置參數是:自動重載值為 1000,預置分頻值是 180(在主 頻為 72MHz 情況下)。在上一節的方案選擇中,已經指出采用的是分時復用的原
理,stm32 單片機發送的周期是 1000 *180
72000KMz
= 2.5ms ,經驅動電路處理后擴展出的
信號周期是 20ms。故在做信號測試對比時是截取 2.5ms 的周期。在該信號點上
stm32 發送的 pwm 值是 622,即其占空比為
622 = 0.622 。由示波器上多得數值計
1000
算示波器上的 pwm 的占空比為 1.56 = 0.624 ,可得其誤差為 0.2%,信號質量優秀。
2.5
4.3.4 電源模塊設計
由于六足機器人的基本關節就有 18 個,而單個舵機的最大供電流需達到
250ma,總共需要 6000ma 電流,電源電流較大。這對電源的效率、穩定性、散熱 都提出了要求。故電源模塊設計了以下三個方案。
① 直接利用多個二極管直接降壓,但是進過測試發現,這樣二極管發熱量 較大,且不具有限流保護作用。故放棄該方案。
② LM4600 是小型 DC-DC 大電流供電模塊,最大電流可大 10A,其采用 LGA 封裝,具有外形尺寸小、輸送電流大、速度反應快等優點,尤其是在瞬態電流變 化上具有出色的反應能力。LM4600 由于只有 2.8mm 可以方便的集成在電路板上,
很適合本文中的小型機器人的開發,但是其價格偏高,單個需 100 多 RMB; 成本考慮,放棄該方案。
圖 4-7 LTM4600 與硬幣比較
③ LM 2596 是國內現行使用較多的低成本開關電源,最大能輸出 3A 驅動電
流,其內部集成了電源管理芯片,具有良好的線性和負載調節的特點。其對于外 圍器件要求相對較低,只需 4 個外圍元件就可以搭建成一個開關電源。且其可以 選擇標準的電感,這大大簡化了硬件設計難度。其封裝有 DIP 封裝與 SMD 封裝, 可以很方便的集成在電路板上。
該器件還可以獨立控制電源的關 斷,或是由芯片內部的電源管理
芯片控制,當電流過載或是溫度 過高時可以自動切斷。這些特性 可以大大降低舵機因為電路問題 而導致損壞的可能性。
經過方案比較與成本考慮, 最終選擇了 LM2596 開關電壓調節
圖 4-8 LM2596 的典型應用 5V 輸出
器。基于保證舵機的安全性,并沒有采用擴流管擴流的設計方式。而是采用 24
個舵機分為 3 組,每組由一個 LM2596 模塊獨立供電的方式。
圖 4-9 下位機軟件架構
如圖 4-9 是下位機的軟件架構圖,它的主要工作原理是:
① 由通訊模塊接受來自上位機的指令或是硬件輸入模塊的接受到指令;
② 經由指令處理模塊處理后,發送參數給步態規劃模塊,步態規劃模塊發 送每一個步態所需參數給六次項軌跡運算模塊;
③ 六次項軌跡運算出步態所需的三維參數坐標,經由 D-H 模型運算模塊運 算后得出每個關節的旋轉角;
④ 旋轉角參數由底層驅動模塊加工后以 pwm 波的信號形式發送給舵機; 存儲模塊工作在開機初始化或是存儲數據需要刷新時。在開機初始化的過程
中,將存儲芯片預置的參數傳入指令模塊中;當存儲數據需刷新時,指令處理模 塊發送指令到存儲模塊,經由存儲芯片的協議將數據寫入存儲芯片內;
外圍擴展模塊包含了一些外圍器件連接處理器的驅動協議,如 spi、iic 等 協議,當需要擴展外圍器件時,只需要調用這個模塊就能快速的開發新的功能。
4.4 上位機軟件開發
4.4.1 上位機軟件的主要功能
由于技術的限制仿生六足機器人并不能完全自主的執行動作,必然需要人類
系統的功能需求分析,設計了如圖 4-10 的上位機軟件的人機界面交互的功能圖。 在這個界面可以對仿生六足機器人的許多參數進行設置,如在步態執行時所需的 步距、時間,在進行轉彎步態時所需的轉彎半徑等等。這些參數在上位機軟件的 加載的時候已經設定了初始化的參數值,可以方便的對這些參數進行調整。這個 界面同時也提供實時的控制功能,可以實時的對步態進行轉換。
圖 4-10 上位機軟件功能框圖
4.4.2 上位機軟件的數據收發
仿生六足機器人的上位機軟件是基于 Visual Basic 開發環境,采用 Basic 語言所開發出來的。Visual Basic 簡稱 VB,具有易上手,編程直觀等特點。對 于小型程序的開發采用 VB 比采用 VC++具有更快的開發的速度,更小的開發難度。
上位機軟件采用 VB 的 MSComm 控件與電腦串口構成軟件的通訊接口,MSComm
采用事件驅動模式,當 MSComm 控件的接 受緩沖區接受到數據后,MSComm 控件就會 捕獲事件并進行處理,然后有上位機下達 處理指令[10]。
如圖 4-11 是仿生六足機器人的上位 機軟件的流程圖,其中主要利用的就是 VB 的 MSComm 控件來進行數據收發。當下位 機向上位機軟件接受緩存區發生數據是,
MSComm 控件就會因該事件而觸發,當數據 接收完畢后,有軟件進行數據處理,在顯
27
圖 4-11 上位機軟件流程圖
示窗口顯示處理結果;當由于鍵盤或是鼠標對上位機軟件的參數進行更改后,會 觸發數據處理指令,把當前的指令生產數據包格式,通過 MSComm 控件發送緩沖 區發送至下位機。
4.4.3 上位機軟件界面
圖 4-12 上位機軟件界面
如圖 4-12 是仿生六足機器人的上位機軟件的初設化界面。界面主要分為三 個部分:第一部分是配置界面,該部分主要有串口設置,校準設置組成,這些基 本配置正確后,仿生六足機器人才能正常的接受上位機指令執行動作;第二部分 是仿生六足機器人的控制界面,該部分主要有幾個圖形按鈕組成,采用圖形按鈕 具有簡單明了的特點,使使用者一目了然按鍵功能;第三部分是顯示信息界面, 該界面直接顯示上位機軟件所接受到下位機的返回的數據,可以明了的了解到下 位機接受了哪些指令。實驗室功能是開發者的功能,里面集成了所有仿生六足機 器人的行走參數、步態參數,開發者可以在里面進行參數設置,可以進行運動的 復合,這些可以用來研究或者開發新的功能。
圖 4-13 上位機軟件的通訊設置界面 圖 4-14 上位機軟件的校準設置界面
4.5 誤差分析
仿生六足機器人的控制系統的設計如上所述,其有硬件、軟件共同構成。在 完成這些設計后,與仿生六足機器人的機械結構進行了組裝、調試,并進行了設 計測試。經過實驗后發現由較大的誤差,經過分析有幾個原因:機械結構誤差、 機械裝配不緊密、軟件層運算取舍誤差、舵機位置傳感器不精準。由于是小型機 器人,對誤差有較大的容忍范圍,故在此采用的是軟件層調整方法:在軟件層設 置一個調整參數數組,在每次使用機器人后對其在校準狀態下進行調整,并將參 數存入存儲芯片中,在開機初始化狀態中讀取參數,并將參數加載到驅動模塊中。
本章小結
本章主要研究的是仿生六足機器人的控制系統的設計?刂葡到y主要是有上 位機軟件、下位機軟硬件等組成?刂葡到y可以實時的對步態進行規劃,且多種 參數可以設置,達到了設計初期規劃的的要求。
結論
本次設計的仿生六足機器人的控制系統,利用了仿生學原理、電子技術、單 片機技術、運動控制、數學建模仿真、數據處理等多種先進技術。實現了設計初 期規劃的要求,如能執行直走、橫走、定點轉彎、原點轉彎等基本步態,而且多 種參數可調,如步距、時間、擺動高度等。在上位機軟件里還設置了實驗室功能, 這個功能可以對仿生六足機器人的參數進行實時的調整和多種步態的復合,為后 期開發新的功能預留了接口。
但是仿生六足機器人的控制系統由于技術上的限制,仍然有缺陷,如行走時 軌跡點跟理論值有一定的差距,造成這種誤差的主要原因有幾個:機械加工誤 差,裝配誤差,運算誤差等。運算誤差的來源主要是處理器運算的取舍誤差, 由于運算結果并不是一步到位的,在取舍誤差的影響下,還會有累計誤差。這些 都是仿生六足控制系統需要改進的地方。
隨著人類技術的不斷的進步,機器人將不再會僅僅局限于工業領域,它將會 在人類的生活中扮演越來越重要的角色。而有仿生學與現代機器人相結合的仿生 機器人也注定會越來越多樣化、智能化。
|
評分
-
查看全部評分
|