色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ROS操作系統學習筆記2

jf_78858299 ? 來源:機器人網 ? 作者:機器人網 ? 2023-05-19 17:21 ? 次閱讀

package 軟件包

package是catkin編譯的最小單元,我們調用catkin_make編譯的對象就是一個個package,所以package也是ROS源碼存放的地方。

一個package常見的結構有:

├── CMakeLists.txt #package的編譯規則(必須)
├── package.xml #package的描述信息(必須)
├── src/ #源代碼文件
├── include/ #C++頭文件
├── scripts/ #可執行腳本
├── msg/ #自定義消息
├── srv/ #自定義服務
├── models/ #3D模型文件
├── urdf/ #urdf文件
├── launch/ #launch文件

通常ROS文件組織都是按照以上的形式,這是約定俗成的命名習慣,建議遵守。以上路徑 只有 CMakeLists.txt 和 package.xml 是必須的,其余路徑根據軟件包是否需要來決定

package創建

創建package需要工作空間的src目錄下,使用catkin_create_pkg package depends

其中package 是包名,depends是依賴的包名(如roscpp、rospy、std_msgs)執行命令后會自動完成軟件包的初始化,并將依賴包按格式寫入CMakeList.txt、package.xml.

gaocancan@ubuntu:~/catkin_test/src$ catkin_create_pkg catkin_test_pkg roscpp rospy std_msg
Created file catkin_test_pkg/CMakeLists.txt
Created file catkin_test_pkg/package.xml
Created folder catkin_test_pkg/include/catkin_test_pkg
Created folder catkin_test_pkg/src
Successfully created files in /home/gaocancan/catkin_test/src/catkin_test_pkg. Please adjust the values in package.xml.
gaocancan@ubuntu:~/catkin_test/src$ tree
.
├── catkin_test_pkg
│   ├── CMakeLists.txt
│   ├── include
│   │   └── catkin_test_pkg
│   ├── package.xml
│   └── src
└── CMakeLists.txt -> /opt/ros/kinetic/share/catkin/cmake/toplevel.cmake

4 directories, 3 files
gaocancan@ubuntu:~/catkin_test/src$

常用ros 命令:

如果不指定 [package]默認為當前目錄

rospack list #列出本機所有package

rospack find [package] #定位某個package

rospack profile [package] #刷新所有package位置記錄

rospack depends [package] #顯示package依賴包

roscd [package] #打開package

rosls [package] #相當于ls

rosdep check [package] #檢查package依賴是否滿足

rosdep install [package] #安裝package的依賴

rosdep db #生成和顯示依賴數據庫

rosdep init #初始化/etc/ros/rosdep中的源

rosdep keys 檢查package的依賴是否滿足

rosdep update 更新本地的rosdep數據庫

  • cmakelists.txt、package.xml文件介紹

    CMakeList.txt指定源碼到目標文件的規則,該文件規定了package要依賴的包,編譯目標文件、編譯流程等。

    cmakelists.txt寫法:

cmake_minimum_required() #CMake的版本號
project() #項目名稱
find_package() #找到編譯需要的其他CMake/Catkin package
catkin_python_setup() #catkin新加宏,打開catkinPython Module的支持
add_message_files() #catkin新加宏,添加自定義Message/Service/Action文件
add_service_files()
add_action_files()
generate_message() #catkin新加宏,生成不同語言版本的msg/srv/action接口 --重要
catkin_package() #catkin新加宏,生成當前packagecmake配置,供依賴本包的其他軟件包調用 --重要
add_library() #生成庫
add_executable() #生成可執行二進制文件
add_dependencies() #定義目標文件依賴于其他目標文件,確保其他目標已被構建
target_link_libraries() #鏈接
catkin_add_gtest() #catkin新加宏,生成測試
install() #安裝至本機

語法推薦:https://github.com/Akagi201/learning-cmake/blob/master/docs/cmake-practice.pdf 。作者寫的很直白,掌握CMake語法可以加深理解ROS工程

package.xml 包含了package 的名稱、版本號、內容、編譯依賴、運行依賴等信息,實際上rospack find 、rosdep命令也是讀取該文件。

package.xml寫法:

package.xml有兩個版本,目前主流版本都支持。

版本一:

<pacakge> 根標記文件
<name> 包名
<version> 版本號
<description> 內容描述
<maintainer> 維護者
<license> 軟件許可證
<buildtool_depend> 編譯構建工具,通常為catkin --重要
<build_depend> 編譯依賴項,與Catkin中的  --總要
<run_depend> 運行依賴項  --重要

版本二:

<pacakge> 根標記文件
<name> 包名
<version> 版本號
<description> 內容描述
<maintainer> 維護者
<license> 軟件許可證
<buildtool_depend> 編譯構建工具,通常為catkin
#用depend來整合build_depend和run_depend
<depend> 指定依賴項為編譯、導出、運行需要的依賴,最常用 --重要
<build_depend> 編譯依賴項  --重要
<build_export_depend> 導出依賴項  --重要
#用depend來整合build_depend和run_depend
<exec_depend> 運行依賴項  --重要
<test_depend> 測試用例依賴項
<doc_depend> 文檔依賴項
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    211

    文章

    28445

    瀏覽量

    207204
  • 操作系統
    +關注

    關注

    37

    文章

    6834

    瀏覽量

    123344
  • ROS
    ROS
    +關注

    關注

    1

    文章

    278

    瀏覽量

    17018
收藏 人收藏

    評論

    相關推薦

    嵌入式Linux操作系統學習規劃,不看肯定后悔

    嵌入式Linux操作系統學習規劃,不看肯定后悔
    發表于 04-28 06:22

    探討嵌入式操作系統

    嵌入式操作系統學習筆記
    發表于 10-27 06:56

    嵌入式Linux操作系統學習規劃

    嵌入式Linux操作系統學習規劃ARM+LINUX路線,主攻嵌入式Linux操作系統及其上應用軟件開發目標:(1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9)(2) 必須掌握一個嵌入式
    發表于 11-05 06:45

    UCOSII操作系統的簡介

    前言這是我將UCOSII操作系統移植在STM32單片機上后進行UCOSII操作系統學習的一些筆記與理解,此文最后會附上我自己在UCOSII操作系統下使用STM32寫
    發表于 01-12 06:00

    ROS是什么?機器人操作系統ROS的介紹

    Robotics Foundation,Inc) 公司維護的開源項目。 1、首先是一個操作系統 根據 wikipedia 定義,操作系統是用來管理計算機硬件與軟件資源,并提供一些公用的 服務的系統軟件。而
    發表于 09-13 17:23 ?14次下載
    <b class='flag-5'>ROS</b>是什么?機器人<b class='flag-5'>操作系統</b><b class='flag-5'>ROS</b>的介紹

    ROS的含義與機器人操作系統ROS的介紹

    Operating System 的縮寫,原本是斯坦福大學的一個機器人項目,后來由 WillowGarage 公司發展,目前由 OSRF(Open Source Robotics Foundation,Inc)公司維護的開源項目。 1、首先是一個操作系統 根據 wikipedia 定義,
    發表于 09-26 14:08 ?12次下載

    機器人操作系統ROS詳細介紹

    ),提供類似于操作系統的服務,包括硬件抽象描述、底層驅動程序管理、共用功能的執行、程序間消息傳遞、程序發行包管理,它也提供一些工具和庫用于獲取、建立、編寫和執行多機融合的程序。 ROS的運行架構是一種使用ROS通信模塊實現模塊間
    發表于 11-18 18:09 ?2390次閱讀

    嵌入式操作系統學習筆記

    嵌入式操作系統學習筆記
    發表于 10-20 13:51 ?3次下載
    嵌入式<b class='flag-5'>操作系統學習</b><b class='flag-5'>筆記</b>

    嵌入式系統學習筆記

    嵌入式系統學習筆記https://app.yinxiang.com/fx/97dd59b5-21f1-470c-969c-d3509ee38fce
    發表于 10-20 19:50 ?0次下載
    嵌入式<b class='flag-5'>系統學習</b><b class='flag-5'>筆記</b>

    51操作系統學習筆記(三):建立一個屬于自己的AVR的RTOS(1)

    這篇筆記雖然是“51操作系統學習筆記”,但沒有找到合適的代碼。用楊明記的感覺還有點難度。因而轉學《建立一個屬于自己的AVR的RTOS》這篇文章絕對是學操作系統入門經典之作。經典之處在于
    發表于 11-15 18:36 ?9次下載
    51<b class='flag-5'>操作系統學習</b><b class='flag-5'>筆記</b>(三):建立一個屬于自己的AVR的RTOS(1)

    51操作系統學習筆記(四):建立一個屬于自己的AVR的RTOS(2)

    承接51操作系統學習筆記(三):建立一個屬于自己的AVR的RTOS(1),在avr中調試一下下面的程序.為了加深學習應用,決定把代碼全部輸一遍,比復制的學些效果應該好一些吧。打開Avr studio
    發表于 11-15 21:06 ?7次下載
    51<b class='flag-5'>操作系統學習</b><b class='flag-5'>筆記</b>(四):建立一個屬于自己的AVR的RTOS(<b class='flag-5'>2</b>)

    ROS基本介紹

    近來找到的實習主要是做智能車控制,用到的也就是ROS機器人操作系統ROS需要運行在一個操作系統上,這個操作系統常用的就是Linux,而公司
    的頭像 發表于 05-19 17:07 ?7420次閱讀
    <b class='flag-5'>ROS</b>基本介紹

    ROS操作系統學習筆記1

    機器人操作系統(Robot operating system ,ROS)是一個應用于機器人上的基礎框架,它把原本松散的零部件耦合在一起,提供通信的架構,近似上ROS是一個中間件。 ros
    的頭像 發表于 05-19 17:20 ?791次閱讀
    <b class='flag-5'>ROS</b><b class='flag-5'>操作系統學習</b><b class='flag-5'>筆記</b>1

    ROS操作系統學習筆記3

    摘要:這篇文章主要介紹ROS常用工具、ROSPY和ROSCPP常用模塊,完全看完三篇文章,可以說ROS就基本入門,可以自己動手做實驗了。 **ROS常用工具** ROS工具
    的頭像 發表于 05-19 17:37 ?1013次閱讀
    <b class='flag-5'>ROS</b><b class='flag-5'>操作系統學習</b><b class='flag-5'>筆記</b>3

    ROS操作系統學習筆記4

    摘要:這篇文章主要介紹ROS常用工具、ROSPY和ROSCPP常用模塊,完全看完三篇文章,可以說ROS就基本入門,可以自己動手做實驗了。 **ROS常用工具** ROS工具
    的頭像 發表于 05-19 17:37 ?711次閱讀
    主站蜘蛛池模板: 香港论理午夜电影网| 嫩小幼处在线| 久久亚洲免费视频| 小萝ar视频网站| qvod 在线| 玛雅成人网| 伊人久久大香线蕉综合色啪| 国产全肉乱妇杂乱视频| 色偷偷影院| 高h浪荡文辣文神奇宝贝| 欧美亚洲日韩自拍高清中文| 97色伦97色伦国产| 伦理片在线线249| 中文成人在线视频| 久久一级片| 91久久偷偷做嫩草影院免费看| 久久久久久电影| 中文字幕无线手机在线| 另类欧美尿交| 67194线在线精品观看| 男人插曲女人下生免费大全| AV天堂午夜精品蜜臀AV| 欧美一级久久久久久久久大| yellow片高清视频免费看| ai换脸在线全集观看| 年轻的搜子8中字在线观看| china男士同性视频tv| 肉多的小说腐小说| 国产三级在线观看免费| 亚洲一卡二卡三卡四卡无卡麻豆 | 真人裸交有声性动态图| 麻花传媒XK在线观看| 办公室里做好紧好爽H| 三级黄.色| 黄色888| 中国老太性色xxxxxhd| 麒麟色欧美影院在线播放| 国产av免费观看日本| 亚洲免费在线观看| 免费精品国偷自产在线| 城中村快餐嫖老妇对白|