ROS(四)

您所在的位置:网站首页 执行make命令时生成新目录的命令是什么 ROS(四)

ROS(四)

2024-07-09 14:56:25| 来源: 网络整理| 查看: 265

catkin编译系统

ROS 的 Catkin 编译系统的一个特点是将程序做成 package (称为 catkin package 或者 ROS package) 的形式,可以理解成模块化。 典型的 ROS workspace 中包含 src, build, devel 三个文件夹,在分享时只需要分享 src 中的某个 package 即可,所有的编译信息都在此 package 中。

 

 

工作空间 workspace

工作空间是一个存放工程开发相关文件的文件夹。就像用IDE创建工程的工程目录一样

有4个主要文件夹

src:代码空间(Source Space)build:编译空间(Build Space)devel:开发空间(Development Space)install:安装空间(Install Space)

 

catkin编译系统下的的工作空间结构

 

创建工作空间 mkdir catkin_ws cd catkin_ws mkdir src

catkin_ws这个名字是自己定义的

catkin_init_workspace

注意与上图对比,未进行初始化和初始化之后,初始化之后目录中多了CMakeLists.txt

有这样一个文件也就说明我们当前的路径是一个ROS的工作空间了

 

编译工作空间

编译不在src下,要回到catkin_ws下

catkin_make

通过这个指令可以编译src下面所有功能包的源码,结果会放到devel和install中

这是执行编译前

执行编译后

可以看到多了devel和build目录

但是并没有产生install这个空间

catkin_make install

就产生install目录了

 

可以看到此时build、devel、install目录中都有不少文件了

install是安装空间,最终编译生成的可执行文件都会放在这 devel是开发空间,放置开发过程中的可执行文件和库 build是开发过程中的一些中间文件,二进制文件,我们基本上是用不到的  

 

 

下面我们就能在这样的工作空间中开发代码了

 

创建功能包

在创建代码的时候一定要创建一个功能包。功能包放置在src目录下

功能包是放置ROS源码的最小单元

所有源码必须全部放在功能包里面,不能直接放在src下面去编译,这是不允许的

同一个工作空间下,不允许存在同名功能包。不同工作空间下,允许存在同名功能包

catkin_create_pkg 包名 依赖

std_msgs是标准的消息结构

rospy是python依赖

roscpp是c++依赖

 

执行命令之前

执行命令之后

可以看到出现了test_pkg

include放置头文件

src放置功能包代码

CMakeLists.txt 和 packages.xml是每个功能包必须要存在的两个文件

 

编译功能包

回到catkin_ws中

catkin_make

因为里面没有任何代码,所以没有什么编译的效果

 

编译成功之后,如果想运行功能包里的某个程序的话,要先设置一下工作空间的环境变量

source devel/setup.bash

只有设置了这个环境变量之后我们才能让系统找到我们的工作空间

可以看到$ROS_PACKAGE_PATH 中包含了功能包的路径就ok了

 

 

 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭