LoongLee's blog

ROS2_Commands

ROS2 常用命令

来源:sources/ROS2命令使用.md

ROS2 Foxy 安装依赖

Qt5 环境

sudo apt install qtbase5-dev qtbase5-private-dev qtbase5-dev-tools \
  libqt5svg5 libqt5qml5 qtdeclarative5-dev

SDL 库

sudo apt-get install libsdl1.2-dev
sudo apt install -y libsdl-image1.2 libsdl-image1.2-dev

节点与话题管理

# 节点
ros2 node list                           # 显示所有运行节点
ros2 node info <node_name>              # 节点详细信息

# 话题
ros2 topic list                          # 列出所有话题
ros2 topic echo /topic_name              # 查看话题数据
ros2 topic echo --full-length /topic     # 展开长消息
ros2 topic pub <topic> <type> '<args>'   # 发布数据到话题
ros2 topic hz <topic>                    # 报告发布速率

服务管理

ros2 service list                        # 列出所有服务
ros2 service type <service_name>        # 获取服务类型
ros2 service find <type_name>           # 查找指定类型的服务

包管理

创建新包

# Python 包
ros2 pkg create --build-type ament_python pkg_name \
  --dependencies rclpy std_msgs \
  --license Apache-2.0 \
  --maintainer-name "lxj" \
  --maintainer-email "lxj@forsace.com"

# C++ 包
ros2 pkg create --build-type ament_cmake pkg_name \
  --dependencies rclcpp std_msgs \
  --license Apache-2.0 \
  --maintainer-name "lxj" \
  --maintainer-email "lxj@forsace.com"

编译

colcon build --symlink-install                              # 开发模式编译
colcon build --packages-select pkg_1 pkg_2 pkg_3           # 指定包编译
colcon build --symlink-install --packages-up-to pkg_name   # 自动编译依赖

# 发布模式编译
colcon build --event-handlers console_direct+ \
  --cmake-args -DCMAKE_BUILD_TYPE=Release

# 重新构建(并行编译)
colcon build \
  --cmake-args -DCMAKE_BUILD_TYPE=Release \
  --parallel-workers $(nproc) \
  --packages-up-to pkg_name \
  --merge-install

打包

tar -czf "${package_name}_v${package_version}_release_$(date +%Y%m%d_%H%M%S).tar.gz" \
    --exclude='**/__pycache__' \
    --exclude='**/*.pyc' \
    install/

列出包依赖

colcon list --packages-up-to pkg_name

运行

ros2 run <package_name> <executable_name>    # 运行可执行文件
ros2 launch pkg_name node_name                # launch 方式

环境管理

printenv ROS_DISTRO           # 查看 ROS 版本

# 完全清理环境变量
unset ROS_DISTRO
unset PYTHONPATH
unset LD_LIBRARY_PATH

# 重新 source
source /opt/ros/foxy/setup.bash
source ~/your_workspace/install/setup.bash

# 验证
python3 -c "import ros2pkg.api" && echo "成功!"

依赖安装

rosdep install --from-paths src --ignore-src -r -y

错误修复

sudo dpkg -i --force-overwrite /var/cache/apt/archives/python3-catkin-pkg-modules_1.0.0-1_all.deb
sudo apt --fix-broken install

其他工具

# 查看图片主题
ros2 run rqt_image_view rqt_image_view

# 清理 apt 缓存
sudo apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

相关页面


最后更新: 2026-04-30