当前位置: 首页 > 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.lryc.cn/news/608903.html

相关文章:

  • Python中的import和from...import有什么区别?
  • 北京-4年功能测试2年空窗-报培训班学测开-第六十六天
  • FFT/STFT/小波/HHT:振动诊断工具生死局,选错=灾难
  • 构造类型--结构体,共同体联合体,枚举
  • 多模态大模型综述:BLIP-2详解(第二篇)
  • jconsole与jvisualvm监控
  • Python 动态属性和特性(特性全解析)
  • 前端 拼多多4399笔试题目
  • RabbitMQ面试精讲 Day 8:死信队列与延迟队列实现
  • 数据分析—numpy库
  • JS逆向 - (国外)川航 - Reese84(cookie)
  • Mongo索引
  • git相关配置问题汇总
  • Linux 文件与目录操作详解
  • 从Docker衔接到导入黑马商城以及前端登录显示用户或密码错误的相关总结(个人理解,仅供参考)
  • PyTorch生成式人工智能(24)——使用PyTorch构建Transformer模型
  • accept4系统调用及示例
  • ABP VNext + CloudEvents:事件驱动微服务互操作性
  • 数据治理:DQC(Data Quality Center,数据质量中心)概述
  • [每周一更]-(第153期):**PDF终极防护指南:命令行全栈加密+一键权限锁死实战(附脚本模板)**
  • Docker--解决x509: certificate signed by unknown authority
  • 医院课题管理全动态流程 (AI-Enhanced, Data-Driven Research Lifecycle)
  • JAVA中的String类方法介绍
  • 基于transformer的目标检测——匈牙利匹配算法
  • 【Excel】利用函数和Power Query进行数据分析
  • 基于Matlab的深度学习智能行人检测与统计系统
  • Java企业级应用性能优化实战
  • 2025年人工智能十大趋势 - 基础模型的跃迁
  • 达梦数据库联机备份和脱机备份的区别
  • C++ 入门基础(3)