亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dteam.doc

?? 一個多機器人的仿真平臺
?? DOC
字號:
David H. JohnsonSimulated Robot Soccer Assignment4/16/98THE TASKThe purpose of this assignment is to create an intelligent soccer team.  Theteams must be executable in either the JavaSoccer or ASCIISoccer simulationenvironments.  Information for these packages can be found at their respectivesites:http://www.cc.gatech.edu/grads/b/Tucker.Balch/JavaBots/EDU/gatech/cc/is/docs/index.htmlandhttp://www.cc.gatech.edu/grads/b/Tucker.Balch/soccer/The soccer players must posses some intelligence in order to play a good gameof soccer, and this intelligence can be implemented in several ways.  Theplayers can be either homogeneous (ie the SchemaDemo team) or heterogenous(ie the BasicTeam).  On a homogeneous team, each member is attempting to dothe same thing, only from a different perspective (ie different sensor readings).  Whereas with a heterogenous team each member is programmed to doa specific task and work together as a team.  I chose a heterogenous approachto the team.The individual team members can be classified by what type of intelligent agentthey are:  Reflexive, State-Based, or Goal-Oriented.  These are the threebasic intelligent agent types introduced in Russell and Norvig's _ArtificialIntelligence:  A Modern Approach_.  The reflexive agent is one that takes sensory input and reacts directly on that input.  Each time it receives newinput it responds without any reference goals or previous experience.  Slightlymore complex than reflex agents are state-based agents.  These have previousstate knowledge such as "i was just trying to intercept a pass" and use thisknowledge along with the current sensor input and a world model to choose anaction to take.  The final agent type is goal-oriented.  Goal-oriented agentshave a specific goal to accomplish, and attempt to predict the effects of possible actions to determine which action is most useful for reachingthe goal.  My team members are reflexive agents.A final classification of intelligent agents is whether or not they learn.The intelligence can be hard-coded (through heuristics) or they can learn fromprevious experiences.  The robots for this assignment do not learn.  They havehard-coded heuristics.Reflexive, heuristic, and heterogenous robots were chosen to hopefully showthat relatively dumb robots working together can perform well.IMPLEMENTATIONGlobal variables as listed in the code are values determined at the beginningof each simulation step.  Except for Dec2 move which is used to determinewhere to move after each step, and boolean kickit which is true if the robotwants to try to kick the ball.  The constants, SIDE and ME are set in theConfiguration() method of each robot.The team members are unique in the role they play on the team and aredetermined by their robot ID.  They are:Goalie, Offside, Designated Driver, Backup, and Center.   - Goalie -The goalie is responsible for keeping itself between the ball and the goalat all times.  The goalie must also deflect a ball if it is dangerously closeto the goal.  If the goalie is too far from the goal, or outside the widthof the goal, it will return to the center as quickly as possible.  Otherwiseit will try to keep the ball from going north or south along the y axis.  Itstops when the ball is sufficiently close to its x-axis to avoid moving past theball.  The goalie moves toward the wall of the goal at all times.  If the ballis behind the goalie the goalie will chase it down and kick it out as quicklyas possible.  All the code for this is contained in a single function, play_goalie(), which needs no helpers.   - Offside -This player targets the opponent who is closest to the opponents goal.  Oncethe opponent is targeted "Offside" calculates and goes directly toward thepoint directly behind the opponent toward his goal.  On the way to this point"Offside" avoids collision with any players other than the target.  Offsideserves two purposes.  One is to serve as a blocker to keep the target fromrushing an incoming teammate driving to score.  Another is to effectivelycombat the traditional goalie.  Two important functions are introduced inthis player's logic.1) Vec2 closest_to( Vec2 point, Vec2[] objects)	Returns which of the objects is closest to a given point.  The distance	values are calculated using basic vector arithmetic.  In this case it	is used to determine which opponent is closest to the opponents goal.	It is also used to calculate which teammate is closest to the ball, 	which teammate is closest to the robot, and which opponent is closest 	to the robot.2) void avoidcollision()	This is more like a get out of the way if you've collided.  If you	are close enough to a teammate or enemy, then turn in the opposite	direction.  This is not used when in control of the ball (driving to	the goal) or by the goalie.   - Designated Driver -The Designated Driver tries to continually drive the ball.  Using the functiondrive_ball().void drive_ball()	If the robot is behind the ball with respect to the goal (ie a line	can be drawn from the robot to the goal nearly passing through the	ball) and the ball is fairly close, then move toward the goal.  If	the robot can move toward the goal and is relatively close to the goal	then try to kick the ball.  If you aren't behind the ball, then	get behind the ball, and avoid collision while trying.drive_ball() uses two functions behind_point() and get_behind():boolean behind_point( Vec2 point, Vec2 orient)	Determines if you are behind a point and oriented toward another point.	This is determined by calculating how much difference there is in	the angle of the point and the angle of the orientation.  If you are	directly behind the point there should be no difference, but a little	leeway is given.void get_behind( Vec2 point, Vec2 orient)	Attempts to move behind a point with respect to an orientation point.	The robot wants the point between itself and the orientation.  To	see how this is calculated picture a line from the orientation through	the point, and line from the robot through the point.  Where these	lines emerge an angle, theta is formed.  If the cosine of the angle	is positive you are in front of the point, if it is negative you are	behind the point.  If you are behind the point, then the sine of theta	will be positive if you are to the left of the point, and negative	if you are to the right.  Also calculate a vector from the point away	from the orientation to the point you would ideally like to go.  If	you are behind the point, go strait there.  If you are behind the	point and on the left or right, then rotate the behind vector 90	degrees left or right to head around the point.  Calculating theta	and the behind vector are trivial matters.   - Backup - This robot calculates a spot three robot radii from the ball towards his ownside and tries to get behind it with respect to the opponents goal.  If "Backup" is the closest robot to the ball it will try to drive the ball.  Thisserves as a backup for the designated driver, hence the name "Backup".   - Center -This robot tries to get behind the center of the field and the opponent's goal.If it is the closest robot to the ball then it tries to drive the ball.  Themain purpose of this robot is to sit at center field and wait for the fastbreak to come.  At first I was a little queasy about implementing this robot.But decided that 1) Prof. Atkeson specifically said there were no rules, and2) this is a reflexive robot.  Because reflexive robots are dumb they haveto do everything they can to take advantage of their environment.  This isthe way animals survive with natural selection.  They take advantage of theenvironment, and if they don't, they die.  So the center is doing whatit can to take advantage of the environment for the benefit of the team.PERFORMANCE/IMPROVEMENTSOf course the DTeam consistently beats all of the stock teams, including Brian McNamara's well designed team.  This can be expected from most new teams considering the major testing most teams will do is going to be against thestock teams.  I created another team, called Team-Brick.  The name describestheir functionality, as they just stay in their start position.  Every oneof the stock teams stalled the game after at most one shot was taken.  Wherethe lineup put Team-Brick near the ball.  The other teams couldn't keep fromrunning into each other getting to the ball, or were programmed to stay toofar away from opponents to get to the ball.  The small, but effective collisionavoidance method should help DTeam perform well.  I believe the reason collision detection effective is that the simulation is so dynamic.  Mostevery obstacle is moving so a slight push away from a collision gives freedomfrom the obstacle.  And after you have freedom from the obstacle your newheading is probably changed as well, meaning you probably won't bump into theobstacle again, unless you are heading for the same place (ie behind theball).  Nevertheless the collision avoidance was quite sufficient to get theoffsides man back to the goalie quickly.However, by no means is DTeam perfect.  There are several things I would liketo change and improve with the DTeam.  First the get_behind() function couldbe improved.  The way it works now, it is practically a planning mechanism.  Although a primitive one.  The robots have to do too much calculating toget behind an object.  Using the goalie, and "offside" along with threeSchemaDemo (or BrianTeam) members would be more effective.  The idea of ahomogeneous goal striking team is appealing.  I would have liked to look atClay more.  It would be nice to have two specialized players and a 3 robotstriking team that could be trained with Schema weights.  The get_behind()and behind_point functions are good because they can be reused to improvethe team, along with a function that I wrote, but didn't integrate callednearpath().  Nearpath() finds the closest to the path from you to a goal.  Ifnearpath() found that there was something blocking your shot you could setup to get behind the ball toward a teammate for a pass.  However, this may diminish the effectiveness of driving the ball.  Another thing you could do is just check to see if you were ever behind_point()the ball relative to a teammate for a pass.  Kicking is always better than dribbling because the ball moves faster and can shake the opponents.  The onlyproblem would be that unless the team was completely homogeneous you would needsome sort of communications between robots to make sure you don't passit to the goalie or the "offside".  The communication might take too long forit to be effective.  The robots in soccer have to react immediately to carryout a strategy.CREDITSI used the BasicTeam.java skeleton to create a heterogenous team.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女网站视频久久| 国产精品综合视频| 欧美日韩1234| 亚洲国产成人精品视频| 欧美日韩一级二级| 婷婷久久综合九色国产成人| 欧美一区二区三区四区在线观看 | 麻豆国产欧美一区二区三区| 91精品国产91久久久久久最新毛片 | 午夜av一区二区| 日韩视频一区在线观看| 国产丶欧美丶日本不卡视频| 自拍偷在线精品自拍偷无码专区| 95精品视频在线| 亚洲制服丝袜av| 久久影视一区二区| 色视频一区二区| 韩国在线一区二区| 亚洲男人的天堂一区二区| 欧美精品日日鲁夜夜添| 国产成人免费在线视频| 亚洲欧美日韩一区二区| 91精品福利在线一区二区三区 | 亚洲婷婷在线视频| 91麻豆精品国产91久久久使用方法 | 欧美军同video69gay| 不卡的av网站| 国产精品一区2区| 美国十次综合导航| 亚洲成人一区在线| 亚洲丝袜自拍清纯另类| 精品免费日韩av| www.av精品| 国产成人亚洲精品青草天美| 久久国产精品99久久久久久老狼| 视频一区二区三区入口| 亚洲mv在线观看| 亚洲黄色录像片| 亚洲一区在线观看免费 | 亚洲一区二区在线免费看| 国产欧美日韩另类一区| 国产亚洲一本大道中文在线| 久久免费电影网| 国产精品无遮挡| 国产欧美日韩不卡免费| 久久亚洲精品小早川怜子| 精品少妇一区二区三区| 欧美电影免费提供在线观看| 日韩欧美综合在线| 国产午夜精品一区二区三区嫩草| 欧美一区二区免费视频| 精品国产青草久久久久福利| 日韩女同互慰一区二区| 日韩一区二区三区在线| 精品理论电影在线观看| 日本一区二区三区国色天香 | 制服.丝袜.亚洲.中文.综合| 91精品免费观看| 久久综合丝袜日本网| 中文字幕免费在线观看视频一区| 一区二区三区**美女毛片| 极品尤物av久久免费看| 在线一区二区三区| 日韩欧美一二三区| 亚洲一区二区精品3399| 成人精品电影在线观看| 日韩欧美国产精品| 亚洲一区二区av在线| 国产99久久久国产精品免费看| av成人免费在线| 国产精品天天看| 国产伦精品一区二区三区视频青涩 | 91免费精品国自产拍在线不卡| 日韩精品一区二区三区视频播放| 亚洲日本免费电影| 91麻豆精东视频| 国产精品激情偷乱一区二区∴| 激情综合五月天| 日韩视频国产视频| 久久精品久久综合| 在线成人av网站| 青青草原综合久久大伊人精品优势| 91蝌蚪porny| 有码一区二区三区| 欧美丝袜自拍制服另类| 亚洲色图都市小说| 成人a免费在线看| 国产肉丝袜一区二区| 国产一区二三区| 欧美激情一区二区| 99re视频精品| 亚洲综合999| 欧美日韩不卡在线| 蜜臀av国产精品久久久久| 日韩一区二区精品| 国产精品一区不卡| 国产精品丝袜久久久久久app| 久久99久久久久| 亚洲激情校园春色| 欧美一区二区三区四区五区| 国产剧情在线观看一区二区| 一区二区三区 在线观看视频| 久久蜜臀中文字幕| 欧美午夜电影网| 国产麻豆成人传媒免费观看| 一区二区日韩av| 国产精品电影院| 久久久精品国产99久久精品芒果| 色拍拍在线精品视频8848| 日韩中文字幕亚洲一区二区va在线| 精品精品国产高清a毛片牛牛| 99精品国产视频| 日韩成人一级大片| 亚洲欧美一区二区三区孕妇| 欧美一级免费观看| 在线观看日韩av先锋影音电影院| 国产毛片精品视频| 久久99精品国产麻豆不卡| 日日摸夜夜添夜夜添精品视频 | 日韩制服丝袜av| 天天影视色香欲综合网老头| 亚洲男同性视频| 一区二区三区免费观看| 亚洲国产日产av| 国产中文字幕精品| 另类的小说在线视频另类成人小视频在线| 亚洲人成网站精品片在线观看| 国产亚洲精品超碰| 亚洲精品免费播放| 一区二区三区丝袜| 蜜桃视频在线一区| 国产91丝袜在线播放0| 91在线精品秘密一区二区| 91免费观看视频| 日韩亚洲欧美在线观看| 精品欧美一区二区在线观看 | av高清久久久| 91麻豆精品国产91久久久使用方法| 日韩一区和二区| 欧美国产视频在线| 亚洲成年人网站在线观看| 国产一区啦啦啦在线观看| 99久精品国产| 日韩精品中文字幕一区| 亚洲女与黑人做爰| 国产精品99久久久久久久vr | 午夜精品一区二区三区三上悠亚| 国产麻豆91精品| 91精品在线免费| 五月婷婷久久综合| 在线观看欧美黄色| 日韩久久一区二区| 国产jizzjizz一区二区| 欧美一区二区三区小说| 亚洲精品美腿丝袜| 成人网在线免费视频| 久久久99精品久久| 久久精品国产999大香线蕉| 欧美精品v日韩精品v韩国精品v| 亚洲另类在线制服丝袜| 色诱亚洲精品久久久久久| 国产片一区二区三区| 成人app网站| 国产精品久久久久影视| 精品视频全国免费看| 欧美一区二区三区视频在线| 免费看日韩精品| 精品区一区二区| 5566中文字幕一区二区电影| k8久久久一区二区三区| 美洲天堂一区二卡三卡四卡视频| 18涩涩午夜精品.www| 91精品国产乱| 色综合咪咪久久| 91麻豆自制传媒国产之光| 国产suv精品一区二区三区| 日本不卡123| 偷拍亚洲欧洲综合| 91高清在线观看| 中文字幕免费不卡| 色综合久久久久综合体| 亚洲成av人片| 久久久久久久久伊人| 在线电影院国产精品| 色综合视频一区二区三区高清| 免费成人在线影院| 亚洲午夜免费电影| 中文字幕欧美日韩一区| 精品噜噜噜噜久久久久久久久试看| 成人禁用看黄a在线| 麻豆精品视频在线观看| 亚洲va在线va天堂| 夜夜夜精品看看| 欧美激情一区二区| 国产精品青草综合久久久久99| 日韩一区二区麻豆国产| 91精品国产综合久久小美女| 欧洲生活片亚洲生活在线观看| 成人美女在线视频| 高清不卡在线观看av|