• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Arduino的兩輪自平衡機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      2015-01-06 11:49:55于強(qiáng)許強(qiáng)楊為民何燕
      電腦知識(shí)與技術(shù) 2014年34期

      于強(qiáng)+許強(qiáng)+楊為民+何燕

      摘要:隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,與開源軟件一樣,開源硬件正成為一股不可忽視的顛覆性力量影響著科學(xué)探索和企業(yè)生產(chǎn)?;陂_源硬件的產(chǎn)品越來越深入到社會(huì)實(shí)踐中?;贏rduino的開源硬件技術(shù),論文提出了一個(gè)兩輪直立自平衡機(jī)器人的設(shè)計(jì)方案。它采用陀螺儀判斷小車的原有姿勢(shì)狀態(tài),使用加速度傳感器計(jì)算車體的傾斜角度,采用Arduino處理數(shù)據(jù)和控制小車,用PID控制結(jié)合互補(bǔ)濾波融合加速度計(jì)和陀螺儀采樣信息,用PWM調(diào)節(jié)電機(jī)運(yùn)動(dòng),最終達(dá)到車體的平衡。實(shí)驗(yàn)結(jié)果表明:小車可以自行保持直立,并且具有較好的回復(fù)平衡能力。該車可以作為進(jìn)一步驗(yàn)證各種控制算法的理想平臺(tái),具有一定的應(yīng)用前景。

      關(guān)鍵詞:Arduino;開源硬件;自平衡機(jī)器人

      中圖分類號(hào):TP24 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)34-8332-03

      移動(dòng)機(jī)器人技術(shù)隨著計(jì)算機(jī)技術(shù)、軟件技術(shù)、微電子技術(shù)、材料技術(shù)等相關(guān)領(lǐng)域的進(jìn)步而發(fā)展,同航天技術(shù)一樣,其發(fā)展水平甚至代表了一個(gè)國家的綜合科技實(shí)力[1]。兩輪自平衡機(jī)器人是基于欠驅(qū)動(dòng),非線性以及無電狀態(tài)中不穩(wěn)定的系統(tǒng),若使車體能夠在供電狀態(tài)下保持自身平衡,必然要保證車身重心始終和兩車輪重心處在同一中心軸線上。當(dāng)小車車身處于動(dòng)態(tài)平衡控制時(shí),車身姿態(tài)傳感器模塊將測(cè)到的車身角速度值和加速度值經(jīng)過處理后傳到控制模塊,然后計(jì)算得到控制車身平衡的信號(hào)量,通過驅(qū)動(dòng)左右直流電機(jī)產(chǎn)生控制力矩用以調(diào)節(jié)左右車輪的速度和方向,從而使車身能夠恢復(fù)直立平衡狀態(tài)[2]。因而獲取準(zhǔn)確實(shí)時(shí)的車身角速度值和加速度值是車身能夠完成平衡控制的前提。但是傳統(tǒng)的慣性傳感器模塊由于其電器特性,易受到溫度和噪聲的影響因而產(chǎn)生不同程度的誤差,使得單一的姿態(tài)傳感器模塊在車體姿態(tài)檢測(cè)中難以獲得準(zhǔn)確的位姿。為解決上述問題,目前多采用MPU-6050整合性6軸運(yùn)動(dòng)處理組件獲取數(shù)據(jù)并通過控制模塊計(jì)算最優(yōu)姿態(tài)角度[3,4]。該文提出了一種基于Arduino開源硬件,采用PID控制的方法設(shè)計(jì)自平衡機(jī)器人。

      1 Arduino

      Arduino是一種獲得實(shí)際環(huán)境物理量的工具。它是個(gè)可編程的,基于AVR的微控制器的一個(gè)開源集成開發(fā)環(huán)境。Arduino可以用來開發(fā)交互產(chǎn)品,例如它可以獲得開關(guān)信號(hào),以及各種傳感器信息,此外它還可以實(shí)現(xiàn)各種電燈、電機(jī)以及其他物理設(shè)備的智能控制。Arduino項(xiàng)目可以單獨(dú)運(yùn)行,當(dāng)然也能夠在自身運(yùn)行的同時(shí)和計(jì)算機(jī)上的應(yīng)用程序(Flash,Processing,MaxMSP等)進(jìn)行通訊。Arduino板可以自己組裝或者直接買成品,相關(guān)的開源IDE可以免費(fèi)獲取。

      適合用作交互式平臺(tái)的單片機(jī)或者單片機(jī)平臺(tái)有很多。比如有:Parallax Basic Stamp,MITs Handyboard,Netmedias BX-24,Phidgets或者其他能實(shí)現(xiàn)類似功能的。使用以上所述的工具,你的編程將變得簡(jiǎn)便得多,它們能提供給你一套容易的編程工具包。與此同時(shí)Arduino也簡(jiǎn)化了和單片機(jī)之間工作的流程,然而與其它系統(tǒng)相比,Arduino有不少優(yōu)越性,比如:便宜,跨平臺(tái),簡(jiǎn)易的編程環(huán)境,軟件開源并可擴(kuò)展,硬件開源并可擴(kuò)展等。

      2 自平衡機(jī)器人工作原理

      為了保持機(jī)器的平衡,ARDUINO需要知道框架和地面之間的角度,以便于可以指揮電機(jī)以大約的速度和需要的方向運(yùn)行來防止機(jī)器摔倒。為了準(zhǔn)確測(cè)量自平衡機(jī)器人的傾斜角度,需要使用IMU(慣性測(cè)量單元)檢測(cè)它的旋轉(zhuǎn)速率和X軸方向的重力,主要硬件組成結(jié)構(gòu)如圖1所示。

      2.1 慣性測(cè)量單元(IMU)

      IMU是一個(gè)小的PCB板,它含有旋轉(zhuǎn)陀螺儀和電位計(jì),每個(gè)部件測(cè)量角度的不同部分,如圖2。

      有了從IMU測(cè)量的角度信息,ARDUINO可以決定用多大的速度和什么方向去啟動(dòng)兩個(gè)電機(jī)。最簡(jiǎn)單的角度估計(jì)(和ARDUINO代碼)是用-90°到+90°范圍,0°視為水平,如果IMU測(cè)得的角度是0,那么電機(jī)停止;超過0度電機(jī)適當(dāng)?shù)那斑M(jìn);低于0度電機(jī)相應(yīng)地反轉(zhuǎn)。這個(gè)機(jī)制使得自平衡機(jī)器人水平而且使你能夠通過前后傾斜去控制它的速度和方向。

      2.2 操縱和加速

      為了操縱這臺(tái)車,需要在手柄上裝一個(gè)電位計(jì)(絕對(duì)型角傳感器)在左右轉(zhuǎn)動(dòng)手柄時(shí)。如果儀表指在中心位置,電機(jī)收到相等的功率而向前直開。如果向左轉(zhuǎn)或向右轉(zhuǎn),每個(gè)電機(jī)的最大速度相應(yīng)地收到影響,使得自平衡機(jī)器人轉(zhuǎn)彎。

      2.3 啟動(dòng)開關(guān)

      需要安裝一個(gè)按鈕式開關(guān),當(dāng)它被按下時(shí)才可以操作機(jī)器。這個(gè)開關(guān)是手動(dòng)安裝在你的左手大拇指放的位置以便于如果你從自平衡機(jī)器人上下來或者什么其他的原因放開了手柄,它會(huì)馬上關(guān)閉電機(jī)。這也有一個(gè)角度限制去關(guān)閉電機(jī),如果傾斜程度超過閾值。這個(gè)跌落安全機(jī)制使得自平衡機(jī)器人駕駛者相當(dāng)?shù)陌踩?/p>

      2.4 加速度計(jì)

      加速度計(jì)可以測(cè)量出慣性測(cè)量單元在地平線方向上所受的重力。如果這個(gè)慣性測(cè)量單元板子向左或者向右傾斜了,角度測(cè)量就會(huì)產(chǎn)生每個(gè)方向上相應(yīng)的值,如圖3、圖4[5]。

      雖然該加速度計(jì)可以測(cè)量前后90°的傾角,但在實(shí)際應(yīng)用中,一般取到25°~30°就可以了,過大的傾角會(huì)使自平衡機(jī)器人進(jìn)入危險(xiǎn)駕駛狀態(tài),這是不允許的。所以設(shè)計(jì)一個(gè)閾值,當(dāng)傾角超過此閾值時(shí)就關(guān)閉電機(jī)。

      2.5 陀螺儀

      陀螺儀能測(cè)量出慣性測(cè)量單元在某時(shí)刻移動(dòng)的快慢,即每秒移動(dòng)多少度。這個(gè)值是從慣性測(cè)量單元得到的模擬信號(hào),需要把這個(gè)模擬值轉(zhuǎn)化成一個(gè)近似的角度值。想要知道陀螺儀旋轉(zhuǎn)得速度就需要知道變化的時(shí)間周期,并設(shè)置陀螺儀的起始點(diǎn)。

      2.6 角度濾波

      為了讓角度不受任何一個(gè)傳感器的缺點(diǎn)的影響,將兩個(gè)信號(hào)最好的部分結(jié)合起來。這里使用一種互補(bǔ)濾波器,就是加權(quán)平均值。由于加速度計(jì)受到的影響很多,所以它對(duì)最終角度值起的權(quán)重比較小。這里取陀螺儀=98%,加速度計(jì)=2%。endprint

      3 PWM 調(diào)速系統(tǒng)的實(shí)現(xiàn)

      脈沖寬度調(diào)制又被稱為PWM調(diào)制也即PWM技術(shù),這種脈沖載波的脈沖持續(xù)時(shí)間(脈寬)在調(diào)制波的樣值的影響下改變的脈沖調(diào)制方式,簡(jiǎn)稱脈寬調(diào)制,如圖5。

      脈沖寬度調(diào)制(PWM)是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。我們可以已使用高分辨率的計(jì)數(shù)器,用調(diào)制后的方波占空比來編碼任何一個(gè)模擬電平。PWM信號(hào)還依然是數(shù)字的,由于在任一瞬時(shí),滿幅值的直流供電不是完全有(ON狀態(tài)),就是完全無(OFF狀態(tài))。這樣,電壓或電流源作為一種通或斷的重復(fù)的脈沖序列被加到模擬負(fù)載上。負(fù)載上有直流供電是就是通,沒有直流供電是即為斷。我們可以說,假如帶寬足夠,我們可以用PWM編碼任何一個(gè)模擬值。

      3.1 PWM調(diào)速系統(tǒng)優(yōu)勢(shì)

      作為電機(jī)的調(diào)速實(shí)現(xiàn)部分,與可控整流式調(diào)速系統(tǒng)相比PWM調(diào)速系統(tǒng)明顯有以下優(yōu)點(diǎn):1) 因?yàn)镻WM調(diào)速系統(tǒng)的開關(guān)頻率高,利用電樞電感的濾波能力就可得到平穩(wěn)的直流電流,低速特性好。2) 由于快速響應(yīng)特性好,開關(guān)頻率高,有良好的魯棒性,可以獲取更寬的頻帶。3) 開關(guān)器件只在開關(guān)狀態(tài)工作,因此主電路的損耗較小,裝置的效率較高。PWM調(diào)速系統(tǒng)的應(yīng)用已經(jīng)有一段歷史了,然而高速開關(guān)的缺乏導(dǎo)致其未能在生產(chǎn)實(shí)際中推廣應(yīng)用。但近年來,由于大功率開關(guān)器件的制造技術(shù)進(jìn)步,PWM調(diào)速系統(tǒng)又受到重視[6]。

      PWM電調(diào)算是一種比較低級(jí)的自動(dòng)控制技術(shù)。所謂的低級(jí)就是精度低,為了提高控制精度,采用了PID控制[7],如圖6所示。

      4 PID控制

      PID(比例-積分-微分)控制器的應(yīng)用歷史已有70多年了,在當(dāng)代的工業(yè)控制中應(yīng)用得極其廣泛。由于PID控制器原理簡(jiǎn)單,不需精確的系統(tǒng)模型等先決條件就可以使用,使其成為應(yīng)用最為廣泛的控制器。在自平衡車中,我們要控制一個(gè)電機(jī)的轉(zhuǎn)速,就必須使用一個(gè)測(cè)量轉(zhuǎn)速的傳感器,獲取電機(jī)的轉(zhuǎn)速信息,并將結(jié)果反饋到控制路線上。應(yīng)用自動(dòng)控制的關(guān)鍵在于做出正確的測(cè)量和比較后,怎么樣才能最優(yōu)化地糾正系統(tǒng),如圖7、圖8所示。

      PID控制器是由比例單元(proportion)、積分單元(integration)和微分單元(differentiation)組成的。它的輸入e(t)和輸出u(t)之間的關(guān)系為:

      5 結(jié)束語

      兩輪直立自平衡機(jī)器人是一個(gè)相對(duì)簡(jiǎn)單的復(fù)雜系統(tǒng),是檢驗(yàn)各種控制方法處理能力的典型裝置,受到世界各國科學(xué)家的重視[8]。該文提出的基于Arduino的兩輪自平衡機(jī)器人設(shè)計(jì)采用了PWM,結(jié)合PID控制,相對(duì)于其他系統(tǒng),成本更低,制作方便,軟件開源并可擴(kuò)展,硬件開源并可擴(kuò)展,有很廣的應(yīng)用前景。

      參考文獻(xiàn):

      [1] R.西格沃特, I.R.諾巴克什.自主移動(dòng)機(jī)器人導(dǎo)論[M]. 李人厚,譯.西安:西安交通大學(xué)出版社,2006.

      [2] 阮曉鋼.兩輪自平衡機(jī)器人的研究與設(shè)計(jì)[M].北京:科學(xué)出版社,2012.

      [3] 趙蕊,賀建軍.多傳感器信息融合技術(shù)[J].計(jì)算機(jī)測(cè)量與控制,2006,15(9):1124-1126.

      [4] 黃漫國.多傳感器數(shù)據(jù)融合技術(shù)研究進(jìn)展[J].傳感器與微系統(tǒng),2010,29(3):5-8.

      [5] 王海波,馮蓉珍,司俊,等.基于PWM調(diào)速的智能小車控制系統(tǒng)實(shí)現(xiàn)[J].科技廣場(chǎng),2011(11).

      [6] John-David Warren, Josh Adams, Harald Molle. Arduino Robotics[M].2011.7.25

      [7] 李洋,梁義維.基于PID與LQR的兩輪平衡小車控制算法的仿真研究[J].機(jī)械工程與自動(dòng)化,2011(6):2.

      [8] 楊程引,程菊花,陳友榮,等.兩輪直立自平衡機(jī)器人的設(shè)計(jì)[J].浙江樹人大學(xué)學(xué)報(bào),2013(12).endprint

      水城县| 伊宁市| 碌曲县| 海丰县| 大城县| 安平县| 红原县| 伊金霍洛旗| 深泽县| 陇南市| 武平县| 周口市| 霸州市| 石林| 桂平市| 龙游县| 黄龙县| 商水县| 四子王旗| 祥云县| 汾西县| 星子县| 疏附县| 沭阳县| 永和县| 治县。| 宁阳县| 涡阳县| 子洲县| 西乌| 荣成市| 乳山市| 宣威市| 福建省| 清河县| 剑川县| 岚皋县| 湘潭县| 盐津县| 孝感市| 东乌珠穆沁旗|