版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
合肥工業(yè)大學(xué)計算機與信息學(xué)院機器人足球仿真實驗報告班級:計算機科學(xué)與技術(shù)11-1班姓名:魏慷學(xué)號:2425年12月5日1試驗一機器人足球比賽編程預(yù)備知識1.試驗?zāi)康恼莆誖oboCup仿真機器人足球比賽有關(guān)知識點,詳細內(nèi)容如下:(1)Linux操作系統(tǒng)的熟悉及理解其基本操作。(2)掌握Linux下怎樣進行C++編程,理解gcc編譯器以及某些簡樸編輯工具,如:vi、emacs、gedit、Anjuta、Kdevelope等。(3)啟動RoboCup仿真(2D)足球隊的比賽。2.試驗設(shè)備硬件環(huán)境:PC機軟件環(huán)境:操作系統(tǒng)linux3.試驗內(nèi)容(1)掌握Linux某些常用的命令文獻或目錄處理格式:Is[-atFlgR][name]第一項是某些語法加量。第二項是文獻名。常用的措施有:ls列出目前目錄下的所有文獻。ls-a列出包括以.開始的隱藏文獻的所有文獻名。ls-t根據(jù)文獻最終修改時間的次序列出文獻名。Is-F列出目前目錄下的文獻名及其類型。以/結(jié)尾表達為目錄名、以*結(jié)尾表達未可執(zhí)行文獻、以@結(jié)尾表達為符號連接。ls-1列出目錄下所有文獻的權(quán)限、所有者、文獻大小、修改時間及名稱。Is-lg同上,并顯示出文獻的所有者工作組名。ls-R顯示出目錄下以及其所有子目錄的文獻名。變化工作目錄格式:cd[name]name:目錄名、途徑或目錄縮寫。常用的措施有:cd變化目錄位置至顧客登錄時的工作目錄。cddirl變化目錄位置至dirl目錄下。cd~user變化復(fù)制文獻格式:cp[-r]源地址目的地址2常用的措施有:cpfilelfile2將文獻file1復(fù)制成file2cpfileldir1將文獻filel復(fù)制到目錄dirl目錄。移動或更改文獻、目錄名稱格式:mv源地址目的地址常用的措施有:mvfilelfile2將文獻filel更名為file2。mvfileldirl將文獻file1轉(zhuǎn)移到目錄dirl下,文獻名仍為filel。mvdirldir2將目錄dirl更改為目錄dir2。建立新目錄格式:mkdir目錄名刪除目錄格式:rmdir[目錄名文獻名]常用的措施有:rm-rdirl刪除目錄dir1及其子目錄下的所有文獻。列出目前所在的目錄位置格式:pwd查看文獻內(nèi)容格式:cat文獻名文獻權(quán)限的設(shè)定格式:chmod[-R]modenamename:文獻名或目錄名。mode:3個或8個數(shù)字或rwx的組合。r-read(讀權(quán)限)、w-write(寫權(quán)限)、x-execute(執(zhí)行)常用的措施有:chmod777filel給所有顧客filel所有的權(quán)限。文獻的打包和解壓縮格式:tar[option][file]gzip[option][file]tar重要來進行打包而不壓縮,而gzip則進行壓縮。option重要有:-c—創(chuàng)立一種新歸檔。-f—當(dāng)與-c選項一起使用時,創(chuàng)立的tar文獻使用該選項指定的文獻名;當(dāng)與-x選項一起使用時,則解除該選項指定的歸檔。-t一顯示包括在tar文獻中的文獻列表。-v—顯示文獻的歸檔進度。-x—從歸檔中抽取文獻。-z—使用gzip來壓縮tar文獻。如使用:tar-cvf/home/mine/work/ho上面的命令把/home/mine目錄下的work和school子目錄內(nèi)的所有文獻3都放入目前目錄中一種叫做的新文獻里。(2)完畢如下操作:1.怎樣找到顧客主目錄的絕對途徑名?在自己的系統(tǒng)上,顧客主目錄的絕對途徑名是什么?執(zhí)行cd;執(zhí)行pwd;即顯示顧客主目錄的絕對途徑名。顧客完畢如下操作:rcssserverresslogplayer在球隊途徑下:./start.sh試驗二Demeer5基本動作11.試驗?zāi)康?1)理解Demeer5的工作原理4(2)學(xué)會對Demeer5進行簡樸的修改2.試驗設(shè)備(1)Demeer5的工作原理:Demeer5函數(shù)是整個球隊的關(guān)鍵,它最終返回一種可以執(zhí)行的動作,底層的模塊負責(zé)將此動作發(fā)送給server,然后由server執(zhí)行。可以說,Demeer5就是我們想法的體現(xiàn),是一支球隊的大腦。在Demeer5中有一系列的判斷來決定每個周期的動作。下面對Demeer5進行簡要的分析.Demeer50是一種決策函數(shù),在方略上使用的是下面這個簡樸的方略:假如球可踢,則用最大力量踢球;假如球不可踢且if(WM->isBallKickable()//假如球可踢{VecPositionposGoal(PITCH_LENGTH/2.0,-1+2*(WM->getCurrentCycle(%2)*0.4*SS->getGoalWidthO);soc=kickTo(posGoal,SS->getBallSpeedMax());//kickmaxiACT->putCommandInQueue(ACT->putCommandInQueue(turnNeckToObject(OBJECT_BAL/記錄調(diào)試信息Log.log(100,"kickba}這一小段函數(shù)決定了當(dāng)球在球員Agent的可踢范圍之內(nèi)時應(yīng)當(dāng)做的動作,這里是一種簡樸的把球向前踢而不考慮任何其他狀況的措施。該程序段的條理是很清晰的。5(2)對Demeer5進行簡樸的修改:目前我們對Demeer5進行簡樸的修改,讓它在球可踢的時候進行帶球的動作。帶球就是kick和dash動作序列的結(jié)合。帶球的函數(shù)在BasicPlayer中,函數(shù)為dribble().它接受兩個參數(shù),第一種參數(shù)為帶球的方向,第二個參數(shù)為帶球的類型。帶球類型解釋如下:DRIBBLE_FAST:迅速帶球;DRIBBLE_SLOW:慢速帶球;DRIBBLE_WITHBALL:安全帶球;因此,對dribble的一種調(diào)用形式為:dribble(ang,DRIBBLE_FAST)其中ang為AngDeg(是一種double)類型該函數(shù)的返回值if(WM->isBallKickable(){AngDegsoc=dribble(ang,DRIBBLE_FAST);//進行帶球ACT->putCommandInQueue(ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALLog.log(100,"kickball");}這樣,在球可踢的時候,球員智能體將把球帶向前方,這里取的是0度角,即沿x軸一直向前迅速帶球。我們再次對Demeer5函數(shù)進行修改,這次是讓球員Agent將球踢向各個不一樣的地方。這將調(diào)用kickTo()函數(shù)來完畢。下面簡要闡明一下kickTo()函數(shù)的使用措施:這個函數(shù)有兩個參數(shù),第一種參數(shù)是目的點的坐標(biāo),第二個參數(shù)是球抵達目的點是的速度,返回一種踢球的動作??梢詫Q定踢球時所用力量的大小,并且會判斷與否能夠?qū)⑶蛱叩皆擖c,并作出對應(yīng)的調(diào)整。例如,將球一直踢向(0,0)點,1.0的末速度:elseif(WM->isBallKickable()){soc=kickTo(VecPosition(0,0),1.0);6/將動作放入命令隊列中ACT->putCommandInQueue(ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALLog.log(100,"kickba}(3)根據(jù)上述操作,完畢如下踢球操作:將球踢向?qū)Ψ降那蜷T。VecPositionpos=WM->getPosOpponentGoal;soc=kickTo(pos,1.0);ACT->putCommandInQueue(soc);ACT->putCommandlnQueue(turno=WM->getClosestInSetTo(OBJECT_SET_TEAMMATES,posAgent);soc=kickTo(WM->getGlobalPosition(o),1.0);ACT->putCommandInQueue(soc);ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL,soc));嘗試不一樣的踢球點。(略)(4)根據(jù)上述內(nèi)容,完畢如下帶球的操作:用不一樣的帶球模式進行帶球,并觀測效果,比較異同。AngDegang=0.0;soc=dribble(ACT->putCommandInQueue(soc);ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL,soc));向?qū)Ψ降那蜷T方向帶。doubleang=(VecPosition(52.5,0)-posAgent).getDirection();//求soc=dribble(ang,DRIBBLE_SLOW);ACT->puACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL,soc));嘗試不一樣的帶球組合。(略)(5)根據(jù)上述內(nèi)容,完畢如下綜合練習(xí):帶球與踢球的結(jié)合:讓agent一直向?qū)Ψ角蜷T的方向帶球,在進入對方禁7門(末速度最大為2.7)。波及到的詳細函數(shù)請查看教材。VecPositionposGoal(52.5,0);{soc=dribble(ang,DRIBBLE_FAST)ACT->putCommandInQueue(turnNeckToObject(OBJECT_BAL試驗三Demeer5基本動作21.試驗?zāi)康氖煜emeer5并學(xué)會demeer5的基本使用措施,詳細內(nèi)容如下:(1)能理解UVA程序中本來的demeer5中的內(nèi)容(2)能通過修改demeer5中的詳細函數(shù)內(nèi)容實現(xiàn)對場上球員的控制(3)能通過底層動作的簡樸組合控制場上隊員做出某些復(fù)雜動作2.試驗設(shè)備:硬件設(shè)備:pc機軟件設(shè)備:操作系統(tǒng)linux3.試驗內(nèi)容(1)在球隊程序中找到playerTeams.cpp;(2)在player.cpp中找到demmer5函數(shù);(3)閱讀此段程序,并結(jié)合Monitor觀測球員的詳細行為(你將發(fā)隊員中假如是離球近來的隊員就去截球,否者則按陣型跑位);(4)修改demmer5函數(shù)變化隊員的行為詳細環(huán)節(jié)如下:①在demeer5函數(shù)中找到8VecPositionposGoal(PITCH_LENGTH/2.0,(-1+2*(WM->getCurrentCycle0%2))*0.4*SS->getGoalWidthOsoc=kickTo(posGoal,SS->getBallSpeedMax();//朝球門方向?qū)⑶蛞宰畲驛CT->putCommandInQueue(turnNeckToObject(OBJECT_BAL}②『控球」將此函數(shù)修改為if(WM->isBallKickableO){ACT->putCommandInQueue(soc);ACT->putCommandInQueue(turnNeckToObject(OBJECT_B}然后編譯運行程序,觀測球員的行為我們會發(fā)現(xiàn)當(dāng)球可踢時,球員不再朝著球門的方向踢了,而是將球繞自己身體轉(zhuǎn)動(uva的這個底層動作常常把球轉(zhuǎn)丟!)③『帶球』將此函數(shù)修改為soc=dribble(0.0,DRIBBLE_SLOW);//其中dribble函數(shù)中第一種參數(shù)方向-180~180之間,不一定是0.0ACT->putCommandInQueue(soc);ACT->putCommandInQueue(turnNeckToObject(OBJECT_B}后編譯運行程序,觀測球員的行為我們會發(fā)現(xiàn)當(dāng)球可踢時,球員不再朝著球門的方向踢了,而是朝我們指定9④『傳球』將此函數(shù)修改為if(WM->isBallKsoc=leadingPass(OBJECT_TEAMMATE_9,1);//9是接球的人,1是指球與接球人號碼(1~11)的球員,不一定是OBJECT_TEAMMATE_9ACT->putCommandInQueue(soc);ACT->putCommandInQueue(turnNeckToObject(OBJECT_B然后編譯運行程序,觀測球員的行為我們會發(fā)現(xiàn)當(dāng)球可踢時,球員不再朝著球門的方向踢了,而是將球傳給ACT->putCommandInQueue(soc);ACT>putCommandInQueue(turnNeckToObject(OBJECT_BALL,soc));}編譯程序,觀測球員行為,我們會發(fā)現(xiàn),當(dāng)9號隊員得到球后會朝前方帶球,其他隊員得到球后會將球傳給9號(不管9號是不是越位).(5)根據(jù)以上描述完畢如下試驗內(nèi)容:假如在對方禁區(qū)內(nèi)就射門,否則,假如是7,8,9號隊員就朝前帶球,其他隊員將球傳給9號(用WM->isInTheirPenaltyArea(WM->getBal判斷球與否在對方禁區(qū))假如隊員的位置在自己半場就將球朝對方球門踢去,否者就朝前方帶球(用WM->getBallPos().getXO來得到球的x坐標(biāo))當(dāng)有人來搶球時(離自己很近),就將球傳給離自己近來的隊員,否則就自己帶球(調(diào)用WM->getClosestRelativeInSet函數(shù)來得到離自己近來的己方或?qū)Ψ角騿T,通過posl.getDistanceTo(pos2)來得到兩位置之間的距離)。Circleci我為圓心,2.0為半徑intnum=WM->getNrInSetInCircle(OBJECT_SET_OPPONENTS,cir);//判斷2.0if(num>0){soc=leadingPass(WM->getClosestRelativelnSet(OBJECT_SET_TEAMMATES),1);}elseif(WM->getBallPos(.getXO>0){if(WM->isInTheirPenaltyArea(WM->getBallPos()){posGoal(PITCH_LENGTH/2.0,(-1+2*(WM->getCurrentCycle(%2))*0.4*SS->getGoalWisoc=kickTo(posGoal,SS->getBallSpeedMax0);elseWM->getAgentObjectType()==OBJECT_TEAMMATE_9){soc=dribbl(PITCH_LENGTH/2.0,(-1+2*(WM->getCurrentCycle(%2))*0.4*SS->getGoalWidthO);soc=kickToACT->putCommandInQueue(soc);//放入命令隊列ACT->putCommandInQueue(turnNeckToObject(OBJECT_BAL試驗四復(fù)雜的動作決策1.試驗?zāi)康纳钊肜斫鈊emeer5并能熟悉的修改demeer5的內(nèi)容以到達對場上的球員的控制(1)能理解UVA程序中本來的demeer5中的所有內(nèi)容(2)能通過修改demeer5中的詳細函數(shù)內(nèi)容實現(xiàn)對場上球員的控制(3)能通過底層動作的簡樸組合控制場上隊員做出某些復(fù)雜動作決策(4)對WorldModel有初步的認識,學(xué)會在WorldModel,basicplayer里添加新函數(shù)2.試驗設(shè)備硬件環(huán)境:PC軟件環(huán)境:操作系統(tǒng)linux3.試驗內(nèi)容(2)在player.c中找到demmer5函數(shù);(3)閱讀此段程序,并結(jié)合monitor觀測球員的詳細行為(你將發(fā)隊員中假如是離球近來的隊員就去截球,否者則按陣型跑位);(4)修改demmer5函數(shù)變化隊員的行為詳細環(huán)節(jié)如下:①在demeer5函數(shù)中找到elseif(WM->getFastestInSetTo(OBJECT_SET_TEAMMATES,OBJECT_BALL,&iTmp)`WM->getAgentObjectType()&&!WM->isDeadBasoc=intercept(false);//截球if(mandType==CMD_DASH&&WM->getAgentStamina().getStamina()<SS->getRecoverDecThr()*SS->getStaminsoc.dPower=30.0*WM->getAgentStamina().getRecovery0;//慢速移動ACT->putCommandInQueue(soc);ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALelseACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL,中定義)觀測在隊員體力值不不小于多少時,帶球速度會變慢。②目前我們來通過修改函數(shù),來變化非if(WM->getAgentObjectType(O)==OBJECT_TEAMMATE_9)//假如是9號隊員{ACT->putCommandInQueue(}然后編譯運行程序,觀測球員的行為我們會發(fā)現(xiàn)當(dāng)9號不持球時,身體在一直的轉(zhuǎn)動(此動作可用來找球)isOpponentAtAngleEx(AngDegangA,AngDegangB,doubledDist);該函數(shù)用來判斷目前球員角度在angA~angB之間距離不不小于dDist的范圍內(nèi)是②.找到并打開WorldModel.c在里面填加一種新函數(shù)boolWorldModel::isOpponentAtAngleEx(AngDegangA,AngDegangB,doubledDist){VecPositionposAgent=getAgentGlobalPosition0;Vecfor(ObjectTo=iterateObjectStart(ilndex,OBJECT_SET_OPPONENTS);o!=OBJECT_ILo=iterateObjectNext(iIndex,OBJECT_SET_OPPONENTS)){posOpp=getGloba=(posOpp-posAgentposAgent.getDistanceTo(posOpp)<dDist)retur(VecPosition(52.5,0)-posAgent).getDirection();if(WM->isOpponentAtAngang+=45;elseif(WM->isOpponentAtAngleEx(ang,ang+45,6))anSoccerCommandsoc=dribble(ang,DRIBBLE_SLOWACT->putCommandInQueue(turnNeckToObject(OBJECT_BAL}然后編譯運行程序,觀測球員的行為,試分析球員的行為(6)根據(jù)以上描述完畢練習(xí):通過基本動作的組合實現(xiàn)球員的如下行為判斷守門員的位置,朝球門空隙較大的一方射門,(通過在WorldModel里建立新狀態(tài)來判斷,球門哪一方空隙較大,守門員的位置為VecPositionposGoalie=WM->getGlobalPosition(WM->getOppGoalieType();球門位置坐標(biāo)為(52.5,0),可嘗試朝(52.5,6.5)(52.5,-6.5)兩點射門)vec=WM->getGlobalPosition(WM->getOppGoalieType();if(vec.getYO>0){VecPositionpos=(52.2,-6.5);soc=kickTo(pos,SS->getBallSpeedMaxO);soc=kickTo(pos1,SS->getBallSpeedMaxO);}ACT->putCommandInQuACT->putCommandInQueue(turnNeckToObject(OBJECT_BAL在BasicPlay里填加一種帶球函數(shù),規(guī)定假如無人阻擋(帶球?qū)⒁ㄟ^的路線附近沒有對方球員)就朝球門方向帶球,否則想措施避開對方球員帶球前進(規(guī)定只要作出閃避的動作即可,不規(guī)定效果)。打開WorldModel.h,在里面預(yù)定義函數(shù),即寫入boolisOpponentAtAngleEx(AngDegangA,AngDegangB,double該函數(shù)用來判斷目前球員角度在angA~angB之間距離不不小于dDist的范圍內(nèi)是否有對方隊員。找到并打開WorldModel.c在里面添加一種新函數(shù):boolWorldModel::isOpponentAtAngleEx(AngDegangA,AngDegangB,doubledDist){VecPositionposAgent=getAgentGlobalPosition();VecPositionangOpp;intiIndex;for(ObjectTo=iterateObjectStart(ilndex,OBJECT_ILLEGAL;o=iterateObjectNext(iIndex,OBJECT_SET_OPPONENTS)){posOpp=getGlobalPosition(o);angOpp=(posOpp-posAgent).getDiif(angA<=angOpp&&angOpp<=angB&&posAgent.getDistanceTo(posOpp)<dDiiterateObjectDone(iIndex);returnfalse;在playerteams.cpp中添加elseif(WM->isBallKickable()intnum=WM->getNrInSetInCircle(OBJECT_SET_OPPONENTS,cir);(VecPosition(52.5,0)-posAgent).getDirection();if(WM->isOpponentAtAngleEx(ang-45,ang,6))ang+=45;elseif(WM->isOpponentAtAngleEx(ang,ang+45,6))ang-=45;SoccerCommandsoc=dribble(DRIBBLE_SLOW);}else{soc=driACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL,soc);}嘗試修改視覺函數(shù)使得球員能更多的獲得場上信息(規(guī)定不影響球員的動作)。先在Basicplayer.h中函數(shù)申明SoccerCommandview1122333提成1122333的視覺模式("1"代表60度,“2”代表120,“3”代表180)*/SoccerCommandBasicPlayer:://7-->共提成7份VecPositionposAgent=WM->getAgentGlobalPosition();AngDegWM->getAgentGlobalBodyAngle();AngDegangTurn=30;switch(WM->getCurrentCycle()%7){VecPosition::normalizeAngle(angBody+angTurn),POLAR)ACT->putCommandInQueue(turnNeckToPoint(posAgent+VecPosition(5,angBody,POLAR),soc));break;ACT->putCommandInQueue(SoccerCommand(CMD_CHANGEVIEW,VA_WIDE,VQ_HIGH);break;default:;}}再在playerTeams.cpp球可踢的條件下增長ACT->putCommandInQueue(view1122333(soc));試驗五特殊比賽模式的設(shè)計1.試驗?zāi)康恼莆誖obocup仿真機器人足球比賽中特殊比賽模式發(fā)生的條件;掌握Robocup仿真機器人足球比賽特殊比賽模式的規(guī)則規(guī)定;理解Robocup仿真機器人足球比賽特殊比賽模式的戰(zhàn)術(shù)設(shè)計思想;深入熟悉WorldModel類。2.試驗設(shè)備硬件環(huán)境:PC機軟件環(huán)境:操作系統(tǒng)Linux3.試驗內(nèi)容(1)概述Robocup仿真機器人足球比賽特殊比賽模式包括角球(corner_kick)、界外球(kick_in)、定位球/任意球(free_kick)以及球門球(goal_kick)。(2)角球(corner_kick)當(dāng)防守方球員將球踢出底線時,由攻打方開角球。Server一旦接受到發(fā)球隊員發(fā)出的kick命令后,就將比賽模式設(shè)為正常的play_on模式。注意,和國際足聯(lián)的規(guī)則類似,發(fā)球隊員在其他球員接觸球之前不能再觸球,否則判犯規(guī)。此時,另一方球員須在一定期間(根據(jù)Manual的規(guī)定為300周期)內(nèi)將球開出,否則算發(fā)球失誤,由對方發(fā)定位球。在UVA_trilearn的原代碼中,球員是不管這些特殊比賽模式的,統(tǒng)統(tǒng)是近來的球員跑向就需要我們手工編碼完畢這些細節(jié)地方。一種簡樸的設(shè)計思緒是:(1)假如比賽進入角球模式,則離球近來的球員A跑向球,而次近的球員B跑到某個接應(yīng)點,等待A將球傳過來;(2)A跑到球跟前(即進入可踢范圍)時,不必立即將球開出,可以先看看場上環(huán)境,等B跑到預(yù)定位置并且體力恢復(fù)得差不多時再開球。以上設(shè)計思緒同學(xué)們在試驗過程中只須完畢(1)即可,對于學(xué)有余力的同學(xué)可以考慮(2)的實現(xiàn)。下面列出幾種也許用到的函數(shù):PlayModeTWorldModel::getPlayMode()const返回比賽模式(或者直接用boolWorldModel:isCornerKickUsO判斷是不是我方開角球);ObjectTWorldModel:getClosestInSetTo(ObjectSetTobjectSet,ObjectTo,double*dDist=NULL,doubledConfThr=-1.0)返回在對象集合objectSet中距離對象o近來的對象,只有當(dāng)對象的可信度高于給定的閾值才被考慮,假如沒有給出閾值則使用PlayerSettings中定義double*dDist=NULL,doubledConfThr=-1.0)返回在對象集合objectSet中距離對象o次近的對象,只有當(dāng)對回距離。下面詳細描述一下實現(xiàn)過程:首先,我們懂得demeer5(重要是圍繞三句話展開的,即(1)假如球可踢,則用最大力量踢球;(2)假如球不可踢且我是隊友中最快到球的隊員,則去截球;(3)其他狀況按戰(zhàn)略點跑位。我們可以圍繞這三句話來實現(xiàn)角球方略。即在角球模式下(1)假如球可踢,則傳球給接應(yīng)球員;(2)假如球不可踢且我是隊友中最快到球的隊員,則去發(fā)球;(3)其他狀況下,假如我是離球次近的隊員,那么我去接應(yīng)。接著,有了這個基本思想后,我們開始編寫代碼。在demeer50中找到Elseif(WM->isBallKickable(){//ifkickable在里面加入我們的角球代碼:If(WM->isCornerKickUSO){ACT->putCommandInQueue(kickTo(pointToKickTo(),SS->getBallSpee}這一部分代碼是完畢開球動作。函數(shù)pointToKickToO是Player類的組員函數(shù),返回一種VecPosition類型Player::pointToKickToO{VecPositionpos,temp;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南充文化旅游職業(yè)學(xué)院《審計學(xué)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 眉山職業(yè)技術(shù)學(xué)院《地理信息科學(xué)專業(yè)英語》2023-2024學(xué)年第一學(xué)期期末試卷
- 洛陽文化旅游職業(yè)學(xué)院《建筑設(shè)計Ⅰ》2023-2024學(xué)年第一學(xué)期期末試卷
- 潞安職業(yè)技術(shù)學(xué)院《乒乓球?qū)m棥?023-2024學(xué)年第一學(xué)期期末試卷
- 瀘州醫(yī)療器械職業(yè)學(xué)院《汽輪機原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 隴東學(xué)院《化工原理課程設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 林州建筑職業(yè)技術(shù)學(xué)院《大學(xué)計算機基礎(chǔ)(人文類)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧師范高等??茖W(xué)?!都仪萆a(chǎn)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧生態(tài)工程職業(yè)學(xué)院《科學(xué)研究方法與素養(yǎng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧科技學(xué)院《環(huán)境物理污染與控制》2023-2024學(xué)年第一學(xué)期期末試卷
- 冬春季呼吸道傳染病防控
- 中介費合同范本(2025年)
- 《kdigo專家共識:補體系統(tǒng)在腎臟疾病的作用》解讀
- 生產(chǎn)調(diào)度員崗位面試題及答案(經(jīng)典版)
- 【物 理】2024-2025學(xué)年八年級上冊物理寒假作業(yè)人教版
- 交通運輸安全生產(chǎn)管理規(guī)范
- 電力行業(yè) 電力施工組織設(shè)計(施工方案)
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動合同
- 查對制度 課件
- 2024-2030年中國豬肉市場銷售規(guī)模及競爭前景預(yù)測報告~
評論
0/150
提交評論