在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

ROS基本介紹

jf_78858299 ? 來源:控制工程研習 ? 作者:C27 ? 2023-05-19 17:07 ? 次閱讀

近來找到的實習主要是做智能車控制,用到的也就是ROS機器人操作系統,ROS需要運行在一個操作系統上,這個操作系統常用的就是Linux,而公司用的就是Ubuntu,所以Ubuntu-ROS組合就是實習的主要學習內容了。所以我就新開了一個坑,網絡上ROS的資源很豐富,我在此只是用以分享學習筆記。

1. ROS基本介紹

ROS是主流的機器人操作系統

官方將ROS解釋為框架、工具、功能和社區。

ROS實際上相當于一個 軟件工具集 ,采用分布式框架,通信框架是其主要組成部分,可將多個單獨設計的進程(節點)組合起來并同時運行。

各節點可實現各種不同的功能,并通過ROS這一橋梁實現相互通信。這樣的特點使其拓展性好,復用率高,極大地提高了龐大和冗雜的機器人設計過程的效率。

ROS能給開發人員提供可視化界面工具,包含諸如Gazebo、Rviz等用于仿真和調試的基本工具,以及各種基礎程序包(控制、路徑、規劃等),只需在其上設計所要實現的特殊功能的部分并將它們組合起來即可。

2. 為什么選擇Ubuntu系統

軟件是機器人的核心。

機器人應用軟件需要運行在一個操作系統上, 該操作系統可以提供與機器人作動器和傳感器通信的功能 。基于Linux的操作系統在與底層硬件交互的過程中具有極大的靈活性,并且提供相關許可允許用戶根據機器人應用對其進行修改。在這種應用背景下,Ubuntu快速響應能力、輕量級屬性及高度安全性的優點得以展現。

當前,Ubuntu-ROS組合已成為機器人編程的一個理想選擇。

3. ROS框架

從根本上說,ROS是兩個程序或進程間通信的框架。

For example,如果程序A想要向程序B發送數據,并且程序B也想要向程序A發送數據,那么可以輕松地用ROS實現這項工作。

一個機器人可能有許多傳感器、作動器和計算單元。怎樣才能做到控制這么多作動器及這么多傳感器數據呢?我們可以只用一個程序完成這些嗎?這當然可以。但是這并不是一個好方法。

更好的解決方案是我們可以編寫多個獨立的程序來處理傳感器數據、向作動器發送控制指令,但是這就需要在這些程序之間進行數據交換,而這恰恰就是我們使用ROS的場景。

4. ROS中兩個程序之間的通信如何完成

兩個程序分別被標記為節點1和節點2。當程序啟動時,節點便會和名為ROS Master的ROS程序通信。節點將所有信息發給ROS Master,包括它發送和收到的消息類型、本節點路由信息等。發送信息的節點稱為發布節點(Publisher Nodes),接收信息的節點稱為訂閱節點(Subscriber Nodes)。ROS Master擁有在計算機上正在運行的所有發送節點和接收節點的信息。如果節點1發送某個名為A的數據,而節點2正好訂閱了該消息,那么ROS Master就向兩個節點廣播彼此的節點信息(注意:不是消息)以幫助它們建立連接,這樣兩個節點就可以互相通信了。

圖片

ROS節點可以彼此間互相傳送不同類型的數據,這些數據可以包含像整數、浮點數、字符串等這類簡單類型的數據。這些節點間相互傳遞的不同類型的數據稱為 ROS消息(Messages) 。有了ROS消息,我們就可以在節點之間傳遞各種類型的數據了。這些消息通過一種類似于數據總線或者路徑標識的媒介進行傳播,我們稱為ROS話題(Topics)。每一條話題都有自己的名字,比如一個可以傳輸字符串數據的名為“chatter”的話題。

如果一個ROS節點想通過話題廣播消息,那么它只需要給ROS話題發送消息即可,消息中就包含了消息的數據類型(所以不用另外告知topics 數據的類型)。

圖4-12中,節點1和節點2就是通過ROS話題發送和接受消息的。當ROS Master交換完兩個節點的信息之后,兩個節點間消息的發送和接收過程就開始了。

5. ROS中的一些名詞

ROS節點(Node) :使用ROS API進行運算的進程。

ROS主機(Master) :連接ROS節點的媒介程序。

** ROS參數服務器(Parameter Server)** :指通常與ROS Master一起運行的一個程序。使用者在此服務器上存儲不同的參數,所有的節點都可以訪問它,使用者可以設置參數的保密性。如果某個參數是公共的,那么所有節點都可以訪問;但如果某個參數具有私有屬性,那么只有特定的節點才可以訪問這個參數。

ROS話題(Topic) :即“總線”,ROS節點可以通過該總線發送或接收信息。一個節點可以發布或者接收任意數量的話題。

ROS消息(Message) :消息基本上都是通過話題傳送的。ROS含有許多內建的消息類型,當然使用者也可以定義他們自己的消息類型。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    211

    文章

    28455

    瀏覽量

    207263
  • 操作系統
    +關注

    關注

    37

    文章

    6836

    瀏覽量

    123360
  • Ubuntu
    +關注

    關注

    5

    文章

    563

    瀏覽量

    29824
  • ROS
    ROS
    +關注

    關注

    1

    文章

    278

    瀏覽量

    17022
收藏 人收藏

    評論

    相關推薦

    ROS與RPLIDAR結合使用說明及問題匯總

    的ROSpackage rplidar_ros介紹:rplidar_ros是國內第一款面向全球ROS開發者推出相應package的激光雷達,其低廉的價格大大推動了激光雷達在
    發表于 09-07 16:27

    ROS RIKIBOT基礎--使用系列 第一章節】ROS機器人硬件系統 精選資料分享

    ROS RIKIBOT基礎–使用系列】ROS機器人硬件介紹1.RIKIBOT機器人硬件介紹1.1硬件框架ROS機器人硬件 采用樹莓派和ST
    發表于 07-30 06:59

    ROS2的安裝與使用 精選資料推薦

    ros2的烏龜仿真turtlesim,介紹topic,service,action等元素及其使用,介紹ros的基本操作
    發表于 08-30 08:24

    什么是ROS?如何學習ROS

    什么是ROS?如何學習ROS
    發表于 11-11 07:21

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

    ROS 是 Robot Operating System 的縮寫,原本是斯坦福大學的一個機器人項目,后 來由 WillowGarage 公司發展,目前由 OSRF(Open Source
    發表于 09-13 17:23 ?14次下載
    <b class='flag-5'>ROS</b>是什么?機器人操作系統<b class='flag-5'>ROS</b>的<b class='flag-5'>介紹</b>

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

    為了說明講清楚 ROS,我就從 ROS 是什么,為什么使用 ROS,如何使用 ROS 三個方面展開。 △出自今年《機器人視覺與應用》課程本人制作的課件 是什么
    發表于 09-26 14:08 ?12次下載

    機器人操作系統入門課程講義資料免費下載

    ,受到了學術界和工業界的歡迎,如今已經廣泛應用于機械臂、移動底盤、無人機、無人車等許多種類的機器人上。本章介紹ROS的產生、發展、特點和安裝方法,帶給你一個簡單直觀的ROS介紹
    發表于 10-09 08:00 ?6次下載

    ros智能小車硬件介紹

    和ArduinoMega2560兩個版本,下面將分別為大家介紹不同板子的通信原理及使用方法。1.1樹莓派端ROS主節點Raspberry Pi(中文名為“樹莓派”,簡寫為RPi,(或者RasPi / RPI) 是為學習計算機編程教育而設計),只有信用卡大小的微型電腦,其
    發表于 12-07 14:36 ?16次下載
    <b class='flag-5'>ros</b>智能小車硬件<b class='flag-5'>介紹</b>

    ROS1的通信架構的基礎通信方式及相關概念

    ROS的通信架構是ROS的靈魂所在,它包括數據處理,進程運行,消息傳遞等** 。這篇文章主要介紹ROS1的通信架構的基礎通信方式和相關概念,因為RO
    的頭像 發表于 05-19 17:23 ?3468次閱讀
    <b class='flag-5'>ROS</b>1的通信架構的基礎通信方式及相關概念

    ROS/ROS 2 介紹

    ROS是機器人操作系統(Robot Operating System)的英文縮寫。ROS是用于編寫機器人軟件程序的一種具有高度靈活性的軟件架構。ROS的原型源自斯坦福大學的STanford
    的頭像 發表于 05-19 17:45 ?4347次閱讀
    <b class='flag-5'>ROS</b>/<b class='flag-5'>ROS</b> 2 <b class='flag-5'>介紹</b>

    Unity與ROS鏈接介紹

    對于ROS而言,其最常用的就是Topic話題以及Service兩個了。之前我們在了解Unity Robotics Hub時候就了解到基本的Unity和ROS的通訊,下面我們來詳細介紹一下Unity
    的頭像 發表于 11-17 17:22 ?1017次閱讀
    Unity與<b class='flag-5'>ROS</b>鏈接<b class='flag-5'>介紹</b>

    ROS核心框架介紹

    ROS核心框架 對于第一個問題,我也沒仔細研究過源碼,核心代碼基本由python和C++組成,運用了xmlrpc機制,每個運行的節點可以理解成一個進程。進程間通訊有些是共享內存的方式(比如
    的頭像 發表于 11-21 18:07 ?999次閱讀
    <b class='flag-5'>ROS</b>核心框架<b class='flag-5'>介紹</b>

    ros的基本概念是什么

    基本概念: ROS是一個用于在不同進程間匿名的發布、訂閱、傳遞信息的中間件。 ROS2系統的核心部分是ROS網絡(ROS Graph)。 ROS
    的頭像 發表于 11-27 11:21 ?1822次閱讀

    ROS通信接口機制介紹

    ROS通信接口 接口可以讓程序之間的依賴降低,便于我們使用別人的代碼,也方便別人使用我們的代碼,這就是ROS的核心目標,減少重復造輪子。 ROS有三種常用的通信機制,分別是話題、服務、動作,通過
    的頭像 發表于 12-01 15:03 ?860次閱讀
    <b class='flag-5'>ROS</b>通信接口機制<b class='flag-5'>介紹</b>

    ros怎么設置環境變量

    設置ROS環境變量是使用ROS的重要步驟之一。本文將詳細介紹如何設置ROS環境變量,包括什么是環境變量、為什么要設置ROS環境變量、如何設置
    的頭像 發表于 12-28 13:52 ?2081次閱讀
    主站蜘蛛池模板: 在线观看视频免费入口| 美女张开腿露出尿口让男人桶| 天天精品视频| 天天爽天天色| 欧美日日日| 成人在线一区二区三区| 78m-78模成视频在线| 欧美ol丝袜高跟秘书在线观看| 成人免费一区二区三区| 欧美精品高清在线xxxx| 性瘾高h姚蕊全文免费阅读| 高h细节肉爽文bl1v1| 亚洲人成人网毛片在线播放| 亚洲国产人成在线观看| 特黄特色三级在线观看| 欧美日韩亚洲色图| 国产亚洲3p一区二区三区| 操你啦在线视频| 视频在线精品| 中国特黄毛片| 亚洲成在人线影视天堂网| 三级免费观看| 狠狠狠色丁香婷婷综合久久88| a成人毛片免费观看| 色天天躁夜夜躁天干天干| 2021久久精品国产99国产| 日日碰狠狠添天天爽五月婷| 狠狠干狠狠插| 亚洲一二三区在线观看| 亚洲国产精品久久婷婷| 欧美在线精品一区二区三区| 国产美女在线精品免费观看| 手机在线看片福利| 六月丁香啪啪六月激情| 亚洲五月婷| 另类图片综合网| 午夜影院毛片| 欧美色穴| 亚在线| 精品卡1卡2卡三卡免费网站视频| 亚洲最新黄色网址|