移動機器人技術(shù)-課件 項目6-任務(wù)1-機器人操作系統(tǒng)ROS的安裝與基本操作_第1頁
移動機器人技術(shù)-課件 項目6-任務(wù)1-機器人操作系統(tǒng)ROS的安裝與基本操作_第2頁
移動機器人技術(shù)-課件 項目6-任務(wù)1-機器人操作系統(tǒng)ROS的安裝與基本操作_第3頁
移動機器人技術(shù)-課件 項目6-任務(wù)1-機器人操作系統(tǒng)ROS的安裝與基本操作_第4頁
移動機器人技術(shù)-課件 項目6-任務(wù)1-機器人操作系統(tǒng)ROS的安裝與基本操作_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目六:移動機器人高階認知與實踐機器人操作系統(tǒng)ROS的安裝與基本操作任務(wù)一:機器人操作系統(tǒng)ROS的安裝與基本操作任務(wù)目標:1.了解ROS的基本概念和發(fā)展歷程2.掌握安裝Ubuntu系統(tǒng)和ROS系統(tǒng)的方法3.學會創(chuàng)建ROS工作空間和功能包4.學會使用ROS節(jié)點和編寫launch文件機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備一機器人操作系統(tǒng)ROS的基本概念ROS(RobotOperatingSystem,機器人操作系統(tǒng))是一個面向機器人的開源操作系統(tǒng)。它能夠提供類似廣義理解操作系統(tǒng)的諸多功能,包括:硬件抽象底層設(shè)備控制常用函數(shù)的實現(xiàn)進程間消息傳遞包管理提供跨計算機運行代碼所需的工具和庫函數(shù)ROS可以實現(xiàn)的功能機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備一機器人操作系統(tǒng)ROS的基本概念ROS作為機器人的大腦,廣泛的應用于多種不同功能的機器人的研發(fā),學習和掌握ROS已經(jīng)成為從事機器人開發(fā)與應用相關(guān)工作的必備技能。常見的ROS機器人機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備二ROS的發(fā)展歷程ROS起源于人工智能研究大發(fā)展階段。2000年,斯坦福大學人工智能實驗室開展了一系列相關(guān)研究項目,例如斯坦福人工智能機器人(StanfordArtificialIntelligenceRobot,STAIR)項目、個人機器人(PersonalRobots,PR)項目等。STAIR機器人不同版本PR2機器人仿真圖機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備二ROS的發(fā)展歷程2007年,機器人公司W(wǎng)illowGarage和該項目組合作,提供了大量資源,將斯坦福大學項目中的軟件系統(tǒng)進行擴展與完善。從WillowGarage衍生出的公司機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備二ROS的發(fā)展歷程ROS1.0版本發(fā)布于2010年,開發(fā)了一系列基于PR2機器人機器人相關(guān)的基礎(chǔ)軟件包。隨后基本上ROS每年都在更新,其中ROS1.0目前最新的版本為適配Ubuntu20.04LTS的ROSNoeticNinjemys。經(jīng)過十多年的發(fā)展,ROS逐漸趨于成熟,已經(jīng)初步進入一種穩(wěn)定的發(fā)展狀態(tài)。目前越來越多的機器人、無人車和無人機都開始采用ROS作為開發(fā)平臺。ROS的起源機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備二ROS的發(fā)展歷程ROS的版本代號是按照字母順序編排的,并隨著Ubuntu系統(tǒng)的更新而更新。ROS1.0版本從BoxTurtle開始,到ROSNoeticNinjemys經(jīng)歷了13次更新。ROS版本發(fā)布時間建議對應Ubuntu版本ROSBoxTurtle2010.03.02Ubuntu8.04(Hardy)ROSCTurtle2010.08.02Ubuntu9.04(Lucid)ROSDiamondback2011.03.02Ubuntu10.04(Lucid)ROSElectricEmys2011.08.30Ubuntu10.04(Lucid)ROSFuerteTurtle2012.04.23Ubuntu10.04(Lucid)ROSGroovyGalapagos2012.12.31Ubuntu12.04(Precise)ROSHydroMedusa2013.09.04Ubuntu12.04(Precise)ROSIndigoIgloo2014.07.22Ubuntu14.04(Trusty)ROSJadeTurtle2015.05.23Ubuntu15.04(Vivid)ROSKineticKame2016.05.23Ubuntu16.04(Xenial)ROSLunarLoggerhead2017.05.23Ubuntu17.04(Zesty)ROSMelodicMorenia2018.05.23Ubuntu18.04(Bionic)ROSNoeticNinjemys2020.05.23Ubuntu20.04(Focal)ROS1.0版本及發(fā)行時間機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備二ROS的發(fā)展歷程在ROS1.0更新的過程中,開發(fā)者們也意識到了存在一些問題:沒有構(gòu)建多機器人系統(tǒng)的標準方法無法適用于Windows、MacOS等系統(tǒng)缺少實時性方面的設(shè)計等于是開發(fā)者將ROS1.0徹底重構(gòu),推出了基于數(shù)據(jù)分發(fā)服務(wù)(DataDistributionService,DDS)的ROS2.0版本。相比于ROS1.0,ROS2.0除了解決以上痛點外,更主要的是在引入DDS后,使得ROS2.0的通信機制在實時性、可靠性、靈活性、可拓展性等都有了較大提升。機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備三ROS文件系統(tǒng)級1.ROS工作空間在ROS系統(tǒng)中,工作空間是用戶開發(fā)自己程序的文件夾(也稱目錄),簡單來說相當于一個工程或者項目,由用戶自行創(chuàng)建。工作空間中存放各種用戶自己開發(fā)的功能包程序,文件是源代碼形式,用戶可自由修改。工作空間文件夾組成其中:src:存放代碼文件build:存放編譯過程中生成的中間文件devel:存放編譯過程中生成的目標文件機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備三ROS文件系統(tǒng)級2.ROS功能包在工作空間下的src文件夾中,存放了各種功能包文件。其中包括:綜合功能包(Metapackage):綜合功能包將特定應用程序包的列表組合在一起,方便集中管理。功能包:功能包是ROS軟件組織的基本形式,是構(gòu)成ROS的基本單元,也是catkin編譯的基本單元。一個功能包可以包含多個可執(zhí)行文件(節(jié)點),還包含可執(zhí)行文件所需的所有文件,如依賴庫和配置文件等。功能包清單:每個包都有一個名為package.xml的清單文件。綜合功能包的pckage.xml文件由相關(guān)功能包的名稱組成。如果一個文件夾下有CMakeLists.txt和package.xml這兩個文件,則一般可以判斷該文件夾為功能包。機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備三ROS文件系統(tǒng)級2.ROS功能包以上圖的package3為例,對其中的各個文件及文件夾進行討論。CmakeLists.txt:定義編譯的規(guī)則Package.xml:定義功能包的屬性scripts:存放可執(zhí)行腳本include:存放頭文件src:存放源碼文件msg:存放自定義消息類型文件srv:存放自定義服務(wù)類型文件launch:存放launch文件,launch文件可幫助一次運行多個可執(zhí)行文件config:存放功能包中所需要使用的配置文件機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備三ROS文件系統(tǒng)級2.ROS功能包(1).

CMakeLists.txt文件要了解CMakeLists.txt文件,首先需要先了解一下Makefile。在一個工程或者項目中,可能會有很多的源文件,按照類型、功能或者模塊放到不同的文件夾中。Makefile定義了一個工程文件的編譯規(guī)則,指定了哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進行更復雜的功能操作。Makefile就像一個shell腳本,使得項目工程的編譯變得自動化。Makefile編譯過程機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備三ROS文件系統(tǒng)級2.ROS功能包(1).

CMakeLists.txt文件但是通常Makefile文件比較復雜,寫下來需要耗費大量的時間和精力。而CMakeLists.txt文件則相對比較簡單。在CMakeLists.txt確定后,直接使用cmake命令運行,將這個命令指向CMakeLists.txt所在的目錄,cmake之后就會產(chǎn)生想要的Makefile文件,然后再直接make就可以編譯出需要的結(jié)果,這帶來了極大的便利。機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備三ROS文件系統(tǒng)級2.ROS功能包(1).

CMakeLists.txt文件下表列出ROS下CMakeLists.txt的一個總體結(jié)構(gòu)。代碼含義Cmake_minimum_required()指定catkin最低版本Project()指定軟件包的名稱Find_package()引入外部依賴包Add_message_files()添加消息文件(*.msg)Add_service_files()添加服務(wù)文件(*.srv)Add_action_files()添加動作文件Generate_messages()生成消息、服務(wù)和動作Add_dependencies()確保自定義消息的頭文件在使用之前已經(jīng)被生成Add_library()添加目標庫文件Add_executable()生成可執(zhí)行文件Target_link_libraries()指定目標連接的庫Install()安裝目標文件編譯代碼表機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備三ROS文件系統(tǒng)級2.ROS功能包(2).package.xml文件package.xml是ROS功能包的“功能包清單描述”,定義了包的屬性,如名稱、版本、描述、作者信息、依賴等,最重要的是聲明了編譯工具、編譯依賴工具、編譯輸出依賴和運行依賴。下表列出package.xml文件的寫法。package.xml文件標簽標簽含義<pacakge>根標簽<name>包名<version>版本號<description>包描述<maintainer>維護者<license>軟件許可證<buildtool_depend>編譯構(gòu)建工具,通產(chǎn)為catkin<depend>指定依賴項為編譯、導出、運行需要的依賴<build_depend>編譯依賴項<build_export_depend>導出依賴性<exec_depend>運行依賴項<test_depend>測試用例依賴項<doc_depend>文檔依賴項機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備四ROS計算圖級計算圖是ROS處理數(shù)據(jù)的一種點對點的網(wǎng)絡(luò)形式。程序運行時,所有進程以及它們所進行的數(shù)據(jù)處理,將會通過一種點對點的網(wǎng)絡(luò)形式表現(xiàn)出來。這一級主要包括幾個重要概念:節(jié)點管理器(master)、節(jié)點(node)、消息(message)、服務(wù)(service)、主題(topic)、參數(shù)服務(wù)器(ParameterServer)和消息記錄包(Bag)。ROS計算圖級框架機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備四ROS計算圖級節(jié)點(Node)在ROS系統(tǒng)中是主要的計算執(zhí)行進程。節(jié)點管理器(master)作為一個中間節(jié)點,用于在不同ROS節(jié)點之間建立連接。節(jié)點需要使用如roscpp或rospy的ROS客戶端庫進行編寫,之后能通過主題、服務(wù)等與其他節(jié)點進行通信。節(jié)點與節(jié)點管理器之間的關(guān)系機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備四ROS計算圖級ROS同時為用戶提供了處理節(jié)點的工具,如rosnode,它是一個用于顯示節(jié)點信息的命令行工具。常見支持命令如下:rosnodelist:列出當前活動節(jié)點rosnodeinfo[節(jié)點名稱]:輸出當前節(jié)點信息rosnodekill[節(jié)點名稱]:結(jié)束當前運行節(jié)點進程或發(fā)送給定信號rosnodemachine[PC名或IP]:列出某一特定計算機上運行的節(jié)點或列出主機名稱rosnodeping[節(jié)點名稱]:測試節(jié)點之間的連通性rosnodecleanup:將無法訪問的節(jié)點注冊信息清除機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備四ROS計算圖級在Ubuntu中,每打開一個節(jié)點就需要重新打開一個終端,當需要打開多個節(jié)點時就尤為繁瑣,而啟動文件(LaunchFile)可以通過xml文件實現(xiàn)多節(jié)點的配置和啟動,省去了啟動多個終端與多個節(jié)點的復雜操作。同時它還可以自動啟動ROSMaster節(jié)點管理器,并且可以實現(xiàn)每個節(jié)點的各種配置,為多個節(jié)點的操作提供很大便利。Launch文件寫法機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備四ROS計算圖級消息(message)是實現(xiàn)節(jié)點之間的邏輯聯(lián)系和數(shù)據(jù)交換,每一個消息都是一個嚴格的數(shù)據(jù)結(jié)構(gòu),支持諸如整型、浮點型、布爾型等常見的數(shù)據(jù)類型。內(nèi)置類型機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備四ROS計算圖級主題(topic)是ROS網(wǎng)絡(luò)對消息進行路由和管理的數(shù)據(jù)總線,是一種單向異步通信機制。ROS節(jié)點之間通過話題的發(fā)布與訂閱來進行交互,每一條消息都要發(fā)布到相應的話題。同時話題的名稱必須是獨一無二的,否則在同名話題之間的消息路由就會發(fā)生錯誤。單向異步通信機制機器人操作系統(tǒng)ROS的安裝與基本操作知識儲備四ROS計算圖級服務(wù)(service)是另一種在節(jié)點之間傳遞數(shù)據(jù)的方法,是雙向同步通信機制。它能夠讓一個節(jié)點調(diào)用運行在另一個節(jié)點中的函數(shù)。這種機制不僅可以發(fā)送消息,還存在反饋。雙向同步通信機制機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝步驟1:制作系統(tǒng)鏡像。以安裝有Windows10操作系統(tǒng)的計算機為例,首先在Ubuntu的官方網(wǎng)站/download/desktop或者其他國內(nèi)的鏡像網(wǎng)站下載Ubuntu16.04的ISO鏡像文件,下載完成后,用UltraISO軟件將U盤制作為啟動盤。打開UltraISO軟件,點擊文件按鈕,選擇下載的鏡像文件以及制作啟動盤的U盤。選擇完畢后,點擊“啟動”選擇“寫入硬盤鏡像”,注意在制作啟動盤之前需要將U盤內(nèi)容備份然后格式化,到此U盤啟動盤制作成功。UltraISO軟件界面圖制作U盤鏡像示意圖機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝步驟2:磁盤分區(qū)。在Windows文件資源管理器上,右擊此電腦,選擇管理——磁盤管理,從一個磁盤中分出一個空磁盤用于安裝Ubuntu,具體的數(shù)值可根據(jù)實際情況設(shè)定,建議大于50G。分配磁盤空間機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝步驟3:完成Ubuntu安裝。完成磁盤空間的劃分和啟動盤制作后,重啟計算機,連續(xù)點按F12(不同計算機可能不太一樣,可根據(jù)自己計算機型號自行查閱)選擇U盤作為啟動項,進入Ubuntu安裝界面。語言選擇簡體中文,點擊安裝Ubuntu:Ubuntu系統(tǒng)安裝步驟一機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝取消安裝下載中更新以及安裝這個第三方軟件,點擊繼續(xù):Ubuntu系統(tǒng)安裝步驟二機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝由于需要自己分區(qū),選擇“其他選項”來調(diào)整分區(qū),然后進入如下界面:Ubuntu系統(tǒng)安裝步驟三機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝下圖中空閑的磁盤就是通過壓縮卷分出來安裝Ubuntu用的,點擊下圖中“+”:Ubuntu系統(tǒng)安裝步驟四機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝從劃分的磁盤選擇啟動項安裝的位置,大小200M左右,掛載點為/boot,確定后再選擇剩余空間,點“+”號::Ubuntu系統(tǒng)安裝步驟五機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝選擇交換空間,大小設(shè)置為系統(tǒng)內(nèi)存大小,這里設(shè)置為3000M,點擊確定,對剩余空閑磁盤空間,點“+”號:Ubuntu系統(tǒng)安裝步驟六機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝將剩余內(nèi)存全部分配,選擇Ubuntu的掛載點為/,點擊確定:Ubuntu系統(tǒng)安裝步驟七機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐一Ubuntu16.04LTS系統(tǒng)的安裝選擇系統(tǒng)安裝引導項的設(shè)備,一定要選擇剛剛建立掛載點為/boot的磁盤(這里為/dev/sda1)。Ubuntu系統(tǒng)安裝步驟八點擊“現(xiàn)在安裝”選項,后面按照指示進行即可安裝完成。機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐二ROSKinetic的安裝實驗步驟1:配置軟件倉庫。首先在開始安裝ROS之前,第一步需要配置Ubuntu軟件倉庫,為此需要將Ubuntu系統(tǒng)設(shè)置中的軟件與更新設(shè)置為如下狀態(tài),以允許使用“restricted”“universe”和“multiverse”存儲庫。如果下載速度緩慢,可以將軟件源選擇為國內(nèi)的阿里云鏡像,可以提高下載速度。Ubuntu軟件與更新界面機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐二ROSKinetic的安裝實驗步驟2:設(shè)置軟件源。一旦添加了正確的軟件源,Ubuntu就知道去哪里下載程序,并根據(jù)命令自動安裝軟件,設(shè)置軟件源的命令如下,按“Ctrl+Alt+T”打開終端,輸入以下指令:$sudosh-c'echo"deb/ros/ubuntu$(lsb_release-sc)main">/etc/apt/sources.list.d/ros-latest.list’實驗步驟3:設(shè)置密鑰。密鑰是Ubuntu系統(tǒng)的一種安全機制,也是ROS安裝中不可缺的一部分,通常情況下,當添加完軟件庫時,就已經(jīng)添加了軟件庫的密鑰。具體執(zhí)行命令如下:$sudoapt-keyadv--keyserver'hkp://:80'--recv-keyC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐二ROSKinetic的安裝實驗步驟4:安裝ROS。在安裝ROS之前最好先升級一下軟件,避免錯誤的庫版本或軟件版本產(chǎn)生各種問題,運行命令:$sudoapt-getupdate在ROS中,有很多不同的庫和工具,官網(wǎng)提供了四種默認的配置。具體安裝代碼如下:桌面完整版安裝(推薦):包含ROS、rqt、rviz、機器人通用庫、2D/3D模擬器、導航以及2D/3D感知。$sudoapt-getinstallros-kinetic-desktop-full桌面版安裝:包含ROS、rqt、rviz以及通用機器人函數(shù)庫。$sudoapt-getinstallros-kinetic-desktop基礎(chǔ)版安裝:包含ROS核心軟件包、構(gòu)建工具以及通信相關(guān)的程序庫,無GUI工具。$sudoapt-getinstallros-kinetic-ros-base單個軟件包安裝:也可以安裝某個指定的ROS軟件包(使用軟件包名稱替換掉下面的PACKAGE)。$sudoapt-getinstallros-kinetic-ros-base機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐二ROSKinetic的安裝實驗步驟5:初始化rosdep。在開始使用ROS之前還需要初始化rosdep。rosdep可以方便在需要編譯某些源碼的時候為其安裝一些系統(tǒng)依賴,同時也是某些ROS核心功能組件所必需用到的工具。初始化rosdep命令為:$sudorosdepinit$rosdepupdate由于是國外網(wǎng)站無法訪問,程序無法下載相應的文件,可能會導致運行上面兩行代碼可能會不成功。所以要確保能夠被正常訪問,當出現(xiàn)以下界面時,才可以被認為是成功。rosdep成功界面截圖機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐二ROSKinetic的安裝實驗步驟6:配置環(huán)境。為了能夠運行ROS,系統(tǒng)需要知道可執(zhí)行文件以及其他命令的位置。為了實現(xiàn)以上目的,需要添加ROS環(huán)境變量,這樣每打開一個終端時,會自動添加環(huán)境變量,具體命令為:$echo"source/opt/ros/kinetic/setup.bash">>~/.bashrc$source~/.bashrc實驗步驟7:構(gòu)建依賴。到目前為止,已經(jīng)安裝了運行核心ROS包所需的內(nèi)容。為了創(chuàng)建和管理ROS工作區(qū),有各種各樣的工具可以使用。例如:rosinstall是一個經(jīng)常使用的命令行工具,它能夠輕松地從一個命令中下載許多ROS包的源碼。在Ubuntu中運行以下命令安裝這個工具:$sudoapt-getinstallpython-rosinstallpython-rosinstall-generatorpython-wstoolbuild-essential機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐二ROSKinetic的安裝實驗步驟8:ROS系統(tǒng)測試。當完成ROS的安裝后,可以通過測試roscore和turtlesim來測試安裝是否成功。具體做法是打開兩個終端,快捷鍵為“Ctrl+Alt+T”,在兩個終端中分別輸入以下命令:$roscore$rosrunturtlesimturtlesim_node如果一切正常就會看到以下界面(海龜?shù)男螤羁赡懿煌耆嗤篟OSKinetic安裝測試圖機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐三創(chuàng)建工作空間對于ROSGroovy以后的版本可以參考以下步驟創(chuàng)建工作空間。步驟1:初始化工作空間。打開一個終端,運行以下命令:$mkdir-p~/catkin_ws/src$cd~/catkin_ws/src$catkin_init_workspace步驟2:編譯工作空間。工作空間初始化完成后,可以在src文件夾下看到一個CMakeLists.txt的文件,即使這個工作空間是空的,依然可以直接編譯。打開一個新的終端,運行以下命令:$cd~/catkin_ws/$catkin_make機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐三創(chuàng)建工作空間步驟3:設(shè)置環(huán)境變量。編譯完成后,在該工作空間下可以看到有build和devel兩個文件夾,devel文件夾中有許多個setup.*sh文件,啟動這些文件會覆蓋現(xiàn)在的環(huán)境變量。在終端中執(zhí)行以下命令設(shè)置環(huán)境變量:$echo"source~/catkin_ws/devel/setup.bash">>~/.bashrc$source~/.bashrc為了確認環(huán)境變量是否設(shè)置成功,可以運行以下命令來確認當前的目錄是否在環(huán)境變量中:$echo$ROS_PACKAGE_PATH如果輸出:/home/username/catkin_ws/src:/opt/ros/kinetic/share:/opt/ros/kinetic/stacks,則說明工作環(huán)境已經(jīng)建立。機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐四創(chuàng)建ROS功能包工作空間創(chuàng)建完成后,可以在工作空間下創(chuàng)建功能包。具體操作步驟如下:步驟1:新建功能包。使用以下命令在剛剛建立的工作空間中創(chuàng)建新的功能包:$cd~/catkin_ws/src$catkin_create_pkgexample1std_msgsroscpp其中example1為功能包的名稱,std_msgs為包含常見消息類型和其他基本消息構(gòu)造依賴,roscpp是用c++來實現(xiàn)ROS的各種功能。如果所有步驟執(zhí)行正確,將會得到如下所示的結(jié)果:創(chuàng)建功能包結(jié)果圖機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐四創(chuàng)建ROS功能包步驟2:編譯功能包。一旦創(chuàng)建了功能包,就可以在功能包下編寫代碼來實現(xiàn)各種功能。命令行如下:$cd~/catkin_ws$catkin_make如果編譯沒有錯誤,將會看到如下的畫面:創(chuàng)建功能包結(jié)果圖需要注意的是,編譯功能包時必須是在工作空間文件夾下運行catkin_make命令,如果在其他文件夾下這樣做,可能會生成錯誤的文件。機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐五使用ROS節(jié)點步驟1:安裝turtlesim功能包。如果已經(jīng)安裝完整版的ROS系統(tǒng),那么已經(jīng)有了turtlesim功能包,如果沒有安裝成功,可以用以下的命令行來進行安裝:$sudoapt-getinstallros-kinetic-turtlesim步驟2:運行節(jié)點管理器。安裝好turtlesim相關(guān)功能包,在開始使用節(jié)點之前,必須先運行節(jié)點管理器。命令行如下:$roscore機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐五使用ROS節(jié)點步驟3:啟動節(jié)點。運行主節(jié)點后,現(xiàn)在需要用rosrun命令啟動一個新的節(jié)點,打開一個新的終端,運行以下命令:$rosrunturtlesimturtlesim_node會看到一個新的窗口,在這個窗口中有一個小海龜,如下圖所示:tuetlesim_node運行結(jié)果示意機器人操作系統(tǒng)ROS的安裝與基本操作工程實踐五使用ROS節(jié)點步驟4:查看節(jié)點信息。通過rosnode工具來查看節(jié)點列表,會看到出現(xiàn)了一個

溫馨提示

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

評論

0/150

提交評論