精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

136福利精品导航| 国产美女视频一区二区三区| 久久精品国内一区二区三区水蜜桃| 在线观看视频一区二区 | 91成人免费看| 国产一级淫片免费| 日韩mv欧美mv国产网站| 色婷婷狠狠综合| 亚洲精品乱码视频| 国产三级漂亮女教师| 亚洲理论在线| 亚洲石原莉奈一区二区在线观看| 超碰在线公开97| 91精品久久久久久粉嫩| 99久久精品免费| 欧美乱妇高清无乱码| 欧美肉大捧一进一出免费视频| 成av人片在线观看www| 国产午夜精品在线观看| 国产一区二区视频在线观看| 久久久久久久9999| 女优一区二区三区| 91精品欧美综合在线观看最新| 青青在线免费观看| 国产免费av高清在线| 国产精品一区二区视频| 91po在线观看91精品国产性色| 天天躁夜夜躁狠狠是什么心态| 国产精品成人3p一区二区三区| 亚洲国产欧美在线| 视频在线99re| 午夜精品久久久久久久第一页按摩| 国产日韩精品视频一区二区三区 | 一级成人免费视频| 伊人久久大香线蕉综合热线 | 亚洲第一成人在线| 亚洲v国产v在线观看| 午夜精品久久久久久久第一页按摩 | 欧美日本一区二区三区四区| 日韩中文字幕在线免费| 免费的黄网站在线观看| 2020国产精品久久精品美国| 亚洲aⅴ日韩av电影在线观看| 可以免费看的av毛片| 色欧美自拍视频| 亚洲精品99久久久久| 北条麻妃亚洲一区| 88xx成人免费观看视频库 | 精品无码久久久久久久动漫| 一区二区国产欧美| 久热精品视频| 97成人在线视频| 亚洲欧美一区二区三区四区五区| 国产真实有声精品录音| 亚洲黄色在线看| 熟女人妻一区二区三区免费看| 久久久加勒比| 91国偷自产一区二区开放时间| 日本xxxxxxxxxx75| 天堂av中文在线| 亚洲天堂中文字幕| 亚洲乱码一区二区三区三上悠亚| 五月婷在线视频| 国产91对白在线观看九色| 成人免费激情视频| 97人妻精品一区二区三区软件| 三级不卡在线观看| 国产999精品| 色屁屁影院www国产高清麻豆| 亚洲三级色网| 91成人在线播放| 国产十六处破外女视频| 亚洲视频电影在线| 美女av一区二区三区| 亚洲色图 激情小说| 不卡在线一区二区| 中文字幕日韩av| 色撸撸在线视频| 久久一级电影| 久久影视免费观看 | 色老板在线视频一区二区| 精品国产91洋老外米糕| 国产精品久久久久久亚洲色| 亚洲成人五区| 亚洲国产欧美久久| 性久久久久久久久久 | 日韩免费电影一区二区| 大胆av不用播放器在线播放| 国产女主播视频一区二区| 午夜一区二区三区| 免费黄色在线| 亚洲午夜精品网| 成人免费aaa| 精品3atv在线视频| 欧美日韩视频在线第一区 | 国产精品久久国产愉拍| 日本国产欧美一区二区三区| 国产精品自拍第一页| 久久精品国产99国产| 69174成人网| 人妻精品一区二区三区| 久久久国际精品| 中文字幕av日韩精品| 日韩三级电影视频| 色综合久久精品| 亚洲男人天堂av在线| 91国内精品| 亚洲人成在线免费观看| www.黄色com| 欧美在线精品一区| 欧美重口另类videos人妖| 好吊色在线视频| 国产呦精品一区二区三区网站 | 在线免费成人| 亚洲精品在线观看视频| 超薄肉色丝袜一二三| 天堂网在线观看国产精品| 久久久久久国产精品久久| 国产成人无码av| 国产黄色91视频| 欧美亚洲另类久久综合| 麻豆网站在线| 欧美日韩裸体免费视频| 国产农村妇女精品久久| 一本久久青青| 色综合久久中文字幕综合网小说| 国产成人免费看| 精品一区二区三区在线观看| 精品欧美国产| 国产91在线视频蝌蚪| 色天天综合久久久久综合片| 精人妻一区二区三区| 国产精品一区2区3区| 欧美高跟鞋交xxxxxhd| 一区二区乱子伦在线播放| 成人黄色网址在线观看| ijzzijzzij亚洲大全| av伦理在线| 欧美一区二区久久久| a天堂中文字幕| 99av国产精品欲麻豆| 亚洲自拍偷拍色片视频| 成人午夜影视| 色综合久久天天综合网| 色综合久久五月| 欧美激情黄色片| 国产精品99久久久久久人| 日本高清视频www| 亚洲最大的成人av| 超碰中文字幕在线观看| 国产精品99在线观看| 国产精品久久av| 撸视在线观看免费视频| 精品福利在线看| 在线观看一区二区三区四区| 中文字幕乱码亚洲无线精品一区| 国产日产久久高清欧美一区| 成人精品一区二区三区校园激情| 狠狠久久五月精品中文字幕| 中文字幕第三区| 亚洲啊v在线观看| 日本中文字幕久久看| 日韩毛片在线一区二区毛片| 黄色一区二区三区| 国产十八熟妇av成人一区| 激情欧美日韩| 亚洲va国产va天堂va久久| 黄色免费在线看| 欧美日韩国产色站一区二区三区| 中文字幕 自拍| 日韩精品高清不卡| 欧美日韩一区二区三| 中文字幕在线视频久| 亚洲欧美日韩一区在线| 亚洲国产av一区二区三区| 99久久国产综合精品女不卡| 欧美视频在线播放一区| 一道在线中文一区二区三区| 日韩av黄色在线观看| 男女av在线| 欧美三级电影在线看| 国产精品视频一区二区在线观看| 精品亚洲国产成人av制服丝袜| 男人的天堂成人| 一级毛片精品毛片| 97精品欧美一区二区三区| 亚洲三区在线观看无套内射| 色噜噜狠狠成人网p站| 欧洲xxxxx| 久久久久久爱| 欧美一级大片在线免费观看| 色影院视频在线| 亚洲激情小视频| 一二三四区视频| 精品久久久久久久久久久久| 日韩一区二区三区四区视频| 成人av第一页| 五月天视频在线观看| 在线亚洲欧美| 九一免费在线观看| 国际精品欧美精品| 国产精品有限公司| 精品三级在线| 2019亚洲男人天堂| 欧美亚洲天堂| 日韩一区二区福利| 欧美日本网站| 欧美成人福利视频| 国产又粗又黄又爽| 在线视频欧美精品| 国产精品xxxx喷水欧美| 艳妇臀荡乳欲伦亚洲一区| 黄色片网站在线播放| 91理论电影在线观看| 年下总裁被打光屁股sp | 青青国产在线| 日韩美女在线视频| 国产熟女一区二区丰满| 欧美视频三区在线播放| 你懂的国产在线| 亚洲香肠在线观看| 国产女人被狂躁到高潮小说| 国产精品萝li| 亚洲自拍偷拍图| 久久免费午夜影院| 欧美深性狂猛ⅹxxx深喉| 东方欧美亚洲色图在线| 天天操精品视频| 精品制服美女久久| 日日干夜夜操s8| 男女激情视频一区| 亚洲视频在线a| 久久综合影视| 手机在线免费观看毛片| 久久久亚洲人| 日本va中文字幕| 蜜桃视频一区| av免费在线播放网站| 亚洲精品国产日韩| 国产美女主播在线播放| 亚洲激情另类| 青青青免费在线| 国产日韩欧美三级| www.爱色av.com| 亚洲欧美成人| 99蜜桃臀久久久欧美精品网站| 一区二区三区福利| 国产最新免费视频| 久久精品女人天堂| 国产精品人人爽人人爽| 久久99精品久久久久久久久久久久 | 国模一区二区三区私拍视频| 国产精品网在线观看| 国产精品有限公司| 亚洲欧美成人vr| 日韩免费av电影| 97精品一区| 成人短视频在线观看免费| 一区二区影视| 国产中文字幕二区| 久久免费高清| 最新天堂中文在线| 国产尤物一区二区在线 | 国产三级欧美三级| 欧洲女同同性吃奶| 国产精品久久三| 欧美成人综合色| 黑人极品videos精品欧美裸| 亚洲欧美一二三区| 欧美精品一卡二卡| 韩国av永久免费| 亚洲人成电影网站色www| 91在线看片| 欧美日韩成人网| 最新中文字幕在线播放| 国产日韩在线视频| silk一区二区三区精品视频| 欧美一区2区三区4区公司二百| 日本一区二区高清不卡| 欧美黄网在线观看| 久久黄色网页| 色婷婷综合在线观看| 99久久精品免费看国产免费软件| 欧美福利第一页| 一区二区三区四区视频精品免费| 黄网在线观看视频| 欧美美女视频在线观看| 男人天堂综合网| 中文字幕在线日韩| 成人超碰在线| 国产日本欧美一区二区三区在线| 国产日韩三级| 亚洲在线视频一区二区| 1000部精品久久久久久久久| 国产精品人人爽人人爽| 成人黄色一级视频| 97在线观看免费高| 一本一本大道香蕉久在线精品| 国产日韩免费视频| 国产亚洲一区二区在线| 欧美韩日亚洲| 成人精品视频久久久久| 午夜精品福利影院| 国产精品igao激情视频| 日韩vs国产vs欧美| 好男人香蕉影院| 亚洲丝袜制服诱惑| jizz国产在线| 亚洲精品v欧美精品v日韩精品| 成人福利网站| 国产精品无av码在线观看| 欧美日日夜夜| www.男人天堂网| 国产综合久久久久影院| 久久亚洲AV无码专区成人国产| 亚洲国产精品久久久久婷婷884| 在线免费av片| 国产一区二区三区中文| 欧亚av在线| 国产一区二区免费在线观看| 女同性一区二区三区人了人一 | 久久精品91久久久久久再现| 自拍在线观看| 久久精品日产第一区二区三区乱码 | 97久久精品视频| 一区二区亚洲视频| 久久久成人精品一区二区三区| 日本不卡的三区四区五区| 99久久人妻精品免费二区| 亚洲五月六月丁香激情| www夜片内射视频日韩精品成人| 日韩在线视频观看正片免费网站| 免费欧美电影| 日本精品国语自产拍在线观看| 性一交一乱一区二区洋洋av| 亚洲一区二区三区四区五区六区| 亚洲成a人v欧美综合天堂| 国产自产一区二区| 欧美精品久久久久久久免费观看 | 亚洲精品自拍偷拍| 黄色漫画在线免费看| 国产伦精品一区二区三区四区免费| 午夜日韩激情| 日本美女视频网站| 亚洲成av人影院在线观看网| 欧美少妇bbw| 4p变态网欧美系列| 蜜桃成人av| 免费看a级黄色片| 国产午夜精品理论片a级大结局| 五月婷婷激情视频| 亚洲色图狂野欧美| 国产91欧美| 色中文字幕在线观看| 黑人巨大精品欧美黑白配亚洲| 综合 欧美 亚洲日本| 在线电影国产精品| 色yeye免费人成网站在线观看| 成人在线观看91| 国产精品久久久一区二区| 日本激情小视频| 欧美日韩国产综合视频在线观看| 看女生喷水的网站在线观看| 18成人在线| 一本色道久久综合一区| 色一情一交一乱一区二区三区 | 中文字幕1234区| 亚洲一区二区免费视频| 亚洲欧美日韩综合在线| 国产精彩精品视频| 伊人久久大香线蕉精品组织观看| 无码人妻久久一区二区三区蜜桃| 欧美色播在线播放| 在线视频1区2区| 国产精品v欧美精品∨日韩| 欧美一级网站| 久久免费大视频| 美国av在线播放| 香蕉久久夜色精品国产使用方法| 动漫av网站免费观看| 国产日韩欧美不卡| 国产特级黄色片| 欧美中文字幕在线观看| 外国成人激情视频| 精品国产人妻一区二区三区| 在线一区二区视频| 天天色天天射天天综合网| 明星裸体视频一区二区| 九九视频精品免费| 久草视频在线观| 久久精品夜夜夜夜夜久久| 免费成人蒂法| 色黄视频免费看| 色天使色偷偷av一区二区| 91国内在线| 视频一区视频二区视频| a美女胸又www黄视频久久| 亚洲图片在线播放| 97视频在线观看网址| 99国产**精品****|