日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ROS2概述和實踐入門

3D視覺工坊 ? 來源:深藍(lán)AI ? 作者:深藍(lán)AI ? 2022-10-26 11:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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)?具鏈。

02ROS1的天然缺陷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ā)。

03ROS2相較于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ā)和部署

04ROS2中的DDS中間層

ROS1的核?是?個基于master中?節(jié)點(diǎn)的匿名發(fā)布-訂閱通信中間層,相?之下,ROS2采?基于RTSP(Real-Time Publish-Subscribe)協(xié)議的DDS作為中間層,DDS(Data-Distribution Service)是?種?于實時和嵌?式系統(tǒng)發(fā)布-訂閱式通信的?業(yè)標(biāo)準(zhǔn),這種點(diǎn)到點(diǎn)的通信模式類似于ROS1的中間層,但是DDS不需要像ROS1那樣借由master節(jié)點(diǎn)來完成兩個節(jié)點(diǎn)間通信,這使得系統(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):

777b2638-54bb-11ed-a3b6-dac502259ad0.png

點(diǎn)擊可查看大圖

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

05ROS2中的QoS策略ROS2中引?了Quality of Service, QoS(服務(wù)質(zhì)量)的策略?于配置節(jié)點(diǎn)間通信,進(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è)定

06ROS2的安裝和開發(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版本。

07ROS2在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)?起來了:

77a5cb40-54bb-11ed-a3b6-dac502259ad0.png

點(diǎn)擊可查看大圖

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

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

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

77c29428-54bb-11ed-a3b6-dac502259ad0.png

點(diǎn)擊可查看大圖

運(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é)點(diǎn)

完整的ros2命令如下所?:

77dcd36a-54bb-11ed-a3b6-dac502259ad0.png

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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    213

    文章

    31494

    瀏覽量

    223865
  • 嵌人式
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    7651
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    296

    瀏覽量

    18888

原文標(biāo)題:擁抱ROS2系列:ROS2概述和實踐入門

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    瑞芯微(EASY EAI)RV1126B ROS2安裝

    一種“機(jī)器人框架(robotframeworks)”。1.2ROS2ROS1的區(qū)別ROS2作為ROS1的繼任者,在保持ROS核心功能的基礎(chǔ)
    的頭像 發(fā)表于 04-28 17:03 ?566次閱讀
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>ROS2</b>安裝

    機(jī)器人主控核心板米爾RK3576 + ROS2,NPU加速實現(xiàn)目標(biāo)跟隨與機(jī)械臂抓取

    :RGB-D深度相機(jī)(輸出RGB、IR、深度三路數(shù)據(jù)) 機(jī)械臂 :6軸輕量機(jī)械臂(串口控制) 移動底盤 :STM32控制,麥克納姆輪 1.2 軟件模塊與數(shù)據(jù)流 整個系統(tǒng)分為五個核心ROS2節(jié)點(diǎn): 整體
    發(fā)表于 04-10 21:23

    從數(shù)據(jù)采集到回放驗證:ADTF 適配 ROS2 的 ADAS 測試實踐

    引言在智能駕駛項目里,很多團(tuán)隊都會遇到同一個問題:數(shù)據(jù)采集并不難,難的是把采到的數(shù)據(jù)穩(wěn)定地用起來。路測之后,工程團(tuán)隊往往要面對幾個高頻挑戰(zhàn):傳感器數(shù)據(jù)來源多、格式多,鏈路聯(lián)調(diào)成本高;算法和測試團(tuán)隊常用ROS2生態(tài),但工程化流程需要更強(qiáng)的可控性;ROSBA
    的頭像 發(fā)表于 03-27 17:32 ?2533次閱讀
    從數(shù)據(jù)采集到回放驗證:ADTF 適配 <b class='flag-5'>ROS2</b> 的 ADAS 測試<b class='flag-5'>實踐</b>

    RK3562 單板機(jī)嵌入式 ROS2 開發(fā)指南:環(huán)境搭建與工程編譯

    本文為創(chuàng)龍科技RK3562 單板機(jī) ROS2 Foxy 開發(fā)指南,涵蓋系統(tǒng)測試與開發(fā)全流程。詳細(xì)說明 Python/C++ 節(jié)點(diǎn)通信、turtlesim 可視化測試的實操指令,以及上位機(jī)開發(fā)環(huán)境搭建
    的頭像 發(fā)表于 03-27 11:26 ?7454次閱讀
    RK3562 單板機(jī)嵌入式 <b class='flag-5'>ROS2</b> 開發(fā)指南:環(huán)境搭建與工程編譯

    開發(fā)必看,RK3576基于Ubuntu22.04安裝 測試ROS2機(jī)器人系統(tǒng)

    本文介紹基于Ubuntu22.04安裝ROS2機(jī)器人系統(tǒng)教程,并附帶詳細(xì)測試方法,基于觸覺智能RK3576核心板方案,使用配套開發(fā)板PurplePiOH2演示。ROS、ROS2簡介
    的頭像 發(fā)表于 03-13 17:48 ?439次閱讀
    開發(fā)必看,RK3576基于Ubuntu22.04安裝 測試<b class='flag-5'>ROS2</b>機(jī)器人系統(tǒng)

    ROS2 SLAM建圖與導(dǎo)航實戰(zhàn)--基于米爾RK3576開發(fā)板

    前言 文檔定位與目標(biāo)讀者 本文檔面向具備一定ROS基礎(chǔ)、希望深入理解并在實際項目中部署ROS2 Humble + SLAM Toolbox + Nav2完整建圖與導(dǎo)航系統(tǒng)的機(jī)器人工程師。我們將從
    發(fā)表于 03-12 17:55

    RK3576 + ROS2 SLAM建圖與導(dǎo)航實戰(zhàn)

    前言文檔定位與目標(biāo)讀者本文檔面向具備一定ROS基礎(chǔ)、希望深入理解并在實際項目中部署ROS2Humble+SLAMToolbox+Nav2完整建圖與導(dǎo)航系統(tǒng)的機(jī)器人工程師。我們將從零開始,基于米爾
    的頭像 發(fā)表于 03-12 08:08 ?8906次閱讀
    RK3576 + <b class='flag-5'>ROS2</b> SLAM建圖與導(dǎo)航實戰(zhàn)

    RK平臺ROS2適配全指南:從編譯到運(yùn)行,手把手搞定嵌入式機(jī)器人開發(fā)

    在嵌入式機(jī)器人與智能硬件領(lǐng)域,瑞芯微(Rockchip)的 RK356x、RK3588 等 arm64 芯片憑借高性能、低功耗的優(yōu)勢,成為眾多開發(fā)者的首選硬件平臺;而 ROS2(Robot
    的頭像 發(fā)表于 02-06 16:42 ?5658次閱讀
    RK平臺<b class='flag-5'>ROS2</b>適配全指南:從編譯到運(yùn)行,手把手搞定嵌入式機(jī)器人開發(fā)

    初識ros2 功能包建立與可執(zhí)行文件的配置

    本文介紹了ROS2程序的兩種啟動方式:直接運(yùn)行可執(zhí)行文件(ros2 run)和使用啟動文件(ros2 launch)。重點(diǎn)講解了Python軟件包的結(jié)構(gòu),包括package.xml、setup.py
    的頭像 發(fā)表于 01-22 13:41 ?478次閱讀

    米爾RK3576成功上車!ROS2 Humble生態(tài)系統(tǒng)體驗

    當(dāng)RK3576的強(qiáng)勁“大腦”(四核A72+四核A53)與強(qiáng)大的GPU、VPU、NPU加速模塊相遇,一場高性價比的機(jī)器人開發(fā)革命正在悄然發(fā)生。我們成功將完整的Ubuntu 22.04與ROS2
    發(fā)表于 01-15 18:30

    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—ROS2系統(tǒng)使用說明

    本文圍繞創(chuàng)龍科技研發(fā)的評估板,詳解 ROS2 系統(tǒng)使用方法。涵蓋 ROS2 環(huán)境搭建、核心概念講解、節(jié)點(diǎn)通信測試、功能包創(chuàng)建與編譯,以及可視化工具 RViz 的使用,還包括基于評估板的 ROS2 應(yīng)用案例演示,幫助開發(fā)者快速掌握
    的頭像 發(fā)表于 10-30 13:46 ?648次閱讀
    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—<b class='flag-5'>ROS2</b>系統(tǒng)使用說明

    請問mirco ros2的lib庫怎么生成?

    想使用MDK開發(fā)mirco_ros2,但是網(wǎng)上怎么找都沒有相應(yīng)的lib庫及生成教程,想問下有沒有人能解決這個問題,因為項目開始就用MDK開發(fā),也習(xí)慣了,改用其他功能可能會很費(fèi)時。
    發(fā)表于 09-22 07:28

    如何基于翼輝信息SylixOS開發(fā)ROS 2應(yīng)用

    ROS 2(Robot Operating System 2)是機(jī)器人操作系統(tǒng)(ROS)的升級版,是一套開源的專為機(jī)器人開發(fā)而設(shè)計的軟件庫與工具集。作為構(gòu)建機(jī)器人應(yīng)用的強(qiáng)大框架,提供從
    的頭像 發(fā)表于 08-14 15:44 ?2216次閱讀
    如何基于翼輝信息SylixOS開發(fā)<b class='flag-5'>ROS</b> <b class='flag-5'>2</b>應(yīng)用

    硬核上車!RK3576基于Ubuntu部署ROS機(jī)器人系統(tǒng)詳細(xì)攻略(上)

    本文適用于瑞芯微RK3562、RK3566、RK3568、RK3576、RK3588等Arm64位SoC,適配開發(fā)ROS2系統(tǒng)。各型號觸覺智能均有配套核心板及開發(fā)板,實現(xiàn)了百分百全國產(chǎn)。ROS2
    的頭像 發(fā)表于 07-03 18:45 ?3102次閱讀
    硬核上車!RK3576基于Ubuntu部署<b class='flag-5'>ROS</b>機(jī)器人系統(tǒng)詳細(xì)攻略(上)

    ros2教程

    電子發(fā)燒友網(wǎng)站提供《ros2教程.pdf》資料免費(fèi)下載
    發(fā)表于 05-23 09:12 ?1次下載
    曲周县| 黄冈市| 边坝县| 乌拉特中旗| 郸城县| 德昌县| 乌鲁木齐市| 许昌县| 敖汉旗| 蛟河市| 昌宁县| 精河县| 确山县| 台中市| 响水县| 大安市| 西乡县| 廊坊市| 神木县| 缙云县| 博客| 区。| 江北区| 隆尧县| 靖宇县| 宁国市| 晋江市| 厦门市| 兴隆县| 安康市| 林州市| 平利县| 中西区| 涟水县| 龙口市| 渭源县| 涿鹿县| 万州区| 利津县| 平远县| 西华县|