国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ROS2概述和實踐入門

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

掃碼添加小助手

加入工程師交流群

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

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

01為什么轉向ROS

ROS?2007年發布以來,為機器?社區提供了?套相對完善的中間層、?具、軟件乃?通?的接?和標準,可以說,憑借ROS,機器??業領域的開發者能夠快速開發系統原型并做測試和驗證。?動駕駛本質上是機器?研究的?個應?領域,在產品原型快速開發的過程中也通常會采?ROS。

如果說ROS1為科研和原型開發提供了很好的?態的話,那么ROS2就是?于實際產品的部署環境的開發架構和相應?具鏈。

02ROS1的天然缺陷ROS1項?的初衷是為了給科研機器?Willow Garage PR2提供?個開發環境和相應的?具,為了讓這套軟件在更多的機器?上運?,ROS為機器?開發構建了應?層的抽象和通?的消息接?,最終在機器?社區中?為使?并發展為?前最流?的機器?軟件?態體系之?。然?,ROS1研發的初衷就注定了該架構存在以下缺陷:

·?實時性(real-time)

·嵌?式設備不友好

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

·多?于學術應?

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

·原?的ROS僅?持單機器?

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

03ROS2相較于ROS1的提升和改進

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

·?持多機器?

·對?型嵌?式設備和微控制器的?持

·實時系統:?持實時控制,包括進程間和機器間通信的實時性

·?持?理想?絡環境:在低質量?延遲等?絡環境下系統仍然能夠?作

·對產品環境的?持的能力

·規范的編程模型以?持基于ROS的?規模?的構建、開發和部署

04ROS2中的DDS中間層

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

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

·eProsima的Fast RTPS(當前ROS2版本默認的DDS實現)

·RTI的Connext DDS

·Eclipse Cyclone DDS

了解更多DDS相關背景,可以參考這篇?章:

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

ROS2的內部架構:

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

點擊可查看大圖

ROS2的內部接?主要包括兩個層:

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

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

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

更多關于rmw和rcl等中間層的實現機制以及ROS msg,DSS idl?件和python、c++和C上的類(或者結 構體)的轉換可以參考ROS2官??檔:

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

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

·發布-訂閱機制的QoS設定

·服務 (Service) 的QoS設定

·傳感器數據的QoS設定

·參數的QoS設定

·DDS中間層默認的QoS設定

06ROS2的安裝和開發環境準備

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

·Crystal: 2018年12?

·Dashing: 2019年5?底

·Eloquent: 2019年11?

·Foxy: 2020年6?

·Galactic: 2021年5?

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

07ROS2在Ubuntu下的安裝在你的Ubuntu 20.04系統中,配置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的環境變量:

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

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

ros2 run demo_nodes_cpp talker

在另?個terminal中,運?listener:

ros2 run demo_nodes_py listener

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

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

點擊可查看大圖

不難發現,ROS2并不需要像ROS1那樣啟動roscore(即master節點),ROS2這種去中?化的策略能讓其適應更多?業應?和產品級應?場景的需求。

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

08ROS2的基本工具和命令和ROS1?樣,ROS2也提供了?量的開發調試?具,如Rviz, Rqt等?具均已經可以在ROS2中使?,運行rqt,可以看到我們剛剛運?的兩個demo節點:

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

點擊可查看大圖

運?rviz2可以啟動ROS2環境下的rviz軟件。

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

·ros2 node: 輸出node相關信息

·ros2 topic: topic相關指令,包括list,hz,echo等

·ros2 service:service相關指令,如list,call,type等

·ros2 bag: rosbag相關指令, 錄包,播包,打印數據包信息等

·ros2 bag:package相關指令

·ros2 param: 參數相關

·ros2 launch:運?launch?件

·ros2 run:運?單個節點

完整的ros2命令如下所?:

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    213

    文章

    31073

    瀏覽量

    222189
  • 嵌人式
    +關注

    關注

    0

    文章

    10

    瀏覽量

    7641
  • ROS
    ROS
    +關注

    關注

    1

    文章

    293

    瀏覽量

    18723

原文標題:擁抱ROS2系列:ROS2概述和實踐入門

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RK平臺ROS2適配全指南:從編譯到運行,手把手搞定嵌入式機器人開發

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

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

    本文介紹了ROS2程序的兩種啟動方式:直接運行可執行文件(ros2 run)和使用啟動文件(ros2 launch)。重點講解了Python軟件包的結構,包括package.xml、setup.py
    的頭像 發表于 01-22 13:41 ?234次閱讀

    米爾RK3576成功上車!ROS2 Humble生態系統體驗

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

    當國產芯遇上機器人:RK3576的ROS2奇幻之旅

    ROS2Humble生態系統,完美移植到了這顆國產芯片上。一個穩定、全功能的機器人軟件開發平臺已經就緒,現在就來一起探索它的強大魅力!一、系統啟動與基礎性能展示1.硬件平臺簡介開發
    的頭像 發表于 01-15 08:04 ?9350次閱讀
    當國產芯遇上機器人:RK3576的<b class='flag-5'>ROS2</b>奇幻之旅

    探索Murata Type2EG BLE評估套件:從入門實踐

    探索Murata Type2EG BLE評估套件:從入門實踐 在物聯網和無線通信飛速發展的今天,藍牙低功耗(BLE)技術憑借其低功耗、低成本和廣泛的兼容性,成為了眾多應用的首選。Murata
    的頭像 發表于 12-18 09:40 ?407次閱讀

    創龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—ROS2系統使用說明

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

    ROS 傳感器模塊的通用架構設計與跨中間件擴展實踐

    3DGS與4DGS的核心應用實踐與技術突破!在自動駕駛與機器人仿真領域,傳感器數據的高效交互是連接虛擬仿真與實際系統的關鍵紐帶。ROS(RobotOperatingSystem)作為行業通用的機器人
    的頭像 發表于 10-11 17:32 ?1117次閱讀
    <b class='flag-5'>ROS</b> 傳感器模塊的通用架構設計與跨中間件擴展<b class='flag-5'>實踐</b>

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

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

    如何基于翼輝信息SylixOS開發ROS 2應用

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

    硬核上車!RK3576基于Ubuntu部署ROS機器人系統詳細攻略(上)

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

    ros2教程

    電子發燒友網站提供《ros2教程.pdf》資料免費下載
    發表于 05-23 09:12 ?1次下載

    【「# ROS 2智能機器人開發實踐」閱讀體驗】視覺實現的基礎算法的應用

    : 一、機器人視覺:從理論到實踐 第7章詳細介紹了ROS2在機器視覺領域的應用,涵蓋了相機標定、OpenCV集成、視覺巡線、二維碼識別以及深度學習目標檢測等內容。通過學習,我認識到: 相機標定的重要性
    發表于 05-03 19:41

    【「# ROS 2智能機器人開發實踐」閱讀體驗】機器人入門的引路書

    的非常好的,特別是一些流程圖,很清晰的闡釋了概念 很適合作為初學者入門的引路書 還能了解很多技術和框架,破除初學者的自負困境,讓初學者知道功能是由很多開發者維護的,前人已經為各種產品搭建了完善的框架。避免陷入得一個人單打獨斗的錯覺 一直蠢蠢欲動ros2和機器人的同學,有了
    發表于 04-30 01:05

    【「# ROS 2智能機器人開發實踐」閱讀體驗】+ROS2應用案例

    的知識,還需要對ROS 2的節點通信和數據處理有一定的了解。通過實踐這一部分內容,我掌握了如何在ROS 2中實現二維碼識別,這對于提高機器人
    發表于 04-27 11:42

    【「# ROS 2智能機器人開發實踐」閱讀體驗】+內容初識

    ROS 2智能機器人開發實踐》內容閱讀初體驗 《ROS 2 智能機器人開發實踐》是一本針對
    發表于 04-27 11:24