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程序包了,接下来就可以在里边添加自己想要的代码、消息、服务等,进行开发啦。
- ROS程序包的创建
- ROS工作空间与程序包的创建
- ROS程序包的创建和编译
- 创建ROS程序包(三)
- 第五节--ROS操作系统----创建ROS程序包
- ROS入门3: 创建ROS程序包
- ROS入门_1.6 创建ROS程序包
- ROS教程(三):创建ROS程序包
- ROS Learning-005 beginner_Tutorials 创建ROS程序包(就是软件包)
- ROS的初步学习(四)--创建一个工作空间和一个程序包
- ROS catkin工作空间的程序包
- 程序包的创建与应用
- 程序包的创建与应用
- ROS消息的创建
- 2.4 创建自己的第一个程序包
- 1.7、程序包的创建与应用
- oracle程序包的创建和调用
- ROS Learning-006 beginner_Tutorials 编译ROS程序包
- Nginx实现多虚拟主机配置
- ZOJ1027 Human Gene Functions
- [构造] 51Nod1385 凑数字
- 99乘法表
- 小清新的sublimetext+LaTeX
- ROS程序包的创建
- 数据挖掘之k-means算法的Python实现
- Dynamic CRM 2016 IFD配置(2)证书配置
- QT编程 判断QlineEdit是否为空
- 洛谷P1273 有线电视网 【树上分组背包】
- angularjs项目
- 51NOD宝石猎人DP做法
- Hibernate主配置文件(hibernate.cfg.xml)
- 【BZOJ4042】【CERC2014】parades 状压DP