精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

終于有人把ROS機器人操作系統講明白了

人工智能 機器人
機器人是多專業知識交叉的學科,通常涉及傳感器、驅動程序、多機通信、機械結構、算法等,為了更高效地進行機器人的研究和開發,選擇一個通用的開發框架非常必要,ROS 就是流行的框架之一。

01 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的一些主要版本。


▲圖1-1 ROS的主要版本

3. ROS的學習方法

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

  • 官網:www.ros.org
  • 源碼:github.com
  • Wiki:wiki.ros.org
  • 問答:answers.ros.org

02 ROS系統架構

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

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

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


▲圖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所示。


▲圖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節點源碼、腳本、配置文件等。

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

3. 從開源社區視角理解ROS架構

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


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

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

關于作者:張虎,深圳市睿思智行科技有限公司CEO。曾就職于深圳市智能機器人研究院,主持機器人自主導航方面的研究項目。工作期間以網名“小虎哥哥愛學習”在知乎、CSDN、bilibili等平臺創作了大量機器人SLAM導航相關的優質博客文章及視頻教程,深受廣大網友的喜愛。他對強人工智能的研究非常感興趣,并致力于將具有先進智能的機器人進行產業化落地。

本文摘編自《機器人SLAM導航:核心技術與實戰》,經出版方授權發布。(ISBN:9787111697428)

責任編輯:龐桂玉 來源: 大數據DT
相關推薦

2022-01-16 20:26:50

機器人操作系統ROS

2021-06-13 12:03:46

SaaS軟件即服務

2022-03-27 20:32:28

Knative容器事件模型

2021-10-09 00:02:04

DevOps敏捷開發

2021-12-30 20:20:46

機器學習銷售語言

2021-03-25 11:24:25

爬蟲技術開發

2021-10-17 20:38:30

微服務內存組件

2020-11-03 07:04:39

云計算公有云私有云

2021-12-03 18:25:56

數據指標本質

2022-04-27 18:25:02

數據采集維度

2021-10-12 18:31:40

流量運營前端

2021-06-29 11:21:41

數據安全網絡安全黑客

2020-11-30 08:34:44

大數據數據分析技術

2021-02-14 00:21:37

區塊鏈數字貨幣金融

2022-04-12 18:29:41

元數據系統架構

2022-04-22 11:26:55

數據管理架構

2022-01-05 18:27:44

數據挖掘工具

2021-03-03 21:31:24

量化投資利潤

2022-07-31 20:29:28

日志系統

2022-08-03 20:18:58

機器學習算法分析數據
點贊
收藏

51CTO技術棧公眾號

国产性天天综合网| 日韩精品高清不卡| 日韩黄色在线免费观看| 国产成人无码一二三区视频| aⅴ在线视频男人的天堂| 精品一区二区免费看| 色综合男人天堂| 狠狠人妻久久久久久综合蜜桃| 成人mm视频在线观看| 亚洲综合免费观看高清完整版在线 | 国产精品18久久久久久久网站| 久久久久久久成人| 国产黄色录像视频| 神马久久av| 欧美一区二区三区日韩| 麻豆av免费在线| 日本片在线观看| 国产欧美日韩在线| 国产精品综合久久久久久| 最新在线中文字幕| 国产日韩1区| 久久视频在线直播| 黄免费在线观看| 91精品啪在线观看国产手机| 欧美三片在线视频观看| 日本午夜激情视频| 羞羞的网站在线观看| 国产欧美综合在线观看第十页| av成人观看| 亚洲一区二区视频在线播放| 亚洲男女自偷自拍| 国语自产精品视频在线看一大j8 | 国产999精品久久久| 久久久精品99| 亚洲精品一区二区妖精| 国产一区二区黄| 艳妇乳肉亭妇荡乳av| 香蕉免费一区二区三区在线观看| 欧美视频在线观看一区| 18禁免费无码无遮挡不卡网站| 在线观看的网站你懂的| 国产精品免费久久久久| 日韩精品一区二区三区丰满| 亚州视频一区二区三区| 成人免费av在线| 亚洲一区二区久久久久久久| 一本到在线视频| 美女一区二区视频| 国产精品入口尤物| 中文字幕人妻一区二区三区视频| 视频一区免费在线观看| 日本欧美一二三区| 国产伦精品一区二区三区视频网站| 欧美日韩三级电影在线| 美女久久久久久久久久久| 强制高潮抽搐sm调教高h| 久久国产精品亚洲人一区二区三区 | 日产精品一区二区| 伊人亚洲福利一区二区三区| 性猛交ⅹxxx富婆video| 欧美熟乱15p| 色阁综合伊人av| 日本成人精品视频| 性xxxx欧美老肥妇牲乱| 美日韩在线视频| 欧美精品成人久久| 亚洲精选久久| 日本伊人精品一区二区三区介绍| 亚洲无码精品一区二区三区| 日韩不卡一区二区三区 | 澳门久久精品| 亚洲国产精彩中文乱码av| 国产一级免费片| 婷婷五月色综合香五月| 亚洲欧美三级在线| 特黄一区二区三区| 这里只有精品在线| 97av在线视频免费播放| 蜜臀精品一区二区三区| 久久er精品视频| 国产精品成人一区二区三区| 天天躁日日躁狠狠躁喷水| 91丝袜美腿高跟国产极品老师 | 99久久无色码| 性xxxx18| 国产精品高潮呻吟久久| 日本aa在线观看| 午夜欧美激情| 精品视频在线看| 免费看毛片的网站| 精品久久一区| 欧美国产日韩免费| 国产精品suv一区| 国产在线精品免费av| 精品国产免费久久久久久尖叫| 国产在线一二三| 最新中文字幕一区二区三区| 精品久久久久久久久久中文字幕| 欧美日韩成人影院| 精品美女在线播放| 亚洲一二三四视频| 日韩亚洲精品在线| 国产在线观看精品| 视频在线不卡| 亚洲精品自拍动漫在线| aaa毛片在线观看| 天堂精品久久久久| 一区二区三区亚洲| 日韩美女视频网站| 国产一区三区三区| 欧美一区少妇| 超碰91在线观看| 这里只有精品免费| 精品一区二区三区蜜桃在线| 红桃视频国产一区| 国产综合香蕉五月婷在线| 凸凹人妻人人澡人人添| 亚洲理论在线观看| 在线观看日本一区二区| 免费av一区| 久久全球大尺度高清视频| 97人妻一区二区精品免费视频| 91日韩精品一区| 日韩精品综合在线| 免费欧美网站| 日韩三级影视基地| 中国老头性行为xxxx| 97久久超碰国产精品电影| 国产精品免费看久久久无码| 久久久久久一区二区三区四区别墅| 亚洲精品久久久一区二区三区| 国产一区二区三区在线视频观看| 三级不卡在线观看| 欧美激情论坛| 在线观看爽视频| 亚洲精品99久久久久中文字幕| 亚洲色图综合区| 精东粉嫩av免费一区二区三区| 欧美狂猛xxxxx乱大交3| av影院在线免费观看| 欧美一区二区三区思思人| x88av在线| 美女日韩在线中文字幕| 国产精品一区免费观看| 欧美24videosex性欧美| 欧美一二三四在线| 卡通动漫亚洲综合| 韩国v欧美v日本v亚洲v| 亚洲第一页在线视频| 欧美91在线|欧美| 日韩中文字幕精品视频| 在线观看国产一区二区三区| 国产精品天干天干在观线| 色多多视频在线播放| 不卡在线一区| 国产精品一区久久| 成人在线网址| 日韩欧美亚洲国产另类| 动漫精品一区一码二码三码四码| 成人av在线一区二区三区| www..com日韩| 中国av一区| 国产精品日韩欧美综合| 欧美a免费在线| 欧美一区二区精品久久911| 久久久久97国产| 97se亚洲国产综合自在线观| www黄色av| 精品国产一区二区三区| 成人黄色av网| 青草视频在线免费直播| 日韩乱码在线视频| 波多野结衣绝顶大高潮| 中文字幕在线不卡国产视频| 欧美性受xxxx黒人xyx性爽| 国产精品99免费看| 精品国产乱码久久久久软件| 三级成人在线| 久久亚洲影音av资源网| 黄色一级大片在线免费看国产一| 欧美日韩国产色视频| 亚洲永久精品ww.7491进入| 九九国产精品视频| 69sex久久精品国产麻豆| 国内精品久久久久久久影视简单| 91欧美日韩一区| av在线私库| 菠萝蜜影院一区二区免费| 丰满少妇被猛烈进入| 色噜噜夜夜夜综合网| 国产97免费视频| 久久久午夜精品理论片中文字幕| 国产传媒免费观看| 国产精品毛片一区二区三区| 中文精品视频一区二区在线观看| 国产精品qvod| 国产日韩欧美在线视频观看| aa视频在线观看| 久久激情视频久久| 日本在线视频1区| 日韩三级.com| 中文文字幕一区二区三三| 亚洲一区欧美一区| 丁香花五月婷婷| av电影在线观看一区| 国产成人黄色网址| 亚洲免费一区二区| a级片一区二区| 99成人在线视频| 欧美韩国日本精品一区二区三区| 精品一区二区三区四区五区 | 日日夜夜天天综合| 色综合久综合久久综合久鬼88| 九色视频在线观看免费播放| 精品剧情在线观看| 一级aaaa毛片| 色88888久久久久久影院按摩| 精品无码人妻一区二区三区品| 中文字幕中文字幕一区二区 | 精品久久人妻av中文字幕| 欧美羞羞免费网站| 亚洲婷婷综合网| 无码av中文一区二区三区桃花岛| 午夜激情福利网| 国产精品久久国产精麻豆99网站| 精品人妻少妇嫩草av无码| 丁香五精品蜜臀久久久久99网站| 91看片破解版| 热久久久久久久| 国产xxxxx在线观看| 1024成人| 国产 日韩 亚洲 欧美| 亚洲网站在线| 成人免费在线网| 欧美涩涩网站| 日韩欧美猛交xxxxx无码| 亚洲精品国产偷自在线观看| 热这里只有精品| 91久久夜色精品国产按摩| 亚洲成人av动漫| 日韩欧美二区| 免费看啪啪网站| 国产精品久久久久久影院8一贰佰| 日韩av影视| 欧美日韩中文一区二区| 日韩欧美精品一区二区| 国产精品日韩精品中文字幕| 农村寡妇一区二区三区| 亚洲动漫精品| 日本高清不卡一区二区三| 伊人精品一区| 亚州欧美一区三区三区在线| 超碰成人久久| 在线视频不卡一区二区| 无码一区二区三区视频| japanese在线视频| 韩日成人在线| 69堂免费视频| 日韩成人午夜电影| 国产亚洲视频一区| 国产精品亚洲专一区二区三区| 国产chinesehd精品露脸| 成人ar影院免费观看视频| 久久人人爽人人人人片| 久久精品夜色噜噜亚洲a∨| 欧美性猛交xxxx乱大交少妇| 1区2区3区精品视频| 久久久久久久国产视频| 午夜精品久久久久久久99樱桃| 久久久久99精品成人片三人毛片| 色综合久久综合| 在线不卡免费视频| 欧美成人一区二区三区| 亚洲人在线观看视频| 正在播放国产一区| 在线免费观看污| 8090成年在线看片午夜| 黄页免费欧美| 成人黄动漫网站免费| 在线亚洲a色| 日本三级福利片| 国产精品毛片在线| 黄色aaaaaa| av在线免费不卡| 在线免费看视频| 亚洲国产成人av| 日韩免费av网站| 日韩亚洲电影在线| 欧美777四色影视在线| 久久综合电影一区| 一本大道色婷婷在线| 成人黄色av播放免费| 日韩母乳在线| 一区中文字幕在线观看| 亚洲欧美高清| 巨乳女教师的诱惑| 国产欧美精品一区二区色综合朱莉| 四虎884aa成人精品| 黑丝美女久久久| 亚洲AV无码国产精品午夜字幕| 亚洲欧洲中文天堂| 欧美草逼视频| 国产精品亚发布| 香蕉久久精品日日躁夜夜躁| 青青草影院在线观看| 乱人伦精品视频在线观看| 免费看的av网站| 中文字幕av一区二区三区高 | 成年人网站在线| 国产成人高潮免费观看精品| 爱爱精品视频| 男插女免费视频| 日韩精品福利网| 黄色a一级视频| 一区二区激情视频| 国产日韩精品suv| 中文字幕精品久久| 综合另类专区| 加勒比在线一区二区三区观看| 亚洲精品在线观看91| 欧美三级午夜理伦三级富婆| 久久亚洲精品国产精品紫薇| 国产一级做a爰片在线看免费| 欧美精品一卡两卡| 午夜激情在线观看| 国产精品男人的天堂| 伊人久久大香线蕉av不卡| 国产不卡一区二区视频| 国产成人精品三级| 日本黄色片免费观看| 欧美日韩一区二区欧美激情| 黄色片在线播放| 人体精品一二三区| 丝袜美腿一区二区三区动态图| 男人天堂手机在线视频| 国产激情一区二区三区四区| 天天操天天操天天操天天操天天操| 欧美色窝79yyyycom| www视频在线观看免费| 国产精品69av| 九九综合久久| 日韩av播放器| 国产午夜精品一区二区| 日韩在线视频不卡| 亚洲人成免费电影| 日本成人福利| 一道精品一区二区三区 | 少妇搡bbbb搡bbb搡打电话| 一区二区三区欧美| 丰满熟妇人妻中文字幕| 欧美激情视频一区二区| 91国内精品| 国产高清精品在线观看| 久久人人97超碰com| 手机av免费观看| 最近日韩中文字幕中文| 亚洲欧美专区| 警花观音坐莲激情销魂小说| 国产成人免费视频精品含羞草妖精 | 日本高清久久久| 亚洲日本欧美天堂| www精品国产| 97在线观看免费| 精品国产91乱码一区二区三区四区 | 欧美视频在线观看视频| hitomi一区二区三区精品| 久久一区二区三区视频| 国产午夜精品一区二区三区 | 日韩激情av在线| 九九热视频在线免费观看| 欧美va亚洲va国产综合| 涩涩视频网站在线观看| 性欧美大战久久久久久久免费观看| 经典三级在线一区| 日韩久久精品视频| 在线播放日韩精品| 91国内精品白嫩初高生| 黄色片久久久久| 亚洲日本在线a| 三级在线观看网站| 国产精品日韩久久久久| 国产精品啊啊啊| 久久丫精品国产亚洲av不卡| 欧美人牲a欧美精品| 成人免费一区二区三区牛牛| 日本不卡二区| 国产精品影视天天线| 亚洲男人的天堂在线视频| www.亚洲成人| 欧美挤奶吃奶水xxxxx| 在线观看免费的av| 黑人巨大精品欧美一区二区| 蜜桃视频在线观看www社区 | 91在线视频| 国产精品一区二区av| 青青草国产精品亚洲专区无| 精品无码人妻一区二区三区品| 一区二区三区国产在线观看| 大陆精大陆国产国语精品| 亚洲欧美另类动漫|