喬全邦-可分離多形態(tài)舞蹈機器人論文_第1頁
喬全邦-可分離多形態(tài)舞蹈機器人論文_第2頁
喬全邦-可分離多形態(tài)舞蹈機器人論文_第3頁
喬全邦-可分離多形態(tài)舞蹈機器人論文_第4頁
喬全邦-可分離多形態(tài)舞蹈機器人論文_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2011-2012德州儀器C2000及MCU創(chuàng)新設(shè)計大賽項目報告題目:可自動分離的多形態(tài)舞蹈機器人學(xué)校:西安電子科技大學(xué)指導(dǎo)教師:趙建組別:本科組應(yīng)用類別:控制系統(tǒng)類平臺:MSP430參賽隊成員名單(含個人教育簡歷):喬全邦:西安電子科技大學(xué)09屆大三本科生,機電工程學(xué)院測控技術(shù)與儀器專業(yè).性別:男聯(lián)系方式:15829368644郵箱:HYPERLINK”mailto:qqb_369927@163。com"qqb_369927@163。com劉龍超:西安電子科技大學(xué)09屆大三本科生,機電工程學(xué)院測控技術(shù)與儀器專業(yè)。性別:男聯(lián)系方式箱:HYPERLINK”mailto:liulongchao2009@163.com"liulongchao2009@163.com趙凱:西安電子科技大學(xué)10屆大二本科生,機電工程學(xué)院測控技術(shù)與儀器專業(yè)。性別:男聯(lián)系方式箱:HYPERLINK"mailto:1366632984@qq。com"1366632984@qq.com視頻觀看地址:http://v./v_show/id_XMzU3OTI3MDM2.html郵寄地址:西安市西灃路興隆段266號西安電子科技大學(xué)新校區(qū)機電工程學(xué)院04095101班班收件人:喬全邦聯(lián)系方式:15829368644題目:可自動分離的多形態(tài)舞蹈機器人摘要(中英文)該項目——可自動分離的多形態(tài)舞蹈機器人,可自由的進(jìn)行多種形態(tài)的變化如四足機器人、四輪小車、雙足直立機器人等,并且可以依靠電磁鐵自主實現(xiàn)機器人的連接與分離。該項目是機電一體化的典型代表,也是自動化技術(shù)的展現(xiàn),涉及的知識面極為廣泛,涵蓋機械結(jié)構(gòu)的原理與設(shè)計、硬件電路的設(shè)計和程序的算法設(shè)計和實現(xiàn)等。Theproject—Adancingrobotwhichcanautomat(yī)icallyseparat(yī)eintoavarietyofmorphologicalfreely,suchasfour-leggedrobot、littlefour-wheelcar、uprightbipedalrobot,andcanbeseparatedorconnectedbytheelectromagnets.Theprojectisatypicalrepresentativeofthemechanicalandelectricalintegration,aswellastheembodimentoftheautomationtechnology,whichisinvolvinganextremelybroadrangeofknowledge,coveringtheprinciplesanddesignofthemechanicalstructure,thedesignofhardwarecircuit,andthealgorithmdesignandimplementationoceduresetc.引言機器人技術(shù)作為20世紀(jì)人類最偉大的發(fā)明之一,自20世紀(jì)60年代初問世以來,經(jīng)歷40余年的發(fā)展已取得長足的進(jìn)步.到現(xiàn)在為止,機器人的種類已有幾百種,以應(yīng)用到生產(chǎn)和生活的各個領(lǐng)域。隨著人們物質(zhì)生活的提高,精神生活以引起了人們的重視.在這種情況下,舞蹈機器人便應(yīng)用而生.舞蹈機器人作為一種極具娛樂性觀賞性的藝術(shù)形式,吸引了越來越多的學(xué)生,為他們接觸前沿科技提供了合適的機會,有助于普及素質(zhì)教育和機器人技術(shù)知識,這反過來也會促進(jìn)人工智能和機器人的發(fā)展;在導(dǎo)游服務(wù)行業(yè),有一定的應(yīng)用前景。同時可分離機器人的靈活性更大,其自動分離與自動對接技術(shù)的實現(xiàn)更加增加了其觀賞性.除此之外,其自動變形技術(shù)更加增加了其觀賞性。除了觀賞性外,還可以對其程序進(jìn)行改變,改變其功能,憑借其靈活的變形手段,和變形為車的能力,還有自動分離自動對接技術(shù),可以實現(xiàn)地形偵查,環(huán)境監(jiān)測,自主爆破等功能。是一個絕佳的,多功能的可拓展的機器人.系統(tǒng)方案在該機器人的設(shè)計中主要進(jìn)行機械結(jié)構(gòu)設(shè)計、驅(qū)動機構(gòu)設(shè)計、驅(qū)動器及電源選擇、硬件電路設(shè)計及軟件算法實現(xiàn)等。機械部分:穩(wěn)定性、平衡性和靈活性,同時保證一定的剛度;關(guān)節(jié)連接件的設(shè)計要合適,保證機器人行動起來靈活自如,動作順滑平穩(wěn),并且具有一定的承受負(fù)載能力;機器人重心的確定,硬件控制電路板和電池等負(fù)載如何放置,機器人對接分離時,平穩(wěn)靈活動力源:驅(qū)動源的選擇在保證穩(wěn)定性、平衡性和靈活性的前提下,實現(xiàn)低成本、低功耗.電源要求:由于機器人的幾何尺寸的限制,所以電源體積又不能過大;容量不能過小,至少滿足一次完整跳舞過程;電源內(nèi)阻不能過大,減小功耗;電源提供電機和邏輯電路的電壓要求.硬件控制板:1)微控器的選擇要求:低功耗,處理數(shù)據(jù)快。2)信號調(diào)理電路的要求:抗干擾性強,穩(wěn)定性強。3)穩(wěn)壓電路要求提供大電流,并能承受舵機轉(zhuǎn)動的瞬時電流沖擊.5、軟件設(shè)計:1)實時性:在一定時間間隔內(nèi),完成一系列的軟件的處理過程,所以要求所有程序必須是非阻塞程序。2)平穩(wěn)性:要保證機器人運動的平穩(wěn)性必須想辦法降低機器人的運動速度,即舵機的轉(zhuǎn)動速度,后來采用內(nèi)插法,進(jìn)行舵機轉(zhuǎn)速的調(diào)整。3)連續(xù)性:為了保證所有舵機轉(zhuǎn)動的快速切換,所以采用中斷方式,從而保證每個舵機都可以按要求轉(zhuǎn)動.系統(tǒng)硬件設(shè)計硬件設(shè)計主要包括機械結(jié)構(gòu)設(shè)計和硬件電路設(shè)計,再次主要對硬件電路進(jìn)行介紹,機械結(jié)構(gòu)設(shè)計見附錄一。(1)430最小系統(tǒng)該系統(tǒng)主要包括JTAG仿真下載接口、復(fù)位及振蕩電路,主處理器用msp430f149,首先其價格低廉,并且有很強的數(shù)據(jù)處理能力還有足夠的容量來存儲動作數(shù)據(jù),除此之外還有足夠多的I/O口對舵機及電磁鐵進(jìn)行控制。(2)430供電模塊LM117-3.3是典型的三引腳穩(wěn)壓芯片,可以提供穩(wěn)定的3.3V左右的穩(wěn)定電壓.(3)模擬電源模塊其中UPC24A05芯片可以產(chǎn)生5V/3A(MAX)的電壓足夠為舵機提供電源。(4)舵機驅(qū)動電路Ib=Ui/R4;Ic=(1+β)*Ib;Uo=5-Uc=5—(R2*Ic)=5-(1+β)*(R2/R4)*Ui;所以輸入電壓Ui=2.5時輸出電壓Uo=0V;所以輸入電壓Ui=0時輸出電壓Uo=5V;因為430芯片的輸出電壓大概在2.5V左右,而舵機控制脈沖的高電平至少要3。5V的電壓,所以在此處用三極管進(jìn)行簡單的信號放大,使其足以驅(qū)動舵機。(5)電磁鐵驅(qū)動電路該電路包括兩部分,左圖為三極管放大電路,右邊為場效應(yīng)管開關(guān)電路。場效應(yīng)管采用2SK3483,因為其可以通過高達(dá)60V的電壓,并且電阻極小,是非常好的電子開關(guān)之一,用來控制要通過大電流,大電壓的電磁鐵十分理想。它為N溝道絕緣柵型場效應(yīng)管,其導(dǎo)通電壓最大值為2.5V,典型值為2V,而430單片機的I/O口輸出電壓最大只有2.5V,為了保證其完全導(dǎo)通所以將I/O口的輸出電壓先用用三極管進(jìn)行放大然后再將其連接場效應(yīng)管,進(jìn)行場效應(yīng)管的控制。系統(tǒng)軟件設(shè)計整個系統(tǒng)軟件的主體是機器人的動作控制程序,整套動作可以劃分為5個部分.機器人的兩部分相結(jié)合成為一個完整的雙足機器人,在該部分機器人主要進(jìn)行雙手、雙臂的動作,包括曲臂、伸臂、擺手等.在該部分機器人彎腰變形成為四足機器人的第一形態(tài),該形態(tài)的主要運動方式是依靠四足轉(zhuǎn)動產(chǎn)生的摩擦力是機器人進(jìn)行滑步運動,該部分要求對每個舵機(該款舵機可進(jìn)行360度旋轉(zhuǎn))的轉(zhuǎn)動方向,轉(zhuǎn)動速度進(jìn)行嚴(yán)格控制,只有這樣,才能是機器人平穩(wěn)滑步,當(dāng)然通過四足轉(zhuǎn)動速度的調(diào)整也可以隨意改變機器人的滑動方向。該部分通過機器人通過對腳部接觸地面角度的控制使其達(dá)到四足機器人的第二形態(tài),此形主要適合在大摩擦力的環(huán)境運動,該部分通過對四足爬蟲爬行動作的模仿而實現(xiàn)運動。在這個部分四足機器人又進(jìn)行下一形態(tài)的變化變形為四輪小車,進(jìn)行車類運動。同時該部分也有四輪小車的第二形態(tài)。此時機器人又從小車變?yōu)樗淖銠C器人,然后通過對電磁鐵的控制實現(xiàn)機器人的自動分離而成為兩個非完整雙足機器人。該機器人又會進(jìn)行劈叉、彎腰、變形、鞠躬等動作表演。所有這些動作都由程序?qū)崿F(xiàn)、這些動作的控制數(shù)組也存儲在430芯片內(nèi)。因為整個程序的子程序很多,所以為了保證程序的實時性必須保證所有的程序均為非阻塞程序,并且要配合定時中斷合理的進(jìn)行各程序間的切換。其中舵機的減速程序和8路舵機PWM控制信號的實時產(chǎn)生為算法精華和重點.而動作數(shù)據(jù)庫的建立相對簡單就不在贅述。主要對8路舵機的控制程序進(jìn)行介紹。詳細(xì)描述:對8個舵機進(jìn)行角度初始化,并保存于數(shù)組pre_action[]中.調(diào)用動作數(shù)組的第一個動作。將其保存于一個數(shù)組now_action[]中。用now_action[]數(shù)組中的角度值減去數(shù)組pre_action[]中的角度值將其差值存于cha_action[]中.采用內(nèi)插法調(diào)整舵機轉(zhuǎn)速,控制8個舵機分別轉(zhuǎn)到now_action[]中的角度處。將數(shù)組now_action[]里的值保存于數(shù)組pre_action[]中.重復(fù)(2)——(6)過程。關(guān)于內(nèi)插法的詳細(xì)描述:(1)我們知道模擬舵機的控制方法是在周期為20ms的脈沖信號中控制高電平時間為0.5ms——2.5ms之間,即調(diào)節(jié)其占空比而控制其轉(zhuǎn)動角度.如:高電平為0.5ms時舵機的角度為-90度.高電平為1。5ms時舵機的角度為0度。高電平為1.5ms時舵機的角度為90度。(2)內(nèi)插法就是在舵機欲抵達(dá)的角度Q與現(xiàn)在角度P之間等間隔的插入n個角度值,這樣使舵機轉(zhuǎn)動n次每次轉(zhuǎn)動很小一個角度,但是每次所需的時間都至少為一個周期即20ms這樣舵機總共轉(zhuǎn)動的時間就增加了n倍,即舵機轉(zhuǎn)動速度也減少了n倍。(3)詳細(xì)的該部分代碼見附錄二。系統(tǒng)創(chuàng)新(1)機械結(jié)構(gòu)設(shè)計方面,可以實現(xiàn)機器人多個形態(tài)間的自由切換。(2)運用電磁鐵作為連接機構(gòu)的主要組成部分,是連接分離更加快捷、方便。(3)舵機的速度控制及8路PWM波實時輸出算法。評測與結(jié)論整個系統(tǒng)完成后,經(jīng)指導(dǎo)老師檢驗,效果良好,可以達(dá)到預(yù)期目標(biāo),自由實現(xiàn)機器人的多形態(tài)變化,并且機器人的分離也十分快速充分。附錄附錄一:關(guān)節(jié)連接件:機械對接模塊:430控制板:整體效果圖(來自視頻截圖):附錄二:為了便于大家理解舵機的控制程序特在此截取了部分源代碼便于大家對內(nèi)插法的認(rèn)識,源代碼有8路輸出,現(xiàn)在只列出2路輸出,動作數(shù)組也只有4個,只是為了說明代碼的運行過程。如:(1)一些有用的變量定義:#definePwm_Th_All8//表示8路舵機#defineTA_Cycle2500//定時器A設(shè)置周期為:2。5msunsignedintAction_Cnt=0,j=0;//Action_Cnt表示第Action_Cnt套動作,j表示第i套動作中第j個舵機//用二維數(shù)組表示動作數(shù)據(jù)庫intconstAction[][Pwm_Th_All]={1300,1300,1300,1300,1300,1300,1300,1300,//11500,1500,1500,1500,1500,1500,1500,1500,//21400,1500,1500,1500,1500,1500,1500,1500,600,1500,1500,1500,1500,1500,1500,1500,};intPre_Action[Pwm_Th_All]={600,600,600,600,600,600,600,600};//記錄前一套動作數(shù)據(jù)intNow_Action[Pwm_Th_All]={600,600,600,600,600,600,600,600};//記錄當(dāng)前動作數(shù)據(jù)intAction_Cha[Pwm_Th_All]={0,0,0,0,0,0,0,0};//記錄前一次和當(dāng)前一次的動作差值unsignedintPl(wèi)use_Width[Pwm_Th_All]={600,600,600,600,600,600,600,600};//每個定時周期內(nèi)的脈沖寬度,初值為0.6msunsignedcharAction_Time_Keep[]={5,5,5,3,3,3,3,3,3,8};//每一套動作的持續(xù)時間,單位SunsignedintLarge_Value=0;//記錄最大差值,保存每一套動作中的最大差值unsignedcharCycle_Data=0;//20ms周期計數(shù)器unsignedintAction_Time_Cnt=0;//一幀動作時間計數(shù)器unsignedintm=0;//記錄脈寬變化量unsignedinta=0;//記錄每一套動作持續(xù)的時間/*****************************************************************************(2)Action_Process()函數(shù):函數(shù)名:Action_Process()功能:將動作數(shù)據(jù)庫中的讀出并存入Now_Action[]數(shù)組中又將Now_Action[]動作值與Pre_Action[]做差,將讀出的動作值存入Pre_Action[]中,將差值存入Now_Action[]中并由小到大排序********************************************************************************/voidAction_Process(){unsignedchari=0;j=0;inttemp;//臨時存儲動作變量for(i=0;i〈8;i++){Now_Action[i]=Action[Action_Cnt][j];//讀入當(dāng)前動作值j++;}i=0;j=0;//全局變量歸零for(i=0;i〈8;i++){temp=Now_Action[i]-Pre_Action[i];//將Now_Action[]動作值與Pre_Action[]做差Pre_Action[i]=Now_Action[i];//讀出的動作值存入Pre_Action[]中Action_Cha[i]=temp;}i=0;if(Action_Cha[0]>=0)//找出絕對值最大的差值,即變化量最大的角度Large_Value=Action_Cha[0];elseLarge_Value=(—Action_Cha[0]);for(i=0;i〈8;i++){if(Action_Cha[i]>=0){if(Large_Value<=Action_Cha[i])Large_Value=Action_Cha[i];}else{if(Large_Value<=(-Action_Cha[i]))Large_Value=(-Action_Cha[i]);}}}(3)對所用到的各個I/O口全部置高.#pragmavector=TIMERA0_VECTOR//Timer_A中斷服務(wù)程序__interruptvoidTimer_A(void){if(a〈Action_Time_Cnt){switch(Cycle_Dat(yī)a){case0:P4OUT|=BIT0;//將對應(yīng)的IO口置高TBCTL=TBSSEL_2+MC_1+CNTL_0+I(xiàn)D_3;//TB時鐘是SMCLK,增計數(shù)模式,8分頻TBCCTL0|=CCIE;//開定時器B的中斷TBCCR0=Pluse_Width[Cycle_Data]—1;//裝初值,即脈沖寬度break;case1:P4OUT|=BIT1;//將對應(yīng)的IO口置高TBCTL=TBSSEL_2+MC_1+CNTL_0+ID_3;//TB時鐘是SMCLK,增計數(shù)模式,8分頻TBCCTL0|=CCIE;//開定時器B的中斷TBCCR0=Pluse_Width[Cycle_Data]-1;//裝初值,即脈沖寬度break;default:break;}}else{Action_Cnt++;//動作指針指向下一幀的動作if(Action_Cnt>=2)Action_Cnt=0;Action_Time_Cnt=Action_Time_Keep[Action_Cnt]*50;//計算一幀動作計數(shù)時間Action_Process();//對當(dāng)前的這一幀動作進(jìn)行處理m=0;//脈寬記錄變化量歸零a=0;//動作持續(xù)時間計數(shù)器歸零}}(4)內(nèi)插法的體現(xiàn)處:#pragmavector=TIMERB0_VECTO(shè)R//Timer_B中斷服務(wù)程序__interruptvoidTimer_B(void){if(m<Large_Value)//如果角度變化量最大的舵機還沒有轉(zhuǎn)到對應(yīng)的位置,則執(zhí)行脈寬變化{switch(Cycle_Dat(yī)a){case0:P4OUT=0x00;//將P1。0置為低電平TBCTL=MC_0;//停止定時器BTBCCTL0&=~CCIE;//關(guān)閉定時器B//如果當(dāng)前脈寬小于舵機要求的脈寬,執(zhí)行脈寬遞加if(Pluse_Width[Cycle_Data]?。絅ow_Action[Cycle_Dat(yī)a]){if(Action_Cha[Cycle_Dat(yī)a]〉0)//當(dāng)前角度大于前一次的角度,脈沖寬度加10,即10usPl(wèi)use_Width[Cycle_Dat(yī)a]=Pl(wèi)use_Width[Cycle_Data]+10;else//當(dāng)前角度小于前一次的角度,脈沖寬度減10Pl(wèi)use_Width[Cycle_Data]=Pluse_Width[Cycle_Data]-10;}Cycle_Dat(yī)a++;//周期計數(shù)值加1break;case1:P4OUT=0x00;//將P1。1置為低電平TBCTL=MC_0;//停止定時器BTBCCTL0&=~CCIE;//關(guān)閉定時器Bif(Pluse_Width[Cycle_Dat(yī)a]!=Now_Action[Cycle_Data]){if(Action_Cha[Cycle_Data]>0)//當(dāng)前角度大于前一次的角度,脈沖寬度加10,即10usPluse_Width[Cycle_Data]=Pluse_Width[Cycle_Data]+10;else//當(dāng)前角度小于前一次的角度,脈沖寬度減10Pl(wèi)use_Width[Cycle_Data]=Pluse_Width[Cycle_Data]—10;}Cycle_Data++;//周期計數(shù)值加1break;if(Pl(wèi)use_Width[Cycle_Data]!=Now_Action[Cycle_Data]){if(Action_Cha[Cycle

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論