版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第4章 Robocup仿真比賽劉釗目錄 4.1 RoboCup仿真比賽簡介 4.2 開發(fā)環(huán)境介紹 4.3 Agent程序的結構 4.4 底層動作的設計 4.5 中高層動作的設計 4.6 高層策略4.1 RoboCup仿真比賽簡介 RoboCup仿真組的比賽提供了一個分布式控制的多智能體(Multi-Agent)環(huán)境,在這樣的環(huán)境下可以進行智能體(agent)結構的設計和測試,策略算法的研究和實現,以及各種人工智能理論的學習和應用。 SoccerServer生成一定的環(huán)境噪聲。 Server 和 Client 之間的通信是通過 UDP/ IP 協(xié)議進行的 。Client發(fā)送指令去控制相應隊員 ,
2、同時從Server接受隊員的感知信息。 每個Client模塊只允許控制一名球員,Client之間不允許直接進行通信,Client之間通訊必須通過SoccerServer來進行。比賽環(huán)境的特點 (1)動態(tài)實時系統(tǒng)。比賽每個仿真周期為100ms,要求Agent在此時間內完成全部計算并將要執(zhí)行的命令, 否則將失去機會。 (2) 環(huán)境干擾。 (3) 合作與協(xié)調。全部 Agent 具有一個共同的目標, 需要使用有效的方法進行 Agent 之間的合作, 同時解決局部目標與全局目標, 個體目標與共同目標之間沖突的問題。 (4) 受限的通訊帶寬。比賽結構ClientClientClienClienClient
3、ServerSoccer MonitorCoachCoach圖4.1 RoboCup 2D 比賽示意圖2D仿真組比賽比賽球場及標識物4.2 開發(fā)環(huán)境介紹 由于程序運行在Linux操作系統(tǒng)下、采用Client/Server結構、多進程等的特點,因此在球隊程序的設計中常常采用Ubuntu Linux 、SUSE Linux 、或者Fedro Core 作為開發(fā)平臺,使用標準C+語言進行程序的實現,同時使用GNU的C+編譯器g+(gcc)作為編譯器,并采用Makefile管理整個工程同時使用IDE工具Anjuta方便工程的管理。 球隊由11個agent進程和1個coach進程組成。 每一個agent
4、進程的程序是相同的,通過使用shell腳本啟動整個球隊。 因此所需要設計的是1個agent程序,而這個程序具有多進程的特性,允許使用shell腳本啟動該程序自身11次來組成11個場上隊員。4.3 Agent程序的結構 目前,在Robocup研究領域內Agent結構主要分為3類:慎思結構反應結構復合結構慎思結構 以基于BDI模型(信念、愿望和意圖) 最為典型。 (1) 信念(Belief)是一個包括了對世界相關的信念、與其它主體(agent)思維趨向相關的信念和自我信念的集合。信念是主體(agent)對世界的認知,包含描述環(huán)境特性的數據和描述自身功能的數據,是主體(agent)進行思維活動的基礎
5、。 (2) 愿望(Desire)是主體(agent)的最初動機,是其希望達到的狀態(tài)或希望保持的狀態(tài)的集合。 主體(agent)可以擁有互不相容的愿望,而且也不需要相信它的愿望是絕對可以實現的。 (3) 意圖(Intention)是承諾實現的愿望中選取的當前最需要完成或者最適合完成的一個,是當前主體(agent)將要正在實現的目標,它是屬于思維狀態(tài)的意向方向。當 前意圖對主體(agent)的當前動作具有指導性的作用。 反應結構 這種結構源于現場智能體(Situated Agent),能建立起傳感信息到行動集間的直接映射,有較強的適應性。Introduction to AI Robotics (M
6、IT Press)Chapter 4: The Reactive Paradigm15Reactive RobotsMost apps are programmed with this paradigmBiologically based: Behaviors (independent processes), released by perceptual or internal events (state) No world models or long term memory Highly modular, generic Overall behavior emergesSENSEACTRE
7、LEASERbehaviorOverviewHistoryReactive USARSummaryIntroduction to AI Robotics (MIT Press)Chapter 4: The Reactive Paradigm16Combining Fields forEmergent BehaviorobstacleobstaclegoalIf robot were dropped anywhere on this grid,it would want to move to goal and avoid obstacle:Behavior 1: MOVE2GOALBehavio
8、r 2: RUNAWAYThe output of each independent behavior is a vector,the 2 vectors is summed to produce emergent behaviorobstaclegoalIntroduction to AI Robotics (MIT Press)Chapter 4: The Reactive Paradigm17Note: In this example, repulsive field only extends for 2 meters;the robot runs away only if obstac
9、le within2 metersNote: in this example, robot can sense thegoal from 10 meters awayFields and Their CombinationIntroduction to AI Robotics (MIT Press)Chapter 4: The Reactive Paradigm18Path TakenIf robot started at this location, it would take the following pathIt would only “feel”the vector for the
10、location, then move accordingly, “feel” the next vector, move, etc.Pfield visualization allows us to see the vectors at all points, but robot never computes the “field of vectors” just the local vectorRobot only feels vectors for this point when it (if) reaches that pointAgent的一般結構傳感感知學習通訊決策規(guī)劃執(zhí)行知識庫狀
11、態(tài)表預測規(guī)則表ServerAgent 1)傳感:負責接收Server發(fā)送的消息(如聽覺消息、視覺消息等),并將相應的信息暫存下來,待處理。 2)感知: 負責解釋傳感消息,分析消息,并修改狀態(tài)表。為了保證信息安全性,需對傳送消息進行標識,由感知模塊來進行判別工作。同時考慮到傳感和執(zhí)行是異步的(因為Server在每周期末更新狀態(tài)表,本周期使用的是上一周期的消息),因此該模塊還須將處理后的本周期消息暫存下來。 3)狀態(tài)表: 記錄了Agent自身狀態(tài)和獲得的外部信息。自身狀態(tài)包括自己所處的位置、正在采取的動作等。外部信息包括球的位置、速度、加速度,一定范圍內雙方隊員的位置等。這樣,該模塊也就構筑了簡單
12、的環(huán)境模型。 4)預測: 由于Agent視覺、聽覺能力有限,得到的信息是不完整的、不準確的,所以整個結構不能僅依據消息機制;加之傳感和執(zhí)行是異步的,Agent應能根據自身狀態(tài)及通訊消息,估計本周期結束時的場上狀態(tài),以輔助做出合理的決策。 5)規(guī)則表: 涉及隊員的角色、行為、球隊的陣形、合作協(xié)議、方案等內容的知識表述集合。 6)規(guī)劃決策: 根據狀態(tài)表、預測、規(guī)則表等,決定當前行為模式,并更新自身狀態(tài)。一個實現Agent的類結構ObjectFixedObjectDynamicObjectBallObjectPlayerObjectAgentObjectFormationsPlayerTypeInf
13、oFormationTypeInfoPlayerBasic PlayerActHandleSenseHandleParseConnectionWorldModelVecPosion4.4 底層動作的設計 每個動作的執(zhí)行需要幾個周期才能完成。 底層動作主要包括:帶球、傳球和截球、高速踢球、轉球等技術。 核心是截球技術?;緞幼鞯耐瓿梢蟪晒β矢?,不能丟球。同時 ,結合轉球技術 ,可以躲避對方球員斷球。 對于非控球隊員,基本動作包括盯人、盯無球隊員、阻截球路、跑位。基本動作層為頂層決策層提供可選動作集。底層動作方法列舉如下: alignNeckWithBody() 使球員脖子與身體匹配 turn
14、BodyToPoint() 將身體正面轉向給出的位置 turnBackToPoint() 將身體背面轉向給出的位置 turnNeckToPoint() 將脖子轉向給出的位置 searchBall() 尋找球的位置 dashToPoint() 向某個位置加速 teleportToPos() 直接將球員移動至指定的位置 turnBodyToObject() 將身體正面轉向給出的物體 turnNeckToObject() 將脖子轉向給出的物體 freezeBall() 停球奔跑奔跑(dash) 命令dash給予球員一個加速度,和它身體朝向同向。命令dash的參數是power,取值的范圍在minpow
15、er和maxpower之間。每個球員都有一定的體力stamina,它會因為dash命令而消耗,仿真平臺通過限制球員的體力來阻止隊員始終以最大速度跑動。踢球踢球(kick) 命令kick有兩個參數,踢球力量(介于minpower和maxpower之間)和球員踢球的角度。角度以度數表示,并介于minmoment和maxmoment之間。一旦命令kick到達Server端,只要球員沒有被置為越位,而且足球在可踢范圍內,那么kick就會被執(zhí)行。轉身轉身(turn) 命令dash用來在球員身體軀干朝向的方向上給予一個加速度,命令turn用來改變球員的身體朝向。命令turn的參數是moment。移動移動(
16、move) 命令move可以把球員移動到場上的任何一個地方。只有在設置整個球隊時move命令才有效,在比賽期間是沒有效果的。turnBodyToPoint的實現的實現 SoccerCommand BasicPlayer:turnBodyToPoint( VecPosition pos, int iCycles ) VecPosition posGlobal = WM-predictAgentPos(iCycles, 0); AngDeg angTurn = (pos - posGlobal).getDirection(); angTurn -= WM-getAgentGlobalBodyAng
17、le(); angTurn = VecPosition:normalizeAngle( angTurn ); angTurn = WM-getAngleForTurn( angTurn, WM-getAgentSpeed(),WM-getAgentObjectType() ); return SoccerCommand( CMD_TURN, angTurn ); searchBall的實現的實現 searchBall方法使球員在看不到球的情況下試著去尋找球。 該方法返回一個轉身命令,球員將身體轉動一個等同于其目前視覺圓錐體范圍的角度。這樣球員將得到在與剛才完全不同的方向上的新的視覺范圍,進而增
18、大了在下一個時間周期中看到球的可能性。SoccerCommand BasicPlayer:searchBall() static Time timeLastSearch; static SoccerCommand soc; static int iSign = 1; VecPosition posBall =WM-getBallPos(); VecPosition posAgent=WM-getAgentGlobalPosition(); AngDeg angBall =(posBall-WM-getAgentGlobalPosition().getDirection(); AngDeg an
19、gBody =WM-getAgentGlobalBodyAngle(); if( WM-getCurrentTime().getTime() = timeLastSearch.getTime() ) return soc; if( WM-getCurrentTime() - timeLastSearch 3 ) iSign = ( isAngInInterval( angBall, angBody, VecPosition:normalizeAngle(angBody+180) ) ) ? 1: -1; soc = turnBodyToPoint( posAgent + VecPosition(1.0,VecPosition:normalizeAngle(angBody+60*iSign), POLAR ) );timeLastSearch = WM-getCurrentTime(); return soc;4.5 中高層動作的設計 球員的中高層動作主要指球員間相互配合的基本能力,包括傳球,帶球,帶球轉身,斷球等,因
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 急性肺栓塞診療指南
- 《GB-T 38834.1-2020機器人 服務機器人性能規(guī)范及其試驗方法 第1部分:輪式機器人運動》專題研究報告
- 2026年湖南電子科技職業(yè)學院單招職業(yè)適應性考試題庫含答案詳解
- 《正常人體功能》課件-蛋白質的生物合成
- 《python語言程序設計》課件-項目實戰(zhàn) 塔吊智能螺母預警系統(tǒng)開發(fā)
- 運維人員培訓服務合同
- 鐘表行業(yè)智能手表軟件工程師崗位招聘考試試卷及答案
- 2025年9月21日陜西渭南社工面試題及答案解析
- 工業(yè)園區(qū)管理委員會2025年度應急管理工作情況報告
- 2025年電力金具合作協(xié)議書
- 文冠果整形修剪課件
- 2025年下半年上海當代藝術博物館公開招聘工作人員(第二批)參考筆試試題及答案解析
- 2026國家糧食和物資儲備局垂直管理局事業(yè)單位招聘應屆畢業(yè)生27人考試歷年真題匯編附答案解析
- 癌性疼痛的中醫(yī)治療
- 大學生就業(yè)面試培訓
- 2026年旅行社經營管理(旅行社管理)考題及答案
- 2026年北京第一次普通高中學業(yè)水平合格性考試化學仿真模擬卷01(考試版)
- 東北三省精準教學聯盟2025年12月高三聯考語文
- 物業(yè)服務協(xié)議轉讓合同
- 2024年江蘇省普通高中學業(yè)水平測試小高考生物、地理、歷史、政治試卷及答案(綜合版)
- 8 泵站設備安裝工程單元工程質量驗收評定表及填表說明
評論
0/150
提交評論