cd ~/ros2_ws colcon build --packages-select ekf source install/setup.bash ros2 launch ekf ekf_launch.py package.xml:声明依赖 setup.py:告诉 ROS 节点在哪里 launch:启动节点 ekf_node.py:真正的算法 entry_points:让 ROS 能找到你的 Python 节点 ### 执行colcon build --packages-select ekf 只要你是 Python ROS2 包,编译时一定会处理这 4 个: 1. package.xml 读取:包名、依赖、版本、编译类型 作用:告诉系统 “这是一个 ROS2 包” 2. setup.py 读取: 你的节点在哪里 launch 文件放哪里 入口点(entry_points) 作用:把你的 Python 代码变成 ROS2 能运行的命令 3. setup.cfg 安装路径配置 作用:让 ros2 run 能找到你的节点 4. 你的代码文件 ekf/ekf_node.py launch/ekf_launch.py 全部复制到系统安装路径里 ### ros2 launch ekf ekf_launch.py ``` ros2 launch ekf ekf_launch.py ↓ 1. 找到包:ekf 2. 找到启动文件:ekf_launch.py ↓ 3. 解析里面的 Node 配置 ↓ 4. 启动你的 ekf_node.py(卡尔曼滤波) ↓ 5. EKF 节点开始跑: 订阅 /imu/data 订阅 /odom 运行卡尔曼算法 发布 /odom_ekf ```