色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

ROS2概述和實踐入門

3D視覺工坊 ? 來源:深藍AI ? 作者:深藍AI ? 2022-10-26 11:11 ? 次閱讀

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

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

01為什么轉向ROS

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

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

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

·?實時性(real-time)

·嵌?式設備不友好

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

·多?于學術應?

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

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

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

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

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

·?持多機器?

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

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

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

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

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

04ROS2中的DDS中間層

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

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

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

·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語?實現(xiàn)

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

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

更多關于rmw和rcl等中間層的實現(xiàn)機制以及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(服務質量)的策略?于配置節(jié)點間通信,進?提升了ROS2適應于不同應?場景的靈活性。ROS1只?持基于TCP的通信,通過配置QoS,ROS2可以表現(xiàn)出TCP的可靠性,也可以表現(xiàn)出UDP那樣的?實時性。??可以通過選擇不同的QoS配置?件以實現(xiàn)不同的通信表現(xiàn),QoS配置?件為策略的集合,ROS2提供了預設的QoS配置?件,如下所?:

·發(fā)布-訂閱機制的QoS設定

·服務 (Service) 的QoS設定

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

·參數(shù)的QoS設定

·DDS中間層默認的QoS設定

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

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,但是依據(jù)我們在ROS1上開發(fā)的經驗,我依然推薦?家在Linux的Ubuntu發(fā)?版上從事相應的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,運?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

點擊可查看大圖

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

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

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

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

點擊可查看大圖

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

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

·ros2 node: 輸出node相關信息

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

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

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

·ros2 bag:package相關指令

·ros2 param: 參數(shù)相關

·ros2 launch:運?launch?件

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

完整的ros2命令如下所?:

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

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

審核編輯 :李倩

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

    關注

    212

    文章

    28910

    瀏覽量

    209649
  • 嵌人式
    +關注

    關注

    0

    文章

    10

    瀏覽量

    7531
  • ROS
    ROS
    +關注

    關注

    1

    文章

    281

    瀏覽量

    17249

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

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

收藏 人收藏

    評論

    相關推薦

    【書籍評測活動NO.58】ROS 2智能機器人開發(fā)實踐

    負責人李喬龍老師共同撰寫了這本500頁的機器人入門者案頭手冊——《ROS 2智能機器人開發(fā)實踐》一書! 本書匯聚了作者過去十幾年的機器人開發(fā)經驗,基于穩(wěn)定版
    發(fā)表于 03-03 14:18

    如何將python文件導入到ROS系統(tǒng)中

    本文通過使用myCobot機械臂進行QR碼視覺追蹤的實踐案例分析,介紹如何將 python 文件導入到 ROS 系統(tǒng)中。
    的頭像 發(fā)表于 02-11 11:08 ?336次閱讀
    如何將python文件導入到<b class='flag-5'>ROS</b>系統(tǒng)中

    使用myCobot 280機械臂結合ROS2系統(tǒng)搭建機械分揀站

    這篇文章是來自Automatic Addison的開源項目,已獲作者授權轉載自github。本項目的主要內容是使用myCobot 280機械臂結合ROS2系統(tǒng)搭建機械分揀站。
    的頭像 發(fā)表于 01-15 09:22 ?232次閱讀
    使用myCobot 280機械臂結合<b class='flag-5'>ROS2</b>系統(tǒng)搭建機械分揀站

    在Mac上使用Docker構建noVNC環(huán)境并運行MyCobot

    這篇文章主要內容是關于如何在 Ros2 環(huán)境中構建在 Mac 上模擬 Mycobot 280 M5 的環(huán)境。
    的頭像 發(fā)表于 01-15 09:17 ?282次閱讀
    在Mac上使用Docker構建noVNC環(huán)境并運行MyCobot

    #新年新氣象,大家新年快樂!#AIGC入門及鴻蒙入門

    2. 實踐操作: 使用Python進行實踐,通過transformers庫加載預訓練的文本生成模型。 學習圖像生成算法,如生成對抗網(wǎng)絡(GAN)等。 3. 工具推薦: ChatGPT:由OpenAI
    發(fā)表于 01-13 10:46

    AIGC入門及鴻蒙入門

    2. 實踐操作: 使用Python進行實踐,通過transformers庫加載預訓練的文本生成模型。 學習圖像生成算法,如生成對抗網(wǎng)絡(GAN)等。 3. 工具推薦: ChatGPT:由OpenAI
    發(fā)表于 01-13 10:32

    ROSCon China 2024 | RDK第一本教材來了!地瓜機器人與古月居發(fā)布新書《ROS 2智能機器人開發(fā)實踐

    12月7日-8日,為期兩天的ROSCon China 2024在上海圓滿落幕,來自全球的ROS專家學者、開發(fā)者、企業(yè)代表齊聚一堂,共享機器人前沿技術成果。地瓜機器人攜手眾多RDK生態(tài)產品亮相,并聯(lián)手古月居共同推出首本基于RDK機器人開發(fā)者套件的教材——《ROS
    的頭像 發(fā)表于 12-10 18:48 ?690次閱讀
    ROSCon China 2024 | RDK第一本教材來了!地瓜機器人與古月居發(fā)布新書《<b class='flag-5'>ROS</b> <b class='flag-5'>2</b>智能機器人開發(fā)<b class='flag-5'>實踐</b>》

    ROSCon China 2024 | RDK第一本教材來了!地瓜機器人與古月居發(fā)布新書《ROS 2智能機器人開發(fā)實踐

    手古月居共同推出首本基于RDK機器人開發(fā)者套件的教材——《ROS 2智能機器人開發(fā)實踐》。該書由地平線創(chuàng)始人&CEO余凱博士和華東師范大學教授張新宇博士作序,獲得了奧比中光創(chuàng)始人黃源浩博士,中國科學院軟件研究所副總工程師、ope
    發(fā)表于 12-10 10:56 ?373次閱讀

    TVP5146M2 VBI快速入門

    電子發(fā)燒友網(wǎng)站提供《TVP5146M2 VBI快速入門.pdf》資料免費下載
    發(fā)表于 09-30 11:10 ?0次下載
    TVP5146M<b class='flag-5'>2</b> VBI快速<b class='flag-5'>入門</b>

    ROS讓機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    、路線控制偏離、系統(tǒng)通信異常等嚴重后果。而ROS系統(tǒng)憑借其優(yōu)勢,已成為AGV開發(fā)利器,廣泛應用于各種機器人開發(fā),并逐漸成為主流。 RK3568J + Debian的ROS2系統(tǒng)演示案例 創(chuàng)龍科技
    發(fā)表于 07-09 11:38

    如何在ROS中調用.so文件

    設備 筆者有一個需求,需要結合ROS做模擬量采集。有一種解決方法是ADC芯片+STM32主控,通過串口的方式與上位機通信,但串口通信速度很慢,達不到要求遂放棄。也考慮過使用NI的數(shù)據(jù)采集卡,貌似NI
    發(fā)表于 07-02 14:44

    ZMC900E控制器之ROS2環(huán)境安裝指南

    ZMC900E是致遠電子研發(fā)的最新一代高性能EtherCAT控制器,支持ROS2系統(tǒng),兼?zhèn)鋸姶蠊δ芎蛯崟r性,為工業(yè)應用帶來新的可能。本文將詳述ROS2特點和安裝,助力用戶在機器人上的二次開發(fā)
    的頭像 發(fā)表于 04-29 08:24 ?735次閱讀
    ZMC900E控制器之<b class='flag-5'>ROS2</b>環(huán)境安裝指南

    請問STM32MP157上可以安裝ROS嗎?

    請問一下,STM32MP157上可以安裝ROS嗎?
    發(fā)表于 03-26 06:50

    SLAMWARE ROS SDK的基礎架構、部署方法和應用示例介紹

    ROS作為機器人行業(yè)應用最廣泛的基礎架構之一,是很多用戶開發(fā)機器人應用的首選框架,如果要在基于ROS開發(fā)的系統(tǒng)中集成思嵐科技的機器人底盤或者SLAMKit建圖定位解決方案,有什么最便捷的方法呢?ROS SDK就是為此而生。
    的頭像 發(fā)表于 03-21 10:44 ?1068次閱讀
    SLAMWARE <b class='flag-5'>ROS</b> SDK的基礎架構、部署方法和應用示例介紹

    EtherCAT運動控制器在ROS上的應用(下)

    正運動技術動態(tài)鏈接庫環(huán)境配置以及EtherCAT運動控制器在ROS下的單軸運動。
    的頭像 發(fā)表于 03-13 14:54 ?763次閱讀
    EtherCAT運動控制器在<b class='flag-5'>ROS</b>上的應用(下)
    主站蜘蛛池模板: 丰满艳妇亲伦 | 久久囯产精品777蜜桃传媒 | 337p啪啪人体大胆 | 蜜芽资源高清在线观看 | 国产麻豆精品人妻无码A片 国产麻豆精品久久一二三 国产麻豆精品传媒AV国产在线 | 饥渴的新婚女教师 | 嫩小幼处在线 | 姉调无修版ova国语版 | 87影院午夜福利 | 99E久热只有精品8在线直播 | 日本伦子欲 | 试看做受120秒免费午夜剧场 | 亚洲免费一区二区 | yellow高清免费观看日本 | 狠狠色狠狠色综合系列 | 国产欧美精品一区二区色综合 | 啊好大好厉害好爽真骚 | 99精品国产第一福利网站 | 国产欧美日韩精品a在线观看高清 | 日本粉嫩学生毛绒绒 | 午夜DJ国产精华日本无码 | 妻子撸av中文字幕 | 美女被爆羞羞天美传媒 | 欧美在线看费视频在线 | 含羞草免费完整视频在线观看 | 狠狠色狠狠色88综合日日91 | 成人在线免费视频观看 | 日本最新在线不卡免费视频 | 国产h视频在线观看网站免费 | 日韩午夜欧美精品一二三四区 | 国产三级在线精品男人的天堂 | 美女医生深夜在家裸睡惨死 | 在线AV国产传媒18精品免费 | 国模玲玲自拍337p | 使劲别停好大好深好爽动态图 | 久久精品国产男包 | 综合一区无套内射中文字幕 | 亚洲.欧美.中文字幕在线观看 | 国产精品一区二区人妻无码 | 中文字幕在线视频网站 | 偷尝禁果H1V1幸运的山熊 |