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
相关推荐
欧云服务器2 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI2 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
The️2 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
再战300年2 天前
Samba在ubuntu上安装部署
linux·运维·ubuntu
qwfys2002 天前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
木尧大兄弟2 天前
Ubuntu 系统安装 OpenClaw 并接入飞书记录
linux·ubuntu·飞书·openclaw
小虾爬滑丫爬2 天前
ubuntu上设置Tomcat 开机启动
ubuntu·tomcat·开机启动
老师用之于民2 天前
【DAY25】线程与进程通信:共享内存、同步机制及实现方案
linux·c语言·ubuntu·visual studio code
小虾爬滑丫爬2 天前
Ubuntu 上设置防火墙
ubuntu·防火墙
林开落L3 天前
解决云服务器内存不足:2 分钟搞定 Ubuntu swap 交换区配置(新手友好版)
运维·服务器·ubuntu·swap交换区