在ROS中,
组成软件的基本单位是功能包(package),因此ROS应用程序是以功能包为单位开发。
功能包包含一个以上的节点(node,ROS中最小的执行处理器)或包含用于运行其他节点的配置文件
这些功能包也会以元功能包(metapackage)的形式来统一管理。元功能包是具有共同目的的功能包的集合体
例如,Navigation元功能包含10个功能包:AMCL、DWA、EKF和map_server等等。
每个功能包都包含一个名为package.xml的文件,该文件是一个包含功能包信息的XML文件,包括其名称,作者,许可证和依赖包。
ROS构建系统catkin基本上使用CMake,并在功能包目录中的CMakeLists.txt文件中描述构建环境
===========================================================
ROS的文件系统分为
安装目录和用户工作目录。
安装ROS desktop版本后,在
/opt目录中会自动生成名为ros的安装目录,里面会安装有roscore、rqt、RViz、机器人相关库、仿真和导航等核心实用程序。
-
安装目录结构
-
■ /bin 可执行的二进制文件
-
■ /etc 与ROS和catkin相关的配置文件
-
■ /include 头文件
-
■ /lib 库文件
-
■ /share ROS功能包
-
■ env.* 配置文件
-
■ setup.* 配置文件
用户的工作目录 例如 ~/catkin_ws/
点击(此处)折叠或打开
-
工作目录结构
-
■ /build 构建相关的文件
-
■ /devel msg、srv头文件、用户包库、可执行文件
-
■ /src 用户功能包, 用户源代码的空间
对应 src目录下的一项具体的PKG/action/service/topic等等类似的结构为
■ /include 头文件
■ /launch 用于roslaunch的启动文件
■ /node 用于rospy的脚本
■ /msg 消息文件
■ /src 源代码文件
■ /srv 服务文件
■ CMakeLists.txt 构建配置文件
■ package.xml 功能包配置文件
阅读(768) | 评论(0) | 转发(0) |