Notice: Undefined index: group_show in /www/wwwroot/gbsrobot.com/html/module/article/show.inc.php on line 4 国产精品成人av,国产片一区二区三区,亚洲一区二区三区

日韩加勒比系列_啪啪av大全导航福利综合导航_九色视频网站在线观看_欧美成人精品三级在线观看

當前位置: 首頁 » 行業資訊 » 更多機器人資訊 » 正文

ROS機器人操作系統詳解

放大字體  縮小字體 發布日期:2022-01-17  來源:51cto  作者:張虎  瀏覽次數:1755
核心提示:可能很多初學者聽到機器人操作系統,就被“操作系統”幾個字嚇住了。其實簡單點說,ROS就是一個分布式的通信框架,幫助程序進程之

可能很多初學者聽到機器人操作系統,就被“操作系統”幾個字嚇住了。其實簡單點說,ROS就是一個分布式的通信框架,幫助程序進程之間更方便地通信。

一個機器人通常包含多個部件,每個部件都有配套的控制程序,以實現機器人的運動與視聽功能等。那么要協調一個機器人中的這些部件,或者協調由多個機器人組成的機器人集群,怎么辦呢?這時就需要讓分散的部件能夠互相通信,在多機器人集群中,這些分散的部件還分散在不同的機器人上。解決這種分布式通信問題正是ROS的設計初衷。

隨著越來越多的人參與ROS開發及源碼貢獻,社區涌現出大量的第三方工具和實用開源軟件包,使ROS變成現在的樣子。

一個經常讓初學者困惑的地方是,學會了ROS就是學會機器人開發了嗎?當然不是,嚴格意義上講ROS只是一套通信框架而已,機器人中的各種算法和應用程序依然是用C++、Python等常見編程語言進行開發的。

1. ROS的性能特色

在正式學習ROS之前,先介紹ROS的幾個特性,即元操作系統、分布式通信機制、松耦合軟件框架、豐富的開源功能庫等,來幫大家建立一些感性的認識。

ROS是一個機器人領域的元操作系統。也就是說,它并不是真正意義上的操作系統,其底層的任務調度、編譯、設備驅動等還是由它的原生操作系統Ubuntu Linux完成。

ROS實際上是運行在Ubuntu Linux上的亞操作系統,或者說軟件框架,但提供硬件抽象、函數調用、進程管理這些類似操作系統的功能,也提供用于獲取、編譯、跨平臺的函數和工具。

ROS的核心思想就是將機器人的軟件功能做成一個個節點,節點之間通過互相發送消息進行溝通。這些節點可以部署在同一臺主機上,也可以部署在不同主機上,甚至還可以部署在互聯網上。ROS網絡通信機制中的主節點(master)負責對網絡中各個節點之間的通信過程進行管理調度,同時提供一個用于配置網絡中全局參數的服務。

ROS是松耦合軟件框架,利用分布式通信機制實現節點間的進程通信。ROS的軟件代碼以松耦合方式組織,開發過程靈活,管理維護方便。

ROS具有豐富的開源功能庫。ROS是基于BSD(Berkeley Software Distribution,伯克利軟件發行)協議的開源軟件,允許任何人修改、重用、重發布以及在商業和閉源產品中使用,使用ROS能夠快捷地搭建自己的機器人原型。

2. ROS的發行版本

與Linux發行版類似,ROS發行版內置了一系列常用功能包,即將ROS系統打包安裝到原生系統中。ROS最初是基于Ubuntu系統開發的,ROS的發行版本名稱也和Ubuntu采用了同樣的規則,即版本名稱由兩個相同首字母的英文單詞組成,版本首字母按字母表遞增順序選取,圖1-1展示了ROS的一些主要版本。

ROS機器人操作系統詳解

▲圖1-1 ROS的主要版本

3. ROS的學習方法

要想學好以及用好ROS,需要進行大量的實踐操作。因此在快速了解ROS的核心概念和編程范式后,就要結合大量的實際項目來深入理解ROS。學會用正確的方式解決問題,能幫你更快地提高能力。ROS的學習資源主要有以下幾個。

官網:www.ros.org 源碼:github.com Wiki:wiki.ros.org 問答:answers.ros.org 二ROS系統架構

安裝完ROS后,很多朋友應該迫不及待想立馬開始寫程序。由于ROS的架構比較復雜,為了后面容易理解遇到的各種概念,這里先討論一下ROS的系統架構,好讓大家對ROS中的各種概念有全面性把控。按照官方的說法,可以分別從計算圖、文件系統和開源社區視角來理解ROS架構。

1. 從計算圖視角理解ROS架構

ROS中可執行程序的基本單位叫節點(node),節點之間通過消息機制進行通信,這樣就組成了一張網狀圖,也叫計算圖,如圖1-3所示。

ROS機器人操作系統詳解

▲圖1-3 ROS的計算圖結構

節點是可執行程序,通常也叫進程。ROS功能包中創建的每個可執行程序在被啟動加載到系統進程中后,就是一個ROS節點,如圖1-3中的節點1、節點2、節點3等。

節點之間通過收發消息進行通信,消息收發機制分為話題(topic)、服務(service)和動作(action)三種,如圖1-3中的節點2與節點3、節點2與節點5采用話題通信,節點2與節點4采用服務通信,節點1與節點2采用動作通信。計算圖中的節點、話題、服務、動作都要有唯一名稱作為標識。

ROS利用節點將代碼和功能解耦,提高了系統的容錯性和可維護性。所以最好讓每個節點都具有特定的單一功能,而不是創建一個包羅萬象的龐大節點。如果用C++編寫節點,需要用到ROS提供的roscpp庫;如果用Python編寫節點,需要用到ROS提供的rospy庫。

消息是構成計算圖的關鍵,包括消息機制和消息類型兩部分。消息機制有話題、服務和動作三種,每種消息機制中傳遞的數據都具有特定的數據類型(即消息類型),消息類型可分為話題消息類型、服務消息類型和動作消息類型。消息機制和消息類型將在1.5節中展開講解。

數據包(rosbag)是ROS中專門用來保存和回放話題中數據的文件,可以將一些難以收集的傳感器數據用數據包錄制下來,然后反復回放來進行算法性能調試。

參數服務器能夠為整個ROS網絡中的節點提供便于修改的參數。參數可以認為是節點中可供外部修改的全局變量,有靜態參數和動態參數。靜態參數一般用于在節點啟動時設置節點工作模式;動態參數可以用于在節點運行時動態配置節點或改變節點工作狀態,比如電機控制節點里的PID控制參數。

主節點負責各個節點之間通信過程的調度管理。因此主節點必須要最先啟動,可以通過roscore命令啟動。

2. 從文件系統視角理解ROS架構

ROS程序的不同組件要放在不同的文件夾中,這些文件夾根據不同的功能對文件進行組織,這就是ROS的文件系統結構,如圖1-4所示。

ROS機器人操作系統詳解

▲圖1-4 ROS的文件系統結構

工作空間是一個包含功能包、編譯包和編譯后可執行文件的文件夾,用戶可以根據自己的需要創建多個工作空間,在每個工作空間中開發不同用途的功能包。在圖1-4中,我們創建了一個名為catkin_ws的工作空間,其中包含src、build和devel三個文件夾。

src文件夾放置各個功能包和配置功能包的CMake配置文件CMakeLists.txt。這里說明一下,由于ROS中的源碼采用catkin工具進行編譯,而catkin工具又基于CMake技術,所以我們在src源文件空間和各個功能包中都會見到一個CMake配置文件CMakeLists.txt,這個文件起到配置編譯的作用。 build文件夾放置編譯CMake和catkin功能包時產生的緩存、配置、中間文件等。 devel文件夾放置編譯好的可執行程序,這些可執行程序是不需要安裝就能直接運行的。一旦功能包源碼編譯和測試通過后,可以將這些編譯好的可執行文件直接導出與其他開發人員分享。

功能包是ROS中軟件組織的基本形式,具有創建ROS程序的最小結構和最少內容,它包含ROS節點源碼、腳本、配置文件等。

CMakeLists.txt是功能包配置文件,用于編譯Cmake功能包編譯時的編譯配置。 package.xml是功能包清單文件,用xml的標簽格式標記該功能包的各類相關信息,比如包的名稱、開發者信息、依賴關系等,主要是為了使功能包的安裝和分發更容易。 include/ 是功能包頭文件目錄,可以把功能包程序中包含的*.h頭文件放在這里。include目錄之所以還要加一級路徑 是為了更好地區分自己定義的頭文件和系統標準頭文件, 用實際功能包的名稱替代。不過這個文件夾不是必要項,比如有些程序沒有頭文件。 msg、srv和action這三個文件夾分別用于存放非標準話題消息、服務消息和動作消息的定義文件。ROS支持用戶自定義消息通信過程中使用的消息類型。這些自定義消息不是必要的,比如程序只使用標準消息類型。 scripts目錄存放Bash、Python等腳本文件,為非必要項。 launch目錄存放節點的啟動文件,*.launch文件用于啟動一個或多個節點,在含有多個節點的大型項目中很有用,為非必要項。 src目錄存放功能包節點所對應的源代碼,一個功能包中可以有多個節點程序來完成不同的功能,每個節點程序都可以單獨運行。這里src目錄存放的是這些節點程序的源代碼,你可以按需創建文件夾和文件來組織源代碼,源代碼可以用C++、Python等編寫。 3. 從開源社區視角理解ROS架構

ROS是開源軟件,各個獨立的網絡社區分享和貢獻軟件及教程,形成了強大的ROS開源社區,如圖1-5所示。

ROS機器人操作系統詳解

▲圖1-5 ROS的開源社區結構

ROS的發展依賴于開源和共享的軟件,這些代碼由不同的機構共享和發布,比如GitHub源碼共享、Ubuntu軟件倉庫發布、第三方庫等。ROS的官方wiki是重要的文檔討論社區,在里面可以很方便地發布與修改相應的文檔頁面。ROS的answer主頁里有大量ROS開發者的提問和回答,對ROS開發中遇到的各種問題的討論很活躍。

 
工博士智能制造網凡資訊來源注明為其他媒體來源的信息,均為轉載自其他媒體,并不代表本網站贊同其觀點,也不代表本網站對其真實性負責。您若對該文章內容有任何疑問或質疑,請立即與我們聯系,本網站將迅速給您回應并做處理。
聯系電話:021-31666777
新聞、技術文章投稿QQ:3267146135  投稿郵箱:syy@gongboshi.com
關鍵詞: ROS 機器人 操作系統
 
[ 行業資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規舉報 ]  [ 關閉窗口 ]

 
Notice: Undefined index: comment_module in /www/wwwroot/gbsrobot.com/html/file/cache/tpl/default/chip/comment.php on line 1
 
推薦圖文
推薦行業資訊
點擊排行
 
首頁 | 店鋪 | 產品中心 | 工博士培訓 | 資料下載 | 方案案例 | 機器人選型 | 會員注冊 | 關于我們 | 聲明 | 合作客戶 | 聯系方式 | 網站留言| 網站地圖

咨詢電話

021-80392549

企業微信

日韩加勒比系列_啪啪av大全导航福利综合导航_九色视频网站在线观看_欧美成人精品三级在线观看

        国产精品不卡视频| 一区二区三区精密机械公司| 国产精品初高中害羞小美女文| 美女一区二区视频| 欧美日韩一区不卡| 亚洲国产精品尤物yw在线观看| 91在线小视频| 亚洲精品五月天| 91蜜桃免费观看视频| 91影院在线免费观看| 国产精品一区二区三区乱码| 5858s免费视频成人| 日韩国产高清在线| 欧美高清性hdvideosex| 天堂久久久久va久久久久| 欧美日韩1234| 久色婷婷小香蕉久久| 久久新电视剧免费观看| 成人妖精视频yjsp地址| 久久精品日韩一区二区三区| 国产成人精品免费一区二区| 国产精品网站在线观看| 色综合天天综合给合国产| 一区二区三区四区亚洲| 欧美精品123区| 激情深爱一区二区| 亚洲国产精品av| 欧美亚洲免费在线一区| 日本视频一区二区三区| 久久人人超碰精品| 99视频在线精品| 偷拍日韩校园综合在线| 日韩欧美一区中文| 国产成人av电影在线观看| 18成人在线观看| 5566中文字幕一区二区电影| 国产乱子伦视频一区二区三区| 国产精品狼人久久影院观看方式| 欧美性做爰猛烈叫床潮| 国模娜娜一区二区三区| 亚洲欧洲中文日韩久久av乱码| 5月丁香婷婷综合| 成人免费的视频| 日本欧美一区二区| 中文字幕av一区二区三区免费看| 在线观看不卡一区| 粉嫩嫩av羞羞动漫久久久 | 成人少妇影院yyyy| 亚洲成人免费av| 1024成人网色www| 久久综合色综合88| 欧美乱妇20p| 色香色香欲天天天影视综合网| 夜夜亚洲天天久久| 久久久久久夜精品精品免费| 在线观看国产91| 成人av网站大全| 国产一区二区三区免费观看| 亚洲成人动漫一区| 亚洲男人都懂的| 国产精品女人毛片| 亚洲精品一区二区三区精华液 | 在线观看国产日韩| hitomi一区二区三区精品| 精品一区二区三区蜜桃| 奇米一区二区三区av| 五月综合激情网| 午夜不卡av在线| 三级久久三级久久久| 久久先锋影音av| 国产成人免费视频网站| 亚洲国产精品久久人人爱| 亚洲欧美偷拍卡通变态| 中文字幕一区二区5566日韩| 国产精品成人在线观看| 成人欧美一区二区三区黑人麻豆 | 精品国产免费久久| 欧美r级电影在线观看| 欧美一级理论性理论a| 91精品国产91久久久久久最新毛片 | 福利一区在线观看| 成人在线视频首页| 99v久久综合狠狠综合久久| 波多野结衣欧美| 色欧美片视频在线观看| 91伊人久久大香线蕉| 欧美系列一区二区| 91精品国产91热久久久做人人| 欧美一级爆毛片| 久久久久久久久久久久久久久99| 久久中文娱乐网| 亚洲人成在线播放网站岛国| 亚洲综合偷拍欧美一区色| 日韩中文欧美在线| 国产精品亚洲午夜一区二区三区 | 美女视频黄频大全不卡视频在线播放 | 欧美一级在线免费| 久久综合久色欧美综合狠狠| 欧美国产在线观看| 亚洲国产色一区| 久久国产精品一区二区| 成人av网址在线| 欧美日韩在线播放三区四区| 久久亚洲免费视频| 亚洲男同性视频| 狠狠色狠狠色综合| 色综合 综合色| 精品欧美黑人一区二区三区| 中文字幕一区二区在线播放| 日韩中文字幕麻豆| 99久久国产综合精品麻豆| 日韩欧美中文字幕公布| 亚洲制服丝袜一区| 国产精品18久久久久久久久 | 日韩一区二区在线免费观看| 国产精品免费av| 极品美女销魂一区二区三区免费| 色婷婷综合久久久久中文| 精品欧美一区二区久久| 午夜精品一区二区三区电影天堂| 国产·精品毛片| 日韩精品一区二区三区四区视频| 亚洲精品高清在线| 国产suv精品一区二区三区| 欧美日韩国产大片| 久久精品视频在线免费观看| 91尤物视频在线观看| 5566中文字幕一区二区电影| 国产精品家庭影院| 国产精品白丝jk白祙喷水网站| 日韩一区二区三区四区| 亚洲一区二区三区爽爽爽爽爽| 不卡高清视频专区| 中文一区在线播放| 高清不卡在线观看| 国产精品乱人伦中文| 国产盗摄女厕一区二区三区| 精品福利一二区| 国产麻豆午夜三级精品| 精品动漫一区二区三区在线观看| 蜜桃视频一区二区| 日韩欧美二区三区| 精品亚洲国内自在自线福利| 欧美精品日韩综合在线| 亚洲图片欧美综合| 欧美日韩免费电影| 日韩福利视频网| 精品少妇一区二区三区| 国产一区二区三区蝌蚪| 欧美激情在线看| 91丨九色丨黑人外教| 亚洲精品成人少妇| 欧美美女喷水视频| 精品中文字幕一区二区小辣椒| 精品精品欲导航| 不卡的电影网站| 亚洲一区二区在线观看视频| 在线电影一区二区三区| 国产成人精品1024| 亚洲欧美另类久久久精品2019| 欧美三级资源在线| 捆绑紧缚一区二区三区视频| 国产精品美女www爽爽爽| 欧美写真视频网站| 国产精品一区二区不卡| 亚洲精选视频在线| 日韩美女一区二区三区四区| 成人综合在线观看| 亚洲国产你懂的| 中文字幕精品综合| 欧美精品一二三四| 99视频超级精品| 九九九久久久精品| 亚洲自拍另类综合| 日本一区二区免费在线观看视频| 在线一区二区三区| 国产成人日日夜夜| 日本v片在线高清不卡在线观看| 国产精品不卡在线观看| 欧美成人精品福利| 在线亚洲免费视频| 懂色av一区二区在线播放| 奇米影视一区二区三区| 亚洲一区二三区| 一区在线中文字幕| 久久精品视频在线看| 日韩一区国产二区欧美三区| 欧美亚洲动漫精品| 99久久99久久久精品齐齐| 国产精品996| 国内久久精品视频| 麻豆精品久久久| 日本va欧美va精品| 日韩激情一区二区| 天天影视色香欲综合网老头| 亚洲自拍另类综合| 亚洲女与黑人做爰| 亚洲区小说区图片区qvod| 1000精品久久久久久久久| 国产精品人人做人人爽人人添|