图像化显示目录工程结构: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. Ubuntu使用心得

    因为开发学习需要,也接触了一些Ubuntu系统,玩崩了两次系统之后,也学到了一些东西. -------------------------------------------------------- ...

  2. SQL Server删除表及删除表中数据的方法

    删除表的T-SQL语句为: drop table <表名> drop是丢弃的意思,drop table表示将一个表彻底删除掉. 删除表数据有两种方法:delete和truncate. de ...

  3. 查看Linux 、Nginx、 MySQL 、 PHP 版本的方法

    参考:查看Linux .Apache . MySQL . PHP 版本的方法 1.查看Linux版本: uname -a: more /etc/issue; cat /proc/version; 2. ...

  4. apply与call简单用法以及判断数组的坑

    1 typeof 和 instanceof var array = [];平时如果判断一个对象是否为数组,可能你会用 typeof array,但是输出为“object”. typeof 一般只能返回 ...

  5. Visualizing CNN Layer in Keras

    CNN 权重可视化 How convolutional neural networks see the world An exploration of convnet filters with Ker ...

  6. Android onActivityResult和setResult

    如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent,int requestCode)方 ...

  7. get_digits

    # coding=utf-8# 一.def digits(n): list1 = [] for each in n: list1.append(each) return list1print(digi ...

  8. redis 集群目标、集群查看、配置方法及过程、哨兵配置启动

    集群目标 主从复制,读写分离:故障切换(通过哨兵实现) 查看集群状态 info replication 配置方法 只设置从数据库就可以了:最佳实践,在主数据库配置masterauth <mast ...

  9. Ext根据条件显示隐藏列

    Ext根据条件显示隐藏列 写在ExtonReady函数里面,并在表格成功渲染之后,可以添加判断是否隐藏或者显示某一列 /* 判断是否显示版本号一列 */ var showVersionFlag = ' ...

  10. ExpressRoute 线路预配工作流和线路状态

    本页从较高层面引导你完成服务预配和路由配置工作流. 下图和相应的步骤说明了预配端到端 ExpressRoute 线路所要执行的任务. 使用 PowerShell 配置 ExpressRoute 线路. ...