水上機(jī)器魚5V5技術(shù)文檔_第1頁
水上機(jī)器魚5V5技術(shù)文檔_第2頁
水上機(jī)器魚5V5技術(shù)文檔_第3頁
水上機(jī)器魚5V5技術(shù)文檔_第4頁
水上機(jī)器魚5V5技術(shù)文檔_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、水上機(jī)器魚5V5技術(shù)文檔一、仿真環(huán)境仿真環(huán)境是仿真使命運(yùn)行所處的虛擬環(huán)境,其中包括仿真場地(模擬比賽或 實(shí)驗(yàn)用水池的對象)、零個(gè)或多個(gè)仿真水球(模擬比賽或?qū)嶒?yàn)用水球的對象)、零 個(gè)或多個(gè)仿真方形障礙物(模擬比賽或?qū)嶒?yàn)用方形障礙物的對象)、零個(gè)或多個(gè)仿真圓形障礙物(模擬比賽或?qū)嶒?yàn)用圓形障礙物的對象)。1. 仿真機(jī)器魚模擬比賽或?qū)嶒?yàn)用機(jī)器魚的對象。2. 仿真循環(huán)仿真使命運(yùn)行過程中所有仿真動(dòng)作順序執(zhí)行一遍的過程。3. 仿真周期理論上考慮為比單個(gè)仿真循環(huán)所耗時(shí)間(與運(yùn)行軟硬件環(huán)境有關(guān),不能精確 確定,在相同環(huán)境下,每次運(yùn)行也不精確相同)預(yù)估最大值稍大的確定時(shí)間間隔 (如100毫秒)。當(dāng)前平臺(tái)仿真循環(huán)在

2、推薦的軟硬件配置下所耗時(shí)間大約在 10-20毫秒之間,為簡化線程同步,在仿真使命的公共參數(shù)類中設(shè)置了一個(gè)成員 MsPerCycle,保存一個(gè)初始化仿真使命時(shí)傳入的整數(shù)值,稱為“每周期毫秒數(shù)”, 實(shí)際運(yùn)行時(shí)的仿真周期值不確定,為MsPerCycle值加上當(dāng)前周期仿真循環(huán)所耗時(shí)間,通常MsPerCycle都取100毫秒,仿真周期值大約在 110-120毫秒之間。 仿真使命倒計(jì)時(shí)以根據(jù) MsPerCycle計(jì)算出來的總周期數(shù)遞減的方式進(jìn)行,故界 面上顯示的倒計(jì)時(shí)牌并不是按精確的世界時(shí)間遞減。5. 仿真動(dòng)作包括將策略計(jì)算出來的決策命令拷貝到每支隊(duì)伍每條仿真機(jī)器魚對象本身 的決策字段(后續(xù)計(jì)算都是直接使

3、用仿真機(jī)器魚對象自身的決策命令)、對所有動(dòng)態(tài)對象(目前包括每支隊(duì)伍的所有仿真機(jī)器魚、仿真環(huán)境中仿真水球列 表的所有仿真水球)進(jìn)行運(yùn)動(dòng)學(xué)計(jì)算、對所有對象(包括每支隊(duì)伍的所有仿真機(jī) 器魚、仿真環(huán)境中所有對象)相互進(jìn)行碰撞處理(包括碰撞檢測和碰撞響應(yīng))。以仿真使命為中心,URWPGSim2D勺設(shè)計(jì)采用面向?qū)ο笏枷?。從對象建模的角?看,包括仿真機(jī)器魚、仿真環(huán)境和仿真使命(比賽或?qū)嶒?yàn)項(xiàng)目)三類模型,以仿 真使命模型為中心。仿真使命包括仿真機(jī)器魚隊(duì)伍列表和仿真環(huán)境。三類模型各包括一個(gè)頂層模型分別為仿真機(jī)器魚基類RoboFish、仿真環(huán)境基類 SimEnvironment和仿真使命基類 Mission。類

4、RoboFish定義了各種具體仿真使 命所需仿真機(jī)器魚的公共特性(用類的屬性表示)和公共行為(用類的方法表示)。 類SimEnvironment定義了各種具體仿真使命所需仿真環(huán)境的公共特性(仿真環(huán) 境不需要定義行為)。類Mission定義了各種具體仿真使命的公共特性和公共行 為。仿真機(jī)器魚和仿真環(huán)境的公共行為很少或不需要定義,而仿真使命的公共行為則 很多。故基類 RoboFish和SimEnvironment雖然從形式上實(shí)現(xiàn)了 IRoboFish和 ISimEnvironment接口,但這兩個(gè)接口沒有定義任何方法;而基類 Mission實(shí)現(xiàn) 了 IMission接口,該接口定義了諸多方法。部分

5、方法在基類Mission中提供具體 實(shí)現(xiàn),另一部分方法則在基類Mission中只提供虛函數(shù)實(shí)現(xiàn),由具體仿真使命類 提供重載(override)的具體實(shí)現(xiàn)。定義了一個(gè)泛型類TeamvTFish用于將仿真機(jī)器魚組成隊(duì)伍。該類有一個(gè)TFish類型的列表(ListTFish成員Fishes,保存一支隊(duì)伍的全部仿真機(jī)器魚對象; 有一個(gè)隊(duì)伍公共參數(shù)(TeamCommonPara)類型的成員Para,保存一支隊(duì)伍的 各項(xiàng)特性參數(shù)如隊(duì)伍名稱、仿真機(jī)器魚數(shù)量、當(dāng)前得分等。仿真環(huán)境包括仿真場地、仿真水球、仿真障礙物和仿真通道等元素。仿真環(huán)境基 類SimEnvironment有一個(gè)仿真場地 Field類型的成員Fi

6、eldlnfo,保存仿真場地 對象;有一個(gè)仿真水球 Ball類型的列表(List成員Balls。仿真使命基類Mission有一個(gè)仿真機(jī)器魚基類RoboFish組成的隊(duì)伍列表(ListTeam 成員 TeamsRef 有一個(gè)仿真環(huán)境基類 SimEnvironment 類型的成員EnvRef有一個(gè)仿真使命公共參數(shù) MissionCommonPara類型的成員 Commo nPa 具體仿真使命類(如 3VS3比賽項(xiàng)目的仿真使命類 Match3V3) 繼承基類 Mission,相應(yīng)的具體仿真機(jī)器魚類(如Fish3V3)繼承基類RoboFish , 具體仿真環(huán)境類(如Environment3V3 )繼承

7、基類SimEnvironment。以仿真循環(huán)為主線 仿真使命啟動(dòng)運(yùn)行后,仿真循環(huán)將周期性地持續(xù)進(jìn)行,直到 設(shè)定的仿真時(shí)間耗完、人為決定暫停/停止。仿真循環(huán)將所有仿真動(dòng)作執(zhí)行一遍,包括如下步驟。:1. 分配決策值 SetDecisionsToFishes2. 對仿真機(jī)器魚運(yùn)動(dòng)學(xué)參數(shù)進(jìn)行計(jì)算ProcessFishLocomotion。3. 對仿真水球運(yùn)動(dòng)學(xué)參數(shù)進(jìn)行計(jì)算ProcessBallLocomotion。4. 處理場上所有對象間的碰撞包括檢測和響應(yīng)碰撞ProcessCollision。5. 處理當(dāng)前仿真使命特有的規(guī)則如比賽犯規(guī)計(jì)分等ProcessCo ntrolRules6. 處理策略調(diào)用,

8、區(qū)分本地調(diào)用和遠(yuǎn)程調(diào)用。7. 處理界面動(dòng)態(tài)數(shù)據(jù)更新。二、策略編寫1. 策略是什么內(nèi)容上看,策略是用于控制參與當(dāng)前仿真使命的仿真機(jī)器魚完成任務(wù)的算法代碼。 形式上看,策略是可在服務(wù)端和客戶端加載的dll文件。2. 策略調(diào)用方式I 本地模式服務(wù)端 URWPGSim2DServe界面上“ Referee Strategy選擇“ Loca”。本地模式 下,仿真使命所有參與隊(duì)伍的策略都在服務(wù)端加載,和URWPGSim2DServer.ex運(yùn)行于同一進(jìn)程空間,由于仿真循環(huán)也運(yùn)行在 URWPGSim2DServer.ex進(jìn)程空間中, 所有策略和仿真循環(huán)運(yùn)行于同一進(jìn)程空間。于是所有隊(duì)伍的所有仿真機(jī)器魚控制指令

9、及仿真循環(huán)運(yùn)行指令均來自同一進(jìn)程,因此本地模式是集中式仿真模式。II.服務(wù)器模式服務(wù)端 URWPGSim2DServe界面上“ Referee?Strategy” 選擇“ Remote”。遠(yuǎn)程模 式下,必須啟動(dòng)當(dāng)前仿真使命參與隊(duì)伍數(shù)量同樣多的URWPGSim2DClie nt.exet程,用于加載各支隊(duì)伍的策略。這些進(jìn)程可以與服務(wù)端進(jìn)程處于同一臺(tái)電腦,也可以分別位于不同電腦,只要這些電腦處于同一局域網(wǎng)(理論上可以運(yùn)行于廣域 網(wǎng)上,尚未測試)內(nèi)。每支隊(duì)伍的策略,和加載它的URWPGSim2DClie nt.exet程運(yùn)行于同一進(jìn)程空間。于是每支隊(duì)伍的所有仿真機(jī)器魚控制指令獨(dú)立于仿真循 環(huán)運(yùn)行指令

10、,各支隊(duì)伍的仿真機(jī)器魚控制指令也互相獨(dú)立,但隊(duì)伍內(nèi)部各仿真機(jī) 器魚的控制指令則來自同一進(jìn)程。因此遠(yuǎn)程模式是半分布式仿真模式。若 URWPGSim2DCIient.exe進(jìn)程與 URWPGSim2DServer.ex進(jìn)程處于不同電腦, 則 運(yùn) 行URWPGSim2DCIie nt.exe進(jìn) 程 電 腦 上的./URWPGSim2D/bin/Sim2DCIt.manifest.xml 文件中的 http: localhost :50000/Sim2DSvr配置節(jié),localhost 需要修改 成URWPGSim2DServer.ex進(jìn)程所在電腦的IP或主機(jī)名。3. 異步調(diào)用 無論是本地模式還是遠(yuǎn)程

11、模式,都是采用異步方式。I. 本地模式,進(jìn)程通過為每支隊(duì)伍啟動(dòng)一個(gè) Arbiter.Receive,異步調(diào)度CCR 線程池里的線程來為每支隊(duì)伍分別執(zhí)行GetLocalDecision運(yùn)行決策算法獲得決 策值。GetLocalDecision與仿真循環(huán)是異步關(guān)系,執(zhí)行結(jié)果是將獲得的決策數(shù)組 填充在一片公共空間Decisi on Ref中,而仿真循環(huán)則通過SetDecisio nsToFishes方 法從DecisionRef將最近獲得的決策值分配給相應(yīng)隊(duì)伍的仿真機(jī)器魚。對于2支 及2支以上隊(duì)伍參與的仿真使命,每個(gè)仿真周期各支隊(duì)伍的GetLocalDecision執(zhí) 行順序并不確定。II. 遠(yuǎn)程模

12、式,涉及比較復(fù)雜的CCR和DSS通信過程,調(diào)用入口代碼在Sim2DSvrService.NextStepProcessDeta方法中,服務(wù)端 URWPGSim2DServer.exe 進(jìn)程通過 SpawnIterator 異步調(diào)度 Sim2DSvrService.MissionParaNotification 方法 執(zhí)行,向所有客戶端通知當(dāng)前仿真使命的Mission對象值(全部仿真環(huán)境和過程信息均在此對象中)。客戶端URWPGSim2DClient.ex進(jìn)程的Sim2DCltServicel艮務(wù) 實(shí)例收至U MissionParaNotification 后,通過 Spawnlterator

13、異步調(diào)度 Sim2DCItService.A nn ou nceDecisio nToServer方法執(zhí)行,獲取決策數(shù)組以 ClientAnnounceDecision類型的消息發(fā)送給服務(wù)端。服務(wù)端 URWPGSim2DServer.exe 進(jìn)程的 Sim2DSvrService 服務(wù)實(shí)例收至U Clie ntA nnoun ceDecision后,CCR調(diào)度器異步調(diào)度線程池里的線程來執(zhí)行 ClientAnnounceDecisionHandie,將收到的決策數(shù)組填充到公共空間DecisionRef中,供仿真循環(huán)通過 SetDecisio nsToFishes分配給相應(yīng)隊(duì)伍的仿真機(jī)器魚。前述

14、過程還不包括客戶端啟動(dòng)時(shí),主動(dòng)連接服務(wù)端,請求和服務(wù)端建立 三、說明1. 類Strategy的實(shí)例在加載完畢后一直存在于內(nèi)存中,除非仿真使命運(yùn)行過 程中更換策略,因此,可以自定義私有成員變量保存必要信息。2. GetTeamName接口用于設(shè)置隊(duì)伍名稱。將其中的“ 3VS3 Test Team”(不含 引號)替換成隊(duì)伍名稱即可。3. GetDecision接口用于生成Strategy對象對應(yīng)的隊(duì)伍里所有仿真機(jī)器魚的決策數(shù)據(jù)。決策過程較復(fù)雜的情況下,建議將各種子過程封裝成Strategy類的Private方法,由GetDecision或子過程調(diào)用。由于 Strategy 類引用了 URWPGSi

15、m2D.Common.d、URWPGSim2D.StrategyLoader 這兩個(gè)組件,它們均具有強(qiáng)名稱(使用 URWPGSim2D%URWPGSim2D.sr進(jìn)行 了簽名,強(qiáng)名稱相關(guān)介紹詳見 MSDN),因此URWPGSim2E主程序(包括前述兩 個(gè)組件)版本號更新后,策略dll文件,必須對相應(yīng)的Strategy類重新添加引用, 重新生成,才能正常加載。四、策略數(shù)據(jù)1. 策略編寫工作直接目標(biāo)是給當(dāng)前隊(duì)伍決策數(shù)組decisi ons各元素填充決策值,即給Strategy類當(dāng)前對象對應(yīng)的仿真使命參與隊(duì)伍各仿真機(jī)器魚生成控制指 令,仿真機(jī)器魚的控制指令是一個(gè) Decision類型的值。2. 決策

16、數(shù)據(jù)類型Decision包括兩個(gè)int成員,VCode為速度檔位值,TCode為 轉(zhuǎn)彎檔位值。3. VCode取值范圍0-14共15個(gè)整數(shù)值,每個(gè)整數(shù)對應(yīng)一個(gè)速度值,速度值 整體但非嚴(yán)格遞增。有個(gè)別檔位值對應(yīng)的速度值低于比它小的檔位值對應(yīng)的速度 值,速度值數(shù)據(jù)來源于實(shí)驗(yàn)。4. TCode取值范圍0-14共15個(gè)整數(shù)值,每個(gè)整數(shù)對應(yīng)一個(gè)角速度值。整數(shù) 7對應(yīng)直游,角速度值為0,整數(shù)6-0,8-14分別對應(yīng)左轉(zhuǎn)和右轉(zhuǎn),偏離7越遠(yuǎn), 角速度值越大。5. 任意兩個(gè)速度/轉(zhuǎn)彎檔位之間切換,都需要若干個(gè)仿真周期,才能達(dá)到穩(wěn) 態(tài)速度/角速度值。目前運(yùn)動(dòng)學(xué)計(jì)算過程決定穩(wěn)態(tài)速度/角速度值接近但小于目 標(biāo)檔位對應(yīng)

17、的速度/角速度值。6. 禁止使用原地打轉(zhuǎn)功能,即不能讓仿真機(jī)器魚速度為 0而角速度不為0 ;平臺(tái)做了限制,速度值低于 1檔的穩(wěn)態(tài)速度時(shí),角速度被強(qiáng)制置0;所以不要試圖把速度降到0,然后只給角速度進(jìn)行轉(zhuǎn)彎,這樣做的結(jié)果是仿真機(jī)器魚會(huì) 原地不動(dòng)。7. 場地坐標(biāo)系及點(diǎn)和向量定義。以矩形場地中心為坐標(biāo)原點(diǎn),正右為正X軸, 正下為正Z軸;從正X到負(fù)X軸,順時(shí)針為0n,逆時(shí)針為0-n??紤]與 MRDS中的三維坐標(biāo)系一致,水平面用XOZ表示,Y軸作為第三維。程序中涉及 向量和點(diǎn)的定義,都使用XNA庫中的Vector3類型,用到其中的X和Z維,丫維 均置為0。二維點(diǎn)和向量與三位點(diǎn)和向量之間的轉(zhuǎn)換,二維的 X與

18、三維的X對 應(yīng),二維的Y與三維的Z對應(yīng)。8. 對抗性仿真使命的策略,一定要判斷己方所處半場,根據(jù)所處半場確定目 標(biāo)球門。根據(jù)目標(biāo)球門設(shè)計(jì)仿真機(jī)器魚的行為及相關(guān)決策算法。9. GetDecision接口的int類型的參數(shù)teamId,表示當(dāng)前 Strategy對象對應(yīng)的隊(duì)伍在服務(wù)端運(yùn)行著的仿真使命所有參與隊(duì)伍中的編號(從0開始)。teamId的初始值,Local模式時(shí),由策略加載順序確定;Remote模式時(shí),由客戶端啟動(dòng) 順序確定。2支隊(duì)伍參與的對抗性仿真使命,交換半場后,teamId由服務(wù)端或 客戶端策略調(diào)用入口處相應(yīng)半場處理代碼進(jìn)行值的交換,傳到GetDecision的teamId已經(jīng)正確代

19、表當(dāng)前時(shí)刻當(dāng)前 Strategy對象對應(yīng)的隊(duì)伍編號。10. GetDecision接口的Mission類型的參數(shù) mission,包含服務(wù)端當(dāng)前運(yùn)行著的仿真使命公開給策略使用的全部信息。mission.TeamsRefteamld指向當(dāng)前Strategy對象對應(yīng)的仿真使命參與隊(duì)伍 TeamvRoboFish對象,通過它可以訪問到 己方隊(duì)伍及其全部仿真機(jī)器魚的所有公開信息。當(dāng)前運(yùn)行著的仿真使命為2支隊(duì)伍參與的對抗性項(xiàng)目時(shí),missio n.TeamsRef(1+ teamId) % 2指向?qū)Ψ疥?duì)伍的TeamvRoboFish對象,通過它可以訪問到對方隊(duì)伍及其全部仿真機(jī)器魚的所有公開信息。11.

20、表4-1是策略中可以使用的全部參數(shù),所有成員的引用,均以mission.開頭,女口 missi on. Com mon Para.TeamCou;其中 “ Common Para.* 類的成員表示 隨后若干右對齊的成員名稱,是以Commo nPara.*的形式存在的,如 CommonPara.MsPerCycle,其完整 引用為 mission.CommonPara.MsPerCycle Missi on Com mon Para、Team TeamCom mon Para、RoboFish、Field、 RetangularObstacle、RoundedObstacle等類型還有其他成員,

21、不向策略公開,那 是只與服務(wù)端處理有關(guān)的變量,不要試圖使用它們,因?yàn)榉?wù)端向客戶端或本地 策略傳遞Mission類型參數(shù)的過程包含一個(gè)序列化和反序列化的過程,這些不向 策略公開的參數(shù),相應(yīng)的成員沒有序列化和反序列化代碼支持。12. 具體仿真使命特有的參數(shù)(如水球3VS3等對抗性項(xiàng)目中指示當(dāng)前比賽階段 值的標(biāo)志量 CompetitionPeriod)可以通過 HtMissionVariables鍵名得到,然 后可通過Convert.To*轉(zhuǎn)換成其值的原始數(shù)據(jù)類型使用。如水球3VS3項(xiàng)目的當(dāng)前比賽階段值通過如下方式獲得:int matchPeriod = Convert.Tolnt32(missi

22、on.HtMissio nV ariablesCompetitio nPeriod);。每個(gè)具體仿真使命需要傳遞給策略的特有參數(shù)由仿真使命設(shè)計(jì)人員確定,并在仿真使命規(guī)則文檔中描述其意義和用法。五、調(diào)試策略1. 策略可以先在Local模式下粗調(diào),邏輯基本正確了,再到 Remote模式下進(jìn) 行適應(yīng)性測試和參數(shù)修正。比賽策略一定要在 Remote模式下進(jìn)行過測試;對抗 性比賽策略一定要測試過半場交換后的行為是否與預(yù)期一致。2. 由于一個(gè)Solution只可以設(shè)置一個(gè)啟動(dòng)項(xiàng)目,而一個(gè) Solution里可能有若 干個(gè)策略Project ,所以調(diào)試時(shí),一般可以在需要調(diào)試的策略 Project名稱上點(diǎn) 右

23、鍵,選擇“調(diào)試”,“啟動(dòng)新實(shí)例”。3. 調(diào)試2支及以上隊(duì)伍參與的仿真使命策略時(shí),一定要事先生成一個(gè)或多個(gè) 備用策略(最簡單的即可),被調(diào)試的策略,只能作為一支隊(duì)伍的策略加載一次, 否則在策略代碼中下的斷點(diǎn),每個(gè)周期都會(huì)中斷多次,不利于跟蹤。六、系統(tǒng)標(biāo)準(zhǔn)函數(shù)數(shù)位于 URWPGSim2D.StrategyHelpe命名空間(URWPGSim2D.StrategyHelper.dll 下的Helpers類(靜態(tài)類)中。(詳細(xì)參見技術(shù)人員手冊)1. PoseToPose函 數(shù)也稱作位姿到位姿控制函數(shù),其作用是實(shí)現(xiàn)仿真機(jī)器魚從當(dāng)前位姿到目標(biāo)位 姿的精確控制。位姿到位姿的控制分為兩個(gè)階段: 第一階段,控制

24、仿真機(jī)器魚快 速游動(dòng)到臨時(shí)目標(biāo)點(diǎn);第二階段,控制仿真機(jī)器魚游動(dòng)至目標(biāo)點(diǎn)。其中,臨時(shí)目 標(biāo)點(diǎn)為最終目標(biāo)位姿反向延長線上的某一點(diǎn),其距離閾值可以調(diào)節(jié)。2. Dribble 函數(shù)也稱作帶球函數(shù),其作用是實(shí)現(xiàn)仿真機(jī)器魚的帶球控制。 在某些比賽項(xiàng)目中, 若想控制仿真機(jī)器魚帶球,則可調(diào)用此函數(shù)。在策略代碼Strategy類的成員函數(shù)(方法)中調(diào)用Dribble。使用推薦參數(shù)的調(diào)用代碼如下,可根據(jù)實(shí)際調(diào)試情況進(jìn)行調(diào)整。附錄一:策略中可以使用的參數(shù)表成員躬稱類型總文CcmnwnPaiaM i ssionComtTiDii Pain寺前仿氏桂布處共參敦1 omninnPra.*risliCiitrcrTcajn

25、ini毎支仏伍仿真機(jī)器負(fù)數(shù)量MsPctCyclejnt蔭克關(guān)陰奄秒數(shù)Remai n in 區(qū) Tycl esmt當(dāng)1前駅余仿真周軌數(shù)TcdinCiiuniml當(dāng)冊仿戲便金藝與認(rèn)伍哉量TtXMSemnfkinr肖肺仿直使血運(yùn)行時(shí)間秒敵TcaiiisRciListTram當(dāng)前仿真使命的全部怕苴氷球列義Mpi隔1】當(dāng)賭仿真便命第i個(gè)仞真木球剎象UbstLKlcsbtCctLikl RrunularObiUl k、當(dāng)前仿曲便命的部陸it方形障礙輛州表OHtac lc呂血訓(xùn)i Rctangul a rf )bstac 1 c幷前仿貞便命第i個(gè)仿真ZT蛇障礙物對線)b 聯(lián)超 cleRiDurbdL.ist-Rn undcdC )bs lac le豈前仿氏便命的全部苗咒圖形障礙物列農(nóng)仃 bAtaclesRctundi)RLiintEeiiOhslLidc為柯仿克便命朗i個(gè)倩亞冏形障礙物對喩EnvRefHddlnfn.Ficldl.ciigthXMmint當(dāng)前衍戌揚(yáng)地x方向也度Field LeugthZMmin

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論