版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SimuroSot5vs5(仿真〕
本講主要內(nèi)容機(jī)器人足球概述仿真〔5vs5〕平臺(tái)介紹使用VC開(kāi)發(fā)簡(jiǎn)單的策略程序第機(jī)器人足球國(guó)際機(jī)器人足球賽事〔1〕.國(guó)際機(jī)器人足球聯(lián)合會(huì)FIRA〔FederationofInternatinalRobotSoccerAssociation)〔2〕.機(jī)器人世界杯RoboCup〔TheRobotWorldCupInitiative)(1).Fira簡(jiǎn)介
FIRACUP的主要比賽工程☆MiroSot:(3對(duì)3)、(5對(duì)5)、(11對(duì)11)☆SimuroSot:(5對(duì)5)、(11對(duì)11)☆RoboSot:(3對(duì)3)☆HuroSot:(3對(duì)3)☆類(lèi)人型機(jī)器人根本性能比賽:(包含四種比賽工程☆機(jī)器人隊(duì)形比賽:(并行隊(duì)形、串行隊(duì)形、交義隊(duì)形)☆多機(jī)器人追捕比賽:(4對(duì)1)☆人一機(jī)器人射門(mén)比賽:(兒童年齡不超過(guò)3歲)☆舞蹈比賽:(半自主2人組)、(半自主4人組)、(類(lèi)人型組)人型機(jī)器人足球比賽全自主機(jī)器人足球比賽半自主機(jī)器人足球比賽〔5VS5)半自主機(jī)器人足球比賽〔5VS5)仿真機(jī)器人足球(5vs5)15212435機(jī)器人足球仿真系統(tǒng)(11Vs11)(2)RoboCup簡(jiǎn)介Robocup的比賽工程〔一〕RoboCup足球機(jī)器人比賽1、仿真組〔2D〕2、仿真組〔3D〕3、小型組4、中型組5、標(biāo)準(zhǔn)平臺(tái)組6、類(lèi)人組〔二〕RoboCup救援組比賽1、仿真組2、機(jī)器人組〔三〕RoboCup家庭組比賽〔四〕FIRA足球機(jī)器人比賽1、仿真組〔5:5〕2、仿真組〔11:11〕3、小型組〔3:3〕4、小型組〔5:5〕5、小型組〔11:11〕〔五〕微軟〔MS〕足球機(jī)器人仿真比賽1、Nao類(lèi)人仿真2、3D類(lèi)人仿真3、輪式微型機(jī)器人5:5仿真4、輪式微型機(jī)器人11:11仿真Robocup仿真組RoboCup小型組〔5VS5〕RoboCup中型組〔4VS4〕RoboCup四腿組〔3VS3〕Robocup類(lèi)人組四川大學(xué)機(jī)器人開(kāi)展?fàn)顩r四川大學(xué)比賽成績(jī)1 2004年5月參加了首屆西南地區(qū)機(jī)器人足球大賽,獲得SimuroSot〔5VS5〕工程冠軍,SimuroSot(11vs11)工程亞軍;2 2004年6月參加了在武漢舉行的第五屆全國(guó)機(jī)器人足球錦標(biāo)賽,獲得SimuroSot〔11vs11〕〔LLS〕工程比賽第二名;3 2004年10月參加了韓國(guó)釜山舉行的第九屆機(jī)器人足球世界杯,獲得SimuroSot〔11VS11〕工程第四名;4 2005年7月參加了全國(guó)機(jī)器人足球大賽獲得SimuroSot〔11vs11〕季軍;5 2005年8月參加常州全國(guó)機(jī)器人大賽獲得SimuroSot〔5vs5〕工程比賽二等獎(jiǎng)。6 2006年6月在甘肅省平?jīng)鍪信e辦的“華媒杯〞第七屆全國(guó)機(jī)器人足球錦標(biāo)賽中,四川大學(xué)代表隊(duì)獲得SimuroSot〔5vs5〕全國(guó)季軍,SimuroSot〔11vs11〕一等獎(jiǎng)的好成績(jī),7四川大學(xué)代表隊(duì)在2006年7月舉行的德國(guó)FIRA世界杯上再次獲得SimuroSot〔11vs11〕第四名。8 2007年5月,四川大學(xué)再次征戰(zhàn)在武漢舉行的“思遠(yuǎn)+1杯〞第八屆全國(guó)機(jī)器人足球錦標(biāo)賽,獲得了仿真5vs5二等獎(jiǎng),仿真11vs11二等獎(jiǎng)。
圖片資料微型足球機(jī)器人系統(tǒng)結(jié)構(gòu)pcpc無(wú)線發(fā)射器無(wú)線發(fā)射器CCD攝像頭CCD攝像頭
微型足球機(jī)器人系統(tǒng)平臺(tái)和底層平臺(tái):機(jī)器人足球比賽專(zhuān)用軟件底層:表達(dá)人策略思想的C語(yǔ)言代碼
平臺(tái)動(dòng)態(tài)連接庫(kù)(dll)底層程序返回球場(chǎng)信息給機(jī)器人指定驅(qū)動(dòng)力仿真系統(tǒng)與實(shí)體系統(tǒng)的比較平臺(tái)相當(dāng)于足球機(jī)器人系統(tǒng)中的機(jī)器人實(shí)體、比賽場(chǎng)地、CCD攝像頭DLL相當(dāng)于實(shí)體系統(tǒng)中的計(jì)算機(jī)主機(jī),相當(dāng)于機(jī)器人的大腦,它獲取場(chǎng)上信息,然后將處理結(jié)果發(fā)送給平臺(tái)
平臺(tái)和DLL每個(gè)周期互相交換數(shù)據(jù),保證了比賽的實(shí)時(shí)性理論上每個(gè)周期時(shí)長(zhǎng)為1/60S,在一個(gè)周期,DLL接受平臺(tái)傳遞過(guò)來(lái)的信息,然后行處理,最后將處理的結(jié)果發(fā)送給平臺(tái)仿真5VS5平臺(tái)平臺(tái)的功能1.接收DLL傳遞過(guò)來(lái)的機(jī)器人驅(qū)動(dòng)力。2.根據(jù)運(yùn)動(dòng)學(xué)模型計(jì)算機(jī)各個(gè)機(jī)器
人的速度位置等參數(shù)3.傳遞機(jī)器人的位置,朝向等參數(shù)給DLL4.顯示模塊負(fù)責(zé)顯示機(jī)器人運(yùn)動(dòng)過(guò)程運(yùn)動(dòng)學(xué)模塊碰撞檢測(cè)動(dòng)力學(xué)模塊顯示模塊通信模塊場(chǎng)上信息動(dòng)態(tài)鏈接庫(kù)〔策略程序〕的功能1.接收平臺(tái)發(fā)送過(guò)來(lái)的球、我方與對(duì)方機(jī)器人的速度、位置等參數(shù);2.根據(jù)敵我雙方的位置和已有的策略庫(kù)進(jìn)行分析與決策;3.計(jì)算機(jī)出我方每個(gè)機(jī)器人的左右輪驅(qū)動(dòng)力,以此完成基本的動(dòng)作;4.將計(jì)算出的機(jī)器人左右輪驅(qū)動(dòng)力傳遞給平臺(tái)。動(dòng)態(tài)鏈接庫(kù)〔策略程序〕的功能通信模塊信息綜合分析模塊策略庫(kù)行為決策模塊基本動(dòng)作及路徑規(guī)劃如何讓機(jī)器人動(dòng)起來(lái)(1)生成DLL文件 步驟一:用C++翻開(kāi)Strategy.dsw 步驟二:找到NormalGame函數(shù),修改其中局部?jī)?nèi)容(剛接觸可以不用去理會(huì)) 步驟三:編譯代碼〔Ctrl+F7〕 步驟四:生成DLL文件注意僅僅編譯程序就可以了,不要去運(yùn)行我們的大多數(shù)代碼將會(huì)在normalgame中寫(xiě),第一次接觸時(shí)可以不去理會(huì)這一步,我們已經(jīng)在里面寫(xiě)了局部動(dòng)作如何讓機(jī)器人動(dòng)起來(lái)〔2〕復(fù)制策略〔strategy.dll〕步驟一:在上一步編譯結(jié)束后會(huì)在底層程序文件夾中的debug或者release文件夾下面有strategy.dll文件步驟二:將上一步產(chǎn)生的strategy.dll復(fù)制到C盤(pán)下的Strategy文件夾下面的yellow或者blue文件夾下。復(fù)制過(guò)去以后可以修改文件名〔方便下一步裝載策略時(shí)輸入方便,比方在這里我們改成1.dll〕,但是后綴名〔dll〕不能變。至于是復(fù)制到y(tǒng)ellow,還是blue就要看你測(cè)試時(shí)用哪一方了,剛開(kāi)始的時(shí)候我們可以給兩個(gè)文件夾里都復(fù)制進(jìn)去在安裝平臺(tái)的時(shí)候默認(rèn)的會(huì)在C盤(pán)下新建strategy文件下,幾起里面的子文件夾yellow和blue如何讓機(jī)器人動(dòng)起來(lái)〔3〕將dll文件載入到平臺(tái)中步驟一:翻開(kāi)平臺(tái),單擊右上角的STRATEGIS選項(xiàng),出現(xiàn)如右圖所示的效果步驟二:?jiǎn)螕鬮lue和yellow后面的Lingo將其改成c++;在blue或者yellow下面輸入我們放到相應(yīng)文件夾下面文件的文件名步驟三:點(diǎn)擊下面的Send,然后點(diǎn)擊START,這樣機(jī)器人就可以按照我們的策略運(yùn)動(dòng)了
假設(shè)我們?cè)赾:\strategy\yellow中放了一個(gè)1.dll,那現(xiàn)在就可以在yellow下面輸入1〔不需要加后綴名〕如何生成DLL編譯文件1.組建—>組建2.Ctrl+F7release文件夾下或者debug文件夾下的strategy.dll就是我們生成的策略文件〔2〕實(shí)現(xiàn)簡(jiǎn)單踢球動(dòng)作Kick(Environment*env,introbot,Vector3DToPos)讓robot把球踢到ToPos的位置例:(將這段代碼插入到NormalGame函數(shù)中,如以下圖) Vector3Dgo; go.x=93; go.y=43; Kick(env,1,go);然后按照前面的步驟編譯,復(fù)制,裝載,運(yùn)行DLL即可以看到效果實(shí)現(xiàn)簡(jiǎn)單踢球動(dòng)作
Vector3Dgo;定義一個(gè)Vector3D類(lèi)型的變量,Vector3D是底層程序中定義的一個(gè)結(jié)構(gòu)體,typedefstruct{doublex,y,z;}Vector3D;,這個(gè)結(jié)構(gòu)體表示三維坐標(biāo)上的一個(gè)點(diǎn);
go.x=93;
go.y=43;給go這個(gè)點(diǎn)賦值,相當(dāng)于確定三維坐標(biāo)上GO這個(gè)點(diǎn)的坐標(biāo) Kick(env,1,go);調(diào)用Kick函數(shù)讓1號(hào)機(jī)器人將球踢到go這個(gè)點(diǎn),env是環(huán)境變量用于保存場(chǎng)上信息。從協(xié)會(huì)網(wǎng)站上可以下載機(jī)器人編號(hào)01324藍(lán)方和黃方以球場(chǎng)中心點(diǎn)對(duì)稱(chēng)01234機(jī)器人跑位PositionAndStop(Environment*env,introbot,Vector3Dpos,doublebestangle,doublelimit) 讓robot跑到pos,并且停下來(lái),bestangle是停下來(lái)之后的朝向,limit控制停在pos附近的距離例:〔同樣在NormalGame函數(shù)中插入以下代碼〕 Vector3Dgo; go.x=40; go.y=20; PositionAndStop(env,2,go);機(jī)器人角度090-90180-180機(jī)器人模型是邊長(zhǎng)約等于3的小車(chē),以不同的顏色區(qū)分。機(jī)器人的角度初始狀態(tài)下除了0號(hào)機(jī)器人角度為90度之外,其余機(jī)器人角度均為0度,常用底層函數(shù)voidPositionAndStopX(Environment*env,introbot,Vector3Dpos,doubleXangle,doublelimit)//PositionAndStopX讓robot跑到pos,并且停下來(lái)原地旋轉(zhuǎn),Xangle 旋轉(zhuǎn)的角速度,limit 控制停在pos附近的距離常用底層函數(shù)voidPositionAndStop(Environment*env,introbot,Vector3Dpos,doublebestangle,doublelimit)//PositionAndStop讓robot跑到pos,并且停下來(lái),bestangle是停下來(lái)之后的朝向,limit控制停在pos附近的距離常用底層函數(shù)voidPositionAndThrough(Environment*env,introbot,Vector3Dpos,doubleMAX)//PositionAndThrough讓robot以最快MAX沖向pos,中間沒(méi)有減速控制voidPAngle(Environment*env,introbot,doubleangle,doublespeed)//PAngle讓robot朝angle的方向跑,并且speed控制它的最大輪速常用底層函數(shù)voidAngle(Environment*env,introbot,doubleangle)//Angle讓robot轉(zhuǎn)到angle的方向voidAngle(Environment*env,introbot,Vector3Dpos)
//Angle讓robot轉(zhuǎn)到正對(duì)pos的方向常用底層函數(shù)voidKick(Environment*env,introbot,Vector3DToPos)
//Kick 讓robot把球踢到ToPos的位置voidPredictBall(Environment*env,intsteps)
//預(yù)測(cè)steps周期后球的位置,結(jié)果保存在p->preball中常用底層函數(shù)intCount(Environment*env,introbot,Vector3Dpos)//計(jì)算robot跑到pos點(diǎn)所需要的周期Vector3DMeetball_p(Environment*env,introbot)//求出robot追到球的最正確位置常用底層函數(shù)voidGoalie(Environment*env,introbot)//守門(mén)員函數(shù),robot指定我方守門(mén)員的編號(hào),平臺(tái)剛翻開(kāi)的時(shí)候默認(rèn)守門(mén)員為0號(hào),機(jī)器人,所在建議大家還是讓0號(hào)機(jī)器人做守門(mén)員吧。底層中定義的一些常量constlongPLAYERS_PER_SIDE=5;//表示每一方機(jī)器人個(gè)數(shù)constdoubleFTOP=77.2392;constdoubleFBOT=6.3730;constdoubleFRIGHT=93.4259;constdoubleFLEFT=6.8118;//FTOP,FBOT,FLEFT,FRIGHT分別表示球場(chǎng)上、下、左、右四個(gè)邊界線底層中定義的一些常量constdoublePENALTYRIGHT=78.329132; //點(diǎn)球點(diǎn)的X坐標(biāo)constdoublePENALTYLEFT=22.216028;//點(diǎn)球點(diǎn)的Y坐標(biāo)constlongCAR=3; //小車(chē)邊長(zhǎng)2.95常用變量及結(jié)構(gòu)體typedefstruct{ doublex,y,z;}Vector3D;//Vector3D可以用來(lái)定義球場(chǎng)的一個(gè)點(diǎn)。其中Z坐標(biāo)在定義點(diǎn)時(shí)無(wú)實(shí)際意義。例如:Vector3Dpos1={10,20,0};或者Vector3Dpos2;pos2.x=10;pos2.y=20;常用變量及結(jié)構(gòu)體typedefstruct{ Vector3Dpos;}Ball;//Ball結(jié)構(gòu)體用來(lái)表示球的位置常用變量及結(jié)構(gòu)體typedefstruct{ Vector3Dpos;//機(jī)器人所在的位置 doublerotation;//機(jī)器人朝向 doublevelocityLeft,velocityRight;//機(jī)器人左右輪輪速〔驅(qū)動(dòng)力〕}Robot;例如在NormalGame函數(shù)中,p->robot[1].pos就表示我方1號(hào)機(jī)器人當(dāng)前的坐標(biāo)〔注意:Robot結(jié)構(gòu)體是用來(lái)表示我方機(jī)器人的〕常用變量及結(jié)構(gòu)體typedefstruct{ Vector3Dpos;//機(jī)器人的位置 doublerotation;//機(jī)器人的朝向}OpponentRobot;例如在NormalGame函數(shù)中,p->opp[1].pos就表示對(duì)方1號(hào)機(jī)器人當(dāng)前的坐標(biāo)〔注意:OpponentRobot結(jié)構(gòu)體是用來(lái)表示對(duì)方機(jī)器人的〕常用變量及結(jié)構(gòu)體typedefstruct{ Vector3Dmyoldpos[PLAYERS_PER_SIDE]; //記錄我方隊(duì)員的舊坐標(biāo),方向
Vector3Dmyspeed[PLAYERS_PER_SIDE]; //紀(jì)錄我方隊(duì)員的速度,跑位的方向
Vector3Dmyoldvelocity[PLAYERS_PER_SIDE];//紀(jì)錄我方隊(duì)員上次驅(qū)動(dòng)力
Vector3Dopoldpos[PLAYERS_PER_SIDE];//記錄對(duì)方隊(duì)員的舊坐標(biāo),方向
Vector3Dopspeed[PLAYERS_PER_SIDE];//紀(jì)錄對(duì)方隊(duì)員的速度,跑位的方向
Robotrobot[PLAYERS_PER_SIDE]; //我方球員
OpponentRoboto
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度牧業(yè)產(chǎn)業(yè)扶貧項(xiàng)目承包合同范本3篇
- 2025版農(nóng)產(chǎn)品溯源與質(zhì)量認(rèn)證服務(wù)合同3篇
- 遼寧省朝陽(yáng)市北票市2024-2025學(xué)年七年級(jí)上學(xué)期1月期末道德與法治試題(含答案)
- 2025年度個(gè)人公司股權(quán)結(jié)構(gòu)調(diào)整合同4篇
- 二零二五年度某局勞務(wù)分包結(jié)算與數(shù)字化轉(zhuǎn)型戰(zhàn)略合同2篇
- 天然氣在科技創(chuàng)新中的地位考核試卷
- 家禽飼養(yǎng)業(yè)質(zhì)量品牌提升與市場(chǎng)競(jìng)爭(zhēng)策略考核試卷
- 供應(yīng)鏈協(xié)同采購(gòu)與供應(yīng)商管理考核試卷
- 儀器儀表制造業(yè)的持續(xù)創(chuàng)新能力考核試卷
- 2025版二零二五年度美發(fā)店房東租賃合同范本:租賃合作協(xié)議4篇
- 中醫(yī)診療方案腎病科
- 2025年安慶港華燃?xì)庀薰菊衅腹ぷ魅藛T14人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 人教版(2025新版)七年級(jí)下冊(cè)數(shù)學(xué)第七章 相交線與平行線 單元測(cè)試卷(含答案)
- GB/T 44351-2024退化林修復(fù)技術(shù)規(guī)程
- 從跨文化交際的角度解析中西方酒文化(合集5篇)xiexiebang.com
- 中藥飲片培訓(xùn)課件
- 醫(yī)院護(hù)理培訓(xùn)課件:《早產(chǎn)兒姿勢(shì)管理與擺位》
- 《論文的寫(xiě)作技巧》課件
- 空氣自動(dòng)站儀器運(yùn)營(yíng)維護(hù)項(xiàng)目操作說(shuō)明以及簡(jiǎn)單故障處理
- 2022年12月Python-一級(jí)等級(jí)考試真題(附答案-解析)
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專(zhuān)家共識(shí)
評(píng)論
0/150
提交評(píng)論