參考中文官網:
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其中 a 和 b 是請求, 而sum 是響應。int64 b
---int64 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...