ros第一天
AI is the new electricity
一,安裝
安裝步驟請移步https://www.ncnynl.com/archives/201801/2273.html IDE:https://github.com/TonyRobotics/RoboWare-Studio 復(fù)制代碼二,ROS的工程結(jié)構(gòu)
文件系統(tǒng)層級 復(fù)制代碼catkin
catkin是ROS定制的編譯構(gòu)建系統(tǒng),對CMake的擴展,其實就是一個文件夾,來組織和管理功能包的文件夾,以catkin工具編譯。rosbuild是舊的編譯系統(tǒng)。 src:package源代碼,package是編譯的基本單元,會遞歸查找每一個package。 復(fù)制代碼 build:cmake和catkin緩存和中間件 devel:目標文件catkin命令行
1.建立工作空間:mkdir -p ~/catkin_ws/src //必須要有src目錄cd ~/catkin_wscatkin_makesource ~/catkin_ws/devel/setup.bashecho "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc//編譯完成后要source刷新環(huán)境 復(fù)制代碼三,package的組成
簡介:package是ROS軟件的基本組織形式,catkin編譯的基本單元,一個package可以包含多個可執(zhí)行文件node。 package的特征:包含CMakeLists.txt和package.xml。 復(fù)制代碼CMakeLists.txt
規(guī)定catkin編譯的規(guī)則,源文件,依賴項,目標文件 cmake_minimum_required() #指定catkin最低版本 project() #指定軟件包的名稱 find_package() #指定編譯時需要的依賴項 add_message_files() #添加消息文件 add_service_files() #添加服務(wù)文件 add_action_files() #添加動作文件 generate_messages() #生成消息,服務(wù),動作 catkin_package() #指定catkin信息給編譯系統(tǒng)生成CMake文件 add_library() #指定生成庫文件 add_executable() #指定生成可執(zhí)行文件 target_link_libraries() #指定可執(zhí)行文件去鏈接哪些庫 catkin_add_gtest #添加測試單元 install() #生成可安裝目標 復(fù)制代碼package.xml
定義package的屬性,例如:包名,版本號,作者,依賴等。 <package> 根標簽<name> 包名<version> 版本號<description> 包描述<maintainer> 維護者<license> 軟件許可<buildtool_depend> 編譯工具 <build_depend> 編譯時的依賴<run_depend> 運行時的依賴 </package> 復(fù)制代碼manifest.xml
rosbuild編譯系統(tǒng)采用的包信息清單,類catkin的package.xml 復(fù)制代碼四,代碼文件
腳本(shell,python) C++(頭文件和源文件) 復(fù)制代碼文件夾說明
package/scripts:腳本文件 include/src :c++
自定義通訊格式
在package下也可以放些自定義的通格式文件.
消息(msg)
服務(wù)(srv)
動作(action)
launch以及yaml配置文件
在package下也可以放些launch以及yaml配置文件。
小伙伴還記得,在package里面可以有多個可執(zhí)行文件,如果我們要每個都運行起來要怎么辦呢?我們可以把多個可執(zhí)行文件組織到launch文件里面。launch文件的作用就是一次行執(zhí)行多個文件。 復(fù)制代碼常用指令
1,rospack
查找某個package的地址 $rospack find package_name列出本地所有package $rospack list 復(fù)制代碼2,roscd
跳轉(zhuǎn)到某個package路徑下 $roscd package_name 復(fù)制代碼3,rosls
列出某個package下的文件信息 $rosls package_name 復(fù)制代碼4,rosed
編輯package中的文件 $rosed package_name file_name 復(fù)制代碼5,catkin_create_pkg
創(chuàng)建包 $catkin_create_pkg package_name [deps] 復(fù)制代碼6,rosdep
安裝某個包的依賴 $rosdep install [pkg_name] 復(fù)制代碼轉(zhuǎn)載于:https://juejin.im/post/5d479b626fb9a06ada549703
總結(jié)
- 上一篇: MyEclipse 8.0 GA 初体验
- 下一篇: jvm 性能调优工具之 jstat