ROS(一)关于创建一个工作空间并且编译一个package的两种方法

方法(一):

创建一个工作空间(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.

            package很容易手工制作,也可使用其他工具,例如roscreate-pkg。ROS的package可以是ROS_ROOT或者ROS_PACKAGE_PATH里面的一个目录/文件夹,包含一个manifest.xml文件。package可以是ROSstacks的组成部分。首先我们用roscreate来创建package:
$ roscreate-pkg [package_name]
这里我直接引用官网提供的这个例子:---创建beginner_tutorialspackage,他依赖std_msgs, roscpp, rospy
(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,系统关联
          ROSpackage有时运行时需要连接外部库或者可执行程序。这些库或者程序的连接经常被关联到系统关联中。在一些情况下,这些系统关联不会被默认的安装,ROS提供了一个简单的工具--rosdep,用来下载和安装系统关联的。
        ROS rospack必须在相应的packagemanifest申明,参考小海龟的例子,
$ roscd turtlesim
$ cat package.xml


2,编译packages
        当所有的系统关联都已经被安装,我们就可以开始用 rosmake命令编译我们创建好的package

rosmake命令 ---编译package
$ rosmake turtlesim
注意:只是截图了后半部分,没有全部截

完成

吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头!!!!!!!!!!!





  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值