当前位置: 首页 > news >正文

【ROS2】常用命令

1、目录结构

在 ROS 2 包中,launchurdfrviz(通常指 RViz 配置文件)、config 等文件夹应直接放在包的根目录下(与 robot_arm/ Python 模块目录同级)。这是 ROS 2 社区的通用约定,便于工具(如 ros2 launchrviz2)自动查找资源。


推荐目录结构

ros2_ws/src/robot_arm/
├── config/                  # 配置文件(如 YAML 参数、控制器配置)
├── launch/                  # Launch 文件(.launch.py 或 .xml)
├── rviz/                    # RViz 配置文件(.rviz)
├── urdf/                    # URDF/XACRO 机器人模型文件
├── robot_arm/               # Python 模块目录(核心代码)
│   ├── __init__.py
│   └── robot_arm.py         # 主节点
├── package.xml
├── setup.py
└── ...                      # 其他默认文件

编译后install结构:

ros2_ws/install/
├── robot_arm/                  # 与包同名的根目录
│   ├── lib/                    # 存放编译生成的库和可执行文件
│   │   ├── python3.10/         # Python 模块目录(Python 版本可能不同)
│   │   │   └── site-packages/
│   │   │       └── robot_arm/ # Python 模块代码(与包同名)
│   │   │           ├── __init__.py
│   │   │           └── robot_arm.py  # 节点入口文件
│   │   └── robot_arm/          # C++ 可执行文件(如果存在)
│   │       └── robot_arm_node  # C++ 编译生成的可执行文件
│   ├── share/                  # 存放资源文件和配置
│   │   ├── robot_arm/          # 包资源目录
│   │   │   ├── config/         # 配置文件(如 YAML 参数)
│   │   │   │   └── robot_params.yaml
│   │   │   ├── launch/         # Launch 文件
│   │   │   │   └── arm_control.launch.py
│   │   │   ├── rviz/           # RViz 配置文件
│   │   │   │   └── arm_display.rviz
│   │   │   └── urdf/           # URDF/XACRO 文件
│   │   │       └── robot_arm.urdf.xacro
│   │   └── ament_cmake_core/  # CMake 构建元数据(自动生成)
│   └── setup.bash              # 环境变量脚本(局部生效)
├── setup.bash                  # 全局环境变量脚本(激活工作空间)
└── local_setup.bash            # 局部环境变量脚本(仅当前包)

2、编译:

colcon build --packages-select robot_arm --symlink-install

--packages-select  只编译更新指定的包,并将编译结果保存到install文件夹中

--symlink-install 是可选但推荐的,它会创建符号链接,修改 Python 文件后无需重新构建。

开发建议:如何让修改立即生效?

方式 1(推荐开发时使用):使用 --symlink-install

第一次构建时使用:

colcon build --symlink-install

效果:

  • install/robot_arm/share/robot_arm/launch/display.launch.py 会是一个符号链接(symlink),指向 src/robot_arm/robot_arm/launch/display.launch.py
  • 你修改 src 中的文件,install 中的内容自动更新
  • 无需每次 colcon build,改完就能运行

ROS 2 不会自动安装 rviz/launch/urdf/ 等目录下的文件!

即使你用了 --symlink-install也必须通过 setup.py 明确告诉 ROS 2 哪些文件需要安装

否则,colcon build 只会安装 Python 包、可执行脚本等默认内容,而不会安装 rviz/launch/meshes/ 等资源文件。


正确解决方案:修改 setup.py

你需要编辑你的 robot_arm 包中的 setup.py 文件,添加 data_files 配置,告诉 colconrviz/launch/urdf/meshes/ 等目录复制到 install/

3

、清理

colcon clean workspace

http://www.dtcms.com/a/313191.html

相关文章:

  • 04.Redis 的多实例
  • 双八无碳小车设计【16张cad】三维图+设计说明书
  • 【C++ 初级工程师面试--5】inline内联函数特点 、和普通函数的区别、什么时候适合内联?
  • json-server 快速搭建本地 Mock 数据服务
  • Day23--回溯--39. 组合总和,40. 组合总和 II,131. 分割回文串
  • Android 之 MVC架构
  • 线段树学习笔记 - 摩尔投票问题
  • I2C基础
  • mybatis-plus从入门到入土(四):持久层接口之BaseMapper和选装件
  • PHP现代化全栈开发:前后端分离与API架构实践
  • uni-app学习笔记01-项目初始化及相关文件
  • Go语言常量
  • 11.消息队列
  • 计算机视觉CS231n学习(2)
  • 从马武寨穿越关山
  • ICCV 2025 | EPD-Solver:西湖大学发布并行加速扩散采样算法
  • p5.js 用 beginGeometry () 和 endGeometry () 打造自定义 3D 模型
  • 控制建模matlab练习06:比例积分控制-②PI控制器
  • 达梦数据库联机备份和脱机备份的区别
  • Centos7 安装Python3.11
  • 【Linux系统编程】进程信号
  • leecode2958 最多K个重复元素的最长子数组
  • 解决飞书文档中PDF文档禁止下载的问题
  • 提升工作效率的利器:Qwen3 大语言模型
  • Python 程序设计讲义(60):Python 的函数——递归函数
  • 出现OOM怎么排查
  • 研报复现|史蒂夫·路佛价值选股法则
  • linux ollama模型缓存位置变更
  • 音视频学习(四十九):音频有损压缩
  • 机器学习之决策树(二)