Notice: Undefined index: group_show in /www/wwwroot/gbsrobot.com/html/module/article/show.inc.php on line 4 无码人妻丰满熟妇区毛片蜜桃精品,你懂的在线观看视频,国产精品资源网站

国产午夜福利100集发布_日韩精品在线电影_日韩污视频在线观看_国产日韩精品一区二区浪潮av_国产91精品看黄网站在线观看_欧美极品少妇xxxxⅹ高跟鞋_国产欧美一区二区三区在线观看视频_韩国女主播一区二区三区_色婷婷精品久久二区二区蜜臀av_久色乳综合思思在线视频

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

ROS機器人操作系統(tǒng)詳解

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

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

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

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

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

1. ROS的性能特色

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

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

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

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

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

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

2. ROS的發(fā)行版本

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

ROS機器人操作系統(tǒng)詳解

▲圖1-1 ROS的主要版本

3. ROS的學習方法

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

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

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

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

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

ROS機器人操作系統(tǒng)詳解

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

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

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

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

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

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

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

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

2. 從文件系統(tǒng)視角理解ROS架構

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

ROS機器人操作系統(tǒng)詳解

▲圖1-4 ROS的文件系統(tǒng)結構

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

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

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

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

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

ROS機器人操作系統(tǒng)詳解

▲圖1-5 ROS的開源社區(qū)結構

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

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

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

咨詢電話

021-80392549

企業(yè)微信

天天色成人| 韩国三级视频网站| 亚洲第一色在线| 国产精品自拍一区| 人人干人人草| 成人免费高清视频| 青青久在线视频| 韩国三级香港三级日本三级| 成人av在线播放| 国产国语在线播放视频| 日韩中文字幕在线观看视频| 国产不卡在线观看视频| 韩国三级香港三级日本三级| 午夜在线观看视频免费 成人| 亚洲精品永久一区| 亚洲第一色在线| 亚欧成人乱码一区二区| 久草免费在线观看| 亚洲第一色在线| 精品在线视频播放| 九九免费高清在线观看视频| 青青青草视频在线观看| 91麻豆精品国产自产在线观看一区| 黄视频网站在线看| 色综合久久天天综合| 四虎精品在线观看| 欧美18性精品| 亚洲精品久久久中文字| 国产综合91天堂亚洲国产| 成人影视在线播放| 国产精品自拍一区| 91麻豆精品国产自产在线观看一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 可以免费看毛片的网站| 国产精品免费久久| 台湾毛片| 天天做人人爱夜夜爽2020毛片| 国产伦理精品| 日韩免费片| 青青久在线视频| 亚洲第一色在线| 欧美大片一区| 欧美激情影院| 国产视频一区二区三区四区 | 欧美激情伊人| 人人干人人草| 毛片成人永久免费视频| 色综合久久天天综合| 日韩专区亚洲综合久久| 国产极品白嫩美女在线观看看| 精品久久久久久免费影院| 一本伊大人香蕉高清在线观看| 国产网站免费视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美大片一区| 久久久久久久久综合影视网| 久草免费在线观看| 精品视频在线观看免费| 国产一区二区精品在线观看| 国产亚洲精品成人a在线| 国产视频一区二区三区四区 | 亚欧成人乱码一区二区| 午夜在线观看视频免费 成人| 亚洲女人国产香蕉久久精品| 二级片在线观看| 成人影院一区二区三区| 青青青草视频在线观看| 国产麻豆精品高清在线播放| 日韩免费片| 韩国三级视频网站| 欧美18性精品| 亚洲天堂一区二区三区四区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩在线观看免费完整版视频| 九九免费高清在线观看视频| 黄视频网站免费| 国产一区精品| 国产一区二区精品久久91| 毛片成人永久免费视频| 九九九网站| 国产不卡在线观看视频| 久久久久久久久综合影视网| 中文字幕Aⅴ资源网| 韩国三级视频网站| 黄色福利| 黄视频网站免费| 精品视频在线看| 韩国毛片免费大片| 一本伊大人香蕉高清在线观看| 天天色成人| 成人免费网站久久久| 久久精品大片| 精品久久久久久中文字幕一区 | 一本伊大人香蕉高清在线观看| 香蕉视频三级| 久久精品免视看国产成人2021| 成人影视在线播放| 精品国产亚一区二区三区| 欧美大片一区| 超级乱淫伦动漫| 亚州视频一区二区| 精品久久久久久中文字幕一区 | 中文字幕Aⅴ资源网| 欧美爱爱网| 久久久久久久久综合影视网| 欧美爱爱网| 精品视频在线看| 国产精品自拍一区| 黄视频网站免费| 精品在线视频播放| 人人干人人草| 国产伦精品一区二区三区在线观看| 黄视频网站免费| 国产高清在线精品一区a| 成人影视在线播放| 国产福利免费视频| 国产91精品系列在线观看| 日韩一级黄色片| 91麻豆精品国产自产在线观看一区| 青青青草视频在线观看| 日韩中文字幕在线观看视频| 日本在线播放一区| a级毛片免费观看网站| 国产综合91天堂亚洲国产| 日韩专区亚洲综合久久| 精品视频在线观看免费| 午夜欧美成人久久久久久| 成人高清视频在线观看| 国产成人精品综合久久久| 亚欧成人乱码一区二区| 91麻豆精品国产自产在线观看一区| 免费一级生活片| 欧美激情伊人| 国产a视频精品免费观看| 欧美激情伊人| 成人免费高清视频| 精品国产一区二区三区久| 精品视频在线观看免费| 久久成人亚洲| 日韩在线观看网站| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 亚洲精品永久一区| 国产国语在线播放视频| 国产网站免费视频| 国产伦理精品| 999久久66久6只有精品| 国产一区精品| a级毛片免费观看网站| 成人高清视频在线观看| 高清一级淫片a级中文字幕| 久久国产精品永久免费网站| 国产成人精品综合久久久| 国产高清在线精品一区a| 天天做人人爱夜夜爽2020毛片| 久久99这里只有精品国产| 国产不卡高清在线观看视频| 成人影院一区二区三区| 亚洲第一色在线| 国产极品白嫩美女在线观看看| 国产不卡高清在线观看视频| 成人av在线播放| 欧美激情伊人| 美女免费毛片| 久久国产精品永久免费网站| 黄视频网站在线看| 欧美激情伊人| 国产福利免费视频| 日韩男人天堂| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产伦精品一区二区三区在线观看| 人人干人人草| 国产亚洲精品成人a在线| 国产91丝袜在线播放0| 久久99这里只有精品国产| 九九九网站| 精品视频在线观看免费| 麻豆系列国产剧在线观看| 成人影视在线播放| 国产网站免费视频| 亚欧成人乱码一区二区| 国产综合91天堂亚洲国产| 国产a视频精品免费观看| 欧美爱爱网| 久草免费在线观看| 午夜在线观看视频免费 成人| 欧美另类videosbestsex| 一级女性全黄久久生活片| 亚欧成人乱码一区二区| 日韩在线观看免费完整版视频| 精品久久久久久免费影院| 四虎精品在线观看| 成人高清视频在线观看| 黄色免费三级| 毛片成人永久免费视频| 999久久66久6只有精品| 超级乱淫伦动漫| 超级乱淫伦动漫| 亚州视频一区二区| 成人影院一区二区三区| 久久99这里只有精品国产|