日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

拥抱ROS2系列:ROS2概述和实践入门

發(fā)布時間:2023/12/29 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 拥抱ROS2系列:ROS2概述和实践入门 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

來源丨深藍(lán)AI

ROS可以說是?前機(jī)器?相關(guān)開源社區(qū)最流?的項?之?,它是?個易?且完備的機(jī)器?開發(fā)框架、?態(tài)乃?社區(qū),海量的機(jī)器?開源項?(涵蓋感知、規(guī)劃、控制、定位、SLAM和建圖、可視化等?乎所有機(jī)器?領(lǐng)域)均使?ROS作為基礎(chǔ)。

以?動駕駛汽?為代表的新的機(jī)器?應(yīng)?場景對于中間層和開發(fā)框架在實時性、可靠性、伸縮性、跨平臺可移植等??提出了?量新的需求,ROS 顯然不能滿?這些需求,ROS2因此產(chǎn)?,在經(jīng)歷了若?年的迭代后,ROS2項??前已經(jīng)相對完備和穩(wěn)定,對于我們開發(fā)者??,是時候擁抱ROS2了。

01

為什么轉(zhuǎn)向ROS

ROS?2007年發(fā)布以來,為機(jī)器?社區(qū)提供了?套相對完善的中間層、?具、軟件乃?通?的接?和標(biāo)準(zhǔn),可以說,憑借ROS,機(jī)器??業(yè)領(lǐng)域的開發(fā)者能夠快速開發(fā)系統(tǒng)原型并做測試和驗證。?動駕駛本質(zhì)上是機(jī)器?研究的?個應(yīng)?領(lǐng)域,在產(chǎn)品原型快速開發(fā)的過程中也通常會采?ROS。

如果說ROS1為科研和原型開發(fā)提供了很好的?態(tài)的話,那么ROS2就是?于實際產(chǎn)品的部署環(huán)境的開發(fā)架構(gòu)和相應(yīng)?具鏈。

02

ROS1的天然缺陷

ROS1項?的初衷是為了給科研機(jī)器?Willow Garage PR2提供?個開發(fā)環(huán)境和相應(yīng)的?具,為了讓這套軟件在更多的機(jī)器?上運(yùn)?,ROS為機(jī)器?開發(fā)構(gòu)建了應(yīng)?層的抽象和通?的消息接?,最終在機(jī)器?社區(qū)中?為使?并發(fā)展為?前最流?的機(jī)器?軟件?態(tài)體系之?。然?,ROS1研發(fā)的初衷就注定了該架構(gòu)存在以下缺陷:

·??實時性(real-time)

·?嵌?式設(shè)備不友好

·?對于?絡(luò)通信的重依賴(需要?帶寬且穩(wěn)定的?絡(luò)連接)

·?多?于學(xué)術(shù)應(yīng)?

·?超?的靈活性帶來的不規(guī)范的編程模式

·?原?的ROS僅?持單機(jī)器?

然?如今ROS已在?量?業(yè)領(lǐng)域的應(yīng)?,包括科研機(jī)器?、?業(yè)機(jī)器?、輪式機(jī)器?、?動駕駛汽?乃?航天??駕駛設(shè)備,其原來的功能設(shè)計已經(jīng)不能滿?海量應(yīng)?對于某些性能(如實時性、安全性、嵌?式移植等)的需求,ROS2即在這樣的背景下被設(shè)計和開發(fā)。

03

ROS2相較于ROS1的提升和改進(jìn)

相較于ROS1,ROS2在設(shè)計之初就考慮了在產(chǎn)品環(huán)境下?臨的?些挑戰(zhàn),具體來說,ROS2采?(或者計劃采?)以下策略以提升其在產(chǎn)品環(huán)境的適?度:

·??持多機(jī)器?

·?對?型嵌?式設(shè)備和微控制器的?持

·?實時系統(tǒng):?持實時控制,包括進(jìn)程間和機(jī)器間通信的實時性

·??持?理想?絡(luò)環(huán)境:在低質(zhì)量?延遲等?絡(luò)環(huán)境下系統(tǒng)仍然能夠?作

·?對產(chǎn)品環(huán)境的?持的能力

·?規(guī)范的編程模型以?持基于ROS的?規(guī)模?的構(gòu)建、開發(fā)和部署

04

ROS2中的DDS中間層

ROS1的核?是?個基于master中?節(jié)點的匿名發(fā)布-訂閱通信中間層,相?之下,ROS2采?基于RTSP(Real-Time Publish-Subscribe)協(xié)議的DDS作為中間層,DDS(Data-Distribution Service)是?種?于實時和嵌?式系統(tǒng)發(fā)布-訂閱式通信的?業(yè)標(biāo)準(zhǔn),這種點到點的通信模式類似于ROS1的中間層,但是DDS不需要像ROS1那樣借由master節(jié)點來完成兩個節(jié)點間通信,這使得系統(tǒng)更加容錯和靈活,DDS 被?泛應(yīng)?于關(guān)鍵系統(tǒng)中,包括戰(zhàn)艦、?型基礎(chǔ)設(shè)施(如?電站)、?融系統(tǒng)、空間系統(tǒng)、航空系統(tǒng)等場景,這些?例也證實了DDS的可靠性。

多個?商提供多種DDS實現(xiàn),?般來說DDS的底層通信機(jī)制基于UDP協(xié)議或者共享內(nèi)存機(jī)制(當(dāng)然也有 ?商提供基于TCP的DDS實現(xiàn)),?ROS2?持多種DDS實現(xiàn),??可以根據(jù)實際情況選擇DDS中間層, ?前來說ROS2 Foxy完整?持以下DDS中間層:

·?eProsima的Fast RTPS(當(dāng)前ROS2版本默認(rèn)的DDS實現(xiàn))

·?RTI的Connext DDS

·?Eclipse Cyclone DDS

了解更多DDS相關(guān)背景,可以參考這篇?章:

https://design.ros2.org/articles/ros_on_dds.html

ROS2的內(nèi)部架構(gòu):

點擊可查看大圖

ROS2的內(nèi)部接?主要包括兩個層:

·?rmw (ros middleware interface): 相對底層的接?層,直接和DDS交互,C語?實現(xiàn)

·?rcl (ros cliend libraries): 對rmw相對?層的抽象,c/c++實現(xiàn)

此外上圖中還有?個ros_to_dds組件,該組件主要為??直接訪問DDS層提供接?。

更多關(guān)于rmw和rcl等中間層的實現(xiàn)機(jī)制以及ROS msg,DSS idl?件和python、c++和C上的類(或者結(jié) 構(gòu)體)的轉(zhuǎn)換可以參考ROS2官??檔:

https://docs.ros.org/en/foxy/Concepts/About-Internal-Interfaces.html

05

ROS2中的QoS策略

ROS2中引?了Quality of Service, QoS(服務(wù)質(zhì)量)的策略?于配置節(jié)點間通信,進(jìn)?提升了ROS2適應(yīng)于不同應(yīng)?場景的靈活性。ROS1只?持基于TCP的通信,通過配置QoS,ROS2可以表現(xiàn)出TCP的可靠性,也可以表現(xiàn)出UDP那樣的?實時性。??可以通過選擇不同的QoS配置?件以實現(xiàn)不同的通信表現(xiàn),QoS配置?件為策略的集合,ROS2提供了預(yù)設(shè)的QoS配置?件,如下所?:

·?發(fā)布-訂閱機(jī)制的QoS設(shè)定

·?服務(wù) (Service) 的QoS設(shè)定

·?傳感器數(shù)據(jù)的QoS設(shè)定

·?參數(shù)的QoS設(shè)定

·?DDS中間層默認(rèn)的QoS設(shè)定

06

ROS2的安裝和開發(fā)環(huán)境準(zhǔn)備

ROS2?前?乎每半年會release?個版本,不同的版本會有對應(yīng)的代號(類似與ROS1中的Kinetic, Melodic和Noetic等版本代號),以下是ROS2的?些歷史版本:

·?Crystal: 2018年12?

·?Dashing: 2019年5?底

·?Eloquent: 2019年11?

·?Foxy: 2020年6?

·?Galactic: 2021年5?

我們以最新的Galactic為例,ROS2是跨平臺的架構(gòu),同時?持Linux, MacOS和Windows,但是依據(jù)我們在ROS1上開發(fā)的經(jīng)驗,我依然推薦?家在Linux的Ubuntu發(fā)?版上從事相應(yīng)的ROS2 Application開發(fā)?作。在Ubuntu上,安裝ROS2可以通過binary安裝或者源代碼編譯安裝,在Ubuntu上,最簡單的安裝?式是通過Debian packages安裝(也就是apt安裝),我們以此為例,在Ubuntu 20.04上使?apt 安裝ROS2的Galactic版本。

07

ROS2在Ubuntu下的安裝

在你的Ubuntu 20.04系統(tǒng)中,配置ROS2的apt源:

sudo apt update && sudo apt install curl gnupg lsb-release sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/s echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-k

更新apt索引:

sudo apt update

使?apt安裝完整的ROS2:

sudo apt install ros-galactic-desktop

安裝完成后,在~/.bashrc?件中添加ros2的環(huán)境變量:

echo?"source?/opt/ros/galactic/setup.bash"?>>?~/.bashrc

簡單地驗證?下安裝情況,新建?個terminal,運(yùn)?demo的talker:

ros2 run demo_nodes_cpp talker

在另?個terminal中,運(yùn)?listener:

ros2 run demo_nodes_py listener

可以看到,?個類似于ROS1的Publisher-Subscriber通信demo就運(yùn)?起來了:

點擊可查看大圖

不難發(fā)現(xiàn),ROS2并不需要像ROS1那樣啟動roscore(即master節(jié)點),ROS2這種去中?化的策略能讓其適應(yīng)更多?業(yè)應(yīng)?和產(chǎn)品級應(yīng)?場景的需求。

NOTE:ROS1和ROS2可以并存于同?臺電腦,你只需要source不同的setup.bash即可完成環(huán)境的選擇。

08

ROS2的基本工具和命令

和ROS1?樣,ROS2也提供了?量的開發(fā)調(diào)試?具,如Rviz, Rqt等?具均已經(jīng)可以在ROS2中使?,運(yùn)行rqt,可以看到我們剛剛運(yùn)?的兩個demo節(jié)點:

點擊可查看大圖

運(yùn)??rviz2?可以啟動ROS2環(huán)境下的rviz軟件。

同時,ROS2也提供類似于ROS1的命令?指令,指令和ROS1略有區(qū)別:

·?ros2 node?: 輸出node相關(guān)信息

·?ros2 topic?: topic相關(guān)指令,包括list,hz,echo等

·?ros2 service?:service相關(guān)指令,如list,call,type等

·?ros2 bag?: rosbag相關(guān)指令, 錄包,播包,打印數(shù)據(jù)包信息等

·?ros2 bag?:package相關(guān)指令

·?ros2 param: 參數(shù)相關(guān)

·?ros2 launch:運(yùn)?launch?件

·?ros2 run:運(yùn)?單個節(jié)點

完整的ros2命令如下所?:

點擊可查看大圖

絕?多數(shù)指令基本是將ros1中的rosxxxx拆分成了ros2 xxxx。

參考文檔:

https://docs.ros.org/en/galactic/index.html

作者簡介

申澤邦,奔馳高級自動駕駛工程師,Google Developer Expert(機(jī)器學(xué)習(xí)方向),蘭州大學(xué)自動駕駛團(tuán)隊創(chuàng)始人,CSDN博客專家,《無人駕駛原理與實踐》書籍作者。

本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。

干貨下載與學(xué)習(xí)

后臺回復(fù):巴塞羅自治大學(xué)課件,即可下載國外大學(xué)沉淀數(shù)年3D Vison精品課件

后臺回復(fù):計算機(jī)視覺書籍,即可下載3D視覺領(lǐng)域經(jīng)典書籍pdf

后臺回復(fù):3D視覺課程,即可學(xué)習(xí)3D視覺領(lǐng)域精品課程

3D視覺工坊精品課程官網(wǎng):3dcver.com

1.面向自動駕駛領(lǐng)域的多傳感器數(shù)據(jù)融合技術(shù)

2.面向自動駕駛領(lǐng)域的3D點云目標(biāo)檢測全棧學(xué)習(xí)路線!(單模態(tài)+多模態(tài)/數(shù)據(jù)+代碼)
3.徹底搞透視覺三維重建:原理剖析、代碼講解、及優(yōu)化改進(jìn)
4.國內(nèi)首個面向工業(yè)級實戰(zhàn)的點云處理課程
5.激光-視覺-IMU-GPS融合SLAM算法梳理和代碼講解
6.徹底搞懂視覺-慣性SLAM:基于VINS-Fusion正式開課啦
7.徹底搞懂基于LOAM框架的3D激光SLAM: 源碼剖析到算法優(yōu)化
8.徹底剖析室內(nèi)、室外激光SLAM關(guān)鍵算法原理、代碼和實戰(zhàn)(cartographer+LOAM +LIO-SAM)

9.從零搭建一套結(jié)構(gòu)光3D重建系統(tǒng)[理論+源碼+實踐]

10.單目深度估計方法:算法梳理與代碼實現(xiàn)

11.自動駕駛中的深度學(xué)習(xí)模型部署實戰(zhàn)

12.相機(jī)模型與標(biāo)定(單目+雙目+魚眼)

13.重磅!四旋翼飛行器:算法與實戰(zhàn)

14.ROS2從入門到精通:理論與實戰(zhàn)

15.國內(nèi)首個3D缺陷檢測教程:理論、源碼與實戰(zhàn)

16.基于Open3D的點云處理入門與實戰(zhàn)教程

重磅!3DCVer-學(xué)術(shù)論文寫作投稿?交流群已成立

掃碼添加小助手微信,可申請加入3D視覺工坊-學(xué)術(shù)論文寫作與投稿?微信交流群,旨在交流頂會、頂刊、SCI、EI等寫作與投稿事宜。

同時也可申請加入我們的細(xì)分方向交流群,目前主要有3D視覺CV&深度學(xué)習(xí)SLAM三維重建點云后處理自動駕駛、多傳感器融合、CV入門、三維測量、VR/AR、3D人臉識別、醫(yī)療影像、缺陷檢測、行人重識別、目標(biāo)跟蹤、視覺產(chǎn)品落地、視覺競賽、車牌識別、硬件選型、學(xué)術(shù)交流、求職交流、ORB-SLAM系列源碼交流、深度估計等微信群。

一定要備注:研究方向+學(xué)校/公司+昵稱,例如:”3D視覺?+ 上海交大 + 靜靜“。請按照格式備注,可快速被通過且邀請進(jìn)群。原創(chuàng)投稿也請聯(lián)系。

▲長按加微信群或投稿,加微信:dddvision

▲長按關(guān)注公眾號

3D視覺從入門到精通知識星球:針對3D視覺領(lǐng)域的視頻課程(三維重建系列、三維點云系列、結(jié)構(gòu)光系列、手眼標(biāo)定、相機(jī)標(biāo)定、激光/視覺SLAM自動駕駛等)、知識點匯總、入門進(jìn)階學(xué)習(xí)路線、最新paper分享、疑問解答五個方面進(jìn)行深耕,更有各類大廠的算法工程人員進(jìn)行技術(shù)指導(dǎo)。與此同時,星球?qū)⒙?lián)合知名企業(yè)發(fā)布3D視覺相關(guān)算法開發(fā)崗位以及項目對接信息,打造成集技術(shù)與就業(yè)為一體的鐵桿粉絲聚集區(qū),近6000星球成員為創(chuàng)造更好的AI世界共同進(jìn)步,知識星球入口:

學(xué)習(xí)3D視覺核心技術(shù),掃描查看介紹,3天內(nèi)無條件退款

?圈里有高質(zhì)量教程資料、答疑解惑、助你高效解決問題

覺得有用,麻煩給個贊和在看~??

總結(jié)

以上是生活随笔為你收集整理的拥抱ROS2系列:ROS2概述和实践入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美视频免费在线 | 亚洲一区二区三区四区在线观看 | 国产片一区二区三区 | 综合精品久久 | 婷婷丁香色| 台湾av在线播放 | 日韩淫| 日韩精品网站 | 无码精品人妻一二三区红粉影视 | 日韩精品久久久久久久酒店 | 女人av在线| 久久一区精品 | 国产资源视频 | wwwav在线| 欧美三级在线观看视频 | 伊人久久国产精品 | 黄色激情视频在线观看 | 欧美激情一二三区 | 欧美三级午夜理伦三级中视频 | 免费网站观看www在线观 | 日日爱影视 | 色窝窝无码一区二区三区 | 国产suv一区二区 | 男操女视频免费 | aa毛片视频| 亚洲激情综合网 | 老司机激情影院 | 操亚洲女人 | 国产精品视频一区二区三区不卡 | 熟妇五十路六十路息与子 | 影音先锋中文字幕资源 | 欧美国产一区二区三区 | 法国空姐在线观看完整版 | 国产在线网站 | 久久99国产精品一区 | 日韩成人免费在线视频 | 四虎影视免费永久观看在线 | 精品人妻一区二区色欲产成人 | 久久av资源站 | 欧美精品一卡二卡 | 久久精品无码一区二区三区毛片 | 免费av网站观看 | wwwav视频 | 亚洲欧美日韩图片 | 俺也来俺也去俺也射 | 黄色av免费观看 | 713电影免费播放国语 | 亚洲国产高清在线 | 国产精品人人做人人爽人人添 | 国产精品探花在线观看 | 天天色影综合网 | 综合精品视频 | 亚洲天堂网站在线 | 超碰97在线播放 | 色欲AV无码精品一区二区久久 | 黄色片一区二区 | 美女在线不卡 | 久久久久久久9 | 99人妻少妇精品视频一区 | 人人妻人人爽人人澡人人精品 | 久久久久久一区二区 | 免费毛片基地 | 精品久久在线 | 91在线视频免费播放 | 中文字幕欲求不满 | 免费无遮挡在线观看视频网站 | 国产精品久久久久久久9999 | 91免费观看视频在线 | 温柔少妇的高潮呻吟 | 午夜丰满寂寞少妇精品 | 都市豪门艳霸淫美妇 | 福利视频二区 | 日韩色在线 | 国语对白自拍 | 大屁股白浆一区二区三区 | 黄色aa网站 | 亚洲乱亚洲 | 欧美日韩中文字幕一区 | 99爱99| 亚洲AV无码国产精品国产剧情 | 空姐吹箫视频大全 | 欧美超逼视频 | 长腿校花无力呻吟娇喘的视频 | 毛片基地在线观看 | 中文在线а√天堂 | 午夜精品久久久久久久蜜桃 | 男人都懂的网址 | 亚洲情网| 欧美在线精品一区二区三区 | 国产午夜精品一区二区理论影院 | 免费看污黄网站在线观看 | 日韩亚洲精品在线 | 五月激情小说网 | 人妻丰满熟妇av无码久久洗澡 | av播放在线| 能看毛片的网站 | 国产三级av片 | 爱情岛亚洲论坛入口福利 | 他揉捏她两乳不停呻吟动态图 |