版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
一式2采用A4紙單面打印左側(cè)裝(包含附件,項目運(yùn)行時間為1-3年,必須在項目畢業(yè)前完成,須院部組織專家組評審并簽署意見后,將《檢查報告》報送教務(wù)處,紙質(zhì)版由項目和院部各留存一份。一、項目主要進(jìn)展(附已或其他成果復(fù)印件(重點(diǎn)介紹目前已主要開展工作,中期目標(biāo)完成情況,取得的主要成果。如具備國家級選拔資格,應(yīng)重點(diǎn)體現(xiàn)項目價值、深入研究潛力、預(yù)期成果與項目成員的投入)度年第二季研究地圖的表境中特征的生成仿真地度年第三季算法改進(jìn),基卡爾曼濾波器的方法基于擴(kuò)展濾波進(jìn)度年第四季基于機(jī)器人件的程仿真程序的實(shí)度年第一季購置硬件設(shè)備調(diào)試編編調(diào)試成度年第二季硬件調(diào)硬件搭建成STM32DreamerMaple二維調(diào)試成度年第三基于ROS操作系統(tǒng)SLAMROS操作系統(tǒng)及硬件搭ROS實(shí)現(xiàn)部分綜航中的重要環(huán)節(jié)?;赟LAM的單機(jī)器人導(dǎo)航、避障系統(tǒng)是利用擴(kuò) 現(xiàn)階段本項目組已利用使仿真地圖構(gòu)建成功,并利用擴(kuò)展要求,因此改用ARM板進(jìn)行計算,并將硬件搭建成功。隨后我們進(jìn)行了二維激光的調(diào)試,在計算機(jī)上得到周圍環(huán)境的二維掃描地圖。后來改進(jìn),基于ROSARMROS光對周圍環(huán)境進(jìn)行360°掃描,得到與參照物之間的距離和角度,從而實(shí) 、 (或6軸慣性導(dǎo)航模塊)計算角度、角速度、(2、機(jī)器人底座搭建3、選擇ARM板作為機(jī)器人的控制中心。初次設(shè)計時,使用的是STC12C5A60S2ARMTX,TXARMRX(4、編測速調(diào)試4WD/3PA小車編采用非接觸式方式把角位移轉(zhuǎn)換成電信號。遮斷并通過計算小車在一定時間內(nèi)產(chǎn)生的脈沖個數(shù)可以換算出的轉(zhuǎn)速。 原理5、二 連接及調(diào)試二 外將其各個管腳與arm板相連, 附近擺 物 試二 與arm板連接結(jié)果顯示圖(地圖基本輪廓可以顯示出來但由 實(shí)時掃描并顯示圖像會有閃動6、ROS操作系統(tǒng)及硬件搭arm2ROSROS提供一些標(biāo)準(zhǔn)操作系統(tǒng)服務(wù),例如硬件抽象,底層設(shè)備控制,分布式控制,常用功能實(shí)現(xiàn),進(jìn)程間消息以及數(shù)據(jù)包管理。ROS是基于一種圖狀架構(gòu),從而不同節(jié)人的相關(guān)功能,不使用ROS能實(shí)ROS得機(jī)器人軟件搭建的工作更方便,效率更高ROS由.cpp將整個工程(Project) 編寫第N+1個節(jié)點(diǎn),然后編譯,然后運(yùn)行,即有N+1個節(jié)點(diǎn)共同運(yùn)行。 Topic:發(fā)布者與訂閱者之間數(shù)據(jù)傳輸“管道”的名字,消息:Message:int,char,7、ROS實(shí)現(xiàn)部整體導(dǎo)航包的格局如下圖所sensortransformstfsensor 這里是機(jī)器人導(dǎo)航傳感器數(shù)據(jù)輸odometryodometrysource機(jī)器人的導(dǎo)航需要輸入里程計的數(shù)二、下步工作計1SLAM利用基于ROS系統(tǒng)對SLAMSLAM ,,的地圖表達(dá)形式的是通過傳感器獲得的觀測信息用來別或者環(huán)境中的物體來導(dǎo)航。但是由于感知信息的不確SLAM22016三、存在問題、建議及需要說明的情 代替項目的 硬件—— 求。而在之后使用一維,雖比超聲波測距模塊更加精360°全方位掃描物而達(dá)到預(yù)期效果。因此采用二維。后期需要不斷調(diào)試修改。之前使用5節(jié)5號電池給機(jī)器人供電機(jī)器人行走用編測量。硬件連接更加方便。四、經(jīng)費(fèi)使用情況和經(jīng)費(fèi)安排計已報銷經(jīng)費(fèi):0下一步經(jīng)費(fèi)安排計即將報銷項金額(元打印費(fèi)、WIFI五、指導(dǎo)教師意 六、審核意 院部審核意 檢查結(jié)果(請打?qū)<覚z查意見(對項目進(jìn)展情況的過程性評價及下一步工作的建議附件仿仿真程functiondata=ekfslam_sim(lm,%functiondata=ekfslam_sim(lm,%%%%%lm-setoflandmarks//標(biāo)wp-setofwaypoints//% data-adatastructure data.path:thevehiclepathestimate(ie,whereSLAMestimatesthevehiclewent) SLAM data.state(k).x:theSLAMstatevectorattimek,k data.state(k).P:thediagonalsoftheSLAMcovariancematrixattime k% ThisprogramisaSLAM forthedesiredvehiclepath). Theprogram'frontend.m'maybeusedtocreatethissimulatedenvironment(仿真環(huán)境)type'helpfrontend'formoreinformation. Theconfigurationofthesimulatorismanagedbythescriptfile'configfile.m'.Toaltertheparametersofthevehicle,sensors,etc adjustthisfile.Therearealsoseveralswitchesthatcontrol filter%%TimBaileyandJuanNieto%Versionclearall;closeloadexample_densemap;%將數(shù)據(jù)導(dǎo)入到工作區(qū)間formatcompact%setupplotsholdon,axisequalplot(wp(1,:),wp(2,:),'g',wp(1,:),wp(2,:),'r.')xlabel('metres'),ylabel('metres')set(fig,'name','EKF-SLAMconfigfile;**USETHISFILETOCONFIGURE(配置)THEEKF-SLAM**h=setup_animations;veh=[0-WHEELBASE-WHEELBASE;0-22];%vehicle%plines=[];%forlaserlineanimation%initialisextrue=zeros(3,1);%初始化機(jī)器人的位姿[0,0,0]'x=zeros(3,1);%初始化系統(tǒng)狀態(tài)向量P=zeros(3);%%initialiseothervariablesandconstantsdt=DT_CONTROLS;ftag=1:size(lm,2);%identifierforeachlandmarkda_table=zeros(1,size(lm,2));%dataassociationtableiwp=1;%indextofirstwaypointG=0;%initialsteerangledata=initialise_store(x,P,xtrue);%storeddataforoff-lineQE=Q;RE=(ie,addstabilisingnoise)%ifSWITCH_SEED_RANDOM,randn('state',SWITCH_SEED_RANDOM),%mainloopwhileiwp~=0%computetrue[G,iwp]=compute_steering(xtrue,wp,iwp,AT_WAYPOINT,G,RATEG,MAXG,dt);
%performloops:iffinalwaypointreached,gobacktoxtrue=vehicle_model(xtrue,V,G,WHEELBASE,dt);[Vn,Gn]=add_control_noise(V,G,Q,%EKFpredict[x,P]=predict(x,P,Vn,Gn,QE,WHEELBASE,dt);%%ifheadingknown,observe%[x,P]=observe_heading(x,P,xtrue(3),%EKFupdatedtsum=dtsumdt;%控制進(jìn)行觀測的時間間隔,DT_OBSERVE=8*DT_CONTROLS;觀測的間隔時間為0.2sifdtsum>=DT_OBSERVEdtsum=0;[z,ftag_visible]=get_observations(xtrue,lm,ftag,z=add_observation_noise(z,R,ifSWITCH_ASSOCIATION_KNOWN==[zf,idf,zn,da_table]=data_associate_known(x,z,ftag_visible,da_table);[zf,idf,zn]=data_associate(x,P,z,RE,GATE_REJECT,[x,P]=augment(x,P,zn,RE);landmarkxifSWITCH_USE_IEKF==[x,P]=update_iekf(x,P,zf,RE,idf,1);[x,P]=update(x,P,zf,RE,idf,%offlinedatadata=store_data(data,x,P,%xt=xv=transformtoglobal(veh,x(1:3));%將局部變量轉(zhuǎn)換成全局變量set(h.xt,'xdata',xt(1,:),'ydata',xt(2,:))set(h.xv,'xdata',xv(1,:),'ydata',set(h.xf,'xdata',x(4:2:end),'ydata',x(5:2:end))%在地圖上標(biāo)記landmarkpcov(:,1:size(ptmp,2))=ptmp;ifdtsum==0set(h.cov,'xdata',pcov(1,:),'ydata',pcov(2,:))pcount=pcount+1;ifpcount==15%1515set(h.pth,'xdata',data.path(1,1:data.i),'ydata',set(h.truepth,'xdata',data.truepath(1,1:data.i),'ydata',data.truepath(2,1:data.i))if~isempty(z)%zplines=make_laser_linesset(h.obs,'xdata',plines(1,:),'ydata',plines(2,:))%線pcov=make_covariance_ellipses(x,P);%
data=set(h.pth,'xdata',data.path(1,:),'ydata',set(h.truepth,'xdata',data.truepath(1,:),'ydata',%%functionh=%EraseMode normal background xor noneh.xt=patch(0,0,'b','erasemode','xor');%vehicletrueh.xv=patch(0,0,'r','erasemode','xor');vehicleestimateh.truepth=plot(0,0,'r.','markersize',1,'erasemode','background');vehiclepathestimateSLAM估計路徑h.pth=plot(0,0,'k.','markersize',1,'erasemode','background');vehiclepathestimateSLAM估計路徑h.obs=plot(0,0,'y','erasemode','xor');%observationslandmarkh.xf=plot(0,0,'r+','erasemode','xor');estimatedfeatures%估計的landmarkh.cov=plot(0,0,'k','erasemode','xor');covarianceellipse%%functionp=make_laser_lines%computesetoflinesegmentsforlaserrange-bearingmeasurementsifisempty(rb),p=[];return,endlen=lnes(1,:)=zeros(1,len)+lnes(2,:)=zeros(1,len)+lnes(3:4,:)=rb(1,:).*sin(rb(2,:))],p=line_plot_conversion%%functionp=computeellipsesforplottingstatecovariancesN=10;%可以控制橢圓的平滑度inc=2*pi/N;phi=lenx=length(x);lenf=(lenx-p=zerosp(:,ii)=make_ellipse(x(1:2),P(1:2,1:2),2,ctr=N+3;fori=1:lenfii=jj=2+2*i;jj=%%
p(:,ii)=make_ellipse(x(jj),P(jj,jj),2,phi);ctr=ctr+N+2;functionp=make_ellipse(x,P,s,%makeasingle2-Dellipseofs-sigmasoverphiangleintervalsr=sqrtm(P);%r*r=Pp(2,:)=[a(2,:)+x(2)NaN];%p(1,:)=[a(1,:)+x(1)%%functiondata=initialise_store(x,P,%offlinestorageinitialisationdata.path=x;data.true=xtrue;data.state(1).x=x;data.state(1).P=P;%data.state(1).P=%%functiondata=store_data(data,x,P,%addcurrentdatatoofflinestorageCHUNK=5000;ifdata.i==size(data.path,2)%growarrayinchunkstoamortisedata.path=[data.pathzeros(3,CHUNK)];data.truepath=[data.truepathzeros(3,CHUNK)];data.true=[data.truezeros(3,CHUNK)];i=data.i+1;data.i=i;data.path(:,i)=x(1:3);data.truepath(:,i)=xtrue(1:3);data.true(:,i)=xtrue;data.state(i).x=x;data.state(i).P=%data.state(i).P=%%functiondata=%offlinestoragefinalisationdata.path=data.path(:,1:data.i);data.truepath=data.truepath(:,1:data.i);data.true=data.true(:,1:data.i);#include"sys.h"#include"usart.h"#include"delay.h"#include"timer.h"#include"motor.h"int{Stm32_Clock_Init(9);delay_init(72);//延時初始化uart_init(72,9600);//串口初始化ˉTIM3__Init(1000,0,200,200);{}} 程////# :Laurenfrom//# ://#Productname:WheelEncodersforDFRobot3PAand4WD//#ProductSKU://#//#ThesketchforusingtheencoderontheDFRobotMobile//#// leftwheelencoder->Digitalpin// rightwheelencoder->Digitalpin//#defineLEFT#defineRIGHTlongcoder[2]={0,0};intlastSpeed[2]={0,0};void //inittheSerialporttoprintthedataattachInterrupt(LEFT,LwheelSpeed,CHANGE); //inittheinterruptmodeforthedigitalpin2attachInterrupt(RIGHT,RwheelSpeed, //initthemodeforthedigitalpin}voidstaticunsignedlongtimer=0; //printmanagertimerif(millis()-timer>100){Serial.print("Codervalue:");Serial.print("[LeftWheel]");Serial.println("[RightWheel]");lastSpeed[LEFT]=coder[LEFT]; //recordthelatestspeedvaluelastSpeed[RIGHT]=coder[RIGHT];coder[LEFT]=0; //clearthedatabuffercoder[RIGHT]=0;timer=}}void{coder[LEFT] //counttheleftwheelencoder}void{coder[RIGHT]++;//counttherightwheelencoder}二 程RoboPeakRPLIDARArduinoThisexampleshowstheeasyandcommonwaytofetchdatafromanYoumayfreelyaddyourapplicationcodebasedonthis1.DownloadthissketchcodetoyourArduino(Pin0andPin1)3.ConnecttheRPLIDAR'smotorctrlpintotheArduinoboardpinCopyright(c)2014,All Redistributionanduseinsourceandbinaryforms,withorwithoutarepermittedprovidedthatthefollowingconditionsare1.Redistributionsofsourcecodemustretaintheabovecopyrightthislistofconditionsandthefollowing 2.Redistributionsinbinaryformmustreproducetheabovecopyrightthislistofconditionsandthefollowingdi erintheand/orothermaterialsprovidedwiththeTHISSOFTWAREISPROVIDEDBYTHECOPYRIGHTHOLDERSANDCONTRIBUTORS"ASIS"ANDANYEXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSEARE ED.INNOEVENTSHALLTHECOPYRIGHTHOLDERORCONTRIBUTORSBELIABLEFORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,EXEMPLARY,ORCONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENTOFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,STRICTLIABILITY,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 毽子里的銅錢課件
- 《心肌梗死健康宣教》課件
- 單位管理制度展示選集【職工管理】
- 單位管理制度展示大全【職員管理篇】
- 2025年家電行業(yè)策略報告:內(nèi)銷走出休息區(qū)關(guān)注外銷自主品牌
- 幼兒園組織與管理課件
- 2025物品保管合同范本
- 北大中醫(yī)養(yǎng)生學(xué)課件 飲食類養(yǎng)生
- 砂場項目立項申請報告模板
- 中國國有銀行市場全面調(diào)研及行業(yè)投資潛力預(yù)測報告
- 國有資本投資、運(yùn)營公司改革初探 20240927 -遠(yuǎn)東資信
- 公務(wù)車輛定點(diǎn)洗車協(xié)議書2024年
- 學(xué)校空調(diào)維修合同模板
- 2015年下半年教師資格考試-小學(xué)《教育教學(xué)知識與能力》真題及答案解析
- 陰道內(nèi)放置卡前列甲酯栓在無痛人工流產(chǎn)中運(yùn)用
- JGT 486-2015 混凝土用復(fù)合摻合料
- 2024年上海市楊浦區(qū)高三語文一模作文范文(39篇)
- 【新教材】人教版(2024)七年級上冊英語Unit 6 A Day in the Life教案
- YYT 0822-2011 滅菌用環(huán)氧乙烷液化氣體
- Unit14 同步教學(xué)設(shè)計2023-2024學(xué)年人教版九年級英語全冊
- 柯林斯分級詞匯
評論
0/150
提交評論