ROS学习:ROS文件系统--其他常见文件类型

Metapackage

在一些 ROS 的教学资料和博客里,你可能还会看到一个 Stack (功能包集) 的概念,它指的是将多个功能接近、甚至相互依赖的软件包的放到一个集合中去。但 Stack 这个概念在 Hydro 之后就取消了,取而代之的就是 Metapackage。尽管换了个马甲,但它的作用没变,都是把一些相近的功能模块、软件包放到一起。
ROS里常见的 Metapacakge 有:

Metapacakge 名称 描述 链接
navigation 导航相关的功能包集 https://github.com/ros-planning/navigation
moveit 运动规划相关的(主要是机械臂)功能包集 https://github.com/ros-planning/moveit
image_pipeline 图像获取、处理相关的功能包集 https://github.com/ros-perception/image_common
vision_opencv ROS与OpenCV交互的功能包集 https://github.com/ros-perception/vision_opencv
turtlebot Turtlebot 机器人相关的功能包集 https://github.com/turtlebot/turtlebotpr2_robot
pr2 机器人驱动功能包集 https://github.com/PR2/pr2_robot
…… …… ……

以上列举了一些常见的功能包集,例如 navigation、turtlebot,他们都是用于某一方面的功能,以navigation metapackage (官方介绍里仍然沿用 stack 的叫法)为例,它包括了以下软件包:

包名 功能
navigation Metapacakge,依赖以下所有pacakge
amcl 定位
fake_localization 定位
map_server 提供地图
move_base 路径规划节点
nav_core 路径规划的接口类
base_local_planner 局部规划
dwa_local_planner 局部规划
…… ……

这里介绍一个软件包navigation。这个navigation就是一个简单的pacakge,里面只有几个文件,但由于它依赖了其他所有的软件包。Catkin编译系统会明白,这些软件包都属于navigation metapacakge。
这个道理并不难理解,比如我们在安装 ROS 时,用到了 sudo apt-get install ros-kinetic-desktop-full 命令,由于它依赖了 ROS 所有的核心组件,我们在安装时也就能够安装整个 ROS。

launch文件

launch文件一般以 .launch 或. xml 结尾,它对 ROS 需要运行程序进行了打包,通过一句命令来启动。一般 launch 文件中会指定要启动哪些 package 下的哪些可执行程序,指定以什么参数启动,以及一些管理控制的命令。 launch文件通常放在软件包的 launch/ 路径中中。

msg/srv/action文件

ROS程序中有可能有一些自定义的消息/服务/动作文件,为程序的发者所设计的数据结构,这类的文件以 .msg ,.srv,.action 结尾,通常放在 package 的 msg/ ,srv/ ,action/ 路径下。

urdf/xacro文件

urdf/xacro 文件是机器人模型的描述文件,以 .urdf 或 .xacro 结尾。它定义了机器人的连杆和关节的信息,以及它们之间的位置、角度等信息,通过 urdf 文件可以将机器人的物理连接信息表示出来。并在可视化调试和仿真中显示。

dae/stl文件

dae 或 stl 文件是 3D 模型文件,机器人的 urdf 或仿真环境通常会引用这类文件,它们描述了机器人的三维模型。相比 urdf 文件简单定义的性状,dae/stl 文件可以定义复杂的模型,可以直接从 solidworks 或其他建模软件导出机器人装配模型,从而显示出更加精确的外形。

rviz文件

rviz 文件本质上是固定格式的文本文件,其中存储了 RViz 窗口的配置(显示哪些控件、视角、参数)。通常 rviz 文件不需要我们去手动修改,而是直接在 RViz 工具里保存,下次运行时直接读取。

以上的几种类型文件的编写,之后在做深入的学习。

=============================================================================
本文作为笔记查阅之用,无涉其他用途。

发布了25 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43667745/article/details/90138219