Skip to content

通过对优化器底层进行修改,使其优化的轨迹坐标维度为2维(x和y),并对grid map进行重写,使其适配真正适配地面2D移动机器人。

License

Notifications You must be signed in to change notification settings

JackJu-HIT/Ego-Planner-2D-ROS2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ego-Planner-2D-ROS2

ROS2 License C++

真正的地面移动机器人 2D 轨迹优化方案
基于浙大高飞团队优秀的开源工作 Ego-Planner 进行深度二次开发,从底层算法层面进行了真正的降维重构,使其完全适配 2D 导航场景。

🔗 项目地址https://github.com/JackJu-HIT/Ego-Planner-2D-ROS2


📅 更新日志 (Changelog)

[2025-12-10]

  • 新增功能:添加 GridMap 膨胀后的障碍物可视化渲染。
    • Rviz2 监听话题/visual_local_obstacles
  • 🐛 Bug 修复:修复了 GridMap 在特定边界条件下存在的 Bug。

🚀 项目简介 (Introduction)

本项目针对地面移动机器人(AGV/AMR)的特性,对原有的 Ego-Planner 算法进行了核心重构。不同于简单的“压扁”三维轨迹,我们从优化器底层数学模型环境地图表达进行了全面的二维化改造,实现了更高效、更轻量的平面轨迹规划。

✨ 核心特性 (Key Features)

1. 真正的 2D 轨迹优化 (True 2D Optimization)

重构了轨迹优化器的核心数学模型,将优化变量从 3 维降至 2 维(仅优化 $x, y$)。彻底移除了 Z 轴的冗余计算,实现了数学意义上的平面轨迹规划,显著提升了求解效率。

2. 环境层重构 (Environment Refactoring)

将原有的 3D 环境表达重构为 2D GridMap(栅格地图)。这一改进大幅降低了内存占用,并显著提高了环境查询与碰撞检测的计算速度。

3. 寻路算法降维 (2D A* Search)

对 Path Searching 模块中的 A* 算法进行了降维适配,专注于平面路径搜索,生成的初始路径更贴合地面移动需求。

4. 纯 C++ 核心与解耦 (Pure C++ Core)

剥离了原算法对 ROS1 的依赖,核心算法逻辑采用纯 C++ 实现,模块化程度高,具有极高的可移植性,易于集成到其他系统。

5. 全面适配 ROS 2 (ROS 2 Support)

项目采用 ROS 2 作为外壳封装,完全适配 ROS 2 通信框架。支持 Rviz2 交互式仿真,提供流畅的可视化交互体验,开箱即用。


🛠️ 编译与运行 (How to use)

请确保您的环境已安装 ROS 2 及相关依赖。

1. 编译项目

colcon build
source install/setup.bash

2. 运行步骤

  1. 启动规划节点
    ros2 run ego_planner motion_plan
  2. 启动可视化界面
    rviz2
    # 建议加载项目提供的 rviz 配置文件(如有)
  3. 交互测试
    • 在 Rviz2 中使用 2D Pose Estimate 设置起点(或使用默认起点)。
    • 使用 2D Nav Goal 设置全局目标点。
    • 使用 Publish Point 工具添加模拟障碍物。
    • 观察话题 visual_local_obstacles 查看膨胀后的障碍物信息。

🔗 参考与致谢 (References)

本项目核心算法源自 ZJU-FAST-Lab 团队的优秀开源工作,特此感谢。


📢 更多信息 (More Info)

如果您对轨迹优化与运动控制感兴趣,欢迎关注我的媒体渠道获取更多技术分享:


⚠️ 免责声明 (Disclaimer)

  1. 本项目属于本人 (JackJu) 在业余时间进行的个人学习与技术研究成果。
  2. 项目代码未应用于任何公司、机构或商业团队的实际项目中。
  3. 项目仅供学术交流与学习使用,不涉及任何商业利益冲突或侵权行为。
  4. 如果您使用此 2D ego-planner 进行二次开发或发表学术论文,请引用本 Git 仓库链接

    https://github.com/JackJu-HIT/Ego-Planner-2D-ROS2


Last updated: 2025-12-30

About

通过对优化器底层进行修改,使其优化的轨迹坐标维度为2维(x和y),并对grid map进行重写,使其适配真正适配地面2D移动机器人。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages