ROS學習記錄(四)————怎樣建立一個package包?


 

        功能包是什么?

      英文表述package,我可沒有在炫英文啊,我的英文很爛的,只是在提醒大家,在ROS系統中,這個詞使用的頻率非常之高,你必須記住它,要不就沒法正確的看懂信息。言歸正傳,package是什么呢?指的是一種特定的文件結構和文件夾組合。

       如何識別一個package呢?

      通俗點兒的方式,就是找manifest.xml文件,這本來就是一個用來描述package相關的各類信息的一個文檔,打開后可以看到包的名稱、依賴關系等,下圖就是一個manifest.xml的樣子。當然,是用xml格式編寫的,看不懂的xml的話,翻我另一篇博文就成了,如果一個文件夾下有這樣一個文件,那這個文件夾描述的就有百分之九十的可能是package,為什么是有可能呢?請耐心看我下文道來。

       建立package需要用到的幾個簡單指令

      第一個:

cd ~

    怎么樣?非常簡單吧!這條指令表示進入用戶在該系統的home目錄下,進行操作;如果你需要需要進入不同目錄下進行操作,也可以用這個指令,比如,我想要進入到home目錄下的一個叫catkin_ws的文件夾下的一個叫src文件夾下的一個叫做smartcar_description的文件夾里進行操作。

那我就可以:

就是通過這樣,來回的切換目標目錄的。

       第二個:roscreate-pkg [package_name] [depend1] [depend2] [depend3]

      這些依賴(depend)包括:std_msgs(包含了常見消息類型,表示基本數據類型和其他的消息構造)和rospy(一個ROS的純python客戶端庫),roscpp(一個ROS的純c++客戶端庫)

      說的這么枯燥,其實經常使用的格式就是:    

      roscreate-pkg  package的名字  std_msgs rospy roscpp,后邊的depend基本上不咋變。

      比如,建立一個輸入 roscreate-pkg  zeshou  std_msgs rospy roscpp

  

            第三個:

            rosmake

            用此命令來編譯功能包,如果你沒有編譯,或者說你沒有這步,就說明你這個package雖然形式上建立起來了,但實質上還沒有跟底層進行連接,這就是為什么我說有 manifest.xml但也有可能不是功能包,我在執行的時候就遇到了,只完成了roscreate-pkg,但沒rosmake,就死活用rospack 找不到,快懷疑人生了都,后來又試試了,有的時候,能找到,有的時候又找不到,見鬼了?——  ——(反正流程就是這)

             

            第四個:

            rospack  find  package_name

           這個的作用是用來查找目標的          

           該怎么建立一個package呢?

還不會啊,按上面四個代碼一個一個敲就行了。

選定文件夾->創建功能包roscreat-pkg->把新建的功能包編譯rosmake->查找一下試試rospack 

 

 

題外記:

為什么我創建的這個功能包取名叫zeshou呢?因為最近剛剛看到那個文那在一席演講,特別喜歡她創作的這個角色:澤壽!你喜歡嗎?

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM