Skip to content

将FastPlanner后端基于B样条的轨迹优化封装单独可用的C++文件,并将三维轨迹将为2维轨迹,适用于地面小车实时规划

License

Notifications You must be signed in to change notification settings

JackJu-HIT/FastPlanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast-Planner (早期版本 / Legacy Version)

Important

⚠️ 版本迁移提示 / Migration Notice

  • 本项目状态:这是 Fast-Planner 的早期开发版本,目前已停止主要维护。
  • 最新推荐:针对地面机器人和 ROS 2 环境,我们推出了全新的重构版本。请务必访问以下仓库获取最新代码:

👉 Fast-Planner-2D-ROS2 (最新 2D 原生版)

🌟 新版特性与优势 (Key Features of the New Version)

如果您正在开发地面移动机器人,强烈建议使用新版本,它包含以下重大改进:

  1. 专为 2D 地面机器人适配
    • 在 B 样条代价函数与 ESDF 梯度计算中,强制加入了 Z 轴方向的优化约束,完美适配 2D 平面运动规划。
  2. 纯粹的 C++ 核心接口
    • 完全剥离了原版复杂的 ROS 1 依赖,提供解耦的、纯粹的 C++ 优化接口,方便移植。
  3. ESDF 性能深度优化
    • 底层代码升级,大幅优化了构建效率和索引逻辑,更适合高频实时规划。
  4. 原生 ROS 2 支持
    • 全面拥抱 ROS 2 (Humble/Foxy),提供完善的 Rviz2 可视化接口与交互媒介。

📖 本项目简介 (Legacy Project Introduction)

FastPlanner: 2D Trajectory Optimization (Pure C++)

C++ Build

本项目将 FastPlanner 后端基于 B 样条(B-Spline)的轨迹优化核心算法进行了剥离与封装,移除了复杂的 ROS 依赖,提供了一个纯净可用的 C++ 版本

针对地面移动机器人应用场景,我们将原有的三维轨迹规划算法降维适配为二维平面,适用于实时的局部路径规划任务。

⚙️ 依赖安装

本项目依赖 NLopt 非线性优化库。

files 目录下已附带 nlopt 源码包,请先按照以下步骤编译并安装:

cd files/nlopt-2.7.1  # 假设解压后的目录名
mkdir build && cd build
cmake ..
make
sudo make install

🚀 编译与运行 (How to use)

# 1. 创建构建目录
mkdir build 
cd build

# 2. 编译项目
cmake ..
make

# 3. 运行示例
./main

🖼️ 运行效果 (Result)

Simulation Result

🔗 参考项目

本项目核心算法源自以下优秀的开源项目:

📚 教程与原理

关于算法原理、代码使用方法及视频教程,请参考我们的详细文档:


Maintained by JackJu-HIT

About

将FastPlanner后端基于B样条的轨迹优化封装单独可用的C++文件,并将三维轨迹将为2维轨迹,适用于地面小车实时规划

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published