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

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

3天內不再提示

移動機器人的運行架構

新機器視覺 ? 來源:古月居 ? 2024-01-02 15:55 ? 次閱讀

移動機器人ROS架構分析

1.1小海龜仿真

ROS的核心概念不少,有節點、話題、消息、服務等,在實際機器人運行過程中,這些概念是如何體現的呢?

我們先來運行ROS系統一個經典的例程——小海龜。

請大家按照以下步驟進行操作。

1.首先,打開終端;

2.輸入以下命令行,啟動ROS Master:

$ roscore

3.啟動成功后,打開一個新終端,輸入以下命令行,啟動小海龜仿真器,啟動成功后,就會出現如圖1-1所示的小海龜仿真器界面:

$ rosrun turtlesim turtlesim_node

4.再打開一個新的終端,輸入以下命令行,啟動海龜控制節點,大家可以通過鍵盤上上下左右鍵來控制小海龜運動:

$ rosrun turtlesim turtle_teleop_key

注意:在控制海龜運動的過程中一定要保證turtle_teleop_key節點終端在界面最前端的,如果其他終端在最前面就沒有辦法被終端讀取到數據的。

小海龜功能是跑起來了,那這個例程是如何基于ROS的核心概念實現的呢?

接下來我們就分析一下例程背后的節點關系。

ea33ddb8-a943-11ee-8b88-92fbcf53809c.jpg

圖1-1 小海龜仿真器界面

ea3c9552-a943-11ee-8b88-92fbcf53809c.jpg

圖1-2 啟動海龜仿真器節點

ea427f26-a943-11ee-8b88-92fbcf53809c.jpg

圖1-3 啟動海龜控制節點

這里我們將用到ROS中一個重要的可視化調試工具——rosgraph,用來顯示ROS運行中計算圖,我們可以從上帝視角看到所有節點的運行關系。

ea483ed4-a943-11ee-8b88-92fbcf53809c.jpg

圖1-4 使用rqt_graph可視化工具查看系統中運行的計算圖

接著上一個小海龜的例程,我們再來打開一個終端,輸入以下命令行,啟動rosgraph:

$ rqt_graph

啟動完成后,即可看到如圖1-4所示的計算圖,這個界面會自動的監控當前運行的整個ROS系統,并且把里面的節點和節點間的關系動態的顯示出來,其中橢圓表示節點,中間的箭頭表示節點間的關系,箭頭上的內容表示話題。

在這個例程中,我們分別啟動了兩個節點,一個是海龜仿真器,我們可以把它當成是一個虛擬的機器人,另外一個是鍵盤控制,用來控制機器人前后左右運動,兩個節點在節點管理器的幫助下建立了數據通信,完成速度控制指令的傳輸。

1.2移動機器人運動控制

通過這個例程,我們需要理解節點在ROS中用來實現某些具體的功能,比如機器人的驅動、運動指令的發送等,節點之間可以通過話題將數據發送或接收。

小海龜畢竟是一個仿真的機器人,在實物機器人中是不是也類似呢,我們再來試一試。

接下來,我們來使用以下兩句命令行啟動LIMO機器人,并啟動鍵盤控制節點,類似控制小海龜前后左右運動一樣,我們也可以控制機器人運動。

$ roslaunch limo_base limo_base.launch
$ roslaunch limo_bringup limo_teletop_keyboard.launch

再打開rosgraph工具看一下節點關系,我們可以直觀的發現,此時系統中運行了三個節點,如圖1-5所示。

ea4ccabc-a943-11ee-8b88-92fbcf53809c.jpg

圖1-5 使用rqt_graph可視化工具查看節點關系

第一個是和控制海龜運動相同的鍵盤控制節點teleop_keybord,用來讀取鍵盤的輸入鍵值,并封裝成cmd_vel這個速度話題發布出去。

第二個節點是類似小海龜仿真器一樣,用來驅動LIMO機器人的底盤控制節點limo_base_node,它會訂閱速度指令,當收到數據后,就會驅動機器人發生運動了。

從這張圖中,我們可以清晰的看到這兩個節點和他們之間的關系,更多節點也是類似,如果未來使用過程中某一環的數據沒收到,我們就可以快速定位原因了。

teleop_keybord:讀取鍵盤動作,發布速度控制指令

limo_base_node:機器人底盤控制節點,包含PID算法控制電機運動、訂閱/cmd_vel話題

以上案例實現的功能相對簡單,在一個實現眾多應用功能的復雜機器人系統中,節點和話題的數量都會很多,類似如圖1-6所示這樣,除了底層嵌入式運動控制器中需要實現的功能外,ROS環境下會通過一系列節點分別完成雷達、相機這些傳感器的驅動,發布數據話題后,上層的導航、建圖、圖像處理節點來訂閱并進行相應的算法處理,再傳輸到監控的計算機,給可視化節點做顯示。每個節點各司其職,在ROS Master這個節點管理器的統一協調下,有條不紊的完成各項任務。

整個ROS運行中的節點就像一個企業中不同部門的員工,每個人都有自己明確的工作,大家共同在CEO的組織下積少成多,合作完成一項非常復雜的任務。當然,每個人都不能掉隊,一旦掉隊就可能會影響最終任務的完成。

ea505eca-a943-11ee-8b88-92fbcf53809c.jpg

圖1-6 移動機器人運行結構分析







審核編輯:劉清

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

    關注

    14

    文章

    994

    瀏覽量

    83140
  • 移動機器人
    +關注

    關注

    2

    文章

    732

    瀏覽量

    33352
  • ROS
    ROS
    +關注

    關注

    1

    文章

    273

    瀏覽量

    16761

原文標題:【移動機器人原理與應用】3-移動機器人的運行架構

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    移動機器人常用傳感器

    移動機器人常用傳感器
    發表于 08-20 22:33

    資料:移動機器人能否自動充電?

    、餐飲服務行業已經應用到了機器人。不過目前,移動機器人都是使用高質量的機載可充電蓄電池組來給自身供電,但是一般只能維持幾個小時,一旦電能耗盡,必須采用人工干預的方式來給機器人充電。如果采用人工充電,那么
    發表于 01-20 09:39

    Labview My RIO 移動機器人

    初次使用 NI MyRIO控制器開發四輪全向移動機器人,由四個全向輪和直流電機與增量式編碼器和NI 9001控制器組成,安裝了紅外距離和光電傳感器。驅動板由官方提供的H橋驅動板。NI 9001由
    發表于 08-21 12:20

    履帶式移動機器人的設計

    作為一個技術宅,我對機器人和單片機很感興趣。在這里我把自己做過的一款履帶式移動機器人的資料分享給大家。歡迎大家吐槽!同時也希望對做機器人的同學有幫助。 該機器人采用STM32F103R
    發表于 07-27 18:28

    機器人、協作機器人移動機器人,你分的清楚嗎

    我覺得現在是時候討論一些更有趣的話題,今天的話題是介紹工業機器人、協作機器人移動機器人。我想每個人都知道機器人是什么。機器人是可怕的大型
    發表于 10-30 11:33

    labview控制移動機器人

    有使用labview控制移動機器人的大佬嘛,在下需要一些myrio資料的講解,希望各位伸出援助之手,拉小弟一把,感激不盡。
    發表于 03-21 15:12

    家庭移動機器人避障常用傳感器及相關技術

    移動機器人機器人的重要研究領域,人們很早就開始移動機器人的研究。世界上第一臺真正意義上的移動機器人是斯坦福研究院(SRI)的人工智能中心于1966年到1972年研制的,名叫Shake
    發表于 05-14 08:15

    如何實現移動機器人的設計?

     移動機器人利用導航技術,獲得機器人的目前所處的位置,結合傳感器技術對周圍外界環境(障礙物等)作實時探測,并根據環境提供的信息規劃一條可行路徑完成達到目標點的任務。移動機器人技術涉及到傳感器技術
    發表于 11-23 15:08

    請問怎么設計一種室外移動機器人組合導航定位系統?

    怎么設計一種室外移動機器人組合導航定位系統?如何實現室外移動機器人組合導航定位系統的硬件設計?如何實現室外移動機器人組合導航定位系統的軟件設計?
    發表于 04-19 10:50

    什么是移動機器人軟硬件系統問題

    接觸了移動機器人這么久,我覺得應該寫點什么東西,分享一下最基礎的自己關于移動機器人的理解,也作為筆記總結,留到以后查閱。目前我還是覺得自己剛入門,有時候總想的太多,不如實踐來的更直接,下面總結之前
    發表于 08-06 06:13

    差速移動機器人軌跡跟蹤控制方法

    差速移動機器人軌跡跟蹤控制方法一、引言二·、基礎準備1.去除GPS數據中的壞點2.經緯度與平面坐標系轉換3.差速移動機器人數學建模三、基于PID的差分移動機器人軌跡跟蹤方法1、控制律設計2、航向角
    發表于 09-01 08:41

    移動機器人的三種主要運動系統

    構建機器人 | 制作移動機器人 | 構建第一個機器人 | 機器人電子 | 機器人控制器 | 機器人
    發表于 09-01 08:12

    詳解移動機器人軟硬件系統問題

    什么是移動機器人軟硬件系統問題?移動機器人軟硬件系統有哪些問題呢?
    發表于 11-11 06:07

    【科普】干貨!帶你從0了解移動機器人(三) ——自主導航系統及上位機軟件設計與實現

    隨著機器人技術的不斷發展,我們可以在許多簡單重復,危險的崗位上看到機器人的身影,移動機器人憑借其在復雜環境下工作,具有自行感知、自行規劃、自我決策功能的能力,它可以在不同的環境中移動
    發表于 06-28 09:36

    基于Matlab和VR技術的移動機器人建模及仿真

    利用 Matlab 建立移動機器人的動力學模型 ,在虛擬現實 (VR )環境下 ,實時仿真移動機器人路徑跟蹤的運動特性 ,為基于 Internet 的機器人遙操作試驗搭建了仿真平臺 。 實驗結果表明
    發表于 09-20 06:24
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>