[具身智能-677]:超实用教程:如何使用 ROS2 最常用的功能包
2026/5/12 3:34:48 网站建设 项目流程

一、先记住 3 条通用规则(所有包都一样)

  1. 先安装
  2. 在代码里导入 / 依赖
  3. 启动 / 调用

二、最常用功能包使用方法(手把手)

1)tf2 坐标变换(机器人必用)

功能:雷达→底盘、相机→底盘、机械臂坐标互转安装

bash

运行

sudo apt install ros-humble-tf2-ros ros-humble-tf2-geometry-msgs

C++ 使用(监听坐标变换)

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*

使用步骤

  1. 构建地图

    bash

    运行

    ros2 launch slam_toolbox online_async_launch.py
  2. 保存地图
  3. 启动导航

    bash

    运行

    ros2 launch nav2_bringup bringup_launch.py map:=/map.yaml
  4. 发目标点

    bash

    运行

    ros2 topic pub /goal_pose geometry_msgs/PoseStamped "...."

一句话:建图 → 启动 Nav2 → 发目标点 → 机器人自动按照地图走。


3)robot_localization 多传感器融合定位

功能IMU + 里程计 + GPS 融合安装

bash

运行

sudo apt install ros-humble-robot-localization

使用

  1. 写 ekf.yaml 配置
  2. 启动

    bash

    运行

    ros2 launch robot_localization ekf.launch.py

一句话:配置输入话题 → 自动输出最优位姿。


4)cv_bridge(ROS2 ↔ OpenCV 图像转换)

功能:ROS 图像 → OpenCV 格式安装

bash

运行

sudo apt install ros-humble-cv-bridge

C++ 使用

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

一句话:点云降采样、去地面、物体分割。


三、所有功能包通用使用流程(万能模板)

  1. 安装

    bash

    运行

    sudo apt install ros-<distro>-<包名>
  2. 在 package.xml 加入依赖

    xml

    <depend>包名</depend>
  3. 在 CMakeLists.txt 导入

    cmake

    find_package(包名 REQUIRED)
  4. 写代码 / 写 launch
  5. 编译运行

四、我可以给你提供

你想要哪一类完整可运行的示例代码?我可以直接给你:

  1. tf2 监听与广播完整代码
  2. Nav2 发送目标点 C++/Python
  3. 视觉订阅 + OpenCV 显示完整代码
  4. IMU + 里程计融合配置
  5. 机械臂运动控制代码

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询