一、先记住 3 条通用规则(所有包都一样)
- 先安装
- 在代码里导入 / 依赖
- 启动 / 调用
二、最常用功能包使用方法(手把手)
1)tf2 坐标变换(机器人必用)
功能:雷达→底盘、相机→底盘、机械臂坐标互转安装
bash
运行
sudo apt install ros-humble-tf2-ros ros-humble-tf2-geometry-msgsC++ 使用(监听坐标变换)
cpp
运行
#include "tf2_ros/buffer.h" #include "tf2_ros/transform_listener.h" // 创建监听 tf2_ros::Buffer tf_buffer_(this->get_clock()); tf2_ros::TransformListener tf_listener_(tf_buffer_); // 获取 base_link → laser 坐标 auto transform = tf_buffer_.lookupTransform("base_link", "laser", rclcpp::Time(0));一句话:监听坐标 → 直接获取雷达在机器人中心的位置。
2)Nav2 导航(机器人自动走路)
功能:A * 路径规划、DWA 避障、目标点导航安装
bash
运行
sudo apt install ros-humble-nav2*使用步骤
- 构建地图
bash
运行
ros2 launch slam_toolbox online_async_launch.py - 保存地图
- 启动导航
bash
运行
ros2 launch nav2_bringup bringup_launch.py map:=/map.yaml - 发目标点
bash
运行
ros2 topic pub /goal_pose geometry_msgs/PoseStamped "...."
一句话:建图 → 启动 Nav2 → 发目标点 → 机器人自动按照地图走。
3)robot_localization 多传感器融合定位
功能:IMU + 里程计 + GPS 融合安装
bash
运行
sudo apt install ros-humble-robot-localization使用
- 写 ekf.yaml 配置
- 启动
bash
运行
ros2 launch robot_localization ekf.launch.py
一句话:配置输入话题 → 自动输出最优位姿。
4)cv_bridge(ROS2 ↔ OpenCV 图像转换)
功能:ROS 图像 → OpenCV 格式安装
bash
运行
sudo apt install ros-humble-cv-bridgeC++ 使用
cpp
运行
#include "cv_bridge/cv_bridge.h" // 回调函数里转图像 cv::Mat cv_img = cv_bridge::toCvShare(msg, "bgr8")->image; cv::imshow("view", cv_img);一句话:图像订阅 → 转成 OpenCV 格式 → 做视觉算法(后续就是算法的工作了)。
5)image_transport(图像压缩传输)
使用
cpp
运行
#include "image_transport/image_transport.h" image_transport::ImageTransport it(node); image_transport::Subscriber sub = it.subscribe("camera/image", 1, callback);一句话:比普通订阅省带宽。
6)MoveIt2(机械臂运动规划)
安装
bash
运行
sudo apt install ros-humble-moveit使用
bash
运行
ros2 launch moveit2_bringup moveit_rviz.launch.py一句话:拖动机械臂 → 自动规划路径 → 让机械臂避障运动。
7)laser_filters(激光雷达滤波)
安装
bash
运行
sudo apt install ros-humble-laser-filters使用写 filter.yaml,然后启动:
bash
运行
ros2 run laser_filters scan_to_scan_filter_chain --ros-args -p filter_config:=filter.yaml一句话:过滤噪点、远距离点、异常点。
8)pcl_ros(点云处理)
功能:3D 点云滤波、分割、聚类使用
bash
运行
ros2 launch pcl_ros filter.launch.py一句话:点云降采样、去地面、物体分割。
三、所有功能包通用使用流程(万能模板)
- 安装
bash
运行
sudo apt install ros-<distro>-<包名> - 在 package.xml 加入依赖
xml
<depend>包名</depend> - 在 CMakeLists.txt 导入
cmake
find_package(包名 REQUIRED) - 写代码 / 写 launch
- 编译运行
四、我可以给你提供
你想要哪一类完整可运行的示例代码?我可以直接给你:
- tf2 监听与广播完整代码
- Nav2 发送目标点 C++/Python
- 视觉订阅 + OpenCV 显示完整代码
- IMU + 里程计融合配置
- 机械臂运动控制代码