【AI前沿動態】Lyft Level 5公開號稱史上最大的公共數據集
750
2025-04-11
2.3catkin創建系統
catkin是ROS的編譯與構建系統,用來生成可執行文件、庫和接口。首先進入工作區:
cd ~/catkin_ws
創建一個ROS包,其中depend是依賴庫的名字:
catkin_create_pkg package_name depend1 depend2 depend3
每當創建完一個新包,編譯之后都需要使用如下source命令更新環境:
source devel/setupbash
2.4ROS中的項目組織結構
ROS軟件使用包(package)進行組織,通常包含以下內容:
◆ ?? /src:源代碼。
◆ ?? /msg:定義各種message文件。
◆ ?? /srv:定義各種service文件。
◆ ?? /launch:包含用于啟動節點的launch文件。
◆ ?? /config:包含配置文件,加載一些動態配置參數等。
◆ ?? /test: ROS測試文件。
◆ ?? /include/_package_name_: C++頭文件。
◆ ?? /doc:包含文檔文件。
◆ ?? packagexml: 編譯、運行、版權等信息。
◆ ?? CMakeListstxt: CMakefile構建文件。
1 packagexml
在這個例子中,我們使用了roscpp的客戶端庫,同時使用了一個sensor_msgs消息。
2 CMakeListstxt
CMakeListstxt文件是CMake構建系統的輸入,在這里我們不會詳細討論CMake的寫法(因為它本身可以很復雜),只需大致熟悉一下常用的CMake語法:
◆ ?? cmake_minimum_required:需要的CMake最低版本。
◆ ?? project():包的名稱。
◆ ?? find_package():查找構建時需要的其他CMake/catkin包。
◆ ?? add_message_files()/ add_service_files()/add_action_files():生成Message/Service/Action。
◆ ?? generate_messages():調用消息生成。
◆ ?? catkin_package():指定包的構建信息。
◆ ?? add_library()/add_executable()/target_link_libraries():添加用于構建的庫、可執行代碼和目標鏈接庫。
◆ ?? install():安裝規則。
自動駕駛
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。