日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ros第一天

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的ros第一天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。