Notice: Undefined index: group_show in /www/wwwroot/gbsrobot.com/html/module/article/show.inc.php on line 4 中文字幕乱码在线人视频,亚洲AV无码片久久精品,免费观看a级片

91精品观看,99热精品久久,精品久久久久久久久久久久久久,亚洲一区二区三区在线观看网站

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

ROS機器人操作系統詳解

放大字體  縮小字體 發布日期:2022-01-17  來源:51cto  作者:張虎  瀏覽次數:1751
核心提示:可能很多初學者聽到機器人操作系統,就被“操作系統”幾個字嚇住了。其實簡單點說,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

企業微信

91精品观看,99热精品久久,精品久久久久久久久久久久久久,亚洲一区二区三区在线观看网站
国产精品无码在线| aaaaaav| 男男做爰猛烈叫床爽爽小说| 亚洲激情图片网| 国产熟妇搡bbbb搡bbbb| 中文视频在线观看| 亚洲成人精品在线播放| 四川一级毛毛片| 国产色无码精品视频国产| 成人做爰69片免网站| 中文字幕第24页| 天美传媒免费在线观看| 污软件在线观看| 岛国毛片在线观看| 中文字幕无人区二| 一起草在线视频| 中字幕一区二区三区乱码| 谁有免费的黄色网址| 国产又粗又硬视频| jizz亚洲少妇| 三级电影在线看| 俄罗斯毛片基地| 欧美一级特黄高清视频| 在线观看免费看片| 魔女鞋交玉足榨精调教| 日本激情视频一区二区三区| 69久久精品无码一区二区 | 国模无码视频一区| 久久丫精品国产亚洲av不卡| 青娱乐国产视频| 图片区偷拍区小说区| 国产jjizz一区二区三区视频| 日本裸体美女视频| 无码人妻精品一区二区三区温州| 女性裸体视频网站| 黄免费在线观看| 精品人妻一区二区免费视频| 欧美爱爱免费视频| 男人天堂av电影| 在线观看免费视频国产| 在线观看免费黄色网址| 亚欧洲乱码视频| 国产人成视频在线观看| 日本福利片在线观看| 无码少妇一区二区| 日韩精品无码一区二区三区久久久 | a天堂视频在线观看| 制服丨自拍丨欧美丨动漫丨| 久久久久久久无码| 日韩免费高清一区二区| 日本wwwxx| 原创真实夫妻啪啪av| 日本成人精品视频| 午夜激情福利电影| 东方av正在进入| 国产在线一卡二卡| 黄色a级片在线观看| 精品伦精品一区二区三区视频密桃| 无套内谢大学处破女www小说| 中文字幕乱码一区| 国产精品第七页| 捆绑凌虐一区二区三区| 国模无码视频一区| 91精品国产自产| 久久精品国产亚洲AV熟女| 少妇久久久久久久久久| a天堂中文字幕| 激情高潮到大叫狂喷水| 亚洲熟女www一区二区三区| 亚洲丝袜在线观看| 37p粉嫩大胆色噜噜噜| 蜜桃传媒一区二区亚洲| 奇米网一区二区| 欧美丰满熟妇bbbbbb| 这里只有精品在线观看视频| 三级网站在线免费观看| 毛片aaaaaa| 五月婷婷一区二区| 人人妻人人藻人人爽欧美一区| 337人体粉嫩噜噜噜| av av在线| avhd101老司机| xxxwww国产| 美国精品一区二区| 国产午夜在线一区二区三区| 国产99在线 | 亚洲| 欧美xxxx日本和非洲| 成人片黄网站色大片免费毛片| 后入内射无码人妻一区| 精品熟女一区二区三区| 貂蝉被到爽流白浆在线观看| 无码人妻丰满熟妇区毛片蜜桃精品| 亚洲av无码一区二区三区网址| 网爆门在线观看| 欧美xxxxx精品| 精品国产aⅴ一区二区三区东京热 久久久久99人妻一区二区三区 | 国产小视频你懂的| 大尺度做爰床戏呻吟舒畅| 日本精品人妻无码77777| 免费看的黄色网| 中文字幕无码人妻少妇免费| 亚洲av无码一区二区三区在线| 91精品人妻一区二区| www.555国产精品免费| 丰满少妇一区二区三区专区 | 国产一级二级在线观看| 三上悠亚 电影| www.av成人| 国产午夜精品理论片在线| 蜜桃传媒一区二区亚洲| av男人的天堂av| 免费黄色在线视频| 亚欧洲乱码视频| 国产精品美女高潮无套| 日韩精品无码一区二区三区久久久 | 国产福利短视频| 日本一区二区在线观看视频| www.av成人| 久久发布国产伦子伦精品| 在线成人精品视频| 久久久久99人妻一区二区三区| 99热精品免费| 无码国产精品久久一区免费| 久久久久无码国产精品一区李宗瑞| 日韩女优一区二区| 国产人妻黑人一区二区三区| 国产草草浮力影院| 熟女俱乐部一区二区视频在线| 一卡二卡三卡四卡| 91网站免费视频| 操她视频在线观看| 熟女人妻一区二区三区免费看| yjizz视频| 中文字幕人妻一区二区三区在线视频| 麻豆精品免费视频| 欧美风情第一页| www.四虎精品| 久久久久久成人网| 成年人看片网站| 国产av自拍一区| 黄色一级片中国| 欧美 变态 另类 人妖| 女人十八毛片嫩草av| 日韩一区二区三区四区在线| 性囗交免费视频观看| 高清国产在线观看| 欧美xxxx日本和非洲| 九九九视频在线观看| 奇米777第四色| 男人的午夜天堂| 亚洲第一成人网站| wwwxxx色| 国产99在线 | 亚洲| 国产精品成人99一区无码| 中文字幕91视频| 亚洲天堂久久新| 日韩av成人网| 日韩在线视频网址| 无码一区二区三区在线| 极品白嫩少妇无套内谢| 亚洲欧美日韩第一页| 成人免费av片| 精品久久久久久中文字幕人妻最新| 五月天婷婷色综合| 2019男人天堂| 国产视频三区四区| 女同毛片一区二区三区| 丝袜熟女一区二区三区| 亚洲少妇一区二区三区| 成年人av电影| 波多野结衣在线网址| 欧美日韩中文字幕视频| 国产18无套直看片| 免费在线观看a视频| 国产黄色大片免费看| 波多野吉衣中文字幕| 中文字幕高清视频| 素人fc2av清纯18岁| 人妻av一区二区| 国产精品边吃奶边做爽| 91玉足脚交白嫩脚丫| 亚洲av无码一区二区三区网址| 精品一区二区视频在线观看| 亚州av综合色区无码一区| 久久中文字幕人妻| 性色av蜜臀av色欲av| 色噜噜日韩精品欧美一区二区| 右手影院亚洲欧美| av网在线播放| www.xxxx日本| 国产高潮视频在线观看| 精品人妻少妇嫩草av无码| 人人妻人人澡人人爽| 欧美国产日韩在线观看成人| 久久黄色一级视频| 成人午夜剧场视频网站| 97精品在线播放| 亚洲精品第二页| 亚洲午夜福利在线观看| 男人晚上看的视频|