ROS入門學習筆記(二)

2021-09-26 01:49:59 字數 1751 閱讀 3596

2.1 catkin工作空間與編譯系統

ros工程結構(檔案系統級):

層次1:

catkin工作空間=catkin+工作空間

catkin:ros定製的編以構建系統,對cmake的擴充套件,用來編譯ros程式

catkin工作空間:乙個資料夾,用來組織和管理功能包的資料夾,以catkin工具編譯

指令:catkin_make

建立工作空間:

$mkdir -p -/catkin_ws/src

$cd ~/catkin_ws/

$catkin_make

編譯:

$cd ~/catkin_ws/  #回到工作空間

$catkin_make

$source ~/catkin_ws/devel/setup.bash #編譯完成後的workspace重新整理到環境中去

層次2:

src資料夾:裡面有各種功能包(package)

2.2 package的組成

層次3:

package:ros軟體的基本組織形式,是catkin編譯的基本單元,乙個package可以包含多個可執行檔案(節點)

package最精簡結構:cmakelists.txt, package.xml

層次4:

cmakelists.txt:規定catkin編譯的規則,例如:原始檔、依賴項、目標檔案

(如果編譯出現問題多半和cmakelists.txt檔案或者依賴包有關)

package.xml:定義package的屬性,例如:包名、版本號、作者、依賴等

scripts資料夾:*.py、*.sh

include資料夾:*.h

src資料夾:*.cpp、*.py(可被其他包import的python檔案)

srv資料夾:*.srv

msg資料夾:*.msg

action資料夾:*.action

launc**件夾:launc**件(launch)

config資料夾:配置檔案(yaml)

launc**件:一次性執行多個可執行檔案

$rospack find [package_name]
列出本地所有pkg

$rospack list
2.roscd

跳轉到某個pkg路徑下

$roscd [package_name]
3.rosls

列舉某個pkg下的檔案資訊

$rosls [package_name]
4.rosed

編輯pkg中的檔案

$rosed [package_name] [file_name]
5.catkin_create_pkg

建立乙個pkg

$catkin_create_pkg [deps]
6.rosdep

安裝某個pkg所需的依賴

$rosdep install [pkg_name]
2.3 演示操作(跳過)

2.4 metapackage

metapackage:虛包無內容,依賴許多其他軟體包

ROS學習(一) ROS入門

注 主要是古月部落格學習過程中的記錄,其專欄為 ros robot operating system 是用於機械人的一種次級作業系統,可以提供硬體抽象描述 底層驅動程式管理 共用功能執行 程式間的訊息傳遞 程式發行包管理等功能。ros的設計目標是在機械人研發中提高 復用率,是一種分布式處理框架,可執...

ROS學習筆記 十一 ROS試用練習 二

六 如何使用主題與節點互動 要進行互動並獲得主題的資訊,可以使用rostopic工具 在terminal裡輸入 rostopic你將獲得如下輸出 commands rostopic bw display bandwidth used by topic rostopic delay display d...

ROS學習二 安裝ROS

執行備份命令 sudo cp etc apt sources.list etc apt sources.list.old 可以用vim,gedit,atom等工具開啟 sudo vim etc apt sources.list或 sudo gedit etc apt sources.list 或 你...