chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ROS基本介紹

jf_78858299 ? 來(lái)源:控制工程研習(xí) ? 作者:C27 ? 2023-05-19 17:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近來(lái)找到的實(shí)習(xí)主要是做智能車控制,用到的也就是ROS機(jī)器人操作系統(tǒng),ROS需要運(yùn)行在一個(gè)操作系統(tǒng)上,這個(gè)操作系統(tǒng)常用的就是Linux,而公司用的就是Ubuntu,所以Ubuntu-ROS組合就是實(shí)習(xí)的主要學(xué)習(xí)內(nèi)容了。所以我就新開(kāi)了一個(gè)坑,網(wǎng)絡(luò)上ROS的資源很豐富,我在此只是用以分享學(xué)習(xí)筆記。

1. ROS基本介紹

ROS是主流的機(jī)器人操作系統(tǒng)

官方將ROS解釋為框架、工具、功能和社區(qū)。

ROS實(shí)際上相當(dāng)于一個(gè) 軟件工具集 ,采用分布式框架,通信框架是其主要組成部分,可將多個(gè)單獨(dú)設(shè)計(jì)的進(jìn)程(節(jié)點(diǎn))組合起來(lái)并同時(shí)運(yùn)行。

各節(jié)點(diǎn)可實(shí)現(xiàn)各種不同的功能,并通過(guò)ROS這一橋梁實(shí)現(xiàn)相互通信。這樣的特點(diǎn)使其拓展性好,復(fù)用率高,極大地提高了龐大和冗雜的機(jī)器人設(shè)計(jì)過(guò)程的效率。

ROS能給開(kāi)發(fā)人員提供可視化界面工具,包含諸如Gazebo、Rviz等用于仿真和調(diào)試的基本工具,以及各種基礎(chǔ)程序包(控制、路徑、規(guī)劃等),只需在其上設(shè)計(jì)所要實(shí)現(xiàn)的特殊功能的部分并將它們組合起來(lái)即可。

2. 為什么選擇Ubuntu系統(tǒng)

軟件是機(jī)器人的核心。

機(jī)器人應(yīng)用軟件需要運(yùn)行在一個(gè)操作系統(tǒng)上, 該操作系統(tǒng)可以提供與機(jī)器人作動(dòng)器和傳感器通信的功能 。基于Linux的操作系統(tǒng)在與底層硬件交互的過(guò)程中具有極大的靈活性,并且提供相關(guān)許可允許用戶根據(jù)機(jī)器人應(yīng)用對(duì)其進(jìn)行修改。在這種應(yīng)用背景下,Ubuntu快速響應(yīng)能力、輕量級(jí)屬性及高度安全性的優(yōu)點(diǎn)得以展現(xiàn)。

當(dāng)前,Ubuntu-ROS組合已成為機(jī)器人編程的一個(gè)理想選擇。

3. ROS框架

從根本上說(shuō),ROS是兩個(gè)程序或進(jìn)程間通信的框架。

For example,如果程序A想要向程序B發(fā)送數(shù)據(jù),并且程序B也想要向程序A發(fā)送數(shù)據(jù),那么可以輕松地用ROS實(shí)現(xiàn)這項(xiàng)工作。

一個(gè)機(jī)器人可能有許多傳感器、作動(dòng)器和計(jì)算單元。怎樣才能做到控制這么多作動(dòng)器及這么多傳感器數(shù)據(jù)呢?我們可以只用一個(gè)程序完成這些嗎?這當(dāng)然可以。但是這并不是一個(gè)好方法。

更好的解決方案是我們可以編寫(xiě)多個(gè)獨(dú)立的程序來(lái)處理傳感器數(shù)據(jù)、向作動(dòng)器發(fā)送控制指令,但是這就需要在這些程序之間進(jìn)行數(shù)據(jù)交換,而這恰恰就是我們使用ROS的場(chǎng)景。

4. ROS中兩個(gè)程序之間的通信如何完成

兩個(gè)程序分別被標(biāo)記為節(jié)點(diǎn)1和節(jié)點(diǎn)2。當(dāng)程序啟動(dòng)時(shí),節(jié)點(diǎn)便會(huì)和名為ROS Master的ROS程序通信。節(jié)點(diǎn)將所有信息發(fā)給ROS Master,包括它發(fā)送和收到的消息類型、本節(jié)點(diǎn)路由信息等。發(fā)送信息的節(jié)點(diǎn)稱為發(fā)布節(jié)點(diǎn)(Publisher Nodes),接收信息的節(jié)點(diǎn)稱為訂閱節(jié)點(diǎn)(Subscriber Nodes)。ROS Master擁有在計(jì)算機(jī)上正在運(yùn)行的所有發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)的信息。如果節(jié)點(diǎn)1發(fā)送某個(gè)名為A的數(shù)據(jù),而節(jié)點(diǎn)2正好訂閱了該消息,那么ROS Master就向兩個(gè)節(jié)點(diǎn)廣播彼此的節(jié)點(diǎn)信息(注意:不是消息)以幫助它們建立連接,這樣兩個(gè)節(jié)點(diǎn)就可以互相通信了。

圖片

ROS節(jié)點(diǎn)可以彼此間互相傳送不同類型的數(shù)據(jù),這些數(shù)據(jù)可以包含像整數(shù)、浮點(diǎn)數(shù)、字符串等這類簡(jiǎn)單類型的數(shù)據(jù)。這些節(jié)點(diǎn)間相互傳遞的不同類型的數(shù)據(jù)稱為 ROS消息(Messages) 。有了ROS消息,我們就可以在節(jié)點(diǎn)之間傳遞各種類型的數(shù)據(jù)了。這些消息通過(guò)一種類似于數(shù)據(jù)總線或者路徑標(biāo)識(shí)的媒介進(jìn)行傳播,我們稱為ROS話題(Topics)。每一條話題都有自己的名字,比如一個(gè)可以傳輸字符串?dāng)?shù)據(jù)的名為“chatter”的話題。

如果一個(gè)ROS節(jié)點(diǎn)想通過(guò)話題廣播消息,那么它只需要給ROS話題發(fā)送消息即可,消息中就包含了消息的數(shù)據(jù)類型(所以不用另外告知topics 數(shù)據(jù)的類型)。

圖4-12中,節(jié)點(diǎn)1和節(jié)點(diǎn)2就是通過(guò)ROS話題發(fā)送和接受消息的。當(dāng)ROS Master交換完兩個(gè)節(jié)點(diǎn)的信息之后,兩個(gè)節(jié)點(diǎn)間消息的發(fā)送和接收過(guò)程就開(kāi)始了。

5. ROS中的一些名詞

ROS節(jié)點(diǎn)(Node) :使用ROS API進(jìn)行運(yùn)算的進(jìn)程。

ROS主機(jī)(Master) :連接ROS節(jié)點(diǎn)的媒介程序。

** ROS參數(shù)服務(wù)器(Parameter Server)** :指通常與ROS Master一起運(yùn)行的一個(gè)程序。使用者在此服務(wù)器上存儲(chǔ)不同的參數(shù),所有的節(jié)點(diǎn)都可以訪問(wèn)它,使用者可以設(shè)置參數(shù)的保密性。如果某個(gè)參數(shù)是公共的,那么所有節(jié)點(diǎn)都可以訪問(wèn);但如果某個(gè)參數(shù)具有私有屬性,那么只有特定的節(jié)點(diǎn)才可以訪問(wèn)這個(gè)參數(shù)。

ROS話題(Topic) :即“總線”,ROS節(jié)點(diǎn)可以通過(guò)該總線發(fā)送或接收信息。一個(gè)節(jié)點(diǎn)可以發(fā)布或者接收任意數(shù)量的話題。

ROS消息(Message) :消息基本上都是通過(guò)話題傳送的。ROS含有許多內(nèi)建的消息類型,當(dāng)然使用者也可以定義他們自己的消息類型。

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

    關(guān)注

    213

    文章

    30543

    瀏覽量

    219278
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7324

    瀏覽量

    128560
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    603

    瀏覽量

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

    關(guān)注

    1

    文章

    290

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    ROS與RPLIDAR結(jié)合使用說(shuō)明及問(wèn)題匯總

    的ROSpackage rplidar_ros介紹:rplidar_ros是國(guó)內(nèi)第一款面向全球ROS開(kāi)發(fā)者推出相應(yīng)package的激光雷達(dá),其低廉的價(jià)格大大推動(dòng)了激光雷達(dá)在
    發(fā)表于 09-07 16:27

    ROS RIKIBOT基礎(chǔ)--使用系列 第一章節(jié)】ROS機(jī)器人硬件系統(tǒng) 精選資料分享

    ROS RIKIBOT基礎(chǔ)–使用系列】ROS機(jī)器人硬件介紹1.RIKIBOT機(jī)器人硬件介紹1.1硬件框架ROS機(jī)器人硬件 采用樹(shù)莓派和ST
    發(fā)表于 07-30 06:59

    ROS2的安裝與使用 精選資料推薦

    ros2的烏龜仿真turtlesim,介紹topic,service,action等元素及其使用,介紹ros的基本操作
    發(fā)表于 08-30 08:24

    什么是ROS?如何學(xué)習(xí)ROS?

    什么是ROS?如何學(xué)習(xí)ROS
    發(fā)表于 11-11 07:21

    ROS是什么?機(jī)器人操作系統(tǒng)ROS介紹

    ROS 是 Robot Operating System 的縮寫(xiě),原本是斯坦福大學(xué)的一個(gè)機(jī)器人項(xiàng)目,后 來(lái)由 WillowGarage 公司發(fā)展,目前由 OSRF(Open Source
    發(fā)表于 09-13 17:23 ?14次下載
    <b class='flag-5'>ROS</b>是什么?機(jī)器人操作系統(tǒng)<b class='flag-5'>ROS</b>的<b class='flag-5'>介紹</b>

    ROS的含義與機(jī)器人操作系統(tǒng)ROS介紹

    為了說(shuō)明講清楚 ROS,我就從 ROS 是什么,為什么使用 ROS,如何使用 ROS 三個(gè)方面展開(kāi)。 △出自今年《機(jī)器人視覺(jué)與應(yīng)用》課程本人制作的課件 是什么
    發(fā)表于 09-26 14:08 ?12次下載

    機(jī)器人操作系統(tǒng)入門課程講義資料免費(fèi)下載

    ,受到了學(xué)術(shù)界和工業(yè)界的歡迎,如今已經(jīng)廣泛應(yīng)用于機(jī)械臂、移動(dòng)底盤、無(wú)人機(jī)、無(wú)人車等許多種類的機(jī)器人上。本章介紹ROS的產(chǎn)生、發(fā)展、特點(diǎn)和安裝方法,帶給你一個(gè)簡(jiǎn)單直觀的ROS介紹。
    發(fā)表于 10-09 08:00 ?6次下載

    ros智能小車硬件介紹

    和ArduinoMega2560兩個(gè)版本,下面將分別為大家介紹不同板子的通信原理及使用方法。1.1樹(shù)莓派端ROS主節(jié)點(diǎn)Raspberry Pi(中文名為“樹(shù)莓派”,簡(jiǎn)寫(xiě)為RPi,(或者RasPi / RPI) 是為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì)),只有信用卡大小的微型電腦,其
    發(fā)表于 12-07 14:36 ?16次下載
    <b class='flag-5'>ros</b>智能小車硬件<b class='flag-5'>介紹</b>

    ROS1的通信架構(gòu)的基礎(chǔ)通信方式及相關(guān)概念

    ROS的通信架構(gòu)是ROS的靈魂所在,它包括數(shù)據(jù)處理,進(jìn)程運(yùn)行,消息傳遞等** 。這篇文章主要介紹ROS1的通信架構(gòu)的基礎(chǔ)通信方式和相關(guān)概念,因?yàn)?b class='flag-5'>RO
    的頭像 發(fā)表于 05-19 17:23 ?4854次閱讀
    <b class='flag-5'>ROS</b>1的通信架構(gòu)的基礎(chǔ)通信方式及相關(guān)概念

    ROS/ROS 2 介紹

    ROS是機(jī)器人操作系統(tǒng)(Robot Operating System)的英文縮寫(xiě)。ROS是用于編寫(xiě)機(jī)器人軟件程序的一種具有高度靈活性的軟件架構(gòu)。ROS的原型源自斯坦福大學(xué)的STanford
    的頭像 發(fā)表于 05-19 17:45 ?5348次閱讀
    <b class='flag-5'>ROS</b>/<b class='flag-5'>ROS</b> 2 <b class='flag-5'>介紹</b>

    Unity與ROS鏈接介紹

    對(duì)于ROS而言,其最常用的就是Topic話題以及Service兩個(gè)了。之前我們?cè)诹私釻nity Robotics Hub時(shí)候就了解到基本的Unity和ROS的通訊,下面我們來(lái)詳細(xì)介紹一下Unity
    的頭像 發(fā)表于 11-17 17:22 ?2026次閱讀
    Unity與<b class='flag-5'>ROS</b>鏈接<b class='flag-5'>介紹</b>

    ROS核心框架介紹

    ROS核心框架 對(duì)于第一個(gè)問(wèn)題,我也沒(méi)仔細(xì)研究過(guò)源碼,核心代碼基本由python和C++組成,運(yùn)用了xmlrpc機(jī)制,每個(gè)運(yùn)行的節(jié)點(diǎn)可以理解成一個(gè)進(jìn)程。進(jìn)程間通訊有些是共享內(nèi)存的方式(比如
    的頭像 發(fā)表于 11-21 18:07 ?1681次閱讀
    <b class='flag-5'>ROS</b>核心框架<b class='flag-5'>介紹</b>

    ros的基本概念是什么

    基本概念: ROS是一個(gè)用于在不同進(jìn)程間匿名的發(fā)布、訂閱、傳遞信息的中間件。 ROS2系統(tǒng)的核心部分是ROS網(wǎng)絡(luò)(ROS Graph)。 ROS
    的頭像 發(fā)表于 11-27 11:21 ?2646次閱讀

    ROS通信接口機(jī)制介紹

    ROS通信接口 接口可以讓程序之間的依賴降低,便于我們使用別人的代碼,也方便別人使用我們的代碼,這就是ROS的核心目標(biāo),減少重復(fù)造輪子。 ROS有三種常用的通信機(jī)制,分別是話題、服務(wù)、動(dòng)作,通過(guò)
    的頭像 發(fā)表于 12-01 15:03 ?1738次閱讀
    <b class='flag-5'>ROS</b>通信接口機(jī)制<b class='flag-5'>介紹</b>

    ros怎么設(shè)置環(huán)境變量

    設(shè)置ROS環(huán)境變量是使用ROS的重要步驟之一。本文將詳細(xì)介紹如何設(shè)置ROS環(huán)境變量,包括什么是環(huán)境變量、為什么要設(shè)置ROS環(huán)境變量、如何設(shè)置
    的頭像 發(fā)表于 12-28 13:52 ?3602次閱讀