




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
SimuroSot5vs5(仿真〕
本講主要內(nèi)容機(jī)器人足球概述仿真〔5vs5〕平臺(tái)介紹使用VC開發(fā)簡單的策略程序第機(jī)器人足球國際機(jī)器人足球賽事〔1〕.國際機(jī)器人足球聯(lián)合會(huì)FIRA〔FederationofInternatinalRobotSoccerAssociation)〔2〕.機(jī)器人世界杯RoboCup〔TheRobotWorldCupInitiative)(1).Fira簡介
FIRACUP的主要比賽工程☆MiroSot:(3對3)、(5對5)、(11對11)☆SimuroSot:(5對5)、(11對11)☆RoboSot:(3對3)☆HuroSot:(3對3)☆類人型機(jī)器人根本性能比賽:(包含四種比賽工程☆機(jī)器人隊(duì)形比賽:(并行隊(duì)形、串行隊(duì)形、交義隊(duì)形)☆多機(jī)器人追捕比賽:(4對1)☆人一機(jī)器人射門比賽:(兒童年齡不超過3歲)☆舞蹈比賽:(半自主2人組)、(半自主4人組)、(類人型組)人型機(jī)器人足球比賽全自主機(jī)器人足球比賽半自主機(jī)器人足球比賽〔5VS5)半自主機(jī)器人足球比賽〔5VS5)仿真機(jī)器人足球(5vs5)15212435機(jī)器人足球仿真系統(tǒng)(11Vs11)(2)RoboCup簡介Robocup的比賽工程〔一〕RoboCup足球機(jī)器人比賽1、仿真組〔2D〕2、仿真組〔3D〕3、小型組4、中型組5、標(biāo)準(zhǔn)平臺(tái)組6、類人組〔二〕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類人仿真2、3D類人仿真3、輪式微型機(jī)器人5:5仿真4、輪式微型機(jī)器人11:11仿真Robocup仿真組RoboCup小型組〔5VS5〕RoboCup中型組〔4VS4〕RoboCup四腿組〔3VS3〕Robocup類人組四川大學(xué)機(jī)器人開展?fàn)顩r四川大學(xué)比賽成績1 2004年5月參加了首屆西南地區(qū)機(jī)器人足球大賽,獲得SimuroSot〔5VS5〕工程冠軍,SimuroSot(11vs11)工程亞軍;2 2004年6月參加了在武漢舉行的第五屆全國機(jī)器人足球錦標(biāo)賽,獲得SimuroSot〔11vs11〕〔LLS〕工程比賽第二名;3 2004年10月參加了韓國釜山舉行的第九屆機(jī)器人足球世界杯,獲得SimuroSot〔11VS11〕工程第四名;4 2005年7月參加了全國機(jī)器人足球大賽獲得SimuroSot〔11vs11〕季軍;5 2005年8月參加常州全國機(jī)器人大賽獲得SimuroSot〔5vs5〕工程比賽二等獎(jiǎng)。6 2006年6月在甘肅省平?jīng)鍪信e辦的“華媒杯〞第七屆全國機(jī)器人足球錦標(biāo)賽中,四川大學(xué)代表隊(duì)獲得SimuroSot〔5vs5〕全國季軍,SimuroSot〔11vs11〕一等獎(jiǎng)的好成績,7四川大學(xué)代表隊(duì)在2006年7月舉行的德國FIRA世界杯上再次獲得SimuroSot〔11vs11〕第四名。8 2007年5月,四川大學(xué)再次征戰(zhàn)在武漢舉行的“思遠(yuǎn)+1杯〞第八屆全國機(jī)器人足球錦標(biāo)賽,獲得了仿真5vs5二等獎(jiǎng),仿真11vs11二等獎(jiǎng)。
圖片資料微型足球機(jī)器人系統(tǒng)結(jié)構(gòu)pcpc無線發(fā)射器無線發(fā)射器CCD攝像頭CCD攝像頭
微型足球機(jī)器人系統(tǒng)平臺(tái)和底層平臺(tái):機(jī)器人足球比賽專用軟件底層:表達(dá)人策略思想的C語言代碼
平臺(tái)動(dòng)態(tài)連接庫(dll)底層程序返回球場信息給機(jī)器人指定驅(qū)動(dòng)力仿真系統(tǒng)與實(shí)體系統(tǒng)的比較平臺(tái)相當(dāng)于足球機(jī)器人系統(tǒng)中的機(jī)器人實(shí)體、比賽場地、CCD攝像頭DLL相當(dāng)于實(shí)體系統(tǒng)中的計(jì)算機(jī)主機(jī),相當(dāng)于機(jī)器人的大腦,它獲取場上信息,然后將處理結(jié)果發(fā)送給平臺(tái)
平臺(tái)和DLL每個(gè)周期互相交換數(shù)據(jù),保證了比賽的實(shí)時(shí)性理論上每個(gè)周期時(shí)長為1/60S,在一個(gè)周期,DLL接受平臺(tái)傳遞過來的信息,然后行處理,最后將處理的結(jié)果發(fā)送給平臺(tái)仿真5VS5平臺(tái)平臺(tái)的功能1.接收DLL傳遞過來的機(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)過程運(yùn)動(dòng)學(xué)模塊碰撞檢測動(dòng)力學(xué)模塊顯示模塊通信模塊場上信息動(dòng)態(tài)鏈接庫〔策略程序〕的功能1.接收平臺(tái)發(fā)送過來的球、我方與對方機(jī)器人的速度、位置等參數(shù);2.根據(jù)敵我雙方的位置和已有的策略庫進(jìn)行分析與決策;3.計(jì)算機(jī)出我方每個(gè)機(jī)器人的左右輪驅(qū)動(dòng)力,以此完成基本的動(dòng)作;4.將計(jì)算出的機(jī)器人左右輪驅(qū)動(dòng)力傳遞給平臺(tái)。動(dòng)態(tài)鏈接庫〔策略程序〕的功能通信模塊信息綜合分析模塊策略庫行為決策模塊基本動(dòng)作及路徑規(guī)劃如何讓機(jī)器人動(dòng)起來(1)生成DLL文件 步驟一:用C++翻開Strategy.dsw 步驟二:找到NormalGame函數(shù),修改其中局部內(nèi)容(剛接觸可以不用去理會(huì)) 步驟三:編譯代碼〔Ctrl+F7〕 步驟四:生成DLL文件注意僅僅編譯程序就可以了,不要去運(yùn)行我們的大多數(shù)代碼將會(huì)在normalgame中寫,第一次接觸時(shí)可以不去理會(huì)這一步,我們已經(jīng)在里面寫了局部動(dòng)作如何讓機(jī)器人動(dòng)起來〔2〕復(fù)制策略〔strategy.dll〕步驟一:在上一步編譯結(jié)束后會(huì)在底層程序文件夾中的debug或者release文件夾下面有strategy.dll文件步驟二:將上一步產(chǎn)生的strategy.dll復(fù)制到C盤下的Strategy文件夾下面的yellow或者blue文件夾下。復(fù)制過去以后可以修改文件名〔方便下一步裝載策略時(shí)輸入方便,比方在這里我們改成1.dll〕,但是后綴名〔dll〕不能變。至于是復(fù)制到y(tǒng)ellow,還是blue就要看你測試時(shí)用哪一方了,剛開始的時(shí)候我們可以給兩個(gè)文件夾里都復(fù)制進(jìn)去在安裝平臺(tái)的時(shí)候默認(rèn)的會(huì)在C盤下新建strategy文件下,幾起里面的子文件夾yellow和blue如何讓機(jī)器人動(dòng)起來〔3〕將dll文件載入到平臺(tái)中步驟一:翻開平臺(tái),單擊右上角的STRATEGIS選項(xiàng),出現(xiàn)如右圖所示的效果步驟二:單擊blue和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)簡單踢球動(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)簡單踢球動(dòng)作
Vector3Dgo;定義一個(gè)Vector3D類型的變量,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號機(jī)器人將球踢到go這個(gè)點(diǎn),env是環(huán)境變量用于保存場上信息。從協(xié)會(huì)網(wǎng)站上可以下載機(jī)器人編號01324藍(lán)方和黃方以球場中心點(diǎn)對稱01234機(jī)器人跑位PositionAndStop(Environment*env,introbot,Vector3Dpos,doublebestangle,doublelimit) 讓robot跑到pos,并且停下來,bestangle是停下來之后的朝向,limit控制停在pos附近的距離例:〔同樣在NormalGame函數(shù)中插入以下代碼〕 Vector3Dgo; go.x=40; go.y=20; PositionAndStop(env,2,go);機(jī)器人角度090-90180-180機(jī)器人模型是邊長約等于3的小車,以不同的顏色區(qū)分。機(jī)器人的角度初始狀態(tài)下除了0號機(jī)器人角度為90度之外,其余機(jī)器人角度均為0度,常用底層函數(shù)voidPositionAndStopX(Environment*env,introbot,Vector3Dpos,doubleXangle,doublelimit)//PositionAndStopX讓robot跑到pos,并且停下來原地旋轉(zhuǎn),Xangle 旋轉(zhuǎn)的角速度,limit 控制停在pos附近的距離常用底層函數(shù)voidPositionAndStop(Environment*env,introbot,Vector3Dpos,doublebestangle,doublelimit)//PositionAndStop讓robot跑到pos,并且停下來,bestangle是停下來之后的朝向,limit控制停在pos附近的距離常用底層函數(shù)voidPositionAndThrough(Environment*env,introbot,Vector3Dpos,doubleMAX)//PositionAndThrough讓robot以最快MAX沖向pos,中間沒有減速控制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)到正對pos的方向常用底層函數(shù)voidKick(Environment*env,introbot,Vector3DToPos)
//Kick 讓robot把球踢到ToPos的位置voidPredictBall(Environment*env,intsteps)
//預(yù)測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)//守門員函數(shù),robot指定我方守門員的編號,平臺(tái)剛翻開的時(shí)候默認(rèn)守門員為0號,機(jī)器人,所在建議大家還是讓0號機(jī)器人做守門員吧。底層中定義的一些常量constlongPLAYERS_PER_SIDE=5;//表示每一方機(jī)器人個(gè)數(shù)constdoubleFTOP=77.2392;constdoubleFBOT=6.3730;constdoubleFRIGHT=93.4259;constdoubleFLEFT=6.8118;//FTOP,FBOT,FLEFT,FRIGHT分別表示球場上、下、左、右四個(gè)邊界線底層中定義的一些常量constdoublePENALTYRIGHT=78.329132; //點(diǎn)球點(diǎn)的X坐標(biāo)constdoublePENALTYLEFT=22.216028;//點(diǎn)球點(diǎn)的Y坐標(biāo)constlongCAR=3; //小車邊長2.95常用變量及結(jié)構(gòu)體typedefstruct{ doublex,y,z;}Vector3D;//Vector3D可以用來定義球場的一個(gè)點(diǎn)。其中Z坐標(biāo)在定義點(diǎn)時(shí)無實(shí)際意義。例如:Vector3Dpos1={10,20,0};或者Vector3Dpos2;pos2.x=10;pos2.y=20;常用變量及結(jié)構(gòu)體typedefstruct{ Vector3Dpos;}Ball;//Ball結(jié)構(gòu)體用來表示球的位置常用變量及結(jié)構(gòu)體typedefstruct{ Vector3Dpos;//機(jī)器人所在的位置 doublerotation;//機(jī)器人朝向 doublevelocityLeft,velocityRight;//機(jī)器人左右輪輪速〔驅(qū)動(dòng)力〕}Robot;例如在NormalGame函數(shù)中,p->robot[1].pos就表示我方1號機(jī)器人當(dāng)前的坐標(biāo)〔注意:Robot結(jié)構(gòu)體是用來表示我方機(jī)器人的〕常用變量及結(jié)構(gòu)體typedefstruct{ Vector3Dpos;//機(jī)器人的位置 doublerotation;//機(jī)器人的朝向}OpponentRobot;例如在NormalGame函數(shù)中,p->opp[1].pos就表示對方1號機(jī)器人當(dāng)前的坐標(biāo)〔注意:OpponentRobot結(jié)構(gòu)體是用來表示對方機(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ì)員的舊坐標(biāo),方向
Vector3Dopspeed[PLAYERS_PER_SIDE];//紀(jì)錄對方隊(duì)員的速度,跑位的方向
Robotrobot[PLAYERS_PER_SIDE]; //我方球員
OpponentRoboto
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南農(nóng)村建房合同樣本
- epc框架合同樣本
- 兒童娛樂合同樣本
- 買房眾籌合同樣本
- 個(gè)人 推廣合同樣本
- kbk安裝合同范例
- 產(chǎn)業(yè)聯(lián)盟入會(huì)合同范例
- 中租租船合同樣本
- 公司合作簽約合同樣本
- 臨時(shí)兼職用工合同樣本
- 糧食流通管理?xiàng)l例考核試題及答案
- 搞好班組安全建設(shè)
- 德語四級真題2023
- TPM培訓(xùn)講義的教案
- 農(nóng)村公路養(yǎng)護(hù)工程預(yù)算定額(征求意見稿)
- 2023年社保基金安全警示教育學(xué)習(xí)研討會(huì)發(fā)言稿報(bào)告(4篇)
- 院感知識考試試題及答案
- GB/T 28724-2012固體有機(jī)化學(xué)品熔點(diǎn)的測定差示掃描量熱法
- GB/T 23743-2009飼料中凝固酶陽性葡萄球菌的微生物學(xué)檢驗(yàn)Baird-Parker瓊脂培養(yǎng)基計(jì)數(shù)法
- 第2章城市道路網(wǎng)規(guī)劃課件
- 教會(huì)歷史縱覽
評論
0/150
提交評論