ROS学习总结一ROS组织框架与几个关键词

 

本人一个ROS学习初学者,在经过三天的学习基础教程,对ROS有了一个基本的了解,在此,笔者就自己的学习的理解做一个总结,如有错误还请各位指出。

 

一、组织框架

 

catkin_ws()

--build

--devel

--src

-----CMakeLists.txt

-----Package1

----------CmakeLists.txt    

----------include

----------launch

----------package.xml 描述功能包的属性,包括功能包的名字、版本号、作者、维护者、通行证 以及所以来的功能包。   

----------src   存储你的此程序包下的程序源文件

--------------1.cpp   程序源文件1

--------------2.cpp   程序源文件2

 

CmakeLists.txt 

 

#1.cmake verson,指定cmake版本 
cmake_minimum_required(VERSION 3.2)

#2.project name,指定项目的名称,一般和项目的文件夹名称对应
PROJECT(test_sqrt)

#3.head file path,头文件目录
INCLUDE_DIRECTORIES(
include
)

#4.source directory,源文件目录
AUX_SOURCE_DIRECTORY(src DIR_SRCS)

#5.set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"
SET(TEST_MATH
${DIR_SRCS}
)

#6.add executable file,添加要编译的可执行文件
ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})

#7.add link library,添加可执行文件所需要的库,比如我们用到了libm.so(命名规则:lib+name+.so),就添加该库的名称
TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)

 

 

package.xml

1、基本结构

<package>

</package>

2、标签

<name> - 功能包的名字
<version> -功能包的版本
<description> - 功能包内容的描述
<maintainer> - 功能包的创建于维护者
<license> - 软件发行版通行证 (例如: GPL, BSD, ASL)

例子:

<package>
  <name>foo_core</name>
  <version>1.2.4</version>
  <description>
  This package provides foo capability.
  </description>
  <maintainer email="ivana@willowgarage.com">Ivana Bildbotz</maintainer>
  <license>BSD</license>
</package>

3、依赖

一共有四种依赖包

<buildtool_depend> - 指定编译此功能包的编译系统工具

<build_depend> - 指定编译此功能包需要的其他功能包,可以是功能包中的头文件、链接库、其他源文件。 

<run_depend> - 指定运行此功能包代码需要的其他功能包。

<test_depend> - 指定单元测试需要的其他功能包

 

二、关键词

 

 

posted @ 2018-04-14 10:48  #Cloud  阅读(646)  评论(0编辑  收藏  举报