ROS2 Humble海龟跟随实验:Python Launch文件全流程工程化实践
第一次接触ROS2时,我被海龟仿真案例深深吸引——这个看似简单的二维世界,却蕴含着机器人控制的核心逻辑。但当我尝试复现经典的海龟跟随实验时,发现大多数教程都聚焦于C++代码实现,而忽略了ROS2真正的工程化优势:用Python Launch文件实现一键式部署。本文将带你从零开始,用ROS2 Humble版本和Python Launch文件,构建一个可复用的海龟跟随实验工程。
1. 环境准备与工程架构设计
在Ubuntu 22.04上安装ROS2 Humble只需一条命令:
bash复制sudo apt install ros-humble-desktop
验证安装成功后,我们采用分层架构设计:
- 应用层:turtlesim可视化界面
- 控制层:键盘控制节点+跟随算法节点
- 通信层:TF2坐标变换系统
- 部署层:Python Launch文件集成
关键工具链配置:
bash复制# 创建工作空间
mkdir -p ~/turtle_follow_ws/src
cd ~/turtle_follow_ws
colcon build --symlink-install
提示:使用
--symlink-install参数可以让修改后的Python文件无需重新编译立即生效
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Python功能包创建与依赖管理
不同于传统CMake包,我们创建纯Python功能包:
bash复制cd ~/turtle_follow_ws/src
ros2 pkg create --build-type ament_python turtle_follow \
--dependencies rclpy turtlesim tf2_ros geometry_msgs
现代ROS2项目的依赖管理建议使用package.xml:
xml复制<exec_depend>python3-numpy</exec_depend>
<exec_depend>python3-matplotlib</exec_depend>
典型文件结构:
code复制turtle_follow/
├── launch/
│ └── follow.launch.py
├── turtle_follow/
│ ├── __init__.py
│ ├── spawner.py
│ └── controller.py
└── package.xml
3. Launch文件工程化实践
follow.launch.py是系统的核心控制中心:
python复制from launch import LaunchDescription
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArg
