一步步学ROS(3)建立msg和srv

来源:互联网 发布:连环杀人知乎 编辑:程序博客网 时间:2024/05/29 18:07

由于按照wiki上面的教程都操作了一便,为了之后方便查看,把步骤和命令整理如下,可能有表述不完整的地方,以参考wiki教程为准。
http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv

设计的是一个A+B=sum的例子

命令行中:
roscd start_pkg (这一步记得source一下devel/setup.bash文件)
mkdir msg
echo “int64 num” > msg/Num.msg

然后用gedit打开新建的Num.msg文件并写入
string first_name
string last_name
uint8 age
uint32 score

然后修改package.xml(start_pkg包下的)
这里写图片描述

接下来修改CMakeLists.txt(也是start_pkg包下的)
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

修改完成后保存,最后就是显示的工作了
rosmsg show Num

同理,建立srv的过程和msg的差不多。同样是建立一个文件夹和相应的服务文件,然后修改package.xml和CMakeLists.txt(这一步主要是修改CMakeLists.txt文件了,package.xml和建立msg内容一样),最后是显示。

roscd start_pkg
mkdir srv
roscp rospy_tutorials AddTwoInts.srv srv/AddTwoInts.srv
(这里的操作是roscp [package_name] [file_to_copy_path] [copy_path]拷贝包中的文件到目的路径下)

接下来修改CMakeLists.txt
这里写图片描述

最后是显示
rossrv show AddTwoInts

大功告成~
但是还是对这两个文件的功能不太了解。知道ros的指令可以直接生成c++的代码,好高级。

引用wiki教程
Any .msg file in the msg directory will generate code for use in all supported languages.
The C++ message header file will be generated in ~/catkin_ws/devel/include/beginner_tutorials/. The Python script will be created in ~/catkin_ws/devel/lib/python2.7/dist-packages/beginner_tutorials/msg.
The lisp file appears in ~/catkin_ws/devel/share/common-lisp/ros/beginner_tutorials/msg/.

0 0
原创粉丝点击