找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 16112|回復: 4
打印 上一主題 下一主題
收起左側(cè)

仿生六足機器人控制系統(tǒng)(D-H數(shù)學模型 、程序、硬件原理圖)

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:113472 發(fā)表于 2016-4-13 03:40 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
全部資料下載:

電路圖文件
仿生六足機器人硬件原理圖.pdf (127.98 KB, 下載次數(shù): 170)
描述:硬件原理圖

源代碼  
robot-project.rar (6.48 MB, 下載次數(shù): 139)   
描述:程序


教程
六足機器人-答辯論文.pdf (1.99 MB, 下載次數(shù): 136)
描述:


其他文件
仿生六足機器人 D-H數(shù)學模型 P.7-10.pdf (234.1 KB, 下載次數(shù): 109)
描述:D-H數(shù)學模型  
                                                            

以下是圖片預覽:



以下是預覽(無圖版)

本設計主要研究的是小型仿生六足機器人控制系統(tǒng)的開發(fā),其采用自主設計 的控制器作為硬件平臺。控制器主要有微處理器、驅(qū)動模塊、電源模塊、外圍擴 展構(gòu)成。其中驅(qū)動模塊采用了分時復用的原理,將處理器的 3 路 PWM 信號擴展成
24 路,具有信號質(zhì)量好、占用處理器資源少的優(yōu)點。
在軟件層上,采用了 D-H 建模、三角算法、六次項軌跡規(guī)劃等算法來構(gòu)建機 器人的運動的數(shù)學模型。在機器人的運動過程中,首先是由三角算法構(gòu)建機器人 的運動步態(tài),之后運用六次軌跡規(guī)劃算法模擬出六足動物的抬腿擺動軌跡,最后
經(jīng)由運動學的求逆,運算出每個關(guān)節(jié)的旋轉(zhuǎn)角,進而模擬出六足動物的運動步態(tài)。

摘要................................................................................................................................ I
Abstract ........................................................................................................................ II


第 1 章 緒論.................................................................................................................. 1
1.1  機器人的發(fā)展史 .............................................. 1
1.2 仿生機器人的發(fā)展............................................. 1
1.2  仿生機器人的用途 ............................................ 2
1.3 仿生機器人的運動算法與控制的熱點............................. 3
1.4 仿生六足機器人的開發(fā)流程..................................... 4
第 2 章 仿生六足機器人的運動學計算...................................................................... 6
2.1 仿生六足機器的機構(gòu)特點....................................... 6
2.2 機器人的位置運動學........................................... 7
2.3  D-H 參數(shù)法的簡介............................................. 7
2.4  仿生六足機器人的腿部正運動學計算 ............................ 8
2.6  仿生六足機器人的逆運動學 ................................... 10
第 3 章 仿生六足機器人的運動算法........................................................................ 13
3.1  運動軌跡的主要參數(shù) ......................................... 13
3.2  六次項足跡規(guī)劃 ............................................. 13
3.3 行走步態(tài)設計................................................ 16
3.4 轉(zhuǎn)彎步態(tài)設計................................................ 18
3.4.1 原點轉(zhuǎn)彎 .............................................. 18
3.4.2 定點轉(zhuǎn)彎步態(tài)設計 ...................................... 19
第 4 章 控制系統(tǒng)設計................................................................................................ 20
4.1  控制系統(tǒng)概述及其要求 ....................................... 21
4.2 舵機原理介紹................................................ 21
4.3 下位機硬件開發(fā).............................................. 22
4.3.1  主處理器的選型........................................ 22
4.3.2 驅(qū)動模塊設計 .......................................... 23
4.3.3  驅(qū)動模塊信號測試...................................... 24
4.3.4 電源模塊設計 .......................................... 24
4.3.5  下位機軟件架構(gòu)........................................ 25
4.4 上位機軟件開發(fā).............................................. 26
4.4.1  上位機軟件的主要功能.................................. 26

4.4.3  上位機軟件界面........................................ 28
4.5  誤差分析 ................................................... 29 結(jié)論.............................................................................................................................. 29 參考文獻...................................................................................................................... 30 致謝.............................................................................................................................. 31 附錄 1 機器人零件工程圖 ............................................ 30 附錄 2 驅(qū)動模塊 PCB .................................................................................................. 30 附錄 3 控制系統(tǒng)硬件原理圖....................................................... 錯誤!未定義書簽。




第1章        緒論



1.1  機器人的發(fā)展史



1920 年《Rossum’s Universal Robots》
由 Karel  Capek 寫的劇本第一次在人類文學 上出現(xiàn)了機器人概念;隨后這個概念引來了 無數(shù)人的遐想,同時也造就了眾多有關(guān)機器
人的小說或是電影;而隨著人類科學技術(shù)的 不斷發(fā)展,人們驚訝的發(fā)現(xiàn):遐想不在是遐 想,機器人已經(jīng)在不知不覺中出現(xiàn)在人們的 生活生產(chǎn)里面[1]。
美國在 1954 年出現(xiàn)第一臺可編程的磁 控制器,其是有 Geoge  Devol 開發(fā)設計的。 由于采用了示教再現(xiàn)的控制技術(shù),使得其具有了在當時的優(yōu)秀的可控性能。這標志著現(xiàn)代機器人已經(jīng)初具雛形,隨后該技術(shù) 促進了機器人技術(shù)的發(fā)展,第一臺數(shù)控機床也緊跟著出現(xiàn)。
1955 年,D-H 建模開始出現(xiàn)在機器人領(lǐng)域,其運用了數(shù)學的矩陣變換來描述 機器人的姿態(tài)變換運動[2]。并由此推導出機器人運動的變換方程,人們稱之為 D-H 參數(shù)建模。隨著該模型的不斷發(fā)展,到現(xiàn)在已經(jīng)成為了機器人建模最為簡潔的方 法之一。
隨著機器人技術(shù)更新的越來越快,機器人開始不再只是局限于工業(yè)領(lǐng)域,機 器人開始在一些非工業(yè)領(lǐng)域嶄露頭角,如在一些高危行業(yè),如災難發(fā)生現(xiàn)場、復 雜地貌地區(qū)、非人類居住區(qū)域等等。
這些有人類不可完成的任務,用機
器人卻可以達到很好的效果。如圖
1-1 與圖 1-2,都是機器人技術(shù)的在 非工業(yè)領(lǐng)域的具體運用。圖 1-1 是 輪式機器人在外星球執(zhí)行影像、土 壤、氣體等資料的收集;圖 1-2 是 美國的全地形六足機器人,其可以 在輪式機器人與履帶式機器人無法 到達的區(qū)域執(zhí)行任務。


1.2 仿生機器人的發(fā)展

圖 1-2  美國全地形六足機器人

現(xiàn)代機器人由于一開始是出現(xiàn)在工業(yè)領(lǐng)域,其對自然環(huán)境的適應力較為底 下,而隨著人類的需求的不斷的擴大,現(xiàn)代機器人開始模仿自然界的動物的肢體 結(jié)構(gòu)或是行為模式來設計,以便增強機器人的自然環(huán)境的適應能力。由于生物的 自然進化經(jīng)過幾億年的自然選擇,其本身就具有極大的研究性,這對現(xiàn)代機器人 的技術(shù)的更新起到了重要的作用。
仿生機器人的誕生是多種學科融合的結(jié)果,涉及仿生學、人工智能、力學、 傳感技術(shù)、機構(gòu)學、微電子學、控制學、信息科學、計算科學等學科知識[3]。仿 生機器人不僅具有傳統(tǒng)機器人的特點,也具有生物運動的部分特點,這使其的運 行效率大大增加!
自然界的生物種類有很多,仿生機器人的種類也相對較多,但一般分為兩類: 類人型、非人型。在當代的仿生機器人技術(shù)的前沿,類人型機器人主要研究的是 仿人型的行走姿態(tài)的變換、指關(guān)節(jié)運動的變化、手臂運動等姿態(tài)。非人型仿生機 器人主要研究集中在陸地昆蟲、深海魚類、空中飛行等方面。

1.2  仿生機器人的用途


在自然界存在許多人類無法正常到達或是會對生命產(chǎn)生危險的場合,如礦難 發(fā)生地點、月球表面、恐怖組織活動區(qū)域等等。為了對這些危險區(qū)域進行探測與 研究,通常需要運用機器人來滿足人類的需求。而這些區(qū)域通常都是凹凸不平、 地勢不規(guī)則,在人類還沒有對仿生機器人進行大規(guī)模研究的時候,都是運用輪式 機器人與履帶式機器人來進行探測。雖然輪式機器人在平坦的路面上具有很高的 機動性與靈活性,但是在松軟的地面上,輪式機器人的適應力卻極差。為了改善 機器人在松軟地面上的適應力,人們采用了履帶式機器人,但履帶式機器人在凹 凸不平的路面上其可控性、平穩(wěn)性仍然很差。尤其是在一些地貌復雜區(qū)域上,輪 式機器人與履帶式機器人的能耗都將大大的增加,平穩(wěn)性、可控性能也大大降低。
雖然仿生多足機器人在平穩(wěn)性與適應性上有明顯的優(yōu)勢,但是由于使腿部協(xié) 調(diào)穩(wěn)定運動從機械結(jié)構(gòu)設計到控制系統(tǒng)算法都比較復雜,相對于自然界的節(jié)肢動 物仿生多足步行機器人的機動性還有很大差距。

隨著現(xiàn)代仿生學技術(shù)的不斷發(fā)展與完 善,仿生機器人的用途必然隨著人類發(fā)展而 越來越廣泛,仿生多足機器人已經(jīng)在多變的 地貌上展現(xiàn)實用價值,與當代科學技術(shù)所生 產(chǎn)的常規(guī)的機器人相比,仿生多足機器人在 這方面擁有難以超越的實用性與方便性[4]。 由于仿生多足機器人的運動的時候是點接 觸,是一系列離散的點,它可以在行走經(jīng)由 算法處理而選擇最佳的路徑行走[5];一個很 顯著的特點就是仿生多足機器人可以通過 算法主動隔振,通過對機身運動姿態(tài)、運動 足跡的解耦,做到機體姿態(tài)的相對平穩(wěn);由 于是離散的點,仿生多足機器人在不平地面 與松軟地面的能耗也相應減少,而且運動速 度較快。正是由于這些特點,仿生多足機器人在戰(zhàn)地偵查、行星表面、災難救援運用的越來越廣。
如圖 1-3 是美國 iRobot 公司研究院開發(fā)的美國大狗,其具有良好的運動性 能,能在復雜的地貌上執(zhí)行任務。即使受外力干擾,如遭到人類的猛踢、地面打 滑等,它也能經(jīng)由傳感器向中央處理器發(fā)送數(shù)據(jù),經(jīng)過運算后,自動校正自己的 姿態(tài),使自身不會跌倒。這些性能保證了美國大狗能在戰(zhàn)場上運送物資、執(zhí)行一 些人類不能執(zhí)行的任務,具有極強的實用性。

1.3 仿生機器人的運動算法與控制的熱點


雖然仿生學在不斷完善,但是由于一些基礎理論并沒有得到有效的解決,當 代的技術(shù)并不能很好的仿生出動物的運動性能。但是隨著越來越多的研究人員關(guān) 注,仿生機器人運動算法與控制發(fā)展的越來越好。
多足步行機器人是仿生機器人的一個重要分支,因為其能在復雜的地面上行

為了能自主處理在不同的環(huán)境中運動姿態(tài),多足步行機器人必然需要一個步 態(tài)控制系統(tǒng),步態(tài)控制系統(tǒng)主要分為力控制與位置控制,都是經(jīng)由動力學的數(shù)學 模型而來。由于采用了動力學的數(shù)學模型,多足步行機器人的控制系統(tǒng)能對生物 的運動姿態(tài)進行較為真實的仿真;谶\動學的逆運動學的控制算法,能實現(xiàn)分 層次控制。例如將多足機器人分為腿部模型與機體模型,在底層能操縱多足機器 人的每一條腿,在高層次上能實現(xiàn)機體運動姿態(tài)的控制。

1.4 仿生六足機器人的開發(fā)流程


在本文中主要研究的是仿生六足機器人的控制器開發(fā),其采用了多種先進 技術(shù),有仿生學原理、電子技術(shù)、單片機技術(shù)、運動控制、數(shù)學建模仿真、數(shù)據(jù) 處理等等。在仿生機器人領(lǐng)域,采用了算法控制的仿生六足機器人,在運動上更 加逼近以真實生物,使得仿生六足機器人的運動更加平穩(wěn)、順滑。
在開發(fā)過程中,首先運用了三維建模軟件,構(gòu)造機器人的三維實體模型;再 構(gòu)建數(shù)學模型,對仿生六足機器人的運動方式進行了仿真與分析,并采用了六次 項軌跡算法構(gòu)建仿生六足機器人的運動軌跡;之后采用電子技術(shù)、單片機技術(shù)等, 將六足機器人的控制模型與控制方式以程序的方式加載在控制器中;最后對控制 模型進行調(diào)試與調(diào)整。



圖 1-4  仿生六足機器人的開發(fā)流程



①        數(shù)學模型的建立
仿生六足機器人的六條腿的每條腿的結(jié)構(gòu)都是一樣且都為三軸串聯(lián)型結(jié)構(gòu), 所以只要分析一條腿的數(shù)學模型就可以得出仿生六足機器人的腿部的數(shù)學模型。 但是如果要構(gòu)建姿態(tài)變換的數(shù)學模型,是要構(gòu)建并聯(lián)型機器人的數(shù)學模型,就不 能單單只分析一條腿,而是要整體進行分析。
②        控制器的功能分析 控制器實際上是包含了微處理器、驅(qū)動模塊、電源模塊、外圍模塊等等的硬
件。因為處理器的計算結(jié)果位數(shù)都是有限的,像本中采用的 ARMstm32 芯片, 其運算結(jié)果可以精確到小數(shù)點后 7 位,基本可以滿足運動控制的需求,如果是需 要更高精度的計算,可以采用 DSP 芯片。
③        誤差與校準分析 在仿生六足機器人的機械結(jié)構(gòu)裝配過程中,是存在著一定的裝配誤差的。有
時候,運動部件的齒輪的嚙合也會造成一定的裝配誤差。而微處理器的計算結(jié)果 由于運算精度的問題,也會產(chǎn)生誤差。為了盡量的克服這些裝配誤差造成的運動 精度的下降,就必須對這些誤差進行校準。

本章小結(jié)



仿生機器人由于具有自然環(huán)境的生物的一些特性,相對于輪式、履帶式機器
人,其具有的優(yōu)勢是無可比擬的,如仿生機器人可以運用在自然環(huán)境惡劣的情況 下,完成人類無法執(zhí)行的任務。但是仿生機器人由于其行走的的復雜性,其控制 系統(tǒng)更為復雜。在仿生機器人領(lǐng)域,雖然仍有一些基礎理論并沒有得到有效的解 決,但相信隨著人類技術(shù)的發(fā)展與需要的不斷擴大,相信其會發(fā)展的越來越好。





第2章        仿生六足機器人的運動學計算


2.1 仿生六足機器的機構(gòu)特點





圖 2-1  螞蟻的身體結(jié)構(gòu)圖

仿生六足機器是以自然
界的多足生物為原形而建立 起的模型。如圖 2-1 是螞蟻 身體的結(jié)構(gòu)示意。本文中的 仿生六足機器人的研究忽略 了腿部末端的跗節(jié)與刺爪, 只研究仿生六足機器人運動 的時候主體結(jié)構(gòu)與基節(jié)的轉(zhuǎn) 動角度、基節(jié)與股節(jié)的轉(zhuǎn)動 角度、股節(jié)與脛節(jié)的轉(zhuǎn)動角 度,這三個角度。多足生物 末端的跗節(jié)、刺爪主要的作

用是抓附,或者是微小動作的操作,而在本文中主要研究的是多足生物的運動姿 態(tài)問題,故在此不做詳細分析。

仿生六足機器人是由機體和六條腿所組成的,機體與腿部通過運動部件相連 接。六條腿通過一定的布置規(guī)則安放在機體上。仿生六足機器人的腿部與三自由 度工業(yè)機械手相類似,都是串聯(lián)型結(jié)構(gòu)。從整體上看,仿生六足機器人是并聯(lián)型 結(jié)構(gòu)。

2.2 機器人的位置運動學


一個物體在在三維空間可以采用基坐標系與在物體上固連一個坐標系來表 示,基坐標系為已知,基坐標系與物體的固連坐標系關(guān)系為已知,這樣一個物體 的位置與姿態(tài)就可以通過與基坐標系的相對關(guān)系來表達。
如果采用矩陣來表達,就是:

n、y、x 通常這三個單位向量互相垂直,在矩陣中,每一個單位向量都有它
們所在的基坐標系中的三個分量表示,其意義是表達著物體的姿態(tài)。 px、p y、pz
表達著物體在基坐標系的位置。該矩陣是齊此變換矩陣,最后一行為比例因子。 機器人是一種開環(huán)結(jié)構(gòu)。當機器人的關(guān)節(jié)變量為已知的時候,我們可以通過 正向運動學通過數(shù)學推導得出其末端執(zhí)行器的位姿;當我們只知道機器人的末端
位姿的時候,可以通過逆向運動學的求逆,得出機器人的關(guān)節(jié)變量。 正如前面的所描述的,固連在物體上的坐標系的原點有三個自由度,我們只
需三條信息就可以將其確定下來。故,坐標系的原點可以采用任意的坐標系來描 述,而機器人的運動則可以通過在坐標系中的運動來描述。常用的坐標系描述有:
①        比卡爾(直角)坐標
②        圓柱坐標
③        球坐標
④        鏈式(旋轉(zhuǎn))坐標
在這里我們采用的是鏈式坐標,在后面的 D-H 參數(shù)法建模中,會詳細談論。 其它坐標,在此不做討論。

2.3  D-H 參數(shù)法的簡介


仿生六足機器人的運動數(shù)學建模采用的是 Denavit 和 Hartenberg 提出來的 標準方法,稱為 D-H 模型,D-H 建模方法適用于任何復雜的機器人建模[2]。

通常機器人都是有旋轉(zhuǎn)關(guān)節(jié)、滑動關(guān)節(jié)等組成的,而連桿的長度則是根據(jù)需 求來制定的即是長度是可以任意的。在構(gòu)建機器人的數(shù)學模型時,首先要做的就 是固連一個參考的坐標系,然后就是選擇最簡便的變換順序,把坐標從第一個的 關(guān)節(jié)變換到最后的關(guān)節(jié)。


圖 2-2  D-H 參數(shù)法關(guān)節(jié)標注

2.4  仿生六足機器人的腿部正運動學計算

若一個機器人的結(jié)構(gòu)是 由很多個的關(guān)節(jié)與連桿組 成,且依次連接的三個關(guān)節(jié) 能在坐標系中通過變換互相 轉(zhuǎn)換;可將第一個關(guān)節(jié)為關(guān) 節(jié) n,依次類推為關(guān)節(jié) n+1、 關(guān)節(jié) n+2,同時稱在 n 與 n+1 之間的關(guān)節(jié)為連桿 n,依照 順序為連桿 n+1、連桿 n+2。 至于矩陣變換,將在仿生六 足機器人的腿部正逆運動學 計算詳細講解[2]。




圖 2-3  腿部簡化模型

法則確定 Z 軸的方向。在關(guān)節(jié) 1 處的 Z
軸為 Z 0 ,依次類推。
在確立了 Z 軸后,繼續(xù)建立 X 軸。 X 0 的方向可以自由設定,但 X 1 的方向 由 Z 0 指向 Z1 的垂線所確立, X 2 也類 似。 X 3 - Z 3 坐標系固連在簡化模型尾
端,由于尾端沒有接其他關(guān)節(jié),故
X 3 - Z 3 坐標系與 X 2 - Z 2 坐標系坐標系

如圖 2-3  是仿生六足機
器人的腿部簡化模型。由于只 有三自由度,其只有位置,而 沒有姿態(tài)。
仿生六足機器人的腿部簡 化模型有三個關(guān)節(jié),確定其旋 轉(zhuǎn)的正方向。
如圖 2-4 在確定關(guān)節(jié)的旋
轉(zhuǎn)方向之后,以每個關(guān)節(jié)的旋 轉(zhuǎn)軸心為 Z 軸,并以右手旋轉(zhuǎn)



圖 2-4  腿部簡化模型結(jié)構(gòu)簡圖

一樣,即從 X 2 - Z 2 坐標系平移至 X 3 - Z 3 坐標系,其姿態(tài)不變。建立坐標系后,
將參數(shù)導入 D-H 表即表 2-1。


參數(shù)說明:
        θ n 為 X n 1 繞 Z n 1 旋轉(zhuǎn)至與 X n 平行的旋轉(zhuǎn)角度。
        α n 為 Z n 1 繞 X n 1 旋轉(zhuǎn)至與 Z n 平行的旋轉(zhuǎn)角度。
        d n 為 Z n 1 與在 Z n 軸上分別做的兩條公垂線的距離。
        a n 為 Z n 1 與 Zn 的垂線距離。
變換順序為:
①        X n 1 繞 Z n 1 旋轉(zhuǎn)至與 X n 平行。
②        X n 1 -Z n 1 平移至 X n -Z n 坐標系。
③        Z n 1 繞 X n 1 旋轉(zhuǎn)至與 Z n 平行。




從變換順序可得知,每次的坐標系的變換都是按當前坐標系變換,即在最終
變換的時候都是矩陣右乘。從關(guān)節(jié) 1(即基節(jié),以此關(guān)節(jié)的坐標系作為基坐標系) 變換到關(guān)節(jié) 2 得 A 1 ,依次變換到關(guān)節(jié) 3,可得 A 2 、A 3 。
依據(jù) D-H 表,將參數(shù)代入變換矩陣 A 中。


得到每個關(guān)節(jié)的變換矩陣后,可得到從關(guān)節(jié) 1 變換到關(guān)節(jié) 3 的最終變換:



式(2-8)表達的數(shù)學意義是:在三個關(guān)節(jié)的旋轉(zhuǎn)角度為已知的前提下,通 過正向運動學的計算,可以推導出仿生六足機器人的腿部簡化模型的尾端位置。

2.6  仿生六足機器人的逆運動學

在上節(jié)式(2-8)表達的意義是在知道每個關(guān)節(jié)的旋轉(zhuǎn)角度后,就可以求得 仿生六足機器人的腿部簡化模型的尾端位置。也可以依據(jù)兩矩陣的關(guān)系得到尾端 坐標系的姿態(tài),而建立矩陣的最終目的并不在此,而在于矩陣的逆求解,即逆運 動學解,其意義是在仿生六足機器人的簡化模型的尾端的位姿為已知的情況下, 求得每個關(guān)節(jié)的旋轉(zhuǎn)角度。
在上面的運動方程中,有很多角度是耦合在一起的,這就必須從矩陣中提取 足夠的元素來解耦,如 a3S1C2C3   a3S1S2 S3  a2 S1C2   a1S1 。

為使角度解耦,可以采用矩陣


式(2-12)、(2-14)、(2-17)這三個角度的函數(shù)關(guān)系式表達的數(shù)學意義是: 在已知仿生六足機器人的腿部簡化模型的尾端位置的前提下,可以通過逆運動學 的計算推導出仿生六足機器人的腿部的關(guān)節(jié)旋轉(zhuǎn)角度。

本章小結(jié)
仿生六足機器人的腿部屬于串聯(lián)型結(jié)構(gòu),通過對其正逆運動學的求解,可以 求得其關(guān)節(jié)旋轉(zhuǎn)角與腿部末端姿態(tài)的函數(shù)關(guān)系式。由這些函數(shù)關(guān)系式,就可以對 仿生六足機器人的腿部運動進行運動控制。



第3章        仿生六足機器人的運動算法


3.1  運動軌跡的主要參數(shù)


仿生六足機器人在地面上行走時,依靠的是腿的運動變換來實現(xiàn)的。尤其是 在復雜的地面上,對腿的擺動軌跡有著很高的要求。因此在設計的腿的擺動的時 候,必須考慮幾點重要參數(shù):
① 運動軌跡曲線的高寬比[6]。該值可以直接體現(xiàn)出仿生六足機器人的單腿 的運動特性。該值越大,仿生六足機器人的運動能力就越高。但是該值也會影響 仿生六足機器人的運動速度,該值越大,仿生六足機器人的運動速度也會相應變 慢。故,在設計之初就應該考慮一個合適的值,在運動能力與運動速度兩者之間 有所收放。
② 運動軌跡曲線的弧長[6]。當弧長的寬度固定時,軌跡曲線越長,則仿生 六足機器人的單腿在空中滯留的時間就越長,相應的仿生六足機器人的運動速度 就會變慢。但是,如果該值過低,會影響仿生六足機器人越過具有一定高度的障 礙物的能力。
③ 運動軌跡曲線的運算復雜程度[6]。當運動軌跡曲線所限制的參數(shù)越多, 其的運動軌跡曲線將會加強仿生六足機器人的運動特性,但是與之相對應的是其 運算復雜性會成幾何級數(shù)增長。運算越復雜,處理器產(chǎn)生的誤差也會越大。因此 在選擇運動軌跡的步態(tài)算法時,要優(yōu)先考慮中央處理器是否能勝任,產(chǎn)生的誤差 是否在可允許范圍內(nèi)。

3.2  六次項足跡規(guī)劃


在仿生機器人的領(lǐng)域,通常都是將多足機器人的腿部運動末端的從支撐面抬 起再到降落至支撐面的過程叫為擺動相,這一過程中所產(chǎn)生的曲線就是上一節(jié)所 說的仿生多足機器人的運動軌跡曲線。從支撐面抬起那個點稱為起始坐標,降落 至支撐面的那個點稱之為終點坐標。在設計擺動相的時候,不僅僅只是限制其起 始坐標、終點坐標,還要限制其他幾個重要參數(shù),如:中點坐標、起始速度、終

度、中點加速度等參數(shù)。 在上一節(jié)的仿生六足機器人的單腿的擺動設計中,可知:當運動軌跡曲線
所限制的參數(shù)越多的時候,其運算復雜程度也會越大。由數(shù)學知識可知,越高次 數(shù)的多次項所擬合的曲線越精確。而仿生六足機器人的腿部末端的軌跡曲線可以 由下面的多次項來表達:



將約束條件代入(3-1)式中,并解方程就可以得出系數(shù)矢量。在文獻[3,96-97]
中由于求解方式繁瑣且不明朗,不適合實際運用。故在這里采用 MATLAB 高級科 學計算器來求解,代碼如下:



3.3 行走步態(tài)設計


仿生六足機器人的運動是要協(xié)調(diào)多條腿來共同完成的,為了維持其在運動時 的穩(wěn)定性,采用“三角算法”來設計其行走步態(tài)[5]。
所謂的“三角算法”即是仿生六足機器人在行走的時候是有三條腿作為支撐 點的,仿生六足機器人的重心穩(wěn)定在三條腿組成的三角形中,另三條腿處于擺動 狀態(tài)中。
在仿生六足機器人執(zhí)行行走、轉(zhuǎn)彎時,每條腿都是分成兩部分動作來完成的, 第一部分是抬腿擺動相,第二部分是支撐摩擦相。
仿生六足機器人在行走步態(tài)時有三個重要參數(shù):t1 抬腿擺動時間參數(shù)、t2 支 撐摩擦時間參數(shù)、t3 中繼時間參數(shù)。其中中繼時間參數(shù)是包含在在擺動相與支撐
摩擦相的時間參數(shù)內(nèi)。當中繼時間參數(shù)為 0 時,表達的意義是完成抬腿擺動相后 才進行支撐摩擦相;當中繼時間參數(shù)大于 0 時,表達的意義是在抬腿摩擦相運行 至 (t1  t3 ) 時,支撐摩擦相就開始進行;當中繼時間參數(shù)小于 0 時,與中繼時間運
動步驟參數(shù)大于 0 相反。
通常 t3 時間都設為 0,其用途是增加支撐腿的摩擦力,或是減少仿生六足機
器人行走時完成一個步態(tài)的時間,在此只分析 t3 為 0 時的情況。
如圖 3-1 至圖 3-4 是仿生六足機器人的運動的簡圖,在這里將每個腿都看出 是一個整體,其關(guān)節(jié)變化不做分析。將腿分為兩組,A 組與 B 組。

圖 3-1  仿生六足機器人行走時腿部姿態(tài)變換
(a)站立姿態(tài) (b)A 組腿運動 (c)B 組腿運動 (d)A 組腿運動

圖 3-1(a)是仿生六足機器人的站未進入行走步態(tài)時的站立圖,此時的重心位
于坐標中心點.
當仿生六足機器人處于行走步態(tài)時,其的腿的擺動順序可由 A→B,或者是 由 B→A。這里的腿的擺動順序并不會影響仿生六足機器人的步行的效果,故在
這里只分析 A→B 的擺動順序,B→A 的分析也與之類似。
圖 3-1(b)是仿生六足機器人從站立姿態(tài)向行走步態(tài)轉(zhuǎn)換是的第一個步態(tài),A 組腿此時都處于抬腿擺動相中,B 組腿為支撐腿。從圖中可以看出仿生六足機器 人此時的重心位于由 B 組腿即是支撐腿所組成的三角形中。
圖 3-1(c)是當 A 組腿的抬腿擺動相完成,支撐摩擦相開始執(zhí)行時,B 組腿的 抬腿擺動相也相應開始。在圖中我們可以看出隨著 A 組腿的支撐摩擦相的變化, 仿生六足機器人的重心都是穩(wěn)定在由三條腿組成的三角形內(nèi),在仿生六足機器人 的原點 Y 軸上變化,其變化幅度與其一個步態(tài)的行走距離相關(guān)。
圖 3-1(d)是與圖 3-1(c)的運動效果相似,只是抬支撐摩擦相變?yōu)橛?B 組執(zhí) 行,A 組進行抬腿擺動相。即是此時又變換為了圖 3-2 所示的運動效果,這樣不

斷的往復循環(huán),構(gòu)成了仿生六足機器人的行走步態(tài)。從圖 3-1(d)中可以看出仿 生六足機器人的重心的變換跟圖 3-1(c)是一樣的。
當已知行走步態(tài)一個步態(tài)的行走距離與仿生六足機器人的初始的時候六條 腿相對腿的三維坐標值時,由以上的分析可以得出抬腿擺動相結(jié)束后相對于腿部 坐標軸的坐標值,由此可以由六次項規(guī)劃對軌跡進行求解,再有腿部的數(shù)學模型 求解出關(guān)節(jié)的旋轉(zhuǎn)角度。

3.4 轉(zhuǎn)彎步態(tài)設計


3.4.1 原點轉(zhuǎn)彎


所謂的原點轉(zhuǎn)彎,即是仿生六足機器人繞著其自身的中點自轉(zhuǎn),其與之前 的行走步態(tài)相類似,都是由抬腿擺動相、支撐摩擦相組成,但是其軌跡的求解比 行走步態(tài)較為復雜。在上一節(jié),已經(jīng)指出仿生六足機器人的行走、轉(zhuǎn)彎都是兩部 分組成的,即抬腿擺動相,支撐摩擦相。當仿生六足機器人由站立姿態(tài)向原點轉(zhuǎn) 彎步態(tài)變換的時候,若先是 A 組腿先執(zhí)行抬腿擺動相,其繞原點的旋轉(zhuǎn)的順序與 優(yōu)先由 B 組腿執(zhí)行的順序剛好相反。



(a)         (b)
圖 3-2  仿生六足機器人原點轉(zhuǎn)彎時腿部姿態(tài)變換
(a)站立姿態(tài) (b)A 組腿抬腿

如圖 3-2(a),為仿生六足機器人的站立姿態(tài),從圖中可以看出:在仿生六
足機器人的初始設置中,其六條腿的站立點都是在以仿生六足機器人的中心為原 點的圓中。當仿生六足機器人原點轉(zhuǎn)彎時,其每條腿都是在這個圓上運動的。由 于仿生六足機器人是以點來支撐的,其每個步態(tài)的軌跡并不需要如圖中為一段圓
弧,在這里拆分成長度為 width 的直線一斷斷來逼近圓弧,這樣可以減少運算量, 在下面的章節(jié)分析中,也做類似的處理。
圖 3-2(b)為仿生六足機器人由站立姿態(tài)向繞原點轉(zhuǎn)彎步態(tài)變化時的第一步。

從中可以看出其與行走步態(tài)時相類似,不過其軌跡的投影是與 Y 軸成一定角度的 為 3 ,通常在繞原點轉(zhuǎn)彎時,其步態(tài)的行走距離是已知的。只要求解出 3 ,在 已知起始點的位置坐標,就可以求解出仿生六足機器人的腿部在抬腿擺動相結(jié)束 時所處的位置坐標。
因仿生六足機器人的每條腿在原點轉(zhuǎn)彎時,其運動類似,在這里只分析 A1 腿ɑ的求解。如圖 3-2 中 d1 是 A1 腿部末端原點坐標軸上 Y 軸的投影;d2 是 A1 腿部在 Y 軸的投影;d3 是 A1 腿部中點到原點的距
離;width 是繞原點轉(zhuǎn)彎時一個步態(tài)的行走距離。 這些參數(shù)都是在機構(gòu)設計與初始化參數(shù)設置中已
知的。設 A1 腿末端的初始點的相對于腿部的坐標 軸為 x, y  (因高度在初始與結(jié)束后不變,在此忽 略 z )。由坐標變換可得 x0 , y0  相對于原點的坐標 為 x  d 3, y  d 2。r 是原點到 A1 腿部末端的距離,
也是仿生六足機器人在原點轉(zhuǎn)彎步態(tài)中腿部末端

圖 3-2  A1 腿角度分析

所在點的圓的半徑。依圖與幾何知識可得:


由以上三式可得仿生六足機器人的 A1 腿的抬腿擺動相結(jié)束后相對于 A1 腿部 坐標軸的坐標為:x0   width * sin 3, y0  width * cos 3 。由此可以由六次項規(guī)劃 對軌跡進行求解,再有腿部的數(shù)學模型求解出關(guān)節(jié)的旋轉(zhuǎn)角度。


3.4.2 定點轉(zhuǎn)彎步態(tài)設計


在自然界中,生物的轉(zhuǎn)彎姿態(tài)除了有繞原點轉(zhuǎn)彎外,還有繞一定點轉(zhuǎn)彎,與 汽車轉(zhuǎn)彎相類似,繞一定點進行一段軌跡為圓弧的運動。其的步態(tài)跟上一節(jié)的原 點轉(zhuǎn)彎步態(tài)有一定的相似性,一個步態(tài)也是分為抬腿擺動相、支撐摩擦相,但是 由于繞的點不再是原點,其軌跡點變得更為復雜。
如圖 3-3 為仿生六足機器人由站立姿態(tài)向繞一定點轉(zhuǎn)彎步態(tài)的第一步,從 圖中可看出 A1 組的是繞定點 o 在作半徑為 r1、r2、r3 的圓弧運動(在仿生六足 機器人的機構(gòu)設計中,為對稱結(jié)構(gòu),故 r1  r2 )。



圖 3-3  A 組腿抬腿

由幾何知識可知: width1  r1 。其相對坐標值的求解與上一節(jié)是類似的,
width 3         r3
都是由已知的機構(gòu)參數(shù)與初始化坐標參數(shù)來求得夾角,再求得相對坐標值。 但是由于是繞定點轉(zhuǎn)彎,其 A3 腿的運動方向與上一節(jié)是有所不同,在此因引起 注意!

本章小結(jié)
仿生六足機器人的運動過程中,涉及一個六次項方程的求解,通過該六次項 曲線擬合,可以模仿出六足動物運動時的抬腿擺動相。通過對在“三角算法”上 設計出了機器人的在運動時的行走步態(tài)、轉(zhuǎn)彎步態(tài)等。

4.1  控制系統(tǒng)概述及其要求



仿生六足機器人的控制系統(tǒng)是嵌
入式控制系統(tǒng)。其是下位機軟硬件采用 的是 keil MDK 開發(fā)環(huán)境,主處理器采 用的是 stm32 單片機;其上位機軟件是 基于 Visual  Basic 6.0  的開發(fā)環(huán)境所 開發(fā)的采用串口通訊的控制軟件。
如圖 4-1 是仿生六足機器人控制
系統(tǒng)的架構(gòu)圖,其中的工作原理是:主 處理器負責算法計算,并將處理的結(jié)果 發(fā)送至驅(qū)動模塊,驅(qū)動模塊集成了源,可以直接驅(qū)動運動部件即關(guān)節(jié)按照主處理器的指令進行旋轉(zhuǎn)運動;上位機軟 件通過通訊模塊與主處理器進行實時的通訊,上位機軟件將指令發(fā)送至主處理器 后,主處理器會返回數(shù)據(jù)給上位機軟件,并將指令下達給驅(qū)動模塊、外圍器件; 外圍可擴展器件是可選擇安裝的器件,在硬件方案設計的初期已經(jīng)考慮到了外圍 器件的可擴展性,故預留了較多接口,可自行擴展所需要的硬件。
由于仿生六足機器人在運動的時候是 18 個關(guān)節(jié)協(xié)同運作,其控制難度相比 普通的輪式機器人更為復雜。這就對控制系統(tǒng)提出了一定要求,具體為:
①  實時可控性。仿生六足機器人的運動是由 18 個關(guān)節(jié)協(xié)同完成的,其工作 的時候如果指令發(fā)送時間有較大的誤差的,將會嚴重影響仿生六足機器人的運動 性能。而且仿生六足機器人運動時,其每個關(guān)節(jié)的旋轉(zhuǎn)量是有所不同的。故對驅(qū) 動模塊發(fā)送指令有一定的實時可控性的要求。
② 運算速度較快。仿生六足機器人在運動的時候,其軌跡點都是由數(shù)學方 程式運算所得,再加載到仿生六足機器人的數(shù)學模型中,如果控制系統(tǒng)運算速度 過慢,將會導致仿生六足機器人的運動滯瀉。
③ 人機界面的友好性,即是對上位機軟件的界面有一定的要求。人機界面 是交互界面,它可以將人類的控制意圖直接傳送給控制系統(tǒng),而人類也可以通過 人機界面了解控制系統(tǒng)當前的狀態(tài)。這就對人機界面提出了一定的要求,其必須 簡單明了,不能由于人機界面的過于復雜,而造成控制錯誤。
④ 外圍器件的可擴展性。如圖計算機升級一樣,控制系統(tǒng)隨著研究的不斷 深入,也需要升級,這時就必須有一定的接口來滿足升級的需求。
4.2 舵機原理介紹



圖 4-2  舵機結(jié)構(gòu)

仿生六足機器人運動的的時 候是需要關(guān)節(jié)進行驅(qū)動的,由于 是小型機器人,這里采用目前在 航模上運用較多的舵機來作為運 動關(guān)節(jié)。舵機具有小巧、驅(qū)動力 矩大等優(yōu)點,很適合小型機器人 的原形機開發(fā)?刂葡到y(tǒng)的驅(qū)動 原理是依據(jù)舵機而開發(fā),故在此 有必要對舵機的原理做簡單介 紹。

如圖 4-2 是舵機的結(jié)構(gòu)圖,其里面集成了信號接收裝置、電機、減速裝置等。 常用的舵機的有數(shù)字信號與模擬信號之分,模擬舵機的信號要補間斷保持,,而 數(shù)字舵機只需在改變的時候發(fā)送數(shù)字信號,且多個舵機可同時聯(lián)線。在本文中采 用的是改進的數(shù)碼舵機,其本質(zhì)仍為模擬舵機(加了自保持信號裝置)。在此僅 對模擬舵機做簡單的介紹。
舵機的轉(zhuǎn)動角度是由信號接收裝置對信號與當前角度的做過對比之后,若與 當前角度值有所不同,就經(jīng)由直流電機帶動減速裝置,在減速裝置上有一個電位 器(相當于位置傳感器),當達到信號預定位置后,電機停止轉(zhuǎn)動。
舵機接受的信號是周期為 20ms 的脈沖調(diào)制信號即是 pwm 波,其脈沖寬度多 為 0.5ms-  2.5ms,對應的舵機的轉(zhuǎn)動值為 0 至 180 度。當信號固定為某一個值 后,舵機的轉(zhuǎn)動就會固定在對應的位置,只要外界所加力矩不超過舵機所能承受 的最大轉(zhuǎn)動力矩,其會一直保持該狀態(tài),直至信號改變。



圖 4-3  舵機 pwm 信號脈寬與轉(zhuǎn)動角度對照表



4.3 下位機硬件開發(fā)

4.3.1  主處理器的選型



在上一節(jié)的中已經(jīng)提出了對控制系統(tǒng)的要求的,依照要求選擇了意法半導體
的 stm32F103 增強性單片機作為處理器,其是一種高性能、成本低、功耗少的
Cortex-M3 內(nèi)核的單片機。該系列的單片機是 32 位單片機,其時鐘頻率達到
72MHz,可超頻至 144MHz,其內(nèi)置 32K 到 128K 的內(nèi)存,內(nèi)置多個外設接口,可 進行多種不同的擴展處理[8]。
即使是后期對處理器有更高要求,也可以選擇 Cortex-M4 內(nèi)核的意法半導體 的單片機,這種單片機內(nèi)部集成了 DSP 算法,運算速度有顯著提升,但價格較貴, 由于都是同一公司生產(chǎn)的單片機,對于程序的移植有一定的方便性。


圖 4-4  stm32 最小系統(tǒng)供電方案

如圖 4-4 是 stm32F100xx 系列最小系統(tǒng)供電方案,其只需外圍接幾個電容,
加個 3.3V 電源就可以正常工作,其硬件設置簡單方便,便于開發(fā)[8]。

4.3.2 驅(qū)動模塊設計


驅(qū)動模塊在整個硬件設計中,其難度最高。由于要考慮到控制的系統(tǒng)的實時 性、干擾性,又要考慮到對主處理器的端口資源的占用度,這對驅(qū)動模塊提出了 很高的要求,市面上同類的驅(qū)動器基本都是直接利用單片機的端口發(fā)送指令,資 源利用效率極低。這里采用創(chuàng)新設計,利用分時復用原理通過外圍芯片來擴展信 號的輸出。
對于驅(qū)動模塊,設計了以下兩個方案:
①        采用 74HC573 八進制 3 態(tài)非反轉(zhuǎn)透明鎖存器,stm32 輸出 8 路 pwm 信號, 用 3 個管腳分別控制 74HC573 的輸出使能端,每 20ms 更新一次數(shù)據(jù)。可輸出 24 路 pwm 信號[9]。
②  采用 74HC595 移位寄存器,stm32 輸出 4 路 pwm 信號,用 2 個管腳輸出 spi 協(xié)議數(shù)據(jù),對 3 個 74HC595 輸出通道進行選擇。每 2.5ms 更新一次數(shù)據(jù)? 輸出 24 路 pwm 信號。
在實際測試中發(fā)現(xiàn)方案一雖然占用 cpu 資源少,但是 8 路 pwm 信號同時輸出 會有信號失真的現(xiàn)象發(fā)生,且占用管腳較多,不利于后期擴展設計。只能放棄該

方案。
在對舵機的原理分析的時候,發(fā)現(xiàn)只要在 20ms 的周期內(nèi)對舵機發(fā)出一個 pwm 信號(最大脈寬為 2.5ms),舵機就能對 pwm  信號進行識別。也就是說對一個舵 機來說其實質(zhì)的信號范圍為 0-2.5ms,剩余的 17.5ms 可以利用高低電平來補足。
基于以上發(fā)現(xiàn),設計了方案二。在實際測試中,該方案表現(xiàn)出色,輸出信號 質(zhì)量高,占 cpu 資源較少,占用管腳少,有利于后期擴展設計。故采用該方案。

4.3.3  驅(qū)動模塊信號測試


由于舵機的接受信號是 20ms 周期內(nèi)才有效的,在驅(qū)動模塊設計完畢后,有 必要對驅(qū)動模塊的信號輸出做一定的測試。
如圖 4-5 是驅(qū)動模塊的信號周期的測試在示波器上的波形圖,從圖中可以看 出其波形為標準的 pwm 波,波形除了一些外部干擾外,其余皆正常,周期也穩(wěn)定在 20ms 左右。
如圖 4-6  是隨機選取一個信號接收點對信號測試的波形圖。在該信號點上 stm32 單片機的 pwm 設置參數(shù)是:自動重載值為 1000,預置分頻值是 180(在主 頻為 72MHz 情況下)。在上一節(jié)的方案選擇中,已經(jīng)指出采用的是分時復用的原

理,stm32 單片機發(fā)送的周期是 1000 *180
72000KMz

= 2.5ms ,經(jīng)驅(qū)動電路處理后擴展出的

信號周期是 20ms。故在做信號測試對比時是截取 2.5ms 的周期。在該信號點上

stm32 發(fā)送的 pwm 值是 622,即其占空比為

622  = 0.622 。由示波器上多得數(shù)值計
1000

算示波器上的 pwm 的占空比為 1.56 = 0.624 ,可得其誤差為 0.2%,信號質(zhì)量優(yōu)秀。
2.5


4.3.4 電源模塊設計



由于六足機器人的基本關(guān)節(jié)就有 18 個,而單個舵機的最大供電流需達到
250ma,總共需要 6000ma 電流,電源電流較大。這對電源的效率、穩(wěn)定性、散熱 都提出了要求。故電源模塊設計了以下三個方案。
①        直接利用多個二極管直接降壓,但是進過測試發(fā)現(xiàn),這樣二極管發(fā)熱量 較大,且不具有限流保護作用。故放棄該方案。
②  LM4600 是小型 DC-DC 大電流供電模塊,最大電流可大 10A,其采用  LGA 封裝,具有外形尺寸小、輸送電流大、速度反應快等優(yōu)點,尤其是在瞬態(tài)電流變 化上具有出色的反應能力。LM4600 由于只有 2.8mm 可以方便的集成在電路板上,
很適合本文中的小型機器人的開發(fā),但是其價格偏高,單個需 100 多 RMB; 成本考慮,放棄該方案。




圖 4-7  LTM4600 與硬幣比較

③        LM 2596  是國內(nèi)現(xiàn)行使用較多的低成本開關(guān)電源,最大能輸出 3A 驅(qū)動電
流,其內(nèi)部集成了電源管理芯片,具有良好的線性和負載調(diào)節(jié)的特點。其對于外 圍器件要求相對較低,只需 4 個外圍元件就可以搭建成一個開關(guān)電源。且其可以 選擇標準的電感,這大大簡化了硬件設計難度。其封裝有 DIP 封裝與 SMD 封裝, 可以很方便的集成在電路板上。
該器件還可以獨立控制電源的關(guān) 斷,或是由芯片內(nèi)部的電源管理
芯片控制,當電流過載或是溫度 過高時可以自動切斷。這些特性 可以大大降低舵機因為電路問題 而導致?lián)p壞的可能性。

經(jīng)過方案比較與成本考慮, 最終選擇了 LM2596 開關(guān)電壓調(diào)節(jié)

圖 4-8  LM2596 的典型應用 5V 輸出

器。基于保證舵機的安全性,并沒有采用擴流管擴流的設計方式。而是采用 24
個舵機分為 3 組,每組由一個 LM2596 模塊獨立供電的方式。



圖 4-9  下位機軟件架構(gòu)

如圖 4-9 是下位機的軟件架構(gòu)圖,它的主要工作原理是:
①        由通訊模塊接受來自上位機的指令或是硬件輸入模塊的接受到指令;
②        經(jīng)由指令處理模塊處理后,發(fā)送參數(shù)給步態(tài)規(guī)劃模塊,步態(tài)規(guī)劃模塊發(fā) 送每一個步態(tài)所需參數(shù)給六次項軌跡運算模塊;
③        六次項軌跡運算出步態(tài)所需的三維參數(shù)坐標,經(jīng)由 D-H 模型運算模塊運 算后得出每個關(guān)節(jié)的旋轉(zhuǎn)角;
④        旋轉(zhuǎn)角參數(shù)由底層驅(qū)動模塊加工后以 pwm 波的信號形式發(fā)送給舵機; 存儲模塊工作在開機初始化或是存儲數(shù)據(jù)需要刷新時。在開機初始化的過程
中,將存儲芯片預置的參數(shù)傳入指令模塊中;當存儲數(shù)據(jù)需刷新時,指令處理模 塊發(fā)送指令到存儲模塊,經(jīng)由存儲芯片的協(xié)議將數(shù)據(jù)寫入存儲芯片內(nèi);
外圍擴展模塊包含了一些外圍器件連接處理器的驅(qū)動協(xié)議,如 spi、iic 等 協(xié)議,當需要擴展外圍器件時,只需要調(diào)用這個模塊就能快速的開發(fā)新的功能。



4.4 上位機軟件開發(fā)


4.4.1  上位機軟件的主要功能


由于技術(shù)的限制仿生六足機器人并不能完全自主的執(zhí)行動作,必然需要人類

系統(tǒng)的功能需求分析,設計了如圖 4-10 的上位機軟件的人機界面交互的功能圖。 在這個界面可以對仿生六足機器人的許多參數(shù)進行設置,如在步態(tài)執(zhí)行時所需的 步距、時間,在進行轉(zhuǎn)彎步態(tài)時所需的轉(zhuǎn)彎半徑等等。這些參數(shù)在上位機軟件的 加載的時候已經(jīng)設定了初始化的參數(shù)值,可以方便的對這些參數(shù)進行調(diào)整。這個 界面同時也提供實時的控制功能,可以實時的對步態(tài)進行轉(zhuǎn)換。




圖 4-10  上位機軟件功能框圖




4.4.2  上位機軟件的數(shù)據(jù)收發(fā)


仿生六足機器人的上位機軟件是基于 Visual  Basic 開發(fā)環(huán)境,采用 Basic 語言所開發(fā)出來的。Visual  Basic 簡稱 VB,具有易上手,編程直觀等特點。對 于小型程序的開發(fā)采用 VB 比采用 VC++具有更快的開發(fā)的速度,更小的開發(fā)難度。
上位機軟件采用 VB 的 MSComm 控件與電腦串口構(gòu)成軟件的通訊接口,MSComm
采用事件驅(qū)動模式,當 MSComm 控件的接 受緩沖區(qū)接受到數(shù)據(jù)后,MSComm 控件就會 捕獲事件并進行處理,然后有上位機下達 處理指令[10]。
如圖 4-11 是仿生六足機器人的上位 機軟件的流程圖,其中主要利用的就是 VB 的 MSComm 控件來進行數(shù)據(jù)收發(fā)。當下位 機向上位機軟件接受緩存區(qū)發(fā)生數(shù)據(jù)是,
MSComm 控件就會因該事件而觸發(fā),當數(shù)據(jù) 接收完畢后,有軟件進行數(shù)據(jù)處理,在顯

27


圖 4-11  上位機軟件流程圖

示窗口顯示處理結(jié)果;當由于鍵盤或是鼠標對上位機軟件的參數(shù)進行更改后,會 觸發(fā)數(shù)據(jù)處理指令,把當前的指令生產(chǎn)數(shù)據(jù)包格式,通過 MSComm 控件發(fā)送緩沖 區(qū)發(fā)送至下位機。



4.4.3  上位機軟件界面



圖 4-12  上位機軟件界面
如圖 4-12 是仿生六足機器人的上位機軟件的初設化界面。界面主要分為三 個部分:第一部分是配置界面,該部分主要有串口設置,校準設置組成,這些基 本配置正確后,仿生六足機器人才能正常的接受上位機指令執(zhí)行動作;第二部分 是仿生六足機器人的控制界面,該部分主要有幾個圖形按鈕組成,采用圖形按鈕 具有簡單明了的特點,使使用者一目了然按鍵功能;第三部分是顯示信息界面, 該界面直接顯示上位機軟件所接受到下位機的返回的數(shù)據(jù),可以明了的了解到下 位機接受了哪些指令。實驗室功能是開發(fā)者的功能,里面集成了所有仿生六足機 器人的行走參數(shù)、步態(tài)參數(shù),開發(fā)者可以在里面進行參數(shù)設置,可以進行運動的 復合,這些可以用來研究或者開發(fā)新的功能。




圖 4-13  上位機軟件的通訊設置界面        圖 4-14  上位機軟件的校準設置界面



4.5  誤差分析


仿生六足機器人的控制系統(tǒng)的設計如上所述,其有硬件、軟件共同構(gòu)成。在 完成這些設計后,與仿生六足機器人的機械結(jié)構(gòu)進行了組裝、調(diào)試,并進行了設 計測試。經(jīng)過實驗后發(fā)現(xiàn)由較大的誤差,經(jīng)過分析有幾個原因:機械結(jié)構(gòu)誤差、 機械裝配不緊密、軟件層運算取舍誤差、舵機位置傳感器不精準。由于是小型機 器人,對誤差有較大的容忍范圍,故在此采用的是軟件層調(diào)整方法:在軟件層設 置一個調(diào)整參數(shù)數(shù)組,在每次使用機器人后對其在校準狀態(tài)下進行調(diào)整,并將參 數(shù)存入存儲芯片中,在開機初始化狀態(tài)中讀取參數(shù),并將參數(shù)加載到驅(qū)動模塊中。

本章小結(jié)
本章主要研究的是仿生六足機器人的控制系統(tǒng)的設計。控制系統(tǒng)主要是有上 位機軟件、下位機軟硬件等組成?刂葡到y(tǒng)可以實時的對步態(tài)進行規(guī)劃,且多種 參數(shù)可以設置,達到了設計初期規(guī)劃的的要求。


結(jié)論

本次設計的仿生六足機器人的控制系統(tǒng),利用了仿生學原理、電子技術(shù)、單 片機技術(shù)、運動控制、數(shù)學建模仿真、數(shù)據(jù)處理等多種先進技術(shù)。實現(xiàn)了設計初 期規(guī)劃的要求,如能執(zhí)行直走、橫走、定點轉(zhuǎn)彎、原點轉(zhuǎn)彎等基本步態(tài),而且多 種參數(shù)可調(diào),如步距、時間、擺動高度等。在上位機軟件里還設置了實驗室功能, 這個功能可以對仿生六足機器人的參數(shù)進行實時的調(diào)整和多種步態(tài)的復合,為后 期開發(fā)新的功能預留了接口。
但是仿生六足機器人的控制系統(tǒng)由于技術(shù)上的限制,仍然有缺陷,如行走時 軌跡點跟理論值有一定的差距,造成這種誤差的主要原因有幾個:機械加工誤 差,裝配誤差,運算誤差等。運算誤差的來源主要是處理器運算的取舍誤差, 由于運算結(jié)果并不是一步到位的,在取舍誤差的影響下,還會有累計誤差。這些 都是仿生六足控制系統(tǒng)需要改進的地方。
隨著人類技術(shù)的不斷的進步,機器人將不再會僅僅局限于工業(yè)領(lǐng)域,它將會 在人類的生活中扮演越來越重要的角色。而有仿生學與現(xiàn)代機器人相結(jié)合的仿生 機器人也注定會越來越多樣化、智能化。


評分

參與人數(shù) 1黑幣 +2 收起 理由
阿亮666 + 2

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發(fā)
ID:166650 發(fā)表于 2017-2-25 22:17 | 只看該作者
求解,那個程序怎么打開。
回復

使用道具 舉報

板凳
ID:255989 發(fā)表于 2017-12-7 00:13 | 只看該作者
正在找這家伙呢,剛好是STm32做的,謝謝了。
回復

使用道具 舉報

地板
ID:423300 發(fā)表于 2018-11-8 21:56 | 只看該作者
需要多少積分下載呢??
回復

使用道具 舉報

5#
ID:247778 發(fā)表于 2020-3-7 19:35 | 只看該作者
大佬D-H建模,控制算法那塊可以出節(jié)視頻教學嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表