一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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機(jī)器人操作系統(tǒng)

jf_78858299 ? 來(lái)源:大數(shù)據(jù)DT ? 作者:張虎 ? 2023-05-19 17:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01 ROS簡(jiǎn)介

可能很多初學(xué)者聽(tīng)到機(jī)器人操作系統(tǒng),就被“操作系統(tǒng)”幾個(gè)字嚇住了。其實(shí)簡(jiǎn)單點(diǎn)說(shuō),ROS就是一個(gè)分布式的通信框架,幫助程序進(jìn)程之間更方便地通信。

一個(gè)機(jī)器人通常包含多個(gè)部件,每個(gè)部件都有配套的控制程序,以實(shí)現(xiàn)機(jī)器人的運(yùn)動(dòng)與視聽(tīng)功能等。那么要協(xié)調(diào)一個(gè)機(jī)器人中的這些部件,或者協(xié)調(diào)由多個(gè)機(jī)器人組成的機(jī)器人集群,怎么辦呢?這時(shí)就需要讓分散的部件能夠互相通信,在多機(jī)器人集群中,這些分散的部件還分散在不同的機(jī)器人上。解決這種分布式通信問(wèn)題正是ROS的設(shè)計(jì)初衷。

隨著越來(lái)越多的人參與ROS開(kāi)發(fā)及源碼貢獻(xiàn),社區(qū)涌現(xiàn)出大量的第三方工具和實(shí)用開(kāi)源軟件包,使ROS變成現(xiàn)在的樣子。

一個(gè)經(jīng)常讓初學(xué)者困惑的地方是,學(xué)會(huì)了ROS就是學(xué)會(huì)機(jī)器人開(kāi)發(fā)了嗎?當(dāng)然不是,嚴(yán)格意義上講ROS只是一套通信框架而已,機(jī)器人中的各種算法和應(yīng)用程序依然是用C++、Python等常見(jiàn)編程語(yǔ)言進(jìn)行開(kāi)發(fā)的。

1. ROS的性能特色

在正式學(xué)習(xí)ROS之前,先介紹ROS的幾個(gè)特性,即元操作系統(tǒng)、分布式通信機(jī)制、松耦合軟件框架、豐富的開(kāi)源功能庫(kù)等,來(lái)幫大家建立一些感性的認(rèn)識(shí)。

ROS是一個(gè)機(jī)器人領(lǐng)域的元操作系統(tǒng)。也就是說(shuō),它并不是真正意義上的操作系統(tǒng),其底層的任務(wù)調(diào)度、編譯、設(shè)備驅(qū)動(dòng)等還是由它的原生操作系統(tǒng)Ubuntu Linux完成。

ROS實(shí)際上是運(yùn)行在Ubuntu Linux上的亞操作系統(tǒng) ,或者說(shuō)軟件框架,但提供硬件抽象、函數(shù)調(diào)用、進(jìn)程管理這些類(lèi)似操作系統(tǒng)的功能,也提供用于獲取、編譯、跨平臺(tái)的函數(shù)和工具。

ROS的核心思想就是將機(jī)器人的軟件功能做成一個(gè)個(gè)節(jié)點(diǎn),節(jié)點(diǎn)之間通過(guò)互相發(fā)送消息進(jìn)行溝通。 這些節(jié)點(diǎn)可以部署在同一臺(tái)主機(jī)上,也可以部署在不同主機(jī)上,甚至還可以部署在互聯(lián)網(wǎng)上。ROS網(wǎng)絡(luò)通信機(jī)制中的主節(jié)點(diǎn)(master)負(fù)責(zé)對(duì)網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)之間的通信過(guò)程進(jìn)行管理調(diào)度,同時(shí)提供一個(gè)用于配置網(wǎng)絡(luò)中全局參數(shù)的服務(wù)。

ROS是松耦合軟件框架,利用分布式通信機(jī)制實(shí)現(xiàn)節(jié)點(diǎn)間的進(jìn)程通信。ROS的軟件代碼以松耦合方式組織,開(kāi)發(fā)過(guò)程靈活,管理維護(hù)方便。

ROS具有豐富的開(kāi)源功能庫(kù)。ROS是基于BSD(Berkeley Software Distribution,伯克利軟件發(fā)行)協(xié)議的開(kāi)源軟件,允許任何人修改、重用、重發(fā)布以及在商業(yè)和閉源產(chǎn)品中使用,使用ROS能夠快捷地搭建自己的機(jī)器人原型。

2. ROS的發(fā)行版本

與Linux發(fā)行版類(lèi)似,ROS發(fā)行版內(nèi)置了一系列常用功能包,即將ROS系統(tǒng)打包安裝到原生系統(tǒng)中。ROS最初是基于Ubuntu系統(tǒng)開(kāi)發(fā)的,ROS的發(fā)行版本名稱(chēng)也和Ubuntu采用了同樣的規(guī)則,即版本名稱(chēng)由兩個(gè)相同首字母的英文單詞組成,版本首字母按字母表遞增順序選取,圖1-1展示了ROS的一些主要版本。

圖片

▲圖1-1 ROS的主要版本

3. ROS的學(xué)習(xí)方法

要想學(xué)好以及用好ROS,需要進(jìn)行大量的實(shí)踐操作。因此在快速了解ROS的核心概念和編程范式后,就要結(jié)合大量的實(shí)際項(xiàng)目來(lái)深入理解ROS。學(xué)會(huì)用正確的方式解決問(wèn)題,能幫你更快地提高能力。ROS的學(xué)習(xí)資源主要有以下幾個(gè)。

  • 官網(wǎng):www.ros.org
  • 源碼:github.com
  • Wiki:wiki.ros.org
  • 問(wèn)答:answers.ros.org

02 ROS系統(tǒng)架構(gòu)

安裝完ROS后,很多朋友應(yīng)該迫不及待想立馬開(kāi)始寫(xiě)程序。由于ROS的架構(gòu)比較復(fù)雜,為了后面容易理解遇到的各種概念,這里先討論一下ROS的系統(tǒng)架構(gòu),好讓大家對(duì)ROS中的各種概念有全面性把控。按照官方的說(shuō)法,可以分別從 計(jì)算圖 、文件系統(tǒng)開(kāi)源社區(qū)視角來(lái)理解ROS架構(gòu)。

1. 從計(jì)算圖視角理解ROS架構(gòu)

ROS中可執(zhí)行程序的基本單位叫 節(jié)點(diǎn) (node),節(jié)點(diǎn)之間通過(guò)消息機(jī)制進(jìn)行通信,這樣就組成了一張網(wǎng)狀圖,也叫計(jì)算圖,如圖1-3所示。

圖片

▲圖1-3 ROS的計(jì)算圖結(jié)構(gòu)

節(jié)點(diǎn)是可執(zhí)行程序,通常也叫進(jìn)程。ROS功能包中創(chuàng)建的每個(gè)可執(zhí)行程序在被啟動(dòng)加載到系統(tǒng)進(jìn)程中后,就是一個(gè)ROS節(jié)點(diǎn),如圖1-3中的節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)3等。

節(jié)點(diǎn)之間通過(guò)收發(fā)消息進(jìn)行通信,消息收發(fā)機(jī)制分為 話題 (topic)、 服務(wù) (service)和 動(dòng)作action)三種,如圖1-3中的節(jié)點(diǎn)2與節(jié)點(diǎn)3、節(jié)點(diǎn)2與節(jié)點(diǎn)5采用話題通信,節(jié)點(diǎn)2與節(jié)點(diǎn)4采用服務(wù)通信,節(jié)點(diǎn)1與節(jié)點(diǎn)2采用動(dòng)作通信。計(jì)算圖中的節(jié)點(diǎn)、話題、服務(wù)、動(dòng)作都要有唯一名稱(chēng)作為標(biāo)識(shí)。

ROS利用節(jié)點(diǎn)將代碼和功能解耦,提高了系統(tǒng)的容錯(cuò)性和可維護(hù)性。所以最好讓每個(gè)節(jié)點(diǎn)都具有特定的單一功能,而不是創(chuàng)建一個(gè)包羅萬(wàn)象的龐大節(jié)點(diǎn)。如果用C++編寫(xiě)節(jié)點(diǎn),需要用到ROS提供的roscpp庫(kù);如果用Python編寫(xiě)節(jié)點(diǎn),需要用到ROS提供的rospy庫(kù)。

消息是構(gòu)成計(jì)算圖的關(guān)鍵,包括消息機(jī)制和消息類(lèi)型兩部分。消息機(jī)制有話題、服務(wù)和動(dòng)作三種,每種消息機(jī)制中傳遞的數(shù)據(jù)都具有特定的數(shù)據(jù)類(lèi)型(即消息類(lèi)型),消息類(lèi)型可分為話題消息類(lèi)型、服務(wù)消息類(lèi)型和動(dòng)作消息類(lèi)型。消息機(jī)制和消息類(lèi)型將在1.5節(jié)中展開(kāi)講解。

數(shù)據(jù)包 (rosbag)是ROS中專(zhuān)門(mén)用來(lái)保存和回放話題中數(shù)據(jù)的文件,可以將一些難以收集的傳感器數(shù)據(jù)用數(shù)據(jù)包錄制下來(lái),然后反復(fù)回放來(lái)進(jìn)行算法性能調(diào)試。

參數(shù)服務(wù)器能夠?yàn)檎麄€(gè)ROS網(wǎng)絡(luò)中的節(jié)點(diǎn)提供便于修改的參數(shù)。參數(shù)可以認(rèn)為是節(jié)點(diǎn)中可供外部修改的全局變量,有靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù)。靜態(tài)參數(shù)一般用于在節(jié)點(diǎn)啟動(dòng)時(shí)設(shè)置節(jié)點(diǎn)工作模式;動(dòng)態(tài)參數(shù)可以用于在節(jié)點(diǎn)運(yùn)行時(shí)動(dòng)態(tài)配置節(jié)點(diǎn)或改變節(jié)點(diǎn)工作狀態(tài),比如電機(jī)控制節(jié)點(diǎn)里的PID控制參數(shù)。

主節(jié)點(diǎn)負(fù)責(zé)各個(gè)節(jié)點(diǎn)之間通信過(guò)程的調(diào)度管理。因此主節(jié)點(diǎn)必須要最先啟動(dòng),可以通過(guò)roscore命令啟動(dòng)。

2. 從文件系統(tǒng)視角理解ROS架構(gòu)

ROS程序的不同組件要放在不同的文件夾中,這些文件夾根據(jù)不同的功能對(duì)文件進(jìn)行組織,這就是ROS的文件系統(tǒng)結(jié)構(gòu),如圖1-4所示。

圖片

▲圖1-4 ROS的文件系統(tǒng)結(jié)構(gòu)

工作空間是一個(gè)包含功能包、編譯包和編譯后可執(zhí)行文件的文件夾,用戶可以根據(jù)自己的需要?jiǎng)?chuàng)建多個(gè)工作空間,在每個(gè)工作空間中開(kāi)發(fā)不同用途的功能包。在圖1-4中,我們創(chuàng)建了一個(gè)名為catkin_ws的工作空間,其中包含src、build和devel三個(gè)文件夾。

  • src文件夾放置各個(gè)功能包和配置功能包的CMake配置文件CMakeLists.txt。這里說(shuō)明一下,由于ROS中的源碼采用catkin工具進(jìn)行編譯,而catkin工具又基于CMake技術(shù),所以我們?cè)趕rc源文件空間和各個(gè)功能包中都會(huì)見(jiàn)到一個(gè)CMake配置文件CMakeLists.txt,這個(gè)文件起到配置編譯的作用。
  • build文件夾放置編譯CMake和catkin功能包時(shí)產(chǎn)生的緩存、配置、中間文件等。
  • devel文件夾放置編譯好的可執(zhí)行程序,這些可執(zhí)行程序是不需要安裝就能直接運(yùn)行的。一旦功能包源碼編譯和測(cè)試通過(guò)后,可以將這些編譯好的可執(zhí)行文件直接導(dǎo)出與其他開(kāi)發(fā)人員分享。

功能包是ROS中軟件組織的基本形式,具有創(chuàng)建ROS程序的最小結(jié)構(gòu)和最少內(nèi)容,它包含ROS節(jié)點(diǎn)源碼、腳本、配置文件等。

  1. CMakeLists.txt是功能包配置文件,用于編譯Cmake功能包編譯時(shí)的編譯配置。
  2. package.xml是功能包清單文件,用xml的標(biāo)簽格式標(biāo)記該功能包的各類(lèi)相關(guān)信息,比如包的名稱(chēng)、開(kāi)發(fā)者信息、依賴(lài)關(guān)系等,主要是為了使功能包的安裝和分發(fā)更容易。
  3. include/是功能包頭文件目錄,可以把功能包程序中包含的*.h頭文件放在這里。include目錄之所以還要加一級(jí)路徑是為了更好地區(qū)分自己定義的頭文件和系統(tǒng)標(biāo)準(zhǔn)頭文件,用實(shí)際功能包的名稱(chēng)替代。不過(guò)這個(gè)文件夾不是必要項(xiàng),比如有些程序沒(méi)有頭文件。
  4. msg、srv和action這三個(gè)文件夾分別用于存放非標(biāo)準(zhǔn)話題消息、服務(wù)消息和動(dòng)作消息的定義文件。ROS支持用戶自定義消息通信過(guò)程中使用的消息類(lèi)型。這些自定義消息不是必要的,比如程序只使用標(biāo)準(zhǔn)消息類(lèi)型。
  5. scripts目錄存放Bash、Python等腳本文件,為非必要項(xiàng)。
  6. launch目錄存放節(jié)點(diǎn)的啟動(dòng)文件,*.launch文件用于啟動(dòng)一個(gè)或多個(gè)節(jié)點(diǎn),在含有多個(gè)節(jié)點(diǎn)的大型項(xiàng)目中很有用,為非必要項(xiàng)。
  7. src目錄存放功能包節(jié)點(diǎn)所對(duì)應(yīng)的源代碼,一個(gè)功能包中可以有多個(gè)節(jié)點(diǎn)程序來(lái)完成不同的功能,每個(gè)節(jié)點(diǎn)程序都可以單獨(dú)運(yùn)行。這里src目錄存放的是這些節(jié)點(diǎn)程序的源代碼,你可以按需創(chuàng)建文件夾和文件來(lái)組織源代碼,源代碼可以用C++、Python等編寫(xiě)。

3. 從開(kāi)源社區(qū)視角理解ROS架構(gòu)

ROS是開(kāi)源軟件,各個(gè)獨(dú)立的網(wǎng)絡(luò)社區(qū)分享和貢獻(xiàn)軟件及教程,形成了強(qiáng)大的ROS開(kāi)源社區(qū),如圖1-5所示。

圖片

▲圖1-5 ROS的開(kāi)源社區(qū)結(jié)構(gòu)

ROS的發(fā)展依賴(lài)于開(kāi)源和共享的軟件,這些代碼由不同的機(jī)構(gòu)共享和發(fā)布,比如GitHub源碼共享、Ubuntu軟件倉(cāng)庫(kù)發(fā)布、第三方庫(kù)等。ROS的官方wiki是重要的文檔討論社區(qū),在里面可以很方便地發(fā)布與修改相應(yīng)的文檔頁(yè)面。ROS的answer主頁(yè)里有大量ROS開(kāi)發(fā)者的提問(wèn)和回答,對(duì)ROS開(kāi)發(fā)中遇到的各種問(wèn)題的討論很活躍。

關(guān)于作者:張虎,深圳市睿思智行科技有限公司CEO。曾就職于深圳市智能機(jī)器人研究院,主持機(jī)器人自主導(dǎo)航方面的研究項(xiàng)目。工作期間以網(wǎng)名“小虎哥哥愛(ài)學(xué)習(xí)”在知乎、CSDN、bilibili等平臺(tái)創(chuàng)作了大量機(jī)器人SLAM導(dǎo)航相關(guān)的優(yōu)質(zhì)博客文章及視頻教程,深受廣大網(wǎng)友的喜愛(ài)。他對(duì)強(qiáng)人工智能的研究非常感興趣,并致力于將具有先進(jìn)智能的機(jī)器人進(jìn)行產(chǎn)業(yè)化落地。

本文摘編自《機(jī)器人SLAM導(dǎo)航:核心技術(shù)與實(shí)戰(zhàn)》,經(jīng)出版方授權(quán)發(fā)布。(ISBN:9787111697428)

圖片

《機(jī)器人SLAM導(dǎo)航:核心技術(shù)與實(shí)戰(zhàn)》

點(diǎn)擊上圖了解及購(gòu)買(mǎi)

轉(zhuǎn)載請(qǐng)聯(lián)系微信:DoctorData

**推薦語(yǔ):**機(jī)器人SLAM導(dǎo)航的百科全書(shū),真正打通軟硬件,突破SLAM與導(dǎo)航技術(shù)壁壘,加速算法和機(jī)器人產(chǎn)品落地;全面剖析傳感器、ROS、SLAM和導(dǎo)航核心算法,深入數(shù)學(xué)原理,解析熱門(mén)框架,手把手帶你從零構(gòu)建真實(shí)機(jī)器人。

聲明:本文內(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

    文章

    29730

    瀏覽量

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

    關(guān)注

    37

    文章

    7147

    瀏覽量

    125570
  • 分布式
    +關(guān)注

    關(guān)注

    1

    文章

    997

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【云智易申請(qǐng)】基于ROS操作系統(tǒng)的無(wú)線圖傳小車(chē)

    對(duì)ROS機(jī)器人操作系統(tǒng)與stm32進(jìn)行交互控制,通過(guò)ROS的分布式管理用手柄無(wú)線控制小車(chē)。步驟1:采用ROS
    發(fā)表于 07-23 15:26

    BBB與ROS機(jī)器人操作系統(tǒng)

    最近新開(kāi)個(gè)項(xiàng)目,控制單驅(qū)動(dòng)輪的AGV小車(chē),通過(guò)上位機(jī)(安裝ubuntu的PC機(jī))和下位機(jī)(BBB板)分別安裝ROS,通過(guò)ROS進(jìn)行無(wú)線通信和控制。不知有哪位高手在BBB板上移植過(guò)ROS,并且通過(guò)
    發(fā)表于 08-26 11:11

    請(qǐng)問(wèn)能分享ROS機(jī)器人操作系統(tǒng)的一些資料嗎?

    菜鳥(niǎo)想要學(xué)習(xí)ROS機(jī)器人操作系統(tǒng),但是沒(méi)能找到系統(tǒng)的資料,請(qǐng)問(wèn)有哪位大神研究過(guò),可以分享一些資料嗎?跪謝了!?。。。。。。。?/div>
    發(fā)表于 02-19 23:14

    創(chuàng)龍TL5728-EasyEVM-A4開(kāi)發(fā)板如何移植ros機(jī)器人操作系統(tǒng)?

    創(chuàng)龍TL5728-EasyEVM-A4開(kāi)發(fā)板如何移植ros機(jī)器人操作系統(tǒng)?
    發(fā)表于 01-02 09:32

    請(qǐng)問(wèn)hispark 3861開(kāi)發(fā)板支持ROS機(jī)器人操作系統(tǒng)嗎?

    不知道是否支持ROS,想用這個(gè)板子做路徑規(guī)劃導(dǎo)航的?另外請(qǐng)問(wèn)這個(gè)板子的操作系統(tǒng)是liteOS 還是OpenHarmony OS?謝謝!
    發(fā)表于 01-19 15:26

    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>是什么?<b class='flag-5'>機(jī)器人</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>ROS</b>的介紹

    ROS機(jī)器人操作系統(tǒng),支持Qualcomm驍龍?zhí)幚砥鳎ǜ乱曨l)

    數(shù)月前,我的同事 Suraj Swami 發(fā)表過(guò)一篇文章,介紹了開(kāi)源機(jī)器人基金會(huì)(OSRF),以及我們與其開(kāi)展合作,將 ROS機(jī)器人操作系統(tǒng))程序庫(kù)移植到 Snapdrago
    發(fā)表于 09-18 18:57 ?949次閱讀

    ROS教程之ROS機(jī)器人操作系統(tǒng)基礎(chǔ)知識(shí)概述資料免費(fèi)下載

    ROS文件系統(tǒng)介紹 (1)快速了解ROS文件系統(tǒng)概念 ? 軟件包集(Stack):如果你將幾個(gè)具有某些功能的軟件包組織在一起,那么你將會(huì)獲得一個(gè)軟件包集。在
    發(fā)表于 10-15 08:00 ?20次下載
    <b class='flag-5'>ROS</b>教程之<b class='flag-5'>ROS</b><b class='flag-5'>機(jī)器人</b><b class='flag-5'>操作系統(tǒng)</b>基礎(chǔ)知識(shí)概述資料免費(fèi)下載

    ROS機(jī)器人操作系統(tǒng)底層原理及代碼剖析

    首先,為什么要序列化?或者更具體的說(shuō),既然對(duì)象的信息本來(lái)就是以字節(jié)的形式儲(chǔ)存在內(nèi)存中,那為什么要多此一舉把一些字節(jié)數(shù)據(jù)轉(zhuǎn)換成另一種形式的、一維的、連續(xù)的字節(jié)數(shù)據(jù)呢?
    的頭像 發(fā)表于 01-03 10:55 ?1165次閱讀

    ROS機(jī)器人操作系統(tǒng)的實(shí)現(xiàn)原理解析

    首先用Rate的構(gòu)造函數(shù)實(shí)例化一個(gè)對(duì)象loop_rate。調(diào)用的構(gòu)造函數(shù)如下??梢?jiàn),構(gòu)造函數(shù)使用輸入完成了對(duì)三個(gè)參數(shù)的初始化。
    發(fā)表于 01-03 10:56 ?935次閱讀

    ROS機(jī)器人操作系統(tǒng)的實(shí)現(xiàn)原理(上)

    本文介紹ROS機(jī)器人操作系統(tǒng)(Robot Operating System)的實(shí)現(xiàn)原理,從最底層分析ROS代碼是如何實(shí)現(xiàn)的。 **1、序列化** 把通信的內(nèi)容(也就是消息m
    的頭像 發(fā)表于 05-19 17:41 ?1233次閱讀
    <b class='flag-5'>ROS</b><b class='flag-5'>機(jī)器人</b><b class='flag-5'>操作系統(tǒng)</b>的實(shí)現(xiàn)原理(上)

    ROS機(jī)器人操作系統(tǒng)的實(shí)現(xiàn)原理(下)

    本文介紹ROS機(jī)器人操作系統(tǒng)(Robot Operating System)的實(shí)現(xiàn)原理,從最底層分析ROS代碼是如何實(shí)現(xiàn)的。 **1、序列化** 把通信的內(nèi)容(也就是消息m
    的頭像 發(fā)表于 05-19 17:42 ?1446次閱讀

    實(shí)現(xiàn)ARM+ROS機(jī)器人操作系統(tǒng))之環(huán)境搭建!

    如何低成本搭建ARM+ROS的硬件載體?上文為大家介紹了實(shí)現(xiàn)的思路及原理,本文將為讀者實(shí)際操作,展示ROS部署前的籌備工作及步驟分解。
    的頭像 發(fā)表于 09-28 11:21 ?1490次閱讀
    實(shí)現(xiàn)ARM+<b class='flag-5'>ROS</b>(<b class='flag-5'>機(jī)器人</b><b class='flag-5'>操作系統(tǒng)</b>)之環(huán)境搭建!

    實(shí)現(xiàn)ARM+ROS機(jī)器人操作系統(tǒng))之運(yùn)行ROS!

    如何低成本搭建ARM+ROS的硬件載體?上文展示ROS部署前的籌備工作及步驟分解,本文將為大家演示ROS的移植及測(cè)試方法。
    的頭像 發(fā)表于 10-10 18:15 ?1580次閱讀
    實(shí)現(xiàn)ARM+<b class='flag-5'>ROS</b>(<b class='flag-5'>機(jī)器人</b><b class='flag-5'>操作系統(tǒng)</b>)之運(yùn)行<b class='flag-5'>ROS</b>!

    ROS機(jī)器人操作系統(tǒng)的實(shí)現(xiàn)原理

    面對(duì)序列化,很多人心中可能會(huì)有很多疑問(wèn)。 首先,為什么要序列化?或者更具體的說(shuō),既然對(duì)象的信息本來(lái)就是以字節(jié)的形式儲(chǔ)存在內(nèi)存中,那為什么要多此一舉把一些字節(jié)數(shù)據(jù)轉(zhuǎn)換成另一種形式的、一維的、連續(xù)的字節(jié)數(shù)據(jù)呢?
    的頭像 發(fā)表于 04-27 02:39 ?6534次閱讀
    <b class='flag-5'>ROS</b><b class='flag-5'>機(jī)器人</b><b class='flag-5'>操作系統(tǒng)</b>的實(shí)現(xiàn)原理