機(jī)器人相關(guān)ros中文十天學(xué)基礎(chǔ)by dreamluo_第1頁(yè)
機(jī)器人相關(guān)ros中文十天學(xué)基礎(chǔ)by dreamluo_第2頁(yè)
機(jī)器人相關(guān)ros中文十天學(xué)基礎(chǔ)by dreamluo_第3頁(yè)
機(jī)器人相關(guān)ros中文十天學(xué)基礎(chǔ)by dreamluo_第4頁(yè)
機(jī)器人相關(guān)ros中文十天學(xué)基礎(chǔ)by dreamluo_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

哈爾濱工業(yè)大學(xué)先進(jìn)技術(shù) 此希望可以互相探討貼吧:ros機(jī)器人操作系統(tǒng)學(xué)習(xí)交流吧文字參考小菜鳥(niǎo)上校的博第一課Linuxeggache。如果您先更新了軟件源,一定會(huì)事半功倍。[html]view [html]view sudogedit[html][html] deb /ubuntu/precisemain /ubuntu/precisemain debhttp: /ubuntu/precise-updatesmainrestrictdeb /ubuntu/precise /ubuntu/precise deb /ubuntu/precise-updatesdeb /ubuntu/precise /ubuntu/precise deb /ubuntu/precise-updates12.deb-src e13.deb /ubuntu/precise-backportsmaincteduniverse14.deb-src /ubuntu/precise-backportsmainstricteduniverse15.deb /ubuntu/precise-securitymain16.deb-src /ubuntu/precise-securitymain17.deb /ubuntu/precise-security18.deb-src 19.deb /ubuntu/precise-security20.deb-src 21.deb /ubuntuprecise /ubuntuprecise[html]view [html]view deb /ubuntu/precisemaindeb-src /ubuntu/precisemain debhttp /ubuntu/precise-updatesmainrestrictedeb /ubuntu/precise /ubuntu/precise deb /ubuntu/precise-updates deb /ubuntu/precise /ubuntu/precise deb /ubuntu/precise-updates13.debhttp /ubuntu/precise-backportsmainrestricteduniversemultiverse15.debhttp /ubuntu/precise-securitymainrestrict /ubuntu/precise-securitymain17.deb /ubuntu/precise-security18.deb-src 19.deb /ubuntu/precise-security20.deb-src e21.deb /ubuntuprecise /ubuntuprecise[html]view [html]view 1.debhttp://m /ubuntu/intrepidmainmultiverserestricteduniverse2.deb /ubuntu/intrepid-backportsmainiverserestricted3.deb /ubuntu/intrepid-proposedmainverserestricted4.deb /ubuntu/intrepid-securitymainverserestricted5.deb /ubuntu/intrepid-updatesmainerserestricted6.deb /intrepidmainrestricted[html][html] 1.deb/ubuntu/precisemainrestricteduniversemultiverse3.deb/ubuntu/precise-proposedmainrestricteduniversemultiverse5.deb/ubuntu/precise-updatesmainrestricteduniversemultiverse6.deb-src/ubuntu/precisemainduniverse7.deb-src/ubuntu/precise-backportsrestricteduniverse8.deb-src/ubuntu/precise-proposedrestricteduniverse9.deb-src/ubuntu/precise-securityrestricteduniverse10.deb-src/ubuntu/precise-updatesmainestricteduniverse[html][html] 1.debhttp://d /ubuntu/precisemainrestricteduniversemultiverse2.deb /ubuntu/precise-backportsduniverse3.deb /ubuntu/precise-proposedmainicteduniverse4.deb /ubuntu/precise-securitymainicteduniverse5.deb /ubuntu/precise-updatesmaincteduniverse6.deb-src /ubuntu/precisemainuniverse7.deb-src /ubuntu/precise-backportsrestricteduniverse8.deb-src /ubuntu/precise-proposedmainestricteduniverse9.deb-src /ubuntu/precise-securitymainestricteduniverse /ubuntu/precise-updatesmainstricteduniverse[html][html]1.debhttp://m /ubuntu/precisemainmultiverserestricteduniverse2.deb /ubuntu/precise-backportsmainiverserestricted3.deb /ubuntu/precise-proposedmainverserestricted4.deb /ubuntu/precise-securitymainverserestricted5.deb /ubuntu/precise-updatesmainerserestricted6.deb-src /ubuntu/precisemainrestricted7.deb-src /ubuntu/precise-backportsmultiverserestricted8.deb-src /ubuntu/precise-proposedmainultiverserestricted9.deb-src /ubuntu/precise-securitymainultiverserestricted /ubuntu/precise-updatesmainltiverserestricted[html]view[html]view 1.sudoapt-get第二課ROS學(xué)習(xí)ROSROS都是和路由器相關(guān)的一些東西,我們這里說(shuō)的ROSrobotoperatingsystem,也就是機(jī)器人操作系上了一系列關(guān)于ROS的學(xué)習(xí)博客,很有參考價(jià)值,可以在中搜索之,今天主要來(lái)就是更新軟件源??梢詤⒖脊P者的另一篇博客,ubuntu更新軟件源的方法。筆者就是因?yàn)閯傞_(kāi)始沒(méi)有更新軟件源,導(dǎo)致安裝ros的速度非常慢,結(jié)果裝了兩天也沒(méi)有裝好,坑啊。[in]view 1.cat如果您的[html] 1.sudosh-c'echo"debmain">/etc/apt/sources.list.d/ros-[html] 1.sudosh-c'echo"debmain">/etc/apt/sources.list.d/ros-[html] 1.sudosh-c'echo"debraringain">/etc/apt/sources.list.d/ros-[html] 1.wget-O-|sudoapt-keyadd[html] 1.sudoapt-get[html] 1.sudoapt-getinstallros-hydro-desktop-在安裝過(guò)程中,會(huì)出現(xiàn)選擇yes和no的框,一定要選yes,其他數(shù)據(jù)默認(rèn)就可以了,[html]view 1.apt-cachesearchros-[html] 1.sudorosdep[html] 1.rosdep[html] 2.source1.echo"source/opt/ros/hydro/setup.bash"2.source[html][html]view 1.source下來(lái)需要安裝一個(gè)非常重要的工具rosinstall,這個(gè)工具在以后會(huì)非常有用的,安裝命[html]view[html]view 1.sudoapt-getinstallpython-第三課ROS在官網(wǎng)上本節(jié)的題目是Creatingaworkspaceforcatkin,其中的catkin不知道是什么意節(jié)的主要目的是創(chuàng)建一個(gè)catkin工作空間,在這個(gè)工作空間中,catkin的包可以被編譯。[html] 1.source[html] 1.mkdir-p[html] cd[html] cd 當(dāng)時(shí)用catkin工作空間時(shí),catkin_make是一個(gè)非常方便令行工具。如果您看一下當(dāng)前的工作,您會(huì)發(fā)現(xiàn)里面多了兩個(gè)文件夾“build”和“devel”devel文件夾下,您可以看到很多setup.*sh文件。輸入如下命令配置您的工作空間:[html] sourceROS學(xué)習(xí)(三)中,筆者不知道catkin到底是個(gè)什么東東,后來(lái)終于在上找到了答案,原來(lái)catkin是ROS的一個(gè)的編譯構(gòu)建系統(tǒng),是原本的ROS的編譯構(gòu)建系統(tǒng)rosbuild的后繼者。catkin的來(lái)源有點(diǎn)復(fù)雜,我們可以慢慢的講一下其中的淵源。ROS來(lái)源于WillowGarageROS發(fā)揚(yáng)光大。而在英語(yǔ)中,willow的意思是柳樹(shù),catkin是柳絮的意思,為了紀(jì)念的作用吧,因而為這個(gè)軟件命名為catkin創(chuàng)建一個(gè)ROScatkin的包主要有[html]view [html][html]view 1.1.-- --SOURCE --'Toplevel'CMakefile,providedbyca --CMakeLists.txtfilefor --CMakeLists.txtfilefor --Packagemanifestfor --Packagemanifestfor空間中創(chuàng)建一個(gè)包。在創(chuàng)建一個(gè)catkin包時(shí)需要使用catkin_create_pkg。[html] [html] 1.cd[html] 1.catkin_create_pkgbeginner_tutorialsstd_msgsrospy在創(chuàng)建的beginner_tutorials文件夾下可以看到package.xml和CMakeLists.txt。[html] 1.catkin_create_pkg<package_name>[depend1][depend2]可以使用rospack命令來(lái)查看包之間的依賴關(guān)系。查看直接依賴關(guān)系:[html] rospackdepends1接在beginner_tutorials包下的package.xml中查看包的依賴關(guān)系。使用命令:[html] roscdcat [html] 8.8.如下命令來(lái)查看rospy依賴的包:[html] 1.rospackdepends1[html] 1.3.5.[html] 1.rospackdepends[html] .先是description:[html][html]view 行。接下來(lái)是maintainer:[html][html]view <!--Onemaintainertagrequired,multipleallowed,onepertag--><!--Example:-- <!--<maintainer="ja ">JaneDoe</maintainer>--> 是必須的,可有多個(gè)maintainer。接下來(lái)是license,[html][html] <!--Onelicensetagrequired,multipleallowed,onelicensepertag--><!--Commonlyusedlicensestrings:-- BSD,MIT,BoostSoftwareLicense,GPLv2,GPLv3,,LGPLv3-- [html]view [html]view <!--The*_dependtagsareusedtospecifydependencies--2.<!-Dependenciesbecatkinor-3.<!-Examples:--4.<!--Usebuild_dependforpackagesyouneedatcompiletime:-- <!--Usebuildtool_dependforbuildtoolpackages:-- 8.<!--Userun_dependforpackagesyouneedatruntime:--9.<!- [html]view [html]view 好了,經(jīng)過(guò)以上的步驟,我們的package.xml已經(jīng)配置好了。[html] [html] $cd#Add/Editsource$cd#UpdateCMakeFiles.txttoreflectanychangestoyour$cd$首先打開(kāi)beginner_tutorials包下面的src文件夾,在里面添加或者編輯源文件。然后回到包beginner_tutorials的 下,使用catkin_make 下命令來(lái)創(chuàng)建install工作空間:[html] cdcatkin_make [html] cd~/catkin_ws/build&&make[html] catkin_make---第四課ROS[html] sudoapt-getinstallros-<distro>-ros-的的話,替換為hydro。下面來(lái)看一下ROS節(jié)點(diǎn)(NODE):一個(gè)節(jié)點(diǎn)就是一個(gè)可執(zhí)行程序,它使用ROS可以和其他節(jié)點(diǎn)進(jìn)行通[html] [html] rosnode[html] rosnodeinfo[html] rosrun[package_name][html] rosrunturtlesim[html] rosnode[html] rosrunturtlesim 再使用rosnodelist就可以看到我們所修改的名字。 [html] rosnode[html] [html] rosrunturtlesim[html] rosrunturtlesimturtle_把用戶按下的鍵發(fā)布到話題上,turtlesim_node也訂閱了同一個(gè)話題用來(lái)接收用戶按下的鍵,[html] sudoapt-getinstallros-hydro-[html] sudoapt-get [html] rosrunrqt_graph mand_velocity話題來(lái)進(jìn)行通信的。[html] rostopicecho[html] rostopicecho之后我們?cè)谶\(yùn)行turtle_eop_key節(jié)點(diǎn)的窗口下按方向鍵,就可以在剛才的窗口看到輸出[html][html]view x: y:z: x: y:z: x:y: z: x:y: z: [html][html] rosrunrqt_graph[html]view [html]view rostopic[html][html] rostopiclist-話題上的通信通過(guò)節(jié)點(diǎn)之間發(fā)送消息來(lái)完成。對(duì)于發(fā)布者(turtle_eop_key)和接[html] rostopictype[html] [html] rosmsgshow[html] float64 float64float64 geometry_msgs/Vector3float64 float64float64 pub命令用來(lái)發(fā)布消息,它的使用方法如下:[html][html] rostopicpub[topic][msg_type][html]view[html]view rostopicpub-1/turtle1/cmd_velgeometry_msgs/Twist--'[2.0,0,0.0]''[0.0,0.0,[html] rostopic[html] 1.-[html] [html] 2.0 rostopicpubr[html] rostopicpub/turtle1/cmd_velgeometry_msgs/Twist-r1--0.0,0.0]''[0.0,0.0,通過(guò)上面豐富的實(shí)例,相信大家會(huì)對(duì)ROS的話題概念會(huì)有一個(gè)清楚的認(rèn)識(shí)。[html] [html] rosrunturtlesim[html] [html] rosservice[html]view[html]view /turtle1/ 13./turtlesim/set_logger_level[html] [html] rosservicetype[html]view[html]view rosservicetype[html] [html] rosservicecall[html] rosservicecall[service][html] rosservicecall[html] rosservicetypespawn|rossrv[html] float322y float32string string [html][html]view rosservicecallspawn220.2浮點(diǎn)數(shù),布爾類型,字典,列表。ROSYAML標(biāo)記語(yǔ)言作為語(yǔ)法,在簡(jiǎn)單的情況下,YAML看起來(lái)是非常自然的:1是整數(shù),1.0是浮點(diǎn)數(shù),one是字符串,true是布爾類型,[1,2,3]是一個(gè)列表,{a:b,c:d}rosparamlist命令可以查看參數(shù)服務(wù)器[html][html]view rosparam[html]view[html]view [html]view rosparamsetrosparamget [html]view[html]view rosparamsetbackground_r[html][html]view rosservicecall[html] rosparamget[html] rosparamget[html] rosparamdump[html] rosparamdump第五課roslaunchmsg[html] sudoapt-getinstallros-hydro-rqt mon-pluginsr行一下就行了,它不會(huì)對(duì)你之前的系統(tǒng)有任何的。在終端中運(yùn)行rqt_console:[html]view rosrunrqt_console[html] rosrunrqt_logger_level[html] rosrunturtlesimrqt_consolelogger_level右邊的warn,運(yùn)行下面指令:[html]view rostopicpub/turtle1/cmd_velgeometry_msgs/Twist-r1--0.0,0.0]''[0.0,0.0,改為fatal,就會(huì)發(fā)現(xiàn)信息的輸出停止。如果再將它選為warn,信息就會(huì)繼續(xù)輸出。[html] .接收所有的消息,如果你選擇的是warn,就會(huì)接收warn及高于它的優(yōu)先級(jí)的信息。[html] 1.roslaunch[package][html] roscd[html] mkdircd [html] gedit[html] <group<nodepkg="turtlesim"name="sim" <group<nodepkg="turtlesim"name="sim" 11.<nodepkg="turtlesim"name="mimic" <remapfrom="input" <remapfrom="output"14.[html]view[html]view 1.roslaunchbeginner_tutorials[html]view rostopicpub/turtlesim1/turtle1/cmd_velgeometry_msgs/Twist-r--'[2.0,0.0,0.0]''[0.0,0.0,-[html] [html] <group<nodepkg="turtlesim"name="sim" <group<nodepkg="turtlesim"name="sim" [html]view[html]view <nodepkg="turtlesim"name="mimic"4.<remapfrom="input"4.<remapfrom="output"一個(gè)srv文件描述一個(gè)服務(wù),它由兩部分組成,請(qǐng)求和服務(wù)。msg文件被在一個(gè)包的msg 下,srv文件被在srv 下。msg是簡(jiǎn)單的[html]viewincopy float32,1.int8,int16,int32,int64(plusuint*)float32,3.time,time,variable-lengtharray[]andfixed-length5.variable-lengtharray[]andfixed-lengthROSHeader,header包括了一個(gè)時(shí)間戳和一個(gè)經(jīng)產(chǎn)在ROS中使用的坐標(biāo)框架信息。你經(jīng)常會(huì)看到在msg文件的第一行代碼是:[html][html] Header[html]view 下面是一個(gè)使用了Header[html]view Headerstringstringsrv文件和msg文件是一樣的,除了它們包括兩部分:請(qǐng)求和響應(yīng),這兩部分通過(guò)'---'分隔。下面是一個(gè)srv文件的例子:[html][html]view int64int64int64int64int64在上面的例子中A和B是請(qǐng)求,sum[html] cd在里面創(chuàng)建一個(gè) [html] mkdir新建一個(gè)msg[html] echo"int64num">package.xml:[html] vim[html] 之后保存退出。打開(kāi)[html] vim[html] 2.find_package(catkinREQUIREDCOMPONENTSroscpprospystd_msgs#Donotjustaddthis2.find_package(catkinREQUIREDCOMPONENTSroscpprospystd_msgs[html] 1. [html] 1.#3. 5.#[html] 1. [html] 1.[html] 1.rosmsgshow[message查看Num[html] rosmsgshow[html] int64 [html] roscd[html] mkdir[html] roscp[package_name][file_to_copy_path][html] roscprospy_tutorialsAddTwoInts.srv接下來(lái)就是配置CMakeLists.txt文件,打開(kāi)[html] vim[html] 2.find_package(catkinREQUIREDCOMPONENTSroscpprospystd_msgsan#Do2.find_package(catkinREQUIREDCOMPONENTSroscpprospystd_msgsan[html]view[html]view # #[html][html] 4. [html]view rossrvshow<service[html]view[html]view rossrvshow[html]view[html]view int64int64 int64 [html][html]vim[html] #3.##std_msgs#Orotherpackagescontaining[html] 1. 將我們之前的generate_messages()去掉,保存退出。[html] 1.cd[html] 1.[html] 1.cd所有在msg 下的.msg文件都會(huì)產(chǎn)生ros所支持的語(yǔ)言的源文件。C++消息的頭文件產(chǎn)[html] 1.[html][html] [html] [html] 1. 第六課C++ [html] 1.cd[html] 1.mkdir-p[html] 1.vim[html] 1.#include7.*ThistutorialdemonstratessimplesendingofmessagesovertheROSmain(intargc,char11. *anyROSargumentsandnameremapthatwereprovidedatthecommandline.Forprogr *directly,butformostcommand-lineprograms,passingargcandargvistheeasiest*waytodoit.Thethirdargumenttoinit()isthenameofthe**Youmustcalloneoftheversionsofros::init()beforeusinganyother*partoftheROSros::init(argc,argv,"talker");*NodeHandleisthemainaccesspointtocommunicationswiththeROSsystem.*ThefirstNodeHandleconstructedwillfullyinitializethisnode,andthelast*NodeHandledestructedwillclosedownthe*Theadvertise()functionishowyoulROSthatyouwantt*publishonagiventopicname.ThisinvokesacalltotheRO *masternode,whichkeepsaregistryofwhoispublishingand*issubscribing.Afterthisadvertise()callismade,themas*nodewillnotifyanyonewhoistryingtosubscribetothistopicname,*andtheywillinturnnegotiateapeer-to-peerconnectionwith*node.advertise()returnsaPublisherobjectwhichallowsyou *publishmessagesonthattopicthroughacalltopublish().*allcopiesofthereturnedPublisherobjectaredestroyed,*willbeautomatically**Thesecondparametertoadvertise()isthesizeofthe*usedforpublishingmessages.Ifmessagesarepublishede *thanwecansendthem,thenumberherespecifieshowmanyssages *beforethrowing 47.ros::Publisherchatter_pub=tter",49.ros::Rate51. *Acountofhowmanymessageswehavesent.Thisisusedto *auniquestringforeach 55.intcount=56.while57. *Thisisamessageobject.Youstuffitwithdata,andpublish ss<<oworld"<< msg.data= ROS_INFO("%s", *Thepublish()functionishowyousendmessages.The *isthemessageobject.Thetypeofthisobjectmustwiththe *givenasatemteparametertotheadvertise<>()call,swas *intheconstructor 81.[html] 1.#include[html] 1.#include[html] 1.ros::init(argc,argv,ROS,它允許ROS通過(guò)命令行重新命名,現(xiàn)在還不太重要。這里也是我們確切說(shuō)[html] 1.ros::NodeHandle[html] 1.ros::Publisherchatter_pub=n.advertise<std_msgs::String>("chatter",1000);[html]view ros::Rate為止的時(shí)間,并且休眠正確的時(shí)間。在這個(gè)例子中,設(shè)置的頻率為10hz。[html][html]view intcount=while {默認(rèn)情況下,roscpp將會(huì)安裝一個(gè)SIGINT,它使當(dāng)Ctrl-C按下時(shí),ros::ok()將會(huì)返false。ros::NodeHandles都被銷(xiāo)毀了。一旦ros::ok()falseROS調(diào)用都會(huì)失敗。[html]view ssss<<oworld"<< msg.data=我們使用message-adaptedROSmsg文件中產(chǎn)生的。data數(shù)據(jù)成員,當(dāng)然更復(fù)雜的消息也是[html][html]view [html][html]ROS_INFO("%s",[html] [html]view 打開(kāi)一個(gè)終端,進(jìn)入到beginner_tutorials包下面:[html] cd[html] vim[html] #include5.*ThistutorialdemonstratessimplereceiptofmessagesovertheROSsystem.7.voidchatterCallback(conststd_msgs::String::ConstPtr& ROS_INFO("Iheard:[%s]",main(intargc,char**argv)*Theros::init()functionneedstoseeargcandargvsothatitcanperform*anyROSargumentsandnameremapthatwereprovidedatthecommandline.Forprogrtic*remapsyoucanuseadifferentversionofinit()whichtakesremaps*directly,butformostcommand-lineprograms,passingargcandargvistheeasiest*waytodoit.Thethirdargumenttoinit()isthenameofthe**Youmustcalloneoftheversionsofros::init()beforeusinganyother*partoftheROSros::init(argc,argv,"listener");*NodeHandleisthemainaccesspointtocommunicationswiththeROSsystem.*ThefirstNodeHandleconstructedwillfullyinitializethisnode,andthelast*NodeHandledestructedwillclosedownthe*Thesubscribe()callishowyoulROSthatyouwanttoreceivemessages*onagiventopic.Thisinvokesacalltothe *masternode,whichkeepsaregistryofwhoispublishingand *issubscribing.Messagesarepassedtoacallbackfunction,*calledchatterCallback.subscribe()returnsaSubscriberobjectthatyou*mustholdontountilyouwanttounsubscribe.WhenallcopiesoftheSubscriber *objectgooutofscope,thiscallbackwillautomaticallyunsubscribed *this *Thesecondparametertothesubscribe()functionistheofthe *queue.Ifmessagesarearrivingfasterthantheyareprocessed, *isthenumberofmessagesthatwillbebufferedupbeforeginningto *awaytheoldest 48.ros::Subscribersub=n.subscribe("chatter",1000,50. *ros::spin()willenteraloop,pumcallbacks.Withversion, *callbackswillbecalledfromwithinthisthread(themainne). *willexitwhenCtrl-Cispressed,orthenodeisshutdownthe 55.57.return[html]view[html]view ROS_INFO("Iheard:[%s]",msg-4. [html]view [html]view ros::Subscribersub=n.subscribe("chatter",1000,chatterCallbac以緩沖1000條消息,滿1000之后,后面的到達(dá)的消息將會(huì)覆蓋前面的消息。以后,它將會(huì)自動(dòng)從chatter話題上撤銷(xiāo)。[html]view 事情可做時(shí),它也不會(huì)浪費(fèi)太多的CPUros::okfalse時(shí),ros::spin()將會(huì)退ros::shutdownCTRL+C等情況,都可以退出。下[html]view ##Findcatkinandanycatkin find_package(catkinREQUIREDCOMPONENTSroscpprospystd_msgsgen##DeclareROSmessagesandadd_message_files(DIRECTORYmsgFILES add_service_files(DIRECTORYsrvFILES##Generateaddedmessagesandgenerate_messages(DEPENDENCIESstd_msgs) 14.##Declareacatkin [html][html]view 1.cmake_minimum_required(VERSION2.4.##Findcatkinandanycatkin5.find_package(catkinREQUIREDCOMPONENTSroscpprospystd_msgs7.##DeclareROSmessagesand8.add_message_files(FILES9.add_service_files(FILES11.##Generateaddedmessagesand

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論