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> - 指定单元测试需要的其他功能包
二、关键词