vim的退出方法http://jingyan.baidu.com/article/495ba8410ff14d38b30ede01.html
查看环境变量的方法
例如:查看EDITOR
$ echo $EDITOR
话题的类型是由发布在它上面的消息类型决定的。
rostopic type [topic] 查看话题类型,显示一个消息类型$ rosmsg show [消息类型] 产看这个消息类型的具体元素和元素的存储类型(如:32位浮点)
程序包
我理解的程序包就是一个包含.xml和cmake文件还有一些其他的脚本(比如C++文件)的文件集合,他们被存放在一个目录下。例如,我的第一个程序包的.xml和cmake文件被放置在beginner_tutorials目录下。而beginner_tutorials的目录是~/catkin_ws/src/beginner_tutorials。
其中catkin_ws是我的工作空间,src是当时建工作空间时新建的文件,以后我所有的自己的包都被放在src这个文件夹下。
新建文件并写入
echo "int64 num" > msg/Num.msg
echo stringecho指令用于输出一个字符串
>的作用是将输出重定向到一个文件中
这句话的意思是将字符串“int64 num”重定向输出到目录msg下的Num.msg文件中,如果没有这个文件就新建一个
创建ROS消息和ROS服务
创建消息
在你的包下建一个msg文件夹,用来放消息。然后在这个文件夹下新建一个纯文本文档,命名为xx.msg即可。然后写入一些诸如
int64 num
string first_name
string last_name
uint8 age
uint32 score
的东西,即消息每一个元素的具体类型。我们就创建了一个消息。
下一步,我们要修改cmake文件使之适应我们新建的消息。
首先我们要修改find_package,利用find_packag函数,增加对message_generation的依赖
find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation )然后我们还要配置运行依赖
catkin_package( ... CATKIN_DEPENDS message_runtime ... ...)我们还要将我们的消息添加进来
add_message_files( FILES Num.msg )然后我们必须调用generate_message函数
generate_messages( DEPENDENCIES std_msgs )
进一步,我们也要修改.xml文件,添加这两条标签
<build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend>
这是两个包,第一个在build时起作用,第二个在run的时候起作用
创建服务
在你的包下建一个srv文件夹,用来放服务。然后在这个文件夹下新建一个纯文本文档,命名为xx.srv即可。然后写入一些诸如
int64 a
int64 b
---
int64 sum
的东西,即服务每一个元素的具体类型。我们就创建了一个服务。
然后修改cmake
find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation )
add_service_files( FILES AddTwoInts.srv )然后修改.xml
<build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend>
总结一下,主要是几步
1、要有srv和msg文件
2、.xml文件中必须添加两个标签
3、cmake中
find_package函数中必须添加对message_generation的依赖
catkin_package中必须添加对message_runtime的依赖
4、cmake中
需要将我们创建的msg和srv添加到add_message_files和add_sevice_files下
5、cmake中
最后,必须调用generate_messages函数。