機器人技術(shù)及實踐數(shù)學(xué)基礎(chǔ)及pwm調(diào)控_第1頁
機器人技術(shù)及實踐數(shù)學(xué)基礎(chǔ)及pwm調(diào)控_第2頁
機器人技術(shù)及實踐數(shù)學(xué)基礎(chǔ)及pwm調(diào)控_第3頁
機器人技術(shù)及實踐數(shù)學(xué)基礎(chǔ)及pwm調(diào)控_第4頁
機器人技術(shù)及實踐數(shù)學(xué)基礎(chǔ)及pwm調(diào)控_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第一章 概論第二章 機器人的機械結(jié)構(gòu)第三章 機器人的數(shù)學(xué)基礎(chǔ)第四章 C語言與單片機編程工具第五章 機器人的控制和編程1、仿生機器人、人形機器人結(jié)構(gòu)認識訓(xùn)練2、仿生機器人、人形機器人裝配與改裝3、仿生機器人、人形機器人編程和項目訓(xùn)練注:上圖中的Pn,對應(yīng)程序中的positionn。1PWM 信號的定義(Pulse Width Modulation) PWM就是脈沖寬度調(diào)制的英文縮寫,方波高電平時間跟周期的比例叫占空比,例如1秒高電平1秒低電平的PWM波占空比是50%. 脈寬調(diào)制PWM是開關(guān)型穩(wěn)壓電源中的術(shù)語。這是按穩(wěn)壓的控制方式分類的,除了PWM型,還有PFM型和PWM、PFM混合型。脈寬寬度調(diào)

2、制式(PWM)開關(guān)型穩(wěn)壓電路是在控制電路輸出頻率不變的情況下,通過電壓反饋調(diào)整其占空比,從而達到穩(wěn)定輸出電壓的目的。 脈寬調(diào)制(PWM)是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。1PWM 信號的定義(Pulse Width Modulation) SH14-M 舵機采用傳統(tǒng)的PWM 協(xié)議,優(yōu)缺點一目了然。優(yōu)點是已經(jīng)產(chǎn)業(yè)化,成本低,旋轉(zhuǎn)角度大(目前所生產(chǎn)的都可達到185 度);缺點是控制比較復(fù)雜。但是它是一款數(shù)字型的舵機,其對PWM 信號的要求較低:(1) 不用隨時接收指令,減少CPU 的疲勞程度;(2) 可以位置自鎖、

3、位置跟蹤,這方面超越了普通的步進電機;1PWM 信號的定義(Pulse Width Modulation) 其PWM 格式注意的幾個要點:(1) 上升沿最少為0.5mS,為0.5mS-2.5mS 之間;(2) SH14-M 數(shù)字舵機下降沿時間沒要求,目前采用0.5Ms 就行;也就是說PWM 波形可以是一個周期1mS 的標(biāo)準(zhǔn)方波;(3) SH0680 為塑料齒輪模擬舵機,其要求連續(xù)供給PWM 信號;它也可以輸入一個周期為1mS的標(biāo)準(zhǔn)方波,這時表現(xiàn)出來的跟隨性能很好、很緊密。2PWM 信號控制精度制定 我們采用的是8 位STC12C5A60S2CPU,其數(shù)據(jù)分辨率為256,那么經(jīng)過舵機極限參數(shù)實驗

4、,得到應(yīng)該將其劃分為250 份。那么 0.5mS-2.5Ms 的寬度為2mS = 2000uS。 2000uS250=8uS則:PWM 的控制精度為8us我們可以以8uS 為單位遞增控制舵機轉(zhuǎn)動與定位。舵機可以轉(zhuǎn)動185 度,那么185 度250=0.74 度,則:舵機的控制精度為0.74 度 1 DWT = 8uS ; 250DWT=2mS時基寄存器內(nèi)的數(shù)值為:(#01H)01 (#0FAH)250。共 185 度,分為250 個位置,每個位置叫1DWT。 則:185250 = 0.74 度 / DWT PWM 上升沿函數(shù): 0.5mS + NDWT 0uS NDWT 2mS 0.5mS 0

5、.5Ms+NDWT 2.5mS單舵機拖動及調(diào)速算法1舵機為隨動機構(gòu)(1)當(dāng)其未轉(zhuǎn)到目標(biāo)位置時,將全速向目標(biāo)位置轉(zhuǎn)動。(2)當(dāng)其到達目標(biāo)位置時,將自動保持該位置。所以對于數(shù)字舵機而言,PWM 信號提供的是目標(biāo)位置,跟蹤運動要靠舵機本身。(3)像SH-0680 這樣的模擬舵機需要時刻供給PWM 信號,舵機自己不能鎖定目標(biāo)位置。所以我們的控制系統(tǒng)是一個目標(biāo)規(guī)劃系統(tǒng)。(1)SH14-M 舵機的位置控制方法 舵機的轉(zhuǎn)角達到185 度,由于采用8 位CPU 控制,所以控制精度最大為256 份。目前經(jīng)過實際測試和規(guī)劃,分了250 份。具體劃分參見“PWM 信號控制精度制定”。將 0185 分為250 份,每

6、份0.74 度??刂扑璧?PWM 寬度為0.5ms2.5ms,寬度2ms。2ms250=8us;所以得出:PWM 信號高電平持續(xù)的時間 =度數(shù)/8s + 500s;(2)SH14-M 舵機的運動協(xié)議 運動時可以外接較大的轉(zhuǎn)動負載,舵機輸出扭矩較大,而且抗抖動性很好,電位器的線性度較高,達到極限位置時也不會偏離目標(biāo)。2目標(biāo)規(guī)劃系統(tǒng)的特征(1)舵機的追隨特性 舵機穩(wěn)定在A 點不動; CPU 發(fā)出B 點位置坐標(biāo)的PWM 信號; 舵機全速由A 點轉(zhuǎn)向B 點; = B A T = CPU 發(fā)出B 點PWM 信號后,應(yīng)該等待一段時間,利用此時間舵機才能轉(zhuǎn)動至B 點。 那么,具體的保持(等待)時間如何來計

7、算,如下:令:保持時間為 T 當(dāng)TT 時,舵機能夠到達目標(biāo),并有剩余時間; 當(dāng) TT 時,舵機不能到達目標(biāo); 理論上:當(dāng) T=T 時,系統(tǒng)最連貫,而且舵機運動的最快。實際過程中由于 2 個因素: 1 個機器人身上有多個舵機,負載個不相同,所以不同; 某個舵機在不同時刻的外界環(huán)境負載也不同,所以不同;則連貫運動時的極限T 難以計算出來。目前采取的方法是經(jīng)驗選取值。(2)舵機值測定 舵機的值隨時變化,所以只能測定一個平均值,或稱出現(xiàn)概率最高的點。依據(jù): 廠商的經(jīng)驗值; 采用 SH14-M 具體進行測試;測試實驗: 將 CPU 開通,并開始延時T; 當(dāng)延時 T到達后,觀察舵機是否到達目標(biāo);測定時采用

8、一段雙擺程序,伴隨示波器用肉眼觀察 T與T 的關(guān)系。(3)舵機值計算 一般舵機定為0.16-0.22 秒/60 度;取 0.2 秒/60 度 1.2 秒/360 度 0.617 秒/185 度則為 360 度/1.2 秒,2/1.2 秒=300 度/秒那么185 度轉(zhuǎn)動的時間為185 度360 度*1.2 秒 = 0.617 秒。3DWA 的定義的定義 將185 度的轉(zhuǎn)角分為250 個平均小份。則:每小份為 0.74 度。定義如下:DWA = 0.74 度度由于: = 0.2 秒/60 度則:運行1 DWA 所需時間為:0.74 度*0.2 秒/60 度 = 2.467 mS;4DWT 的定義

9、的定義 舵機電路支持的PWM 信號為0.5mS2.5mS,總間隔為2mS。 若分為 250 小份,則2mS250 = 0.008 mS = 8uS定義如下:DWT = 8uS5單舵機調(diào)速算法測試內(nèi)容:將后部下降沿的時間拉至30ms 沒有問題,舵機照樣工作。將后部下降沿的時間拉至 10ms 沒有問題,舵機照樣工作。將后部下降沿的時間拉至2.6ms 沒有問題,舵機照樣工作。將后部下降沿的時間拉至500us 沒有問題,舵機照樣工作。實踐檢驗出:下降沿時間參數(shù)可以做的很小。目前實驗降至 500uS,依然工作正常。原因是:(1)舵機電路自動檢測上升沿,遇上升沿就觸發(fā),以此監(jiān)測PWM 脈寬“頭”。(2)舵

10、機電路自動檢測下降沿,遇下降沿就觸發(fā),以此監(jiān)測PWM 脈寬“尾”。(1)舵機轉(zhuǎn)動時的極限下降沿PWM 脈寬T:舵機運轉(zhuǎn)1DWA(0.74 度)所需要的最小時間,目前計算出的數(shù)值為2.467mS;T 前面的20 mS 等待時間可以省略,舵機依然工作;而且得出舵機跟隨的最快驅(qū)動方式。舵機T數(shù)據(jù)實驗表格數(shù)據(jù)實驗表格令人質(zhì)疑的地方為1.1ms 時的表現(xiàn),得出的T T;也就是說 1.1ms = 2.467ms,顯然存在問題。經(jīng)過考慮重新觀察 PWM 波形圖發(fā)現(xiàn),電機真正的啟動點如下圖:實際上由 A 到到B 的運動時間為:的運動時間為:T = T +(B 點的)點的)PWM8 舵機聯(lián)動單周期舵機聯(lián)動單周期

11、PWM 指令算法指令算法1控制要求 要求同時發(fā)給8 個舵機位置目標(biāo)值,該指令的執(zhí)行周期盡量短,目的有2 個: 其一,是為了將來擴充至 24 舵機; 其二,目標(biāo)越快,舵機的轉(zhuǎn)動速度越快;我們以 8 路為1 組或稱1 個單位,連續(xù)發(fā)出目標(biāo)位置,形成連續(xù)的目標(biāo)規(guī)劃曲線,電機在跟隨過程中自然形成了位置與速度的雙指標(biāo)曲線,實現(xiàn)8 路舵機聯(lián)動。2注意事項 從24 個端口,P0、P1 到P2,單DWT 循環(huán)的最小時間只有8us,所以串行運算是不行的,那么就采用并行運算。目前采用的并行算法是 P0.0P0.7 為一個基本單位,8 位一并。實際案例:P0 口的8 個位置各不相同;例如:T 為一個周期,分為2 部

12、分1 PWM 寬2 延時等待38 路PWM 信號發(fā)生算法解析定義數(shù)組:arr8; pick_up8;例如:arr8內(nèi)為P0 口的8 路N 數(shù)值,這些數(shù)值是根據(jù)舵機狀態(tài)定的,沒有規(guī)律。pick_up8內(nèi)為固定的一組邏輯參數(shù)。將數(shù)組 arr 內(nèi)的數(shù)據(jù)由大到小排列,pick_up 內(nèi)的數(shù)據(jù)也數(shù)之變化,變成:將 N 值做減法,求得:arr0=arr0-arr1=81 arr1=arr1-arr2=18 arr2=arr2-arr3=13 arr3=arr3-arr4=29 arr4=arr4-arr5=24 arr5=arr5-arr6=16 arr6=arr6-arr7=8 arr7=arr7=12

13、我們將每 8 路輸出的高電平時間限制在一個2.5ms 的中斷內(nèi),開啟中斷。將全部的 8 路輸出置為高電平,并延時500ms 作為目標(biāo)位置為0 的基礎(chǔ)。循環(huán) 8 次,每次延時arr 內(nèi)的值個8us,再將P0 口“與” 相應(yīng)的邏輯參數(shù),例如:最終輸出順序如下圖所示:SHR-8S 左腿機械結(jié)構(gòu)1左腿部側(cè)面軸關(guān)節(jié)介紹雙足機器人行走和它的機械結(jié)構(gòu)有至關(guān)重要的聯(lián)系。自從1986 年以來,一直延用的日本加藤一郎結(jié)構(gòu),其腿部側(cè)面就如右圖所示:它有3 個自由度,每個自由度采用1 個舵機構(gòu)成。圖中用1、2、3 表示這3個舵機。其中包含幾個重要的幾何關(guān)系: 一般的機器人,腿上半部與下半部長短相近,我們在研究機器人步

14、伐的時候可以令其為相等長度。這是1 個十分關(guān)鍵的地方。在國內(nèi),之所以大多的機器人不能行走,其中的一個原因就是將腿上半部與下半部加工成不同長度。導(dǎo)致CPU 的計算量劇增。原地踏步動作時:L12=L23=+=2(如此簡單的函數(shù)關(guān)系,可以驟減CPU 的計算量)今后在做一般性研究時,可以將L12 和L23 做成任意長度。如此描述一個簡單的積分函數(shù)(原地踏步函數(shù)):d=dd= d+d(一般CPU 就用此式進行積分運算)取為1DWA,則=1DWA,=2DWA即:舵機1 的|N|=1舵機2 的|N|=2舵機3 的|N|=1CPU 一邊進行積分運算,一邊將數(shù)據(jù)發(fā)送給舵機,令其執(zhí)行。d=(d+ d)=d+dK+

15、=(K+)+(K+)K、K、K為積分原始初始值,在機器人中表現(xiàn)為初始位置坐標(biāo)。2舵機轉(zhuǎn)動正方向制定我們研究腿部運動時,按照從初始位置(即最高站立姿式)起向最低站立姿勢過渡時的舵機轉(zhuǎn)動方向為正方向。那么圖中標(biāo)出了3 個舵的正方向。初始位置= 121,= 91,= 112(注意:這些值根據(jù)實際情況而定,并非一定)由于舵機規(guī)定的正方向為逆時針方向,則:1方向1 與舵機反向2方向2 與舵機同向3方向3 與舵機同向(1)由直立狀態(tài)到下蹲狀態(tài)過程中,稱為上半周,舵機變化為;上半周:舵機 1 的 N = -舵機2 的 N = +舵機3 的 N = +(2)由下蹲狀態(tài)到直立狀態(tài)過程中,舵機變化為;下半周: 舵

16、機1 的 N = +舵機2 的 N = -舵機3 的 N = -3左腿半周期運動程序分析依照上面所講述的2 個幾何特點, L12=L23; 1、3 點始終垂直共線; 舵機 1 的|N|=1 舵機2 的|N|=2 舵機3 的|N|=1CPU 一邊進行積分運算,一邊將數(shù)據(jù)發(fā)送給舵機。初始時刻= 121,= 91,= 112(注意:這些值根據(jù)實際情況而定,并非一定)上半周:舵機1 的 N = -1 舵機2 的 N = +2 舵機3 的 N = +1下半周:舵機1 的 N = +1 舵機2 的 N = -2 舵機3 的 N = -1CPU 進行上半周積分時,腿部逐漸下蹲;CPU 進行下半周積分時,腿部

17、逐漸上抬;積分始:=121 =91 =112積分末:=45 =243 =188至積分末,發(fā)現(xiàn)先出現(xiàn)極限值 45,那么積分步數(shù)為:121-45=76 步。76DWA=760.74 度=56.24 度=56.24 度=112.48 度=56.24 度以上介紹的是積分上半周的左腿動作解析,起立動作與之相反。右腿的下蹲和起立原理與左腿相同,只是方向與左腿的下蹲和起立方向相反。1、雙腿蹲起動作程序特點雙腿蹲起動作解析 相對其他程序,蹲起程序較為簡單,但恰恰是最基礎(chǔ)的程序,所以在所有程序中處于中流砥柱的位置。在機器人蹲起過程中有以下4 個特點:雙腿著地;同起同落;腳、肩保持平行;胸平面軸不動;根據(jù)這4 個

18、特點,我們采用積分程序?qū)㈦p腿的運動過程中的各個關(guān)節(jié)位置計算出來,并實時輸送給舵機。共控制6 個運動軸,分別為左腿的1、2、3 和右腿的4、5、6。其中:=1=4 =2=5 =3=6 = =2規(guī)定蹲為動作的上半周期規(guī)定起為動作的下半周期2積分首末位置與過程我們將積分過程分為上下2 個半周期,則每條腿有3 個初始位置。最多可以積分76 步左右,關(guān)節(jié)1、4 會到達極限值。積分起始位置可以改變(條件1、2、3;4、5、6 遵守肩、腳平行)積分結(jié)束位置可以改變(條件1、2、3;4、5、6 遵守肩、腳平行)起始位置公式:1= 121 - N 4= 80 + N2= 91 + 2N 5=201 - 2N3=

19、112 + N 6=128 - N結(jié)束位置公式:1= 45 +N 4= 156- N2= 243- 2N 5=49 + 2N3=188 - N 6=52 + N機器人行走步伐函數(shù)解析1舵機方向制定前進動作中,參與的Y 平面舵機有4 個,分別為: 左腿的 Y1、Y2;右腿的Y3、Y4。其中如果保持肩、腳平行,身體不傾斜,那么: 左腿的 Y1、Y2 為平行關(guān)系; 右腿的 Y3、Y4 為平行關(guān)系;特別注意,形成周期運動,且保持肩、腳平行,身體不傾斜,那么: Y1、Y2、Y3、Y4 全為平行關(guān)系; 即:Y1=Y2=Y3=Y4Y 平面初始位置:平面初始位置:Y1=104Y2=104Y3=146Y4=146Z 平面初始位置:平面初始位置:X1=169 X4=80X2=91 X5=158X3=112 X6=128 同樣,該位置參數(shù)來自1 臺SHR-8S 實驗機,其他機器人參數(shù)根據(jù)各自舵機初始位置而定。參與運動的舵機有10 個之多,其中X 平面6 個,Y 平面4 個。 注意!在實際的前進實驗過程中發(fā)現(xiàn),為了便于更好的行走直立的姿勢與人類有些不同。 雙腿微向外劈叉5 度-10 度的幅度;目前我們的機器人前進程序中主動采用此類方法。 另外,Y 平面上還有4 個舵機,均屬于手臂部分,我們現(xiàn)在把研究對象看成2 部

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論