ROS2-Humble功能包插件推荐

1、一键可视化工具

sudo apt install ros-humble-tf2-tools ros-humble-tf-transformations

bash 复制代码
# 一键打印所有TF树(树形结构,比rviz2更直观)
ros2 run tf2_tools view_frames.py && evince frames.pdf

# 实时查看两个坐标系的转换关系
ros2 run tf2_ros tf2_echo base_link laser_link

2、Gazebo 模型快速加载

bash 复制代码
# 下载国内镜像的模型库(替换默认空模型库)
git clone https://gitee.com/ohhuo/gazebo_models.git ~/.gazebo/models

#包含常用模型(差速小车、激光雷达、摄像头、地图场景),无需逐个下载,直接在 Gazebo 中选择即可加载。

3、RViz2 插件:rviz2-visual-tools(可视化调试神器)

sudo apt install ros-humble-visualization-tools ros-humble-rviz-visual-tools

bash 复制代码
# 使用示例
from rviz_visual_tools.rviz_visual_tools import RvizVisualTools
tool = RvizVisualTools('base_link', '/rviz_visual_tools')
tool.publishPath([(0,0,0), (1,1,0), (2,0,0)], 'red')  # 绘制红色路径
tool.trigger()

4、仿真数据录制 / 回放:ros2bag-cli-tools(小众但高效)

痛点:原生 ros2 bag 命令参数复杂,录制 / 回放 / 过滤数据麻烦;

优化工具:安装简化版 bag 工具,一键录制指定话题,自动压缩:

bash 复制代码
# 安装
sudo apt install ros-humble-ros2bag-cli
# 常用命令(比原生简单10倍)
ros2 bag record -a -o simulation_data  # 录制所有话题,自动命名
ros2 bag play simulation_data_0.db3 --rate 2  # 2倍速回放
ros2 bag filter simulation_data_0.db3 filtered.bag "topic.startswith('/gazebo')"  # 只保留gazebo话题

5、Gazebo调参插件

优势:调参后立即生效,不用修改 URDF/SDF 文件再重启仿真,节省大量调试时间。

bash 复制代码
# 安装插件
sudo apt install ros-humble-gazebo-physics-tuner
# 启动Gazebo时加载插件
ros2 launch gazebo_ros gazebo.launch.py extra_gazebo_args:="--plugin libgazebo_physics_tuner.so"

6、一键启动多节点:ros2-launch-tools

bash 复制代码
# 安装
pip install ros2-launch-tools
# 示例:一键启动gazebo+rviz2+小车节点
ros2 launch-tools start -f my_launch.launch.py
# 一键停止所有节点
ros2 launch-tools stop all
bash 复制代码
###########################################################################
# 一、终端神器:Terminator(多窗口分割,替代XTerm,ROS开发必备)
###########################################################################
# 1. 安装
sudo apt install terminator -y

# 2. 核心使用方法(ROS开发高频操作)
# - 启动:直接在终端输入 terminator
# - 快捷键(重点):
#   Ctrl+Shift+E → 垂直分割终端(左右分屏,比如一边跑gazebo,一边看话题)
#   Ctrl+Shift+O → 水平分割终端(上下分屏,比如一边启动rviz,一边运行节点)
#   Ctrl+Shift+W → 关闭当前子终端
#   Ctrl+Shift+T → 新建标签页
#   F11 → 全屏模式
#   Ctrl+Alt+方向键 → 在子终端间切换
# - 自定义配置(可选:设置ROS主题配色)
# echo '
# [global_config]
#   title_transmit_bg_color = "#2E3440"
# [profiles]
#   [[default]]
#     background_color = "#1E1E2E"
#     foreground_color = "#A6E3A1"
#     palette = "#1E1E2E:#F38BA8:#A6E3A1:#F9E2AF:#89B4FA:#F5C2E7:#89DCEB:#CDD6F4:#585B70:#F38BA8:#A6E3A1:#F9E2AF:#89B4FA:#F5C2E7:#89DCEB:#FFFFFF"
#     use_system_font = False
#     font = Monospace 12
# ' >> ~/.config/terminator/config

###########################################################################
# 二、Gazebo清理优化脚本(解决卡顿,一键运行)
###########################################################################
# 1. 创建脚本文件(复制以下内容到gazebo_clean.sh)
cat > gazebo_clean.sh << EOF
#!/bin/bash
# Gazebo清理优化脚本 - 解决卡顿/缓存残留/内存泄漏问题
# 适用ROS2 Humble + Gazebo 11/Fortress
echo -e "\033[32m===== 开始清理Gazebo相关缓存 =====\033[0m"
# 1. 停止所有Gazebo/ROS2进程
echo "🔴 停止Gazebo/ROS2相关进程..."
pkill -9 gzserver gzclient gazebo ros2 rviz2 > /dev/null 2>&1
sleep 2
# 2. 清理Gazebo缓存和日志
echo "🗑️  清理Gazebo缓存/日志/临时文件..."
rm -rf ~/.gazebo/cache/*
rm -rf ~/.gazebo/log/*
rm -rf ~/.gazebo/lock/*
rm -rf /tmp/gazebo-* /tmp/ros-* /tmp/.gazebo-* > /dev/null 2>&1
# 3. 清理ROS2日志
echo "🗑️  清理ROS2日志文件..."
rm -rf ~/.ros/log/*
# 4. 释放内存(虚拟机专用)
echo "⚡ 释放系统内存..."
sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches
# 5. 修复Gazebo依赖
echo "🔧 修复Gazebo依赖(如有缺失)..."
sudo apt install -f -y > /dev/null 2>&1
# 6. 重启VMware显卡服务(虚拟机专用)
echo "🖥️  重启VMware显卡服务..."
sudo systemctl restart vmtoolsd > /dev/null 2>&1
echo -e "\033[32m===== Gazebo清理完成!=====\033[0m"
EOF

# 2. 赋予执行权限
chmod +x gazebo_clean.sh
# 3. 全局调用(可选)
sudo cp gazebo_clean.sh /usr/local/bin/
# 使用:直接输入 gazebo_clean.sh 即可运行

###########################################################################
# 三、TF树可视化工具:tf2-tools(调试坐标系必备)
###########################################################################
# 1. 安装
sudo apt install ros-humble-tf2-tools ros-humble-tf-transformations -y

# 2. 使用方法
# - 打印TF树(生成PDF文件,直观查看坐标系关系)
# ros2 run tf2_tools view_frames.py && evince frames.pdf
# - 实时查看两个坐标系的转换关系(比如base_link → laser_link)
# ros2 run tf2_ros tf2_echo base_link laser_link
# - 示例:查看所有TF帧的详细信息
# ros2 topic echo /tf

###########################################################################
# 四、Gazebo模型库(国内镜像,一键下载所有常用模型)
###########################################################################
# 1. 安装(替换默认空模型库)
git clone https://gitee.com/ohhuo/gazebo_models.git ~/.gazebo/models

# 2. 使用方法
# - 启动Gazebo后,点击左侧「Insert」→ 直接选择模型(小车/传感器/场景)
# - 常用模型:差速小车、激光雷达(lidar)、摄像头(camera)、地图场景(map)

###########################################################################
# 五、RViz2可视化调试插件:rviz-visual-tools(画路径/坐标系)
###########################################################################
# 1. 安装
sudo apt install ros-humble-visualization-tools ros-humble-rviz-visual-tools -y

# 2. 使用示例(Python代码,在RViz2中绘制路径/坐标系)
# cat > rviz_demo.py << EOF
# #!/usr/bin/env python3
# import rclpy
# from rclpy.node import Node
# from rviz_visual_tools.rviz_visual_tools import RvizVisualTools

# class RvizDemo(Node):
#     def __init__(self):
#         super().__init__('rviz_demo_node')
#         # 初始化工具(父坐标系:base_link,RViz2话题:/rviz_visual_tools)
#         self.tool = RvizVisualTools('base_link', '/rviz_visual_tools')
#         # 1. 绘制坐标系(在(1,1,0)位置)
#         self.tool.publishFrame((1,1,0), 'blue')
#         # 2. 绘制路径(从(0,0,0)→(1,0,0)→(2,1,0))
#         path_points = [(0,0,0), (1,0,0), (2,1,0)]
#         self.tool.publishPath(path_points, 'red', 0.05)
#         # 3. 绘制文本标注
#         self.tool.publishText((1,0,0), 'Start Point', 'green')
#         # 触发显示(必须加)
#         self.tool.trigger()

# if __name__ == '__main__':
#     rclpy.init()
#     node = RvizDemo()
#     rclpy.spin(node)
#     node.destroy_node()
#     rclpy.shutdown()
# EOF
# chmod +x rviz_demo.py
# # 使用:运行脚本后,在RViz2中添加「Marker」,话题选择/rviz_visual_tools即可看到效果
# # ros2 run rviz2 rviz2 (打开RViz2)
# # python3 rviz_demo.py

###########################################################################
# 六、ROS2 Bag增强工具(简化录制/回放/过滤)
###########################################################################
# 1. 安装
sudo apt install ros-humble-ros2bag-cli -y

# 2. 使用方法
# - 录制所有话题(自动命名,保存为simulation_data_xxx.db3)
# ros2 bag record -a -o simulation_data
# - 回放数据(2倍速)
# ros2 bag play simulation_data_0.db3 --rate 2
# - 过滤话题(只保留/gazebo开头的话题)
# ros2 bag filter simulation_data_0.db3 filtered.bag "topic.startswith('/gazebo')"
# - 查看bag文件信息(话题列表/时长)
# ros2 bag info simulation_data_0.db3

###########################################################################
# 七、Gazebo物理参数实时调试插件(无需重启仿真)
###########################################################################
# 1. 安装
sudo apt install ros-humble-gazebo-physics-tuner -y

# 2. 使用方法
# - 启动Gazebo时加载插件
# ros2 launch gazebo_ros gazebo.launch.py extra_gazebo_args:="--plugin libgazebo_physics_tuner.so"
# - 操作:Gazebo界面→点击「Physics Tuner」→ 选择模型→实时调整质量/摩擦/重力等参数
# - 常用参数:
#   - Mass(质量):小车建议设为1.0kg
#   - Friction(摩擦系数):地面设为0.8(防止打滑)
#   - Gravity(重力):默认9.81,仿真时可临时调小测试

###########################################################################
# 八、ROS2 Launch简化工具(一键启动/停止多节点)
###########################################################################
# 1. 安装(需先装pip)
sudo apt install python3-pip -y
pip install ros2-launch-tools

# 2. 使用方法
# - 启动launch文件
# ros2 launch-tools start -f my_simulation.launch.py
# - 停止所有运行的ROS2节点
# ros2 launch-tools stop all
# - 查看运行中的节点列表
# ros2 launch-tools list
相关推荐
guangshui5164 小时前
2034.Advanced IP scanner软件扫描 ubuntu的ip地址
网络协议·tcp/ip·ubuntu
403240734 小时前
Ubuntu/Jetson 通用:NVMe 硬盘分区、挂载及开机自动挂载完整教程
linux·运维·ubuntu
Lam㊣5 小时前
Ubuntu系统安装Elasticsearch
ubuntu·elasticsearch·jenkins
数智工坊5 小时前
【操作系统-处理器调度】
java·linux·服务器·windows·ubuntu
EndingCoder6 小时前
反射和元数据:高级装饰器用法
linux·运维·前端·ubuntu·typescript
yes_p_m6 小时前
Ubuntu误删/lib64自救指南
linux·运维·ubuntu
数智工坊6 小时前
【操作系统-线程介绍】
linux·算法·ubuntu
周公挚友7 小时前
2026年单服务器 Ubuntu 24.04 无公网离线部署 MongoDB 8.0.17 三节点副本集(主 / 从 / 仲裁)保姆级教程
linux·mongodb·ubuntu
HABuo7 小时前
【linux进程控制(三)】进程程序替换&自己实现一个bash解释器
linux·服务器·c语言·c++·ubuntu·centos·bash