ROS程序包的创建

来源:互联网 发布:应用特征数据库升级 编辑:程序博客网 时间:2024/05/17 02:19

 这几天一直在搞ROS系统,刚开始上手ROS系统觉得比较困难,但总算坚持了下来,找了很多资料,最终“山重水复疑无路,柳暗花明又一村”,还好,一切都很顺利,再此想总结一下,给那些需的人一点点帮助,同时通过总结又可以提升并且巩固自己现有的知识。

自己在学习ROS的时候主要参考的教程是http://wiki.ros.org/cn/ROS/Tutorials。个人感觉这个教程还是很有用的,建议新手多看几遍,但是最重要的还是要动手实践。创建ROS程序包(有的地方叫做功能包)的方法主要有两种:catkin_create_pkg和roscreate-pkg。在这里,我是用的是第一种方法。大致看了一下这两种方法区别不是很大,创建完成后文件貌似有点差异。

1、创建catkin工作空间

在创建ROS程序包之前一般都需要创建一个工作空间,加入把工作空间创建在当前用户目录下,工作空间名称是ROSworkspace,创建工作空间的步骤如下:

(1)创建一个目录

        mkdir -p ~/ROSworkspace/src

(2)进入工作空间

        cd ~/ROSworkspace

  (3)编译工作空间中所有的功能包

      catkin_make

此时工作空间下会多出两个文件夹build 和 devel 同时在src下创建一个CMakeList.txt文件

(4)echo “source ~/ROSworkspace/devel/setup.bash” >> ~/.bashrc

      source ~/.bashrc

上述指令总的来说是将当前工作空间路径添加到ROS_PACKAGE_PATH,由于上述进行了重新改动,所以要source一下(这一步很重要)。(查看ROS_PACKAGE_PATH包含的路径信息指令为echo $ROS_PACKAGE_PATH)(特别注意输入指令的时候必须是英文状态下输入,否则出现错误让人很头疼,找不见错误在哪里)

2、创建程序包

程序包一般都放在工作空间下的src文件夹下,进入到src文件夹下,创建程序包,给自己的程序包起一个响亮的名字,比如package1,后边加上程序包的依赖项。

    catkin_create_pkg package1 roscpp rospy std_msgs

执行完上述指令后,在src文件夹下会产生一个package1文件夹,就是我们创建的程序包,在package下可以看到存在CMakeList.txt、package.xml、include、src等文件。     (src文件夹就是用来存放自己所编辑源文件或者节点)

接下来可以自己定义自己的package.xml文件,或者添加msg和srv文件夹,或者不做任何操作也可以,这就是一个完整的程序包。

3、编译程序包

首先回到工作空间ROSworkspace目录下:

      cd ~/ROSworkspace

如果只编译package1 :catkin_make package1

如果编译整个工程:catkin_make

(我一般选择编译整个工程)


工欲善其事,必先利其器。通过以上的几个步骤就可以生成一个ROS程序包了,接下来就可以在里边添加自己想要的代码、消息、服务等,进行开发啦。