文件系统与代码组织
在 ROS 中写代码,不能随便乱放,必须遵循特定的目录结构。
工作空间 (Workspace)
Section titled “工作空间 (Workspace)”通常命名为 catkin_ws。这是一个包含所有 ROS 项目的根目录。
src/: 源代码目录(你写的代码放这里)。build/: 编译过程中的中间文件(不要动)。devel/: 开发模式下的可执行文件和环境变量(不要动)。
功能包 (Package)
Section titled “功能包 (Package)”ROS 软件的基本单元。一个功能包通常包含实现特定功能的节点、配置文件和依赖说明。
- 必须包含的文件:
package.xml: 包的描述信息(作者、依赖)。CMakeLists.txt: 编译规则。
Launch 文件 (.launch)
Section titled “Launch 文件 (.launch)”如果你有 10 个节点要运行,开 10 个终端敲命令太麻烦了。Launch 文件可以一次性启动多个节点并配置参数。
- 语法: XML 格式。
- 命令:
roslaunch [包名] [文件名.launch] - 注意:
roslaunch会自动尝试启动roscore(如果还没启动的话)。
常用文件命令
Section titled “常用文件命令”| 命令 | 作用 | 备注 |
|---|---|---|
roscd | 直接跳转到指定功能包的目录 | 类似 cd,但无需知道具体路径 |
catkin_make | 编译工作空间 | 必须在 catkin_ws 根目录下执行 |
source devel/setup.bash | 刷新环境变量 | 编译后必须执行,否则系统找不到新编的包 |