{"id":13436195,"url":"https://github.com/ai-winter/ros_motion_planning","last_synced_at":"2025-05-14T03:05:45.642Z","repository":{"id":65753623,"uuid":"588141227","full_name":"ai-winter/ros_motion_planning","owner":"ai-winter","description":"Motion planning and Navigation of AGV/AMR：ROS planner plugin implementation of A*, JPS, D*, LPA*, D* Lite, Theta*, RRT, RRT*, RRT-Connect, Informed RRT*, ACO, PSO, Voronoi, PID, LQR, MPC, DWA, APF, Pure Pursuit etc.","archived":false,"fork":false,"pushed_at":"2025-04-07T11:42:00.000Z","size":147317,"stargazers_count":2708,"open_issues_count":10,"forks_count":427,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-10T23:58:45.135Z","etag":null,"topics":["artificial-potential-field","astar","autonomous-vehicles","dstar-lite","jump-point-search","lpa-star","model-predictive-control","motion-planning","path-planning","path-tracking","pure-pursuit","robotics","ros","ros-navigation","rrt","rrt-star","trajectory-planning","voronoi"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ai-winter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-01-12T12:29:55.000Z","updated_at":"2025-04-10T15:43:25.000Z","dependencies_parsed_at":"2023-07-20T07:30:55.417Z","dependency_job_id":"25c4bcca-6987-43e0-8989-317393761d8a","html_url":"https://github.com/ai-winter/ros_motion_planning","commit_stats":{"total_commits":399,"total_committers":6,"mean_commits":66.5,"dds":"0.48621553884711777","last_synced_commit":"f8a91aa9e06fa700683fd630483bc9a87a9a634e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai-winter%2Fros_motion_planning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai-winter%2Fros_motion_planning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai-winter%2Fros_motion_planning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai-winter%2Fros_motion_planning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ai-winter","download_url":"https://codeload.github.com/ai-winter/ros_motion_planning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254059499,"owners_count":22007768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-potential-field","astar","autonomous-vehicles","dstar-lite","jump-point-search","lpa-star","model-predictive-control","motion-planning","path-planning","path-tracking","pure-pursuit","robotics","ros","ros-navigation","rrt","rrt-star","trajectory-planning","voronoi"],"created_at":"2024-07-31T03:00:45.306Z","updated_at":"2025-05-14T03:05:45.609Z","avatar_url":"https://github.com/ai-winter.png","language":"C++","funding_links":[],"categories":["[Libraries](#contents)","C++"],"sub_categories":["[Motion Planning and Control](#contents)"],"readme":"\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"assets/cover.png\"\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n    \u003cimg width=\"100px\" height=\"20px\" src=\"https://img.shields.io/badge/Ubuntu-20.04-orange?logo=Ubuntu\u0026Ubuntu-20.04\"\r\n        alt=\"ubuntu\" /\u003e\r\n    \u003cimg width=\"100px\" height=\"20px\" src=\"https://img.shields.io/badge/ROS-noetic-blue?logo=ROS\u0026ROS=noetic\" alt=\"ROS\" /\u003e\r\n\u003c/p\u003e\r\n\r\n# ROS Motion Planning\r\n\r\n**Robot Motion planning** is a computational problem that involves finding a sequence of valid configurations to move the robot from the source to the destination. Generally, it includes **Path Searching** and **Trajectory Optimization**.\r\n\r\n* **Path Searching**: Based on path constraints (e.g., avoiding obstacles), to find the optimal sequence for the robot to travel from the source to the destination without collision.\r\n\r\n* **Trajectory Optimization**: Based on kinematics, dynamics and obstacles, to optimize the trajectory of the motion state from the source to the destination according to the path.\r\n\r\nThis repository provides the implementation of common **Motion Planning** algorithms. The theory analysis can be found at [motion-planning](https://blog.csdn.net/frigidwinter/category_11410243.html). Furthermore, we provide [Python](https://github.com/ai-winter/python_motion_planning) and [MATLAB](https://github.com/ai-winter/matlab_motion_planning) version.\r\n\r\n**Your stars, forks and PRs are welcome!**\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"assets/demo.gif\"\u003e\r\n\u003c/p\u003e\r\n\r\n## Contents\r\n\r\n- [Quick Start within 3 Minutes](#0)\r\n- [Document](#1)\r\n- [Tool Chains](#2)\r\n- [Version](#3)\r\n- [Acknowledgments](#4)\r\n- [License](#5)\r\n- [Maintenance](#6)\r\n\r\n## \u003cspan id=\"0\"\u003e0. Quick Start within 3 Minutes\r\n\r\n*Tested on ubuntu 20.04 LTS with ROS Noetic.*\r\n\r\n1. Install [ROS](http://wiki.ros.org/ROS/Installation) (Desktop-Full Install *Recommended*).\r\n\r\n2. Install git.\r\n\r\n    ```bash\r\n    sudo apt install git\r\n    ```\r\n\r\n3. Install dependence\r\n\r\n    - conan\r\n\r\n        ```bash\r\n        pip install conan==1.59.0\r\n        conan remote add conancenter https://center.conan.io\r\n        ```\r\n\r\n    - Other dependence.\r\n\r\n        ```bash\r\n        sudo apt install python-is-python3 \\\r\n        ros-noetic-amcl \\\r\n        ros-noetic-base-local-planner \\\r\n        ros-noetic-map-server \\\r\n        ros-noetic-move-base \\\r\n        ros-noetic-navfn \\\r\n        libgoogle-glog-dev\r\n        ```\r\n\r\n4. Clone the reposity.\r\n\r\n    ```bash\r\n    git clone https://github.com/ai-winter/ros_motion_planning.git\r\n    ```\r\n\r\n5. Compile the code.\r\n   \r\n   **NOTE: Please refer to [#48](https://github.com/ai-winter/ros_motion_planning/issues/48) if you meet libignition dependency error.**\r\n\r\n    ```bash\r\n    cd scripts/\r\n    ./build.sh  # you may need to install catkin-tools using: sudo apt install python-catkin-tools\r\n    ```\r\n\r\n6. Execute the code.\r\n\r\n    ```bash\r\n    cd scripts/\r\n    ./main.sh\r\n    ```\r\n\r\n    \u003e NOTE: Modifying launch files may not have any effect, because they are regenerated by a Python script based on `src/user_config/user_config.yaml` when you run `main.sh`. Therefore, you should modify configurations in `user_config.yaml` instead of launch files.\r\n\r\n7. Use **2D Nav Goal** in RViz to select the goal.\r\n\r\n8. Moving!\r\n\r\n9. You can use the other script to shutdown them rapidly.\r\n\r\n    ```bash\r\n    cd scripts/\r\n    ./killpro.sh\r\n    ```\r\n\r\n10. Multi agents\r\n\r\n    ```bash\r\n    # 1. Replace with user_config_multi.yaml in main.sh\r\n    # 2. Wait for initialization\r\n    # 3. Publish goals\r\n    rosrun sim_env goal_publisher.py\r\n    ```\r\n\r\n## 1. \u003cspan id=\"1\"\u003eDocument\r\n\r\nThe overall file structure is shown below.\r\n\r\n```\r\nros_motion_planner\r\n├── 3rd\r\n├── docs\r\n├── docker\r\n├── assets\r\n├── scripts\r\n└── src\r\n    ├── core\r\n    │   ├── common\r\n    │   ├── path_planner\r\n    │   └── controller\r\n    ├── sim_env             # simulation environment\r\n    │   ├── config\r\n    │   ├── launch\r\n    │   ├── maps\r\n    │   ├── meshes\r\n    │   ├── models\r\n    │   ├── rviz\r\n    │   ├── urdf\r\n    │   └── worlds\r\n    ├── plugins\r\n    │   ├── dynamic_rviz_config\r\n    │   ├── dynamic_xml_config\r\n    │   ├── gazebo_plugins\r\n    │   ├── map_plugins\r\n    │   └── rviz_plugins\r\n    └── user_config         # user configure file\r\n```\r\n\r\nTo better understand the project code, detailed interface documentation can be generated using the doxygen tool. First install doxygen and graphviz.\r\n\r\n```bash\r\nsudo apt-get install doxygen graphviz\r\n```\r\n\r\nThen start the doxygen and you can find the documentation in `./docs/html/index.html`. \r\n\r\n```bash\r\ndoxygen\r\n```\r\n\r\nFor more information about the project usage, please refer to the following table.\r\n\r\n| Index |                                                                      Document                                                                      |                                                       Introduction                                                        |\r\n| :---: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: |\r\n|   0   | [![Status](https://img.shields.io/badge/config-grey?logo=ROS)](https://github.com/ai-winter/ros_motion_planning/blob/master/docs/configuration.md) | Introduce how to dynamically configure parameters such as robot types, planning algorithms, environmental obstacles, etc. |\r\n|   1   |    [![Status](https://img.shields.io/badge/docker-grey?logo=ROS)](https://github.com/ai-winter/ros_motion_planning/blob/master/docs/docker.md)     |                Introduce how to use Docker to conveniently build the project environment and simulate it.                 |\r\n|   2   |    [![Status](https://img.shields.io/badge/real-grey?logo=ROS)](https://github.com/ai-winter/ros_motion_planning/blob/master/docs/realworld.md)    |           Introduce how to build a real robot application based on the algorithms provided in this repository.            |\r\n|   3   |   [![Status](https://img.shields.io/badge/history-grey?logo=ROS)](https://github.com/ai-winter/ros_motion_planning/blob/master/docs/history.md)    |                                                    Important updates.                                                     |\r\n\r\n## 02. \u003cspan id=\"2\"\u003eTool Chains\r\n\r\nFor the efficient operation of the motion planning system, we provide a series of user-friendly simulation tools that allow for on-demand selection of these lightweight repositories.\r\n\r\n|                                                                    Tool Version                                                                     |                                                            Introduction                                                             |\r\n| :-------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------: |\r\n| [![Status](https://img.shields.io/badge/Pedestrian-v2.0-8A2BE2?logo=iledefrancemobilites)](https://github.com/ai-winter/ros_pedestrians_simulation) | This is a Gazebo plugin for pedestians with collision property. You can construct a dynamic environment in ROS easily using plugin. |\r\n|             [![Status](https://img.shields.io/badge/RMPV-v2.0-8A2BE2?logo=v)](https://github.com/ai-winter/path_visualization_plugins)              |         This repository provides a ROS-based visualization Rviz plugins for path planning and curve generation algorithms.          |\r\n\r\n## \u003cspan id=\"3\"\u003e03. Version\r\n\r\n### Global Planner\r\n\r\n|     Planner      |                                                                                            Version                                                                                            |                         Animation                          |                                                                                                    Papers                                                                                                    |\r\n| :--------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|     **GBFS**     |      [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/a_star.cpp)       |            ![gbfs_ros.gif](assets/gbfs_ros.gif)            |                                                                                                      -                                                                                                       |\r\n|   **Dijkstra**   |      [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/a_star.cpp)       |        ![dijkstra_ros.gif](assets/dijkstra_ros.gif)        |                                                                                                      -                                                                                                       |\r\n|     **A\\***      |      [![Status](https://img.shields.io/badge/done-v1.1-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/a_star.cpp)       |          ![a_star_ros.gif](assets/a_star_ros.gif)          |                                             [A Formal Basis for the heuristic Determination of Minimum Cost Paths](https://ieeexplore.ieee.org/document/4082128)                                             |\r\n|     **JPS**      | [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/jump_point_search.cpp) |             ![jps_ros.gif](assets/jps_ros.gif)             |                                                  [Online Graph Pruning for Pathfinding On Grid Maps](https://ojs.aaai.org/index.php/AAAI/article/view/7994)                                                  |\r\n|     **D\\***      |     [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)]((https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/d_star.cpp))      |          ![d_star_ros.gif](assets/d_star_ros.gif)          |                                 [Optimal and Efficient Path Planning for Partially-Known Environments](http://web.mit.edu/16.412j/www/html/papers/original_dstar_icra94.pdf)                                 |\r\n|    **LPA\\***     |    [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)]((https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/lpa_star.cpp))     |        ![lpa_star_ros.gif](assets/lpa_star_ros.gif)        |                                                                    [Lifelong Planning A*](https://www.cs.cmu.edu/~maxim/files/aij04.pdf)                                                                     |\r\n|   **D\\* Lite**   |   [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)]((https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/d_star_lite.cpp))   |     ![d_star_lite_ros.gif](assets/d_star_lite_ros.gif)     |                                                                        [D* Lite](http://idm-lab.org/bib/abstracts/papers/aaai02b.pdf)                                                                        |\r\n|   **Voronoi**    |     [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)]((https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/voronoi.cpp))     |         ![voronoi_ros.gif](assets/voronoi_ros.gif)         |                                                                                                      -                                                                                                       |\r\n|   **Theta\\***    |   [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)]((https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/theta_star.cpp))    |      ![theta_star_ros.gif](assets/theta_star_ros.gif)      | [Theta*: Any-Angle Path Planning on Grids](https://www.jair.org/index.php/jair/article/view/10676), [Any-angle path planning on non-uniform costmaps](https://ieeexplore.ieee.org/abstract/document/5979769) |\r\n| **Lazy Theta\\*** | [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)]((https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/lazy_theta_star.cpp)) | ![lazy_theta_star_ros.gif](assets/lazy_theta_star_ros.gif) |                                         [Lazy Theta*: Any-Angle Path Planning and Path Length Analysis in 3D](https://ojs.aaai.org/index.php/AAAI/article/view/7566)                                         |\r\n|  **S-Theta\\***   |  [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)]((https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/s_theta_star.cpp))   |    ![s_theta_star_ros.gif](assets/s_theta_star_ros.gif)    |                                               [S-Theta*: low steering path-planning algorithm](https://link.springer.com/chapter/10.1007/978-1-4471-4739-8_8)                                                |\r\n|  **Hybrid A\\***  |  [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)]((https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/graph_planner/src/hybrid_astar.cpp))   |    ![hybrid_astar_ros.gif](assets/hybrid_astar_ros.gif)    |                                    [Practical search techniques in path planning for autonomous driving](https://ai.stanford.edu/~ddolgov/papers/dolgov_gpp_stair08.pdf)                                     |\r\n|     **RRT**      |       [![Status](https://img.shields.io/badge/done-v1.1-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/sample_planner/src/rrt.cpp)        |             ![rrt_ros.gif](assets/rrt_ros.gif)             |                                              [Rapidly-Exploring Random Trees: A New Tool for Path Planning](http://msl.cs.uiuc.edu/~lavalle/papers/Lav98c.pdf)                                               |\r\n|    **RRT\\***     |     [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/sample_planner/src/rrt_star.cpp)     |        ![rrt_star_ros.gif](assets/rrt_star_ros.gif)        |                                            [Sampling-based algorithms for optimal motion planning](https://journals.sagepub.com/doi/abs/10.1177/0278364911406761)                                            |\r\n| **Informed RRT** |   [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/sample_planner/src/informed_rrt.cpp)   |    ![informed_rrt_ros.gif](assets/informed_rrt_ros.gif)    |                                  [Optimal Sampling-based Path Planning Focused via Direct Sampling of an Admissible Ellipsoidal heuristic](https://arxiv.org/abs/1404.2334)                                  |\r\n| **RRT-Connect**  |   [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/sample_planner/src/rrt_connect.cpp)    |     ![rrt_connect_ros.gif](assets/rrt_connect_ros.gif)     |                         [RRT-Connect: An Efficient Approach to Single-Query Path Planning](http://www-cgi.cs.cmu.edu/afs/cs/academic/class/15494-s12/readings/kuffner_icra2000.pdf)                          |\r\n|     **ACO**      |    [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/evolutionary_planner/src/aco.cpp)     |             ![aco_ros.gif](assets/aco_ros.gif)             |                                           [Ant Colony Optimization: A New Meta-Heuristic](http://www.cs.yale.edu/homes/lans/readings/routing/dorigo-ants-1999.pdf)                                           |\r\n|      **GA**      |     [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/evolutionary_planner/src/ga.cpp)     |              ![ga_ros.gif](assets/ga_ros.gif)              |                                                           [Adaptation in Natural and Artificial Systems](https://ieeexplore.ieee.org/book/6267401)                                                           |\r\n|     **PSO**      |    [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/global_planner/evolutionary_planner/src/pso.cpp)     |             ![pso_ros.gif](assets/pso_ros.gif)             |                                                                  [Particle Swarm Optimization](https://ieeexplore.ieee.org/document/488968)                                                                  |\r\n\r\n### Local Planner\r\n\r\n|   Planner   |                                                                                       Version                                                                                        |                        Animation                        |                                                                Paper                                                                |\r\n| :---------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------: |\r\n|   **PID**   | [![Status](https://img.shields.io/badge/done-v1.1-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/local_planner/pid_planner/src/pid_planner.cpp) |           ![pid_ros.gif](assets/pid_ros.gif)            | [Mapping Single-Integrator Dynamics to Unicycle Control Commands](https://liwanggt.github.io/files/Robotarium_CSM_Impact.pdf) p. 14 |\r\n|   **LQR**   | [![Status](https://img.shields.io/badge/done-v1.1-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/local_planner/lqr_planner/src/lqr_planner.cpp) |           ![lqr_ros.gif](assets/lqr_ros.gif)            |                                                                  -                                                                  |\r\n|   **DWA**   |     [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/local_planner/dwa_planner/src/dwa.cpp)     |           ![dwa_ros.gif](assets/dwa_ros.gif)            | [The Dynamic Window Approach to Collision Avoidance](https://www.ri.cmu.edu/pub_files/pub1/fox_dieter_1997_1/fox_dieter_1997_1.pdf) |\r\n|   **APF**   | [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/local_planner/apf_planner/src/apf_planner.cpp) |           ![apf_ros.gif](assets/apf_ros.gif)            |           [Real-time obstacle avoidance for manipulators and mobile robots](https://ieeexplore.ieee.org/document/1087247)           |\r\n|   **RPP**   | [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/local_planner/rpp_planner/src/rpp_planner.cpp) |           ![rpp_ros.gif](assets/rpp_ros.gif)            |                       [Regulated Pure Pursuit for Robot Path Tracking](https://arxiv.org/pdf/2305.20026.pdf)                        |\r\n|   **TEB**   |                                                               ![Status](https://img.shields.io/badge/develop-v1.0-red)                                                               | ![Status](https://img.shields.io/badge/gif-none-yellow) |\r\n|   **MPC**   | [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/local_planner/mpc_planner/src/mpc_planner.cpp) |           ![mpc_ros.gif](assets/mpc_ros.gif)            |                                                                  -                                                                  |\r\n| **Lattice** |                                                               ![Status](https://img.shields.io/badge/develop-v1.0-red)                                                               | ![Status](https://img.shields.io/badge/gif-none-yellow) |\r\n\r\n### Curve Generation\r\n\r\n|     Planner      |                                                                                     Version                                                                                      |                             Animation                              |                                                                                                             Paper                                                                                                             |\r\n| :--------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|  **Polynomia**   | [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/curve_generation/src/polynomial_curve.cpp) | ![polynomial_curve_python.gif](assets/polynomial_curve_python.gif) |                                                                                                               -                                                                                                               |\r\n|    **Bezier**    |   [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/curve_generation/src/bezier_curve.cpp)   |     ![bezier_curve_python.png](assets/bezier_curve_python.png)     |                                                                                                               -                                                                                                               |\r\n| **Cubic Spline** |   [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/curve_generation/src/cubic_spline.cpp)   |     ![cubic_spline_python.png](assets/cubic_spline_python.png)     |                                                                                                               -                                                                                                               |\r\n|   **BSpline**    |  [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/curve_generation/src/bspline_curve.cpp)   |    ![bspline_curve_python.png](assets/bspline_curve_python.png)    |                                                                                                               -                                                                                                               |\r\n|    **Dubins**    |   [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/curve_generation/src/dubins_curve.cpp)   |     ![dubins_curve_python.png](assets/dubins_curve_python.png)     |                                            [On curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents]()                                            |\r\n| **Reeds-Shepp**  |   [![Status](https://img.shields.io/badge/done-v1.0-brightgreen)](https://github.com/ai-winter/ros_motion_planning/blob/master/src/core/curve_generation/src/reeds_shepp.cpp)    |      ![reeds_shepp_python.png](assets/reeds_shepp_python.gif)      | [Optimal paths for a car that goes both forwards and backwards](https://projecteuclid.org/journals/pacific-journal-of-mathematics/volume-145/issue-2/Optimal-paths-for-a-car-that-goes-both-forwards-and/pjm/1102645450.full) |\r\n\r\n## \u003cspan id=\"4\"\u003e04. Acknowledgments\r\n\r\n* Our robot and world models are from [\r\nDataset-of-Gazebo-Worlds-Models-and-Maps](https://github.com/mlherd/Dataset-of-Gazebo-Worlds-Models-and-Maps) and [\r\naws-robomaker-small-warehouse-world](https://github.com/aws-robotics/aws-robomaker-small-warehouse-world). Thanks for these open source models sincerely.\r\n\r\n* Pedestrians in this environment are using social force model(sfm), which comes from [https://github.com/robotics-upo/lightsfm](https://github.com/robotics-upo/lightsfm).\r\n\r\n* A ROS costmap plugin for [dynamicvoronoi](http://www2.informatik.uni-freiburg.de/~lau/dynamicvoronoi/) presented by Boris Lau.\r\n\r\n## \u003cspan id=\"5\"\u003e05. License\r\n\r\nThe source code is released under [GPLv3](https://www.gnu.org/licenses/) license.\r\n\r\n## \u003cspan id=\"6\"\u003e06. Maintenance\r\n\r\nFeel free to contact us if you have any question.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai-winter%2Fros_motion_planning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fai-winter%2Fros_motion_planning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai-winter%2Fros_motion_planning/lists"}