




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章FIRA仿真比賽劉釗目錄一、背景二、仿真平臺(tái)介紹三、創(chuàng)建一個(gè)簡(jiǎn)單的策略程序四、比賽規(guī)則五、方法與模式舉例六、調(diào)試方法一、背景半自主型機(jī)器人足球類(lèi)人型機(jī)器人足球全自主型機(jī)器人足球仿真機(jī)器人足球足球機(jī)器人系統(tǒng)基本框架機(jī)器人執(zhí)行子系統(tǒng)——?jiǎng)幼鲌?zhí)行體機(jī)器人感知子系統(tǒng)——了解環(huán)境信息和位置信息機(jī)器人策略子系統(tǒng)——多機(jī)器人協(xié)作、單機(jī)器人的技術(shù)動(dòng)作和運(yùn)動(dòng)規(guī)劃?rùn)C(jī)器人通訊子系統(tǒng)——信息交換在機(jī)器人足球的四個(gè)子系統(tǒng)中,決策子系統(tǒng)是核心和靈魂,它決定機(jī)器人足球系統(tǒng)的智能度,是人工智能的先進(jìn)理論應(yīng)用和測(cè)試的平臺(tái)FIRA:基于視覺(jué)的遙控足球機(jī)器人系統(tǒng)足球機(jī)器人策略子系統(tǒng)簡(jiǎn)介策略子系統(tǒng)(大腦)到底要什么功能?建立、并靈活使用各種模型;建立、并靈活使用各種規(guī)則;存儲(chǔ)、選擇足球機(jī)器人策略子系統(tǒng)簡(jiǎn)介是一個(gè)典型的智能系統(tǒng):獲得信息(感知、記憶、學(xué)習(xí))分析決策(信息處理)輸出動(dòng)作(執(zhí)行)設(shè)計(jì)模型設(shè)計(jì)模型1:輸入輸出響應(yīng)設(shè)計(jì)模型設(shè)計(jì)模型2:世界模型執(zhí)行決策規(guī)則輸入輸出設(shè)計(jì)模型2優(yōu)點(diǎn):建立世界模型,具有記憶功能;規(guī)則分離出來(lái),形成模塊;輸出是有緩沖的;設(shè)計(jì)模型2問(wèn)題:世界模型單一;規(guī)則的使用不連續(xù);前鋒后衛(wèi)守門(mén)員足球機(jī)器人系統(tǒng)四層決策推理模型示意圖設(shè)計(jì)模型3:二、仿真平臺(tái)介紹電腦:
奔騰Ⅲ600MHZ的處理器內(nèi)存265MWindows982000XP操作系統(tǒng)此仿真軟件(1.5版本)可以在下面的網(wǎng)站上下載:
Http:///soccer/simurosot/R_Soccer_v15a_030204.exe
機(jī)器人的場(chǎng)地分配Home代表己方機(jī)器人Opp代表對(duì)方機(jī)器人箭頭所指的方向?yàn)闄C(jī)器人的方向home1home2home3home4opp1opp2opp3opp4opp0home0比賽基本過(guò)程1.雙方將自己的DLL文件放入C:\Strategy\blue(yellow)里面.2.輸入自己的DLL文件名.3.系統(tǒng)會(huì)自動(dòng)調(diào)用一次你的程序.三、創(chuàng)建一個(gè)簡(jiǎn)單的策略程序1。打開(kāi)V或VC++6.02。創(chuàng)建(MFCDLL或win32dll)項(xiàng)目,取項(xiàng)目名,比如Strategy.3。添加指定結(jié)構(gòu)定義(一般在stdafx.h里):typedefstruct{doublex,y,z;}Vector3D;typedefstruct{longleft,right,top,bottom;}Bounds;typedefstruct{Vector3Dpos;}Ball;typedefstruct{Vector3Dpos;doublerotation;}OpponentRobot;typedefstruct{Vector3Dpos; doublerotation,velocityLeft,velocityRight;}Robot;typedefstruct{ Robothome[5]; OpponentRobotopponent[5]; BallcurrentBall,lastBall,predictedBall;BoundsfieldBound,goalBound;longgameState;longwhosBall;void*userData;}Environment;4。添加指定外部函數(shù):在Strategy.h里:extern"C"void__declspec(dllexport)Create(Environment*env);extern"C"void__declspec(dllexport)Strategy(Environment*env);extern"C"void__declspec(dllexport)Destroy(Environment*env);在Strategy.cpp里:extern"C"voidCreate(Environment*env){}extern"C"voidStrategy(Environment*env){}extern"C"voidDestroy(Environment*env){}5。完成!Strategy(…)函數(shù)voidStrategy(Environment*env){ switch(env->gameState) { case0: MoonFollowOpponent(&env->home[1],&env->opponent[2]); MoonFollowOpponent(&env->home[2],&env->opponent[3]); MoonFollowOpponent(&env->home[3],&env->opponent[4]);
MoonAttack(&env->home[4],env); Goalie(&env->home[0],env); break; caseFREE_BALL:四、比賽規(guī)則見(jiàn)附件。比賽演示演示比賽……傳中射門(mén)…門(mén)前盤(pán)帶…五、方法與模式舉例1.信息獲取與存儲(chǔ)信息獲取、積累、預(yù)測(cè)信息獲?。焊杏X(jué)、查詢(xún)、解析。信息積累:保存必要的信息。信息預(yù)測(cè):①非常重要、困難;②空間大,要有針對(duì)性;球的位置預(yù)測(cè)考慮因素:速度衰減(建立速度正常衰減模型)邊界反彈與衰減(建立邊界反彈模型)隊(duì)員干擾(建立對(duì)手干擾模型)關(guān)于坐標(biāo)系建立;Vector3Dturn_blue(Vector3Dp){ Vector3Dpp; pp.x=p.y-41.8; pp.y=93.4-p.x;returnpp;}Vector3Dturn_yellow(Vector3Dp){ Vector3Dpp; pp.x=41.8-p.y; pp.y=p.x-6.8;returnpp;}doubleturn_blue(doublerotate){ rotate=270+rotate;if(rotate>=0) rotate-=360; return(rotate+360);}doubleturn_yellow(doublerotate){ rotate=450+rotate; if(rotate>=0) rotate-=360; return(rotate+360);}關(guān)于球的信息:voidpredict_ball_pos(void){ doubledx
=
my_head.ball.loc_now.x-my_head.ball.loc_last.x;
doubledy
=
my_head.ball.loc_now.y-my_head.ball.loc_last.y; doublera=0.45;
//速度衰減率 for(inti=1;i<Pre_View_No;i++)
//預(yù)測(cè) {doubletry_x=my_head.ball.loc_array_pre[i-1].x+dx;doubletry_y=my_head.ball.loc_array_pre[i-1].y+dy;if(try_x<BALL_MOST_LEFT||try_x>BALL_MOST_RIGHT) dx=-dx*ra;elseif(try_y<BALL_MOST_DOWN||try_y>BALL_MOST_UP) dy=-dy*ra;elseif(try_y<try_x-29.6) {dx=-dy*ra;dy=-dx*ra;}elseif(try_y<-try_x-29.6) {dx=dy*ra;dy=dx*ra;}elseif(try_y>try_x+116) {dx=dy*ra;dy=dx*ra;}elseif(try_y>-try_x+116) {dx=-dy*ra;dy=-dx*ra;}my_head.ball.loc_array_pre[i].x=my_head.ball.loc_array_pre[i-1].x+dx;my_head.ball.loc_array_pre[i].y=my_head.ball.loc_array_pre[i-1].y+dy;}//foreveryseconds;}//endpredictball關(guān)于隊(duì)員的信息:typedefstructmyRobot{ intFREE; intfore_back; Vector3Dloc_last; Vector3Dloc_now; Vector3Dloc_next; Vector3Dsudu_vector;
doublesudu_abs; doubleangle_last; doubleangle_now; doubleangle_next; doubleangle_v; doubleangle_move; Vector3Dloc_catch_ball; Vector3Dloc_shoot_to_point; doubledist_to_ball; doubledist_to_ball_next_time;
doubledist_to_my_goal; doubledist_to_shoumen_loc; doubledist_to_fangshou_loc; doubleangle_ball_to_me; doublekey_time; doublepower; doubledist_to_catch_ball; doubledist_to_catch_ball_next_time; doubleangle_catch_ball_to_me; doubleangle_ball_should; doubleQ; doublelast_add_r; doublelast_add_l; boolis_ready_outline; int
out_line_num; booloutline_is_left_or_right; doubleoutline_long; boolcould_turn;}myRobot;關(guān)于世界的信息:typedefstructmyData{ Environment*env; myBallball; myRobothis[5]; myRobotmy[5]; Vector3Dloc_shoumen; Vector3Dloc_fangshou; intp_my_qianfeng; intp_my_youyi; intp_my_zuoyi; intp_my_houwei; intp_my_shoumen; intp_his_qianfeng; intp_his_xiezu; intp_his_youyi; intp_his_zuoyi; intmy_qianfeng_state;}myData;關(guān)于自動(dòng)信息獲取:邊界信息;球速度衰減,反彈;球員加速度(線速度\角速度);球員減速情況等.常用決策框架集中控制型分布控制型時(shí)時(shí)規(guī)劃型階段規(guī)劃型常用決策框架集中控制型、時(shí)時(shí)規(guī)劃型舉例:獲取信息;局勢(shì)判斷;總體任務(wù)確定;角色分配;任務(wù)分配;動(dòng)作確定;輸出.足球機(jī)器人系統(tǒng)四層決策推理模型示意圖模塊間的關(guān)系?模塊間的關(guān)系策略:決定目標(biāo)(短期、中期目標(biāo));模式:定義角色,分配角色;動(dòng)作:具體的安排。==========特點(diǎn)===========層次不同;需要評(píng)價(jià);相互作用;決策形成的基本模式在數(shù)據(jù)與模型中疊代:①選擇目標(biāo);②搜索行動(dòng)方案;③更新數(shù)據(jù)與模型直到收斂(滿意)。FIRA中的例子當(dāng)前狀態(tài):“我”在A點(diǎn),球在B點(diǎn),其速度為V。目標(biāo):盡快上前,經(jīng)過(guò)1次擊球,球以最大速度到C。如何行動(dòng)?分析:確定擊球可能發(fā)生的時(shí)間是問(wèn)題的關(guān)鍵。搜索方法1(確定步伐):嘗試:1s,2s,3s,……,之后,球員是否能夠剛好到達(dá)合適的位置。改變步伐算法描述:①step初值設(shè)置,一般為1;②如果要改變方向,step=step/2;③如果不要改變方向,step=step*2;④如果滿意則完成,否則,轉(zhuǎn)②.子問(wèn)題:當(dāng)前狀態(tài):“我”在A點(diǎn)。目標(biāo):盡快上前到B,且到達(dá)B后運(yùn)動(dòng)速度向C。如何行動(dòng)?時(shí)間耗費(fèi)多少?=========方法1:查表。方法2:數(shù)學(xué)函數(shù)計(jì)算法。方法1:十字交叉法在A點(diǎn)與B點(diǎn)連線的中點(diǎn),作垂線,與目的方向BC交與X點(diǎn),則射線AX為目前小車(chē)的前進(jìn)的方向;動(dòng)態(tài)地跟蹤點(diǎn)X,即可以完成任務(wù)(到達(dá)B點(diǎn),方向大約為BC)。方法2:如何行動(dòng)?r=abs(Q)/60+dist_to_key_point/6;Key_po
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高端住宅用地土地使用權(quán)轉(zhuǎn)讓與住宅配套服務(wù)合同
- 實(shí)驗(yàn)室精密儀器全面維護(hù)保養(yǎng)服務(wù)協(xié)議
- 跨境電商智能零售供應(yīng)鏈金融風(fēng)險(xiǎn)防控合同
- 城市配送物流調(diào)度員派遣合作協(xié)議
- 《情緒與工作滿意度》課件
- 學(xué)習(xí)《中小學(xué)教師職業(yè)道德規(guī)范》
- 上虞民宿運(yùn)營(yíng)管理方案
- 中石化管理模式
- 單個(gè)菜品培訓(xùn)講解
- 小班健康活動(dòng)《我會(huì)擦屁股》教學(xué)方案
- 費(fèi)用報(bào)銷(xiāo)申請(qǐng)單
- midas參數(shù)實(shí)用手冊(cè)-gen模型窗口內(nèi)容存為圖形文件
- 臨床試驗(yàn)倫理委員會(huì)倫理審查不同意見(jiàn)溝通的標(biāo)準(zhǔn)操作規(guī)程
- 白酒釀造工藝課件
- 雷霆傳奇親測(cè)-h5修改匯總
- 關(guān)節(jié)鏡技術(shù)在骨科的應(yīng)用
- 2023年版-腫瘤內(nèi)科臨床路徑
- 《中國(guó)傳統(tǒng)文化心理學(xué)》課件第五章 傳統(tǒng)文化與心理治療(修)
- Q∕GDW 11445-2015 國(guó)家電網(wǎng)公司管理信息系統(tǒng)安全基線要求
- java考試管理系統(tǒng)源代碼開(kāi)題報(bào)告外文翻譯英文文獻(xiàn)計(jì)001
- 人教版九年級(jí)歷史中考【政治經(jīng)濟(jì)專(zhuān)題復(fù)習(xí)課件44張】(共44張)
評(píng)論
0/150
提交評(píng)論