本人按照ROS官网教程学习创建ROS消息和ROS服务,一度遇到许多烦心问题,在此记下博客为大家更好更快学习!
- 创建一个msg中
$ echo "int64 num" > msg/Num.msg
echo 与 > 连用表示在msg文件夹中创建Num.msg并将int64 num替换掉Num.msg中的代码,由于这是新建立的文件就相当于将int64 num写入Num.msg中。
- 随后一步,我们要确保msg文件被转换成为C++,Python和其他语言的源代码,教程中提示加入两行代码到文件package.xml中,但是使用catkin_make编译时会出现如下错误
这里应该将Error(s) in /home/lz/catkin_ws/src/beginner_tutorials/package.xml: - The manifest (with format version 2) must not contain the following tags: run_depend
改为<run_depend>message_runtime</run_depend>
再运行就不会出错。<exec_depend>message_runtime</exec_depend>
- 按照教程更改了CMakeLists.txt中一系列代码后,进一步使用rosmsg命令检查ROS是否能够识别消息时会出现乱码返回,这时应当通过以下代码先对修改的CMakeLists.txt进行编译再配置环境:
这样再运行rosmsg即可出现结果!cd catkin_ws catkin_make source devel/setup.bash
- 同样再应用rosmsg show命令,检查ROS是否能够识该服务时也需要先对CMakeLists.txt编译。