代码来自文章高飞团队文章An Efficient Spatial-Temporal Trajectory Planner for Autonomous Vehicles in Unstructured Environments。代码在github上面开源https://github.com/ZJU-FAST-Lab/Dftpav代码文件分为fig文件夹、src文件夹、LICENSE许可证、README.md文件、run.sh运行文件首先我们阅读README.md文件里面对我们有用的内容是如何运行整个项目我们需要在工作环境下面执行代码source devel/setup.bash ./run.sh之后可在 RVIZ 中使用2D导航目标2D Nav Goal触发规划。接下来解读一下run.sh文件ROS启动脚本roslaunch phy_simulator rviz.launch sleep 1; # RViz 可视化 roslaunch phy_simulator phy_simulator_parking.launch sleep 1; # 物理仿真器 (车辆动力学) #Sim模块中的phy_simulator roslaunch ai_agent_planner moving_obstacle.launch sleep 1.0; # 移动障碍物 #Sim模块中的util/ai_agent_planner roslaunch planning_integrated map.launch sleep 1; # 地图显示 (仅可视化) roslaunch planning_integrated park.launch sleep 1; # 核心规划模块 ← 重点 #Plan模块 wait # 保持运行 run.sh命令 第一行roslaunch phy_simulator rviz.launch 来源src/Sim/core/phy_simulator/launch/rviz.launch 第二行roslaunch phy_simulator phy_simulator_parking.launch 来源src/Sim/core/phy_simulator/launch/phy_simulator_parking.launch 第三行roslaunch ai_agent_planner moving_obstacle.launch 来源src/Sim/util/ai_agent_planner/launch/moving_obstacle.launch 第四行roslaunch planning_integrated map.launch 来源src/Sim/app/planning_integrated/launch/map.launch 第五行roslaunch planning_integrated park.launch 来源src/Sim/app/planning_integrated/launch/park.launchPlan文件夹中的轨迹规划代码实际上是被planning_integrated集成调用执行的。重点是src文件里面包含Plan文件夹、Sim文件夹、CMakeLists.txt文件。Plan文件夹src/Plan/src/Plan/traj_planner/ ├── config/ # 配置文件 │ └── minco_config.pb.txt # MINCO 轨迹优化参数配置 ├── msg/ # ROS 消息定义 │ ├── DataDisp.msg │ └── PolyTraj.msg ├── proto/ # Protobuf 协议定义 │ └── minco_config.proto # 轨迹配置文件的协议定义 ├── include/ # 头文件目录 │ ├── geo_utils2d/ # 2D 几何工具 │ ├── map_utils/ # 地图工具 │ ├── path_searching/ # 路径搜索算法 │ ├── plan_manage/ # 规划管理 │ └── plan_utils/ # 规划工具库 ├── src/ # 源代码 │ ├── kino_astar.cpp # Kinodynamic A* 搜索算法 │ ├── map_adapter.cpp # 地图适配器 │ ├── traj_manager.cpp # 轨迹管理器 (54KB) │ ├── traj_optimizer.cpp # 轨迹优化器 (84KB) ⭐核心 │ ├── traj_server_ros.cpp # ROS 服务器 │ └── traj_visualizer.cpp # 轨迹可视化 └── thirdparty/ # 第三方库 └── odeint-v2/ # ODE 数值积分库主要功能轨迹规划算法根据感知信息和地图生成安全可行的行驶轨迹时间-空间优化在非结构化环境如停车场中进行时空域的轨迹优化与 Sim 交互接收仿真器提供的环境信息输出规划结果Sim文件夹src/Sim/src/Sim/ ├── core/ # ⚙️ 核心仿真组件 │ ├── behavior_planner/ # 行为规划决策换道、让行、停车 │ ├── common/ # 公共基础库3D模型、cmake工具 │ ├── forward_simulator/ # 前向仿真预测未来状态 │ ├── motion_predictor/ # 运动预测障碍物轨迹预测 │ ├── phy_simulator/ # 物理仿真器车辆动力学 │ ├── playgrounds/ # 场景地图定义道路、停车场 │ ├── route_planner/ # 路径规划全局路径 │ ├── semantic_map_manager/ # 语义地图管理 │ ├── vehicle_model/ # 车辆运动学/动力学模型 │ └── vehicle_msgs/ # 车辆消息定义 │ ├── util/ # 规划工具 │ ├── ai_agent_planner/ # AI 代理规划器模拟其他车辆 │ ├── eudm_planner/ # EUDM 规划器 │ └── ssc_planner/ # SSC 规划器 │ ├── app/ # 应用层 │ └── planning_integrated/ # 集成规划应用调用 Plan 模块 │ ├── launch/ # 启动文件 │ └── src/ # 应用源码 │ ├── aux_tools/ # 辅助工具 │ ├── src/steer_wheel.png # 方向盘图片 │ └── src/terminal_server.py # 终端服务器 │ └── toolchain/ # 工具链 └── qgis_projects/ # QGIS 项目文件地图编辑主要功能物理仿真模拟车辆运动学特性加速、转向、制动环境模拟生成道路、障碍物、停车位等场景规划验证为规划算法提供测试环境项目学习过程