一、msg和srv是什么?
msg:msg文件就是一个文本文件,是ROS里面用来描述消息的字段。是用来给不同语言(例如C++,python语言)的消息来生成源代码的文件。
msg文件一般放在msg包目录下;
msg文件里面每行就只有字段类型(int8、int16、float64、float32、string、time、duration等等)和字段名称,
srv:srv文件是用来描述服务类型,一般有两个部分组成,一个是请求,一个是响应。srv文件则一般是放在srv包目录下。srv文件和msg文件大差不差,请求和响应之间会用短横线(-------)隔开来。短横线上面的是请求,短横线下面的内容是响应
二、创建msg
$ roscd beginner_tutorials //进入到beginner_tutorials目录下
$ mkdir msg //创建msg目录
$ echo "int64 num" >msg/Num.msg //将int64 num添加到msg目录下的Num.msg文件后面
上面的这些代码只是为了便于我们理解,只添加了一行,你可以添加更多的类型(钱买你提到的哪些类型)。
至此,一个msg文件就被创建好了,不过你要确保他能生成其他语言的源代码,比如生成C++或者是python,亦或是其他语言的源代码。
3、使用rosmsg
前面我创建了一个msg'文件,是为了确保可以使用rosmsg show命令看到
命令:
$ rosmsg show [message type]
输入这个命令之后你因该就能看到如下图所示的一个东西
[beginner_tutorials/Num]:
int64 num
创建srv
$ roscd beginner_tutorials
$ mkdir srv
此处可以再其他的包里面cp过来一个srv文件
至此是我学习ros过程中的一些小随笔,后续不定时会更新,如果有不对的地方欢迎各位大佬斧正,感谢各位大佬