图像化显示目录工程结构:tree

$ sudo apt install tree

1、创建ROS工作空间

$ mkdir -p catkin_ws/src # Create mutil-level directory
$ cd catkin_ws/
$ catkin_make #Initialization
$ source devel/setup.bash  #配置环境变量
为了避免每次打开都重新运行,运行下面的代码
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
  • 要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:

$ echo $ROS_PACKAGE_PATH

#在src中创建包
$ catkin_create_pkg package_name #create a package
$ catkin_create_pkg package_name Dependency_name #create a package
$ example ::catkin_create_pkg practice2 std_msgs rospy roscpp
    • 现在需要确保ROS能找到新包,常常在发生变化之后,使用rospack profile识别新目录。

    • 例如:

      $ rospack profile
      $ rospack find beginner_tutorials

尝试重source你的工作空间的setup.sh

     $source ~/catkin_ws/devel/setup.sh

2、编译ROS程序包

 $rosmake [package]

rosmake 多个ROS package

  • 同样,我们可以利用 rosmake同时编译多个package。

  • 使用方法:

    rosmake [package1] [package2] [package3]

编译工作空间中的所有包

在workspace里使用:$ catkin_make

3、$ catkin_make工程

下载别人的GitHub代码包

1、在catkin_ws/src中:

$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git #

2、安装包所需的依赖

$ cd ~/catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

3、编译并刷新环境

$ catkin_make  #如果前面已經做過一次,那麼這一次不用執行
$ source ~/catkin_ws/devel/setup.bash # 刷新環境,每次開一個新終端都要執行一次
或者$ rospack profile          ## 刷新環境,方法二
$ echo "source ~/catkin_ws/devel/setup.bash " >> ~/.bashrc #把上面的命令寫入.bashrc,每次開一個終端自動運行。

创建ROS工程結構的更多相关文章

  1. ROS Learning-005 beginner_Tutorials 创建ROS程序包(就是软件包)

    ROS Indigo beginner_Tutorials-04 创建ROS程序包(就是软件包) 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu ...

  2. ROS Learning-003 beginner_Tutorials 创建ROS工作空间

    ROS Indigo beginner_Tutorials-02 创建ROS工作空间 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04. ...

  3. Eclipse创建Maven工程报错

    问题 用Eclipse创建maven工程的时候,总是会报错,例如提示: Unable to create project from archetype [org.apache.maven.archet ...

  4. MyEclipse创建Maven工程

    先要在MyEclipse中对Maven进行设置:

  5. Vivado SDK 2014.2 创建新工程后,BSP版本不对的解决办法

    问题描述如下: 1. 使用Vivado SDK 2014.2已经创建了工程,但是此时,hdf文件增加了外设,需要重新创建工程以更新SDK中的外设描述: 2. 使用新的hdf创建工程后,发现system ...

  6. 关于Xcode6创建的工程在Xcode5打开

    Xcode6创建的工程在Xcode5打开- 4.0只显示3.5大小的问题 只需要在工程里添加Default-568h@2x.png,即可以解决

  7. windows下无法创建django工程的问题

    环境:python2.7  django1.7 安装好django后,将C:\Python27\Lib\site-packages\Django-1.7.7-py2.7.egg\django\bin; ...

  8. 在VS2015 RC打开CTP中创建的工程

    VS2015终于出了RC了!小伙伴们快来安装试用吧,地址在这里,还有新的Windows 10开发工具哦,要不然是开发不了Universal Windows App的,安装前记得卸载CTP版本. 新的R ...

  9. iOS创建子工程

    实际开发中,我们可能会同时开发好几个端,比如楼主目前开发的家教平台,需要老师端,家长端,助教端三个端.有很多工具方法,或者封装的自定义控件都是可以复用的.我们就可以把公用的代码抽取出去,新建一个工程, ...

随机推荐

  1. MySQL的异步复制、全同步复制与半同步复制

    异步复制 异步复制,主库将事务 Binlog 事件写入到 Binlog 文件中,此时主库只会通知一下 Dump 线程发送这些新的 Binlog,然后主库就会继续处理提交操作,而此时不会保证这些 Bin ...

  2. css画一个提示框

    用css画一个如下图的提示框: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  3. div实现返回符,倒三角,椭圆+小知识收集

    收集: 1,返回符(伪类元素): .back:before {content: "";width: .3rem;height: .3rem;border-left: .04rem ...

  4. 推荐一个 JavaScript 日期处理类库 Moment.js

    官网: http://momentjs.com/ 处理时间的展示,很方便. 安装 bower install moment --save # bower npm install moment --sa ...

  5. private 与 super

    public class Person { private String name; private int age; } public class Student extends Person { ...

  6. 记录下使用iis7代理node.js写的网站程序

    昨天晚上一个学弟的紧急求救,说了自己接的单子做了一个网站,使用了自己熟悉的技术——node.js+mongdb,但当看到部署环境惊呆了,是 windows+sqlserver.这些都不是关键,关键是服 ...

  7. Oracle EBS 隐藏帮助-诊断-检查

  8. 【Kettle】8、变量参数传递介绍

    本文为转载,感觉作者的辛勤劳作:http://blog.csdn.net/rotkang/article/details/21008271 ------------------------------ ...

  9. ElasticSearch入坑指南之概述及安装

    ---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...

  10. C++ 入门随手笔记及联系

    一.第一个C++程序 1.文件扩展名  C++源代码的文件扩展名.cpp.C.cxx.c(需要指定编译语言)  自定义的头文件依然保留.h 2.头文件  C++标准库的头文件不带.h,最常用的是ios ...