ROS(一)关于创建一个工作空间并且编译一个package的两种方法
来源:互联网 发布:jquery 清空表格数据 编辑:程序博客网 时间:2024/06/05 00:51
方法(一):
创建一个工作空间(workspace)
工作区可以作为一个独立的项目进行编译,存放ROS程序的源文件、编译文件和执行文件。建立工作区的方法如下$ mkdir -p ~/catkin_ws/src //在主文件夹路径下创建一个文件夹,src是catkin_ws的子文件夹 $ cd ~/catkin_ws/src //进入子目录src $ catkin_init_workspace //初始化工作空间
虽然这时候工作区是空的,但是我们依然可以进行编译:
$ cd ~/catkin_ws/ //进入catkin_ws路径 $ catkin_make //编译package,虽然是空的
这时候,会在当前文件夹下生成devel,build这两个子文件夹,在devel文件夹下能看到几个setup.*sh文件
接下来把工作区在bash中注册
$ source devel/setup.bash
要验证是否已经在bash中注册可以使用如下命令:
$ echo $ROS_PACKAGE_PATH
如果能看到自己工作区的文件路径就说明已经成功了
创建一个ROS数据包(Package)
首先切换到工作区:
$ cd ~/catkin_ws/src
现在可以使用catkin_create_pkg命令去创建一个叫beginner_tutorials的包,这个包依靠std_msgs、roscpp、rospy。
$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp接下来在工作区编译这个工程包
$ cd ~/catkin_ws $ catkin_make
方法(二)
ROS的软件以Package的方式组织起来。package包含节点(Node)、ROS依赖库、数据套、配置文件、第三方软件、或者任何其他逻辑构成。package的目标是提供一种易于使用的结构以便于软件的重复使用。总得来说,ROS的package遵从Goldilocks原则:短小精干。所有的ROSpackages包括很多类似的文件:manifests, CMakeLists.txt, mainpage.dox,和Makefiles.
$ roscreate-pkg [package_name]
这里我直接引用官网提供的这个例子:---创建beginner_tutorialspackage,他依赖std_msgs, roscpp, rospy
(1) 利用 rorcreate-pkg 创建 package
这里我们需要仔细阅读manifest.xml,所以这里我把生成的manifest.xml贴于下面:
ROSpackage有时运行时需要连接外部库或者可执行程序。这些库或者程序的连接经常被关联到系统关联中。在一些情况下,这些系统关联不会被默认的安装,ROS提供了一个简单的工具--rosdep,用来下载和安装系统关联的。 ROS rospack必须在相应的packagemanifest申明,参考小海龟的例子,
当所有的系统关联都已经被安装,我们就可以开始用 rosmake命令编译我们创建好的package
(1) 利用 rorcreate-pkg 创建 package
$ roscreate-pkg beginner_tutorials std_msgs roscpp rospy
这里我们需要仔细阅读manifest.xml,所以这里我把生成的manifest.xml贴于下面:
(2) 将该路径添加到rox系统中(即更新ros查找路径)
$ exportROS_PACKAGE_PATH=YOUR_BEGINNER_TUTORIALS_PATH:$ROS_PACKAGE_PATH
然后我确认是否在ROS可以找到:
$ rospack find beginner_tutorials
然后我确认是否在ROS可以找到:
$ rospack find beginner_tutorials/home/zc/catkin_ws/src/beginner_tutorials
前面我们用roscreate-pkg建立package,这里我们根据系统关联来编译这些packages
1,系统关联
$ roscd turtlesim$ cat package.xml
2,编译packages
rosmake命令 ---编译package
$ rosmake turtlesim注意:只是截图了后半部分,没有全部截
完成
!!!!!!!!!!!
阅读全文
0 0
- ROS(一)关于创建一个工作空间并且编译一个package的两种方法
- ROS的学习(三)创建一个工作空间
- 03-创建一个ROS的Package包
- 1、创建一个ROS package
- (3)创建ROS工作空间和Package
- ROS的初步学习(四)--创建一个工作空间和一个程序包
- ROS学习(一)ROS安装与创建工作空间
- ROS下建立工作空间以及编译一个包
- ROS工作空间的创建
- 创建、编译ros package
- ROS知识(3)----功能包package编译的两种方式
- 编写第一个ROS(创建工作空间workspace和功能包package)
- 创造一个简单的ROS package 和 建立和编译package
- 创造一个简单的ROS package 和 建立和编译package
- 机器人操作系统ROS Indigo 入门学习(5)——编译一个ROS Package
- 机器人操作系统ROS Indigo 入门学习(5)——编译一个ROS Package
- 机器人操作系统ROS Indigo 入门学习(5)——编译一个ROS Package
- 机器人操作系统ROS Indigo 入门学习(5)——编译一个ROS Package
- Python -while、for、continue、break语句
- 鸟哥私房菜 第十九章 认识分析日志文件
- 大型网站架构演变和知识体系
- Django 博客
- 用 Clonezilla 光盘备份硬盘分区
- ROS(一)关于创建一个工作空间并且编译一个package的两种方法
- vue小结笔记(3)之指令在表单上的应用
- 大数据CDH5环境搭建
- java 项目报错,查找错误的方法
- maven failed to read artifact decriptor for de.tototec:de.tototec.cmdoption:jar:0.42
- AndroidManifest.xml中android:name功能介绍
- startActivityForResult理解笔记
- 虚拟机的安装 管理及虚拟机快照
- RQPro 公募FOF策略实例——晨星基金筛选和风险平价配置