這篇教程主要介紹怎樣建立和編譯乙個msg訊息和srv服務檔案,同時介紹rosmsg
,rossrv
,roscp
等命令工具。
3 srv使用
4 小結
msg檔案:
header header
string child_frame_id
geometry_msgs/posewithcovariance pose
geometry_msgs/twistwithcovariance twist
srv檔案:
int64 a
int64 b
---int64 sum
srv中有兩個部分,---
上面是request,下面的是response。
$ roscd beginner_tutorials
$ mkdir msg
$ echo
"int64 num"
> msg/num.msg
在package.xml
中新增:
>
message_generationbuild_depend
>
>
message_runtimeexec_depend
>
在cmakelists.txt
中新增:
find_package
( catkin required components
roscpp
rospy
std_msgs
message_generation
)catkin_package
( catkin_depends
message_runtime
)add_message_files
( files
num.msg
)generate_messages
( dependencies
std_msgs
)
標準用法:
$ rosmsg show [message type]
舉例:
$ rosmsg show beginner_tutorials/num
# echo
int64 num
$ roscd beginner_tutorials
$ mkdir srv
接著拷貝乙個srv檔案過來
$ roscp [package_name]
[file_to_copy_path]
[copy_path]
$ roscp rospy_tutorials addtwoints.srv srv/addtwoints.srv
或者新建乙個addtwoints.srv
檔案:
int64 a
int64 b---
int64 sum
在package.xml
中新增:
>
message_generationbuild_depend
>
>
message_runtimeexec_depend
>
在cmakelists.txt
中新增:
# do not just add this line to your cmakelists.txt, modify the existing line
find_package
(catkin required components
roscpp
rospy
std_msgs
message_generation
)add_service_files
( files
addtwoints.srv
)
標準用法:
$ rossrv show
舉例:
$ rossrv show beginner_tutorials/addtwoints
# echo
int64 a
int64 b
---int64 sum
和rosmsg
一樣,也可以不指定package名字來尋找service:
$ rossrv show addtwoints
# echo
# beginner_tutorials裡面的服務:
[beginner_tutorials/addtwoints]:
int64 a
int64 b
---int64 sum
# rospy_tutorials裡面的服務:
[rospy_tutorials/addtwoints]:
int64 a
int64 b
---int64 sum
建立乙個ROS節點
mkdir p catkin ws srccd catkin ws src現在使用catkin create pkg命令來建立乙個名為 beginner tutorials 的新程式包,這個程式包依賴於std msgs roscpp和rospy catkin create pkg beginner ...
建立乙個ROS包
先前筆者不知道catkin到底是個什麼東東,後來終於在官方 上找到了答案,原來catkin是ros的乙個官方的編譯構建系統,是原本的ros的編譯構建系統rosbuild的後繼者。catkin的 有點複雜,我們可以慢慢的講一下其中的淵源。ros 於willow garage這個公司,他們希望借助開源的...
ROS學習筆記(2)之建立我的第乙個ros工程
雖然這時候工作區是空的,但是我們依然可以進行編譯 cd catkin ws catkin make 這時候,會在當前資料夾下生成devel,build這兩個子資料夾,在devel資料夾下能看到幾個setup.s 件。接下來把工作區在bash中註冊 source devel setup.bash 上面...