ROS入門教程 (建立ROS訊息和ROS服務)

2021-09-19 01:31:29 字數 1344 閱讀 9969

參考中文官網:

description:本教程詳細介紹如何建立並編譯ros訊息和服務,以及rosmsg, rossrv和roscp命令列工具的使用。

01. 訊息(msg)和服務(srv)介紹

msg檔案存放在package的msg目錄下,srv檔案則存放在srv目錄下。

msg檔案實際上就是每行宣告乙個資料型別和變數名。可以使用的資料型別如下:

在ros中有乙個特殊的資料型別:header,它含有時間戳和座標系資訊。在msg檔案的第一行經常可以看到header header的宣告

下面是乙個msg檔案的樣例,它使用了header,string,和其他另外兩個訊息型別。

header header

string child_frame_id

geometry_msgs/posewithcovariance pose

geometry_msgs/twistwithcovariance twist

srv 檔案分為請求和響應兩部分,由'---'分隔。下面是srv的乙個樣例:

int64 a

int64 b

---int64 sum

其中 a 和 b 是請求, 而sum 是響應。

001. 使用 msg

(1)建立乙個 msg

(2)使用 rosmsg

002. 使用 srv

(1)建立乙個srv

(2)  使用 rossrv

下面通過rossrv show命令,檢查ros是否能夠識該服務。

$ rossrv show
所有在msg路徑下的.msg檔案都將轉換為ros所支援語言的源**。生成的c++標頭檔案將會放置在~/catkin_ws/devel/include/beginner_tutorials/。 python指令碼語言會在 ~/catkin_ws/devel/lib/python2.7/dist-packages/beginner_tutorials/msg 目錄下建立。 lisp檔案會出現在 ~/catkin_ws/devel/share/common-lisp/ros/beginner_tutorials/msg/ 路徑下.

ROS入門教程

在開始使用ros之前你還需要初始化rosdep。rosdep可以方便在你需要編譯某些原始碼的時候為其安裝一些系統依賴,同時也是某些ros核心功能元件所必需用到的工具。sudo rosdep init rosdep update如果每次開啟乙個新的終端時ros環境變數都能夠自動配置好 即新增到bash...

建立ROS訊息和ROS服務

1.1在工作空間下的功能包下新建名為msg的資料夾 新建person.msg檔案 int64 num1.2為確保msg檔案被轉換成python或者其他語言的源 需要修改功能包下package.xml檔案,以新增功能包依賴 message generation build depend message...

(3)ROS學習 建立ROS訊息和ROS服務

2 srv 服務 乙個srv檔案描述乙個服務。它由兩部分組成 請求 request 和響應 response 3 msg檔案存放在軟體包的msg目錄下,srv檔案則存放在srv目錄下。下面,我們將在之前建立的軟體包裡定義乙個新的訊息。1 在 catkin ws src learning commun...