日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ROS2学习(十一).ROS概念 - 命令行工具的使用

發布時間:2023/12/15 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS2学习(十一).ROS概念 - 命令行工具的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

命令行工具

  • 概述
  • 用法
  • 樣例
  • 其他說明
  • 實現

概述

ROS 2包含有一系列的命令行工具用以對ROS 2系統觀測。

用法

命令ros2是所有命令的入口,它具有各種子命令,用于觀察并處理節點、主題、服務等。
要查看所有的子命令,請運行

ros2 --help

子命令包括:

  • action : 對ROS action的讀寫
  • bag : 記錄/回放rosbag
  • component : 管理組件容器
  • daemon : 對ROS 2守護進程的讀寫
  • doctor : 檢查ROS關于潛在問題的配置
  • interface : 顯示ROS interface的信息
  • launch : 查看或運行一個launch文件
  • lifecycle : 查看或管理節點的生命周期
  • multicast : 查看管理廣播
  • node : 查看ROS節點
  • param : 查看、配置節點參數
  • pkg : 查看ROS包
  • run : 運行ROS節點
  • security :配置安全設定
  • service :查看、調用ROS服務
  • topic :查看、發布ROS主題
  • wtf :采用wtf作為doctor的別名

樣例

使用命令行工具可以運行一個發布-監聽的樣例,可以使用topic子命令來發布和顯示話題中的消息。

在一個終端中發布消息:

$ ros2 topic pub /chatter std_msgs/String "data: Hello world" 1628647237.530682 [0] ros2: using network interface eno1 (udp/192.168.254.24) selected arbitrarily from: eno1, lxdbr0 publisher: beginning loop publishing #1: std_msgs.msg.String(data='Hello world')publishing #2: std_msgs.msg.String(data='Hello world')publishing #3: std_msgs.msg.String(data='Hello world')

在另一個終端中,可以打印接收到的消息

$ ros2 topic echo /chatter 1628647264.220949 [0] ros2: using network interface eno1 (udp/192.168.254.24) selected arbitrarily from: eno1, lxdbr0 data: Hello world --- data: Hello world --- data: Hello world --- data: Hello world --- data: Hello world

其他說明

ROS2使用分布式發現過程以使得節點之間可以互相連接。不像ROS1的ROS Master,ROS2中并未使用集中式的發現機制,因此ROS節點發現ROS圖中的所有其他參與者需要花費一定的時間。因此后臺有一個長時間運行的守護進程,用以存儲ROS圖的信息,以更快地響應例如節點名稱列表等的查詢。

第一次使用命令行工具時,守護進程將自動啟動。您也可以運行ros2 daemon --help命令查看如何使用守護進程。
但是目前看來,這個命令只支持啟動、停止和查看啟動狀態三種子命令:)

$ ros2 daemon -h usage: ros2 daemon [-h] Call `ros2 daemon <command> -h` for more detailed usage. ...Various daemon related sub-commandsoptional arguments:-h, --help show this help message and exitCommands:start Start the daemon if it isn't runningstatus Output the status of the daemonstop Stop the daemon if it is runningCall `ros2 daemon <command> -h` for more detailed usage. $ ros2 daemon status The daemon is running

實現

ros2命令的源碼可以在https://github.com/ros2/ros2cli上找到。
ros2工具目前被實現為一個框架,可以通過插件進行擴展。
例如,sros2包提供了security子命令,如果安裝了sros2包,該命令會被ros2工具自動檢測到。

總結

以上是生活随笔為你收集整理的ROS2学习(十一).ROS概念 - 命令行工具的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。