機器人操作系統入門(五)常用工具


參考資料:

https://www.icourse163.org/course/ISCAS-1002580008?tid=1003713012  //中國大學MOOC

https://www.bilibili.com/video/av23401751  //B站

《ROS操作系統入門講義》PDF下載

鏈接:https://pan.baidu.com/s/1OCja2WLDRnjYXMrpnZ3-sQ 
提取碼:mziy

第五章 常用工具

  • gazebo:ROS仿真工具  //目前最好
  • rviz:可視化消息  //呈現接收信息
  • rqt:數據流可視化工具  //直觀查看消息的通信架構和流通路徑
  • rosbag:記錄和回放ROS話題  //不記錄service
  • rosbridge:溝通ROS和外界的功能包
  • moveit!:開源操作軟件  //目前應用最廣泛

注:gazebo——仿真;rviz、rqt——調試和可視化

1. Gazebo:提供一個虛擬的世界  //與ROS一樣,由OSRF維護

  • 機器人仿真工具、模擬器,獨立的開源機器人仿真平台;
  • 與ROS兼容最好
  • 給機器人一個逼近現實的虛擬物理環境
  • 仿真一些不依賴於具體硬件的算法和場景,例如圖像識別、傳感器數據融合處理、路徑規划、SLAM等任務

2. rviz:the robot visualization tool 機器人可視化工具  //呈現接收到的信息

  • 左側的插件相當於一個個的subscriber,rviz接收消息,並顯示

3. rqt:基於qt開發的可視化工具  //比rviz高級一個層次

(1)rqt_graph:顯示通信架構,包括當前有哪些node(橢圓形)topic(矩形)在運行,消息的流向是怎樣的  //不顯示service

(2)rqt_plot:將參數以曲線的形式繪制出來  //有利於分析動態參數的變化態勢

(3)rqt_console:配合過濾器 rqt_logger_level 進行日志的查看

4. rosbag:提高性能,並避免消息的反序列化和重新排序  //同時提供命令行工具代碼API

  • rosbag對軟件包來操作(一個包是ROS用於存儲ROS消息數據的文件格式),rosbag命令可以記錄、回放和操作包。指令列表如下:

5. rosbridge:用於得ros系統和其他系統交互的功能包  //“橋梁”作用

主要包含兩部分:協議和實現

(1)協議protocol:提供了非ROS程序與ROS通信的具體的格式規范,規范基於JSON格式,包括訂閱topic,發布message,調用server,設置參數,壓縮消息等。

示例:訂閱topic的格式規范

注:此規范與所用的編程語言和傳輸方式無關,任何可以發送JSON格式的語言和傳輸方式都可以rosbridge protocol進行交流,並且與ROS進行交互

(2)實現implementation:rosbridge_suite元程序包  //實現rosbridge protocol並提供WebSocket傳輸層的包的集

  • rosbridge_library:核心rosbridge軟件包,負責獲取JSON字符串並將命令發送到ROS,反過來接收處理ROS發過來的信息,將之轉換為JSON字符串,並將結果轉交給非ROS程序
  • rosapi:通過服務調用來訪問某些ROS操作,這些服務通常為ROS客戶端庫保留的服務,包括獲取和設置參數,獲取主題列表等
  • rosbridge_server:提供傳輸層的WebSocket連接,使得瀏覽器可以與ROS“交談”;roslibjs是一個瀏覽器的JavaScript庫,可以通過rosbridge_server與ROS進行交流

 (3)安裝:sudo apt-get install ros-<rosdistro>-rosbridge-server

6. moveit!:在機器人上最廣泛使用的開源操作軟件

  • moveit!的使用通過為用戶提供接口來調用它,包括C++、Python、GUI三種接口
  • ROS中的 move_group 節點充當整合器,整合多個獨立組件,提供ROS風格的Action和Service
  • move_group 通過ROS topic和action與機器人通訊,獲取機器人的位置、節點等狀態,獲取數據再傳遞給機器人的控制器
  • move_group 節點獲取到節點狀態信息或者機器人變換信息時候,會通過控制器的接口去處理這些信息,比如進行坐標轉換、規划場景、3D感知
  • move_group 的結構比較容易擴展,不僅具有獨立的能力如抓放,運動規划,也可擴展自公共類,但實際作為獨立的插件運行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM