計算機控制小車走迷宮_第1頁
計算機控制小車走迷宮_第2頁
計算機控制小車走迷宮_第3頁
計算機控制小車走迷宮_第4頁
計算機控制小車走迷宮_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機控制小車走迷宮項目介紹本項目采用ATMEL公司的AT89S52芯片為核心設(shè)計,實現(xiàn)小車在計算機控制下走出迷宮的功能。實驗設(shè)備包括實驗用小車一臺和惠普筆記本電腦一臺,外帶攝像頭,利用攝像頭采集迷宮和小車圖像,在計算機端計算出路線,實時判斷小車位置并通過串口發(fā)送指令控制小車動作,使之在最短的時間內(nèi)離開迷宮 歷史進度 分組確定,KC3-M25成立 上交1-9周進度報告 上交中期檢查PPT,并領(lǐng)取小車 中期已完成項目: A.迷宮制作 B.圖像處理 C.路徑生成 領(lǐng)取小車,開始進實驗室進行調(diào)試。 我組本學(xué)期科創(chuàng)3完成檢測。詳見 視頻 (點擊播放) 上交8-14周進度報告完成情況&自我評價小

2、組成員與分工 組長:陳云路班級:F0703013學(xué)號:50703094專業(yè):計算機科學(xué)與技術(shù)主要工作:OpenCV迷宮圖像及小車位置采取;迷宮路徑算法生成;單片機編程;計算機控制小車按指定路線行走; ppt內(nèi)容編寫;網(wǎng)頁內(nèi)容編寫;小車綜合調(diào)試;小車模型制作 組員:李德元班級:F0703013學(xué)號:50703094專業(yè):自動化主要工作:OpenCV迷宮圖像及小車位置采取計算機控制小車按指定路線行走單片機編程網(wǎng)頁內(nèi)容編寫小車綜合調(diào)試小車模型制作組員:張欣剛 班級:F0703013學(xué)號:50703094專業(yè):計算機科學(xué)與技術(shù)主要工作:OpenCV迷宮圖像及小車位置采取p

3、pt美化制作網(wǎng)站框架美化制作網(wǎng)頁內(nèi)容編寫小車綜合調(diào)試小車模型制作硬件介紹硬件材料          89S52單片機控制的小車、RS232有線收發(fā)模塊、USB轉(zhuǎn)RS232串口線、計算機、攝像頭硬件介紹   (a)小車        小車分為三個部分,主板部份、車體部份和控制芯片部份。        主板部分負責(zé)接受8V直流電源,并向小車的

4、電機提供電壓,向電路板上的芯片提供工作電壓。        車體部份主要為上層芯片和整體提供支撐,它的電機為小車提供動力前進。        控制芯片部份負責(zé)識別并處理收到的信號,并輸出控制信號,控制小車電機的運轉(zhuǎn)    (b)信號收發(fā)模塊        信號收發(fā)模塊分為收發(fā)兩部分,即發(fā)送部分與串口連接,接受串行通訊標準的TTL高低電平,將其調(diào)制后發(fā)送出去。

5、        接受部份將發(fā)出的信號轉(zhuǎn)化成標準串行通訊信號發(fā)送給小車。小車收到信號后返回一個值發(fā)送到PC端。    (c)USB轉(zhuǎn)RS232線        此串口線將增加電腦一個COM口,根據(jù)電腦的不同,初始被賦予的COM口地址也不同,可以在設(shè)備管理器中對端口地址進行修改。        對于電腦與小車進行串行通信來說該線是透明的。其USB端接電腦,TxD

6、接無線發(fā)送模塊的數(shù)據(jù)端,Vcc與發(fā)送模塊Vcc相連,GND與發(fā)送模塊GND連接。    (d)電腦及攝像頭        使用電腦為DELL  STUDIO XPS 16,電腦自帶攝像頭。    (e)控制芯片        本次實驗主要用到兩塊控制芯片,一塊是CMOS8位微控制器,其主要功能是: (1)兼容MCS-51指令系統(tǒng) (2)8k可反復(fù)擦寫(>1000

7、次)ISP FLASH ROM (3)1000次擦寫周期 (4) 32個雙向I/O口 (5)工作電壓 (6) 3個16位可編程定時/計數(shù)器 (7)時鐘頻率0-33MHz (8)全雙工UART串行中斷口 (9) 128x8bit內(nèi)部RAM (10) 低功耗空閑和省電模式 (11) 中斷喚醒省電模式 (12)3級加密位 (13)看門狗(WDT)電路 (14)軟件設(shè)置空閑和省電功能 (15)靈活的ISP字節(jié)和分頁編程 (16)雙數(shù)據(jù)寄存器指針 

8、0;      AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。   AT89S52使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,AT89S52擁有靈巧的8 位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:      

9、;  8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。 其PDIP圖如下:    硬件原理圖如下: 另一塊芯片是L298N,用它來控制兩個電機,和它的管腳圖。硬件原

10、理圖如下:硬件調(diào)試開始做科創(chuàng)三的時候,以為任務(wù)僅僅是寫代碼,不會涉及硬件的問題,但這樣想就大大錯了。硬件恰恰又是課程中比較麻煩,需要不斷調(diào)整的環(huán)節(jié)?;撕芫脧囊欢研≤嚨氖w中翻到一個還算完整的,拿回去仔仔細細對照了一遍電路圖,發(fā)現(xiàn)除了無線部分和USB連線以及電源連線之外其他元件沒有缺失。因為我們是用USB線控制的,所以不再考慮無線部分,將殘缺的部分都焊接好后,載入調(diào)試程序,發(fā)現(xiàn)右驅(qū)動輪總是有異常情況發(fā)生,常常在給出信號后不轉(zhuǎn)動,檢查電路后發(fā)現(xiàn)是電機驅(qū)動芯片與電路板接觸不良,將其重新焊好后,問題得到解決。在檢查電路板時發(fā)現(xiàn)焊接的焊點不好,有些地方很容易短路,尤其是51的焊接處,而且我們的加長US

11、B線等地也容易出現(xiàn)短路。為此,我們將不好的焊點重新焊過,將易短路的導(dǎo)線用透明膠包裹。經(jīng)過以上的修整后,小車基本上每次都可以正常運行了。還有就是接線問題,由于我們領(lǐng)到的小車上USB線非常的短,所以我們決定將USB線一剪為二,當中自己拿了兩條導(dǎo)線把兩頭接了起來,而另外兩條5V線被我們屏蔽了。這樣變引起了我們多次小車不能接受命令的問題,因為兩頭的USB線雖然外表看起來是用透明膠粘了起來,但事實上里面的電線未有連接起來。所以我們的USB線拆了又焊,好幾次。所以我們最后也就死死地把兩頭導(dǎo)線給焊上了。還有值得一提的是,就是小車的電源線很短,我們用了很多導(dǎo)線拼拼湊湊了起來才勉強能夠?qū)㈦娫磦鬏斶^去。在此,我也

12、很想謝謝,實驗室的兩位助教給與我們的支持,又是幫我們找導(dǎo)線,又是幫我們找電源。實在是太感謝助教了,謝謝。輪子問題其實我們已經(jīng)提了不要再提了,輪子打滑是個非常嚴重,非常實際,也是非常難處理和克服的不是問題的問題??偟膩碚f,我們不光在前輪粘上了一圈透明膠減小摩擦力,還在后輪上貼了雙面膠,加大摩擦力??赡苓€達不到最滿意的效果,但是在我們的試驗下,小車還是能夠盡量不打滑地“動起來”。軟件介紹1.迷宮圖像采取調(diào)用cvCaptureFromCAM(0)函數(shù)打開攝像頭,然后調(diào)用cvSetCaptureProperty函數(shù)修改攝像頭相關(guān)參數(shù),如幀數(shù)之類。然后進行窗口初始化,定義窗口名稱和大小,并使窗口顯示攝像

13、頭采集的實時圖像。等待鼠標事件,采點4個,并做了防抖處理,即:過于相鄰的點忽略。想讓采得的4點變換成預(yù)設(shè)圖的頂點,須由cvWarpPerspectiveQMatrix函數(shù)獲取變換矩陣,再將變換矩陣代入cvWarpPerspective函數(shù)的參數(shù),得到迷宮俯視圖。新建窗口,初始化,并在其中顯示迷宮俯視圖。接著鼠標事件采兩點分別是起點和終點,然后是迷宮二值化操作。先用cvSmooth函數(shù)平滑處理圖像,運用cvCvtColor和cvThreshold函數(shù)即可實現(xiàn)二值化。最后將黑白迷宮圖顯示出來,并且還生成一張比例縮小后的黑白迷宮圖,便于后面數(shù)據(jù)處理。2.迷宮路徑生成 獲得二值化數(shù)組,即用01表示出整

14、幅迷宮的情況。由于只是比列的縮小采取得到的迷宮,非常不完整,有時候還不得不考慮到燈光的因素。所以我們采取了一種算法來修迷宮。然后通過已經(jīng)大致修好的迷宮生成路徑存到數(shù)組path中最后按照正確的路徑(數(shù)組Right),計算得出關(guān)鍵點(數(shù)組KeyPoint),即需要打彎的點.3.小車圖像采取新開窗口,初始化,并實時采集小車和迷宮圖像,通過鼠標事件圈出小車,通過直方圖計算得小車顏色參數(shù),來識別小車,并運用cvCamShift函數(shù)實現(xiàn)小車的實時跟蹤,由cvEllipseBox作橢圓形來直觀的鎖定小車目標。4.控制小車按指定路線行走利用狀態(tài)轉(zhuǎn)移樹的思想,每取一次小車的位置,便更新當前的狀態(tài),按照狀態(tài)的比對

15、向單片機發(fā)出指令。程序如下:if (KeyPoint_i = G) break; if(Car_x = 0 && Car_y = 0) aaa = "5" send(aaa); else cout << "DeGe GG-State: " << State << " DesDirction:" << DestDirction << " Dirction:" << Dirction << " KeyPoint

16、:" << KeyPoint_i<< endl; switch (State) case 0: if( (Dirction = 0 && abs(Car_x - KeyPointKeyPoint_i+10) <= 6 && Car_y - KeyPointKeyPoint_i+11 <= -1 ) | (Dirction = 2 && abs(Car_x - KeyPointKeyPoint_i+10) <= 6 && Car_y - KeyPointKeyPoint_i+11

17、>= 1 ) | (Dirction = 1 && Car_x - KeyPointKeyPoint_i+10 >= 0 && abs(Car_y - KeyPointKeyPoint_i+11) <= 6 ) | (Dirction = 3 && Car_x - KeyPointKeyPoint_i+10 <= 0 && abs(Car_y - KeyPointKeyPoint_i+11) <= 6 ) ) aaa = "5" send(aaa); if(KeyPoint_i=G

18、-1) exit(0); if(KeyPointKeyPoint_i+10-KeyPointKeyPoint_i+20 = 0 && KeyPointKeyPoint_i+11-KeyPointKeyPoint_i+21 > 0)DestDirction = 0; if(KeyPointKeyPoint_i+10-KeyPointKeyPoint_i+20 = 0 && KeyPointKeyPoint_i+11-KeyPointKeyPoint_i+21 < 0) DestDirction = 2; if(KeyPointKeyPoint_i+10

19、-KeyPointKeyPoint_i+20 > 0 && KeyPointKeyPoint_i+11-KeyPointKeyPoint_i+21 = 0)DestDirction = 3; if(KeyPointKeyPoint_i+10-KeyPointKeyPoint_i+20 < 0 && KeyPointKeyPoint_i+11-KeyPointKeyPoint_i+21 = 0) DestDirction = 1; if(DestDirction = Dirction) aaa = "3" send(aaa); co

20、ut << "!STATE: " << State << " " << "Send: 3n" else State = 1; else aaa = "3" send(aaa); cout << "!STATE: " << State << " " << "Send: 3n" break; case 1: dataT = "6" switch

21、(Dirction) case 0: if (DestDirction = 1) dataT = "2" Dirction = 1; if (DestDirction = 2) dataT = "2" Dirction = 1; if (DestDirction = 3) dataT = "4" Dirction = 3; break; case 1: if (DestDirction = 2) dataT = "2" Dirction = 2; if (DestDirction = 3) dataT = &quo

22、t;2" Dirction = 2; if (DestDirction = 0) dataT = "4" Dirction = 0; break; case 2: if (DestDirction = 3) dataT = "2" Dirction = 3; if (DestDirction = 0) dataT = "2" Dirction = 3; if (DestDirction = 1) dataT = "4" Dirction = 1; break; case 3: if (DestDircti

23、on = 0) dataT = "2" Dirction = 0; if (DestDirction = 1) dataT = "2" Dirction = 0; if (DestDirction = 2) dataT = "4" Dirction = 2; break; default: break; if (dataT0) != '6') angle_start = abs(track_box.angle); aaa = dataT; send(aaa); cout << "!STATE: &

24、quot; << State << " " << "Send: " << *dataT << "n" State = 2; else State = 0; break; case 2: if (abs(angle_start)>=55 && abs(track_box.angle)<=6) | (abs(angle_start)<=35 && abs(track_box.angle)>=77) aaa = "5

25、" send(aaa); cout << "!STATE: " << State << " " << "Send: 5n" if (Dirction = DestDirction) State = 0; KeyPoint_i+; else State = 1; else send(aaa); cout << "!STATE: " << State << " " << "Send:

26、" << *aaa << "n" break; default: break; 系統(tǒng)使用說明書一. 系統(tǒng)要求      系統(tǒng)內(nèi)需要VC的運行庫,OpenCV庫。并且還需要一個攝像頭。 硬件上小車有線收發(fā)與機械控制應(yīng)完好。二 .準備工作      小車接8V電源。USB攝像頭與串口通訊線也應(yīng)接好。攝像頭在迷宮上方,俯角60度左右,能拍攝到整個迷宮。三 .使用過程1. 啟動程序,在出來的動態(tài)圖像中用鼠標將迷宮的四個角點出,順序必須是逆時

27、針或者順時針。完成后回車。2. 在新出來的窗口中先點出小車起點位置,在點出終點位置。完成后回車。(此時迷宮上不能有其他物品)3.檢查新彈出的窗口,迷宮二值化是否有問題,沒有則回車4.彈出新窗口后,將小車放置在之前確定的起點處,然后用鼠標拖出一個矩形區(qū)域?qū)⑿≤嚳蛑小?.小車將自動走出迷宮后停止。系統(tǒng)的不足及改進不足:小車在迷宮上易打滑,導(dǎo)致難以控制,并偏離方向。改進:車輪上黏上雙面膠,增加小車與迷宮的摩擦;降低小車的移動速度;在程序中把判斷是否到達的關(guān)鍵節(jié)點的范圍以及轉(zhuǎn)彎達到后的角度范圍調(diào)整的大些。不足:二值化的迷宮邊緣不齊,有些迷宮的墻二值化出來會有斷點,影響路徑生成。改進:加上迷宮修正程序,

28、將迷宮二值化中的小斷點補上,詳細方法請參見程序部分。不足:測試小車時發(fā)現(xiàn)運行不理想,不能按照預(yù)定方式運動。改進:參照小車電路圖,檢查小車元件,并將可能有問題的元件重新焊接后,問題解決。心得體會科創(chuàng)3實驗中,我很榮幸成為了M25的組長,這無論是從人際交流方面還是技術(shù)方面,都是對于我個人能力的鍛煉和考驗。在科創(chuàng)3實驗的過程中,網(wǎng)上,圖書館,活動室,實驗室和辦公室都沒少跑,雖然說勞累的奔波給了我們一種痛苦的感覺,但是我們知道了很多以前不知道的東西,學(xué)會了如何去調(diào)試、如何去網(wǎng)上搜索相關(guān)的知識??苿?chuàng)為我們帶來的不僅僅是知識上的升華,更是自主學(xué)習(xí)能力的一種磨練,一種自我完善和進步的過程。想想剛剛選擇科創(chuàng)3

29、實驗的時候,我就聽同學(xué)說:科創(chuàng)三很難啊,沒有幾個小組能夠成功走出迷宮的。心里雖然有些后怕,但是一咬牙,就挺了下來,管他三七二十一,先自己做起來看看。于是,我懷著這樣一種挑戰(zhàn)自我的心情,開始了科三的征程。很快就找到了我們班的其他兩位同學(xué),一起組成了M25。在學(xué)期初,我們就抓緊點滴時間,很快就通過各種渠道完成了迷宮圖像的采取。正當我們開始慶幸的時候,我們發(fā)現(xiàn),事情一下子開始變了多了起來。從作業(yè)考試到志愿者,一件件事情都如潮水般涌來。就這樣我們以緩慢的進度拖到了期中檢查。雖然說是完成了老師布置得任務(wù),但是其中還是留下了不少的BUG。接下來過了期中檢查之后,我們幾個一橫心,決定不要再拖著了,我們就下定

30、決心猛攻了一個星期。那段時間現(xiàn)在還記得清清楚楚,幾乎是沒日沒夜,廢寢忘食的去調(diào)試和編寫程序。雖然說我翹了幾節(jié)課,但是終于在我們不斷的嘗試下,完成了很多預(yù)計的目標,這樣就只差最后的環(huán)節(jié)了實際調(diào)試??此坪唵蔚恼{(diào)試,卻讓我們幾乎崩潰。很顯然,頭幾天,小車一點都不理會我們發(fā)出的信號。直到某一個下午,小車神奇般地自己走了起來,才讓我們舒了一口大氣。我們乘勝追擊,不久小車便能夠按照我們給定的路線進行行走,期間的硬件調(diào)試就不在詳說了,那崩潰的程度已經(jīng)不能用文字來形容了。擺在我們面前唯一的問題已經(jīng)很明顯了,那就是小車的輪子打滑。在這我也只是想建議一下張老師,小車的輪子可以換的好一點。如此小的摩擦力會使小車很容

31、易就打滑,我們?yōu)榇藛栴}的研究不知道浪費了多少時間,我們不斷地嘗試,最后決定用雙面膠加大輪子的摩擦力,這樣雖然打滑的現(xiàn)象好了很多,但是小車打彎的結(jié)果還是不是令人滿意的。最最后,通過大家的齊心協(xié)力,我們流暢地通過了張老師的檢查,小車成功走出了迷宮。這次科創(chuàng)實驗大家都做的很苦,可是在大家心中,總是抱著這樣一個堅定不移的信念,“在哪兒跌倒不重要,重要的是在那兒爬起來”。過程是一種磨練,結(jié)果只是一種形式。無論天氣有多差,環(huán)境有多惡劣,餓我們都會一如既往勇往直前,結(jié)果在我們眼中已經(jīng)成為了一種必然,我們享受的是過程中的甜酸苦辣陳云路科創(chuàng)三是一個通過團隊合作,學(xué)生自己完成的創(chuàng)新類課程。選擇之前我就聽說過很多有

32、關(guān)科三是多么多么的難,多么的耗費時間的議論。但同時完成科三小車走迷宮,又是一個很具趣味的挑戰(zhàn)。帶著這份興趣以及對編程,控制的熱愛,我選擇了科三。時間轉(zhuǎn)眼即逝,一個學(xué)期,科三也就這么結(jié)束了,現(xiàn)在想想,一切都證明這樣的經(jīng)歷是美好,有頗多收獲的。1000多行的代碼,雖然很少,雖然是由三個人完成的,但是這其中蘊含了許多我們通過自學(xué)而獲得的知識,許多我們的奇思妙想,許多書本上學(xué)不到的經(jīng)驗教訓(xùn)。同時,本課程也培養(yǎng)了我們團隊合作,通過自己的思考和學(xué)習(xí)從而解決問題的能力,讓我們在體驗自主實驗過程的同時也體會到了研究的樂趣。這其中的許多努力回憶起來也是那么的美好多少個晚上,我們?nèi)齻€人泡在宿舍的閱覽室里,為了實現(xiàn)

33、某個功能熬夜到2,3點;為了試驗程序,為了更好的改進系統(tǒng),我們光通過攝像頭拍攝迷宮就不下百次(攝像頭要防止在高處,每次我們都要用手舉著一動不動)。當然,這其中也充滿了許多歡笑每次很順利的實現(xiàn)某一功能;每一次想到新奇的辦法來解決問題;每一次別人來為我們可愛的小車拍照;每一次小車走出了迷宮;每一次我們累了一天的聚餐。這些都是多么美好的點滴,一種開心,而又充實的美好??迫?,完成后回頭想想其實也沒那么的難。因為有歷屆留下來的寶貴資料可以參考,有各種推薦的參考資料,有opencv網(wǎng)站上全面,詳細的例程,有老師助教的熱心指導(dǎo),有其他小組的幫助。這些都為我們完成課程提供了不可或缺的幫助,在此我要感謝所有為我

34、們提供幫助的人,感謝小組里的每一個成員,謝謝!李德元“萬惡”的科創(chuàng)3終于結(jié)束了!雖然這么說,但是回頭來看看,我還是很懷念那段激情燃燒的歲月的。呵呵,畢竟自己付出過,所以容易懷念。其實通過科創(chuàng)3,我還是學(xué)到了很多的東西。從一開始接到任務(wù) 一頭霧水,到后來漸漸的明確分工,知道自己該做什么,直到最后好不容易完成了項目,整個過程讓我學(xué)會如何去思考,尤其是當面對一個難題時。科創(chuàng)的一個重要方面就是鍛煉了我科研的精神,期間我自學(xué)了些必要的東西,并現(xiàn)學(xué)現(xiàn)用于我們的項目中;有問題時我們小組會一起討論,雖然也吵過小架,但是我們的目標始終還是一致,所以不久還是能一起并肩作戰(zhàn);我們有鉆研精神,每天的任務(wù)必須完成,否則

35、就熬夜,我想正是有著這樣的思想,我們才能堅持到最后。其實這些精神更應(yīng)該適用于以后的學(xué)習(xí)中。另外科創(chuàng)還讓我們結(jié)下深深友誼。我們小組三人曾經(jīng)一起熬夜至兩三點,一起餓肚子,一起快樂,一起愁苦,我們鬧過,吵過,笑過,愁過 正因為科創(chuàng),我們一起經(jīng)歷了這么多,我們彼此信任,可謂是鐵哥們了。我還有很想感謝張老師,他是我遇見過的老師中脾氣最好的,很和藹,很好說話。因為我們晚交過一些報告之類的,感謝你的寬容,還有就是我們最終測試時,頭幾次都不成功,但是您還是耐心的呆在一邊看。后來我們終于搞好了,其實已經(jīng)過了您的下班時間,感謝您還是幫我們評完再走。另外就是實驗室的助教們,他們也給過我們些建議。張欣剛附錄1. VC6下編譯環(huán)境設(shè)置A. 從 下載OpenCV安裝程序。假如要將Ope

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論