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