# RDA_planner **Repository Path**: gchasing/RDA_planner ## Basic Information - **Project Name**: RDA_planner - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-17 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# RDA Planner PDF ArXiv version youtube bilibili Paper BibTex Paper BibTex ROS
RDA Planner is a high-performance, optimization-based, Model Predictive Control (MPC) motion planner designed for autonomous navigation in complex and cluttered environments. Utilizing the Alternating Direction Method of Multipliers (ADMM), RDA decomposes complex optimization problems into several simple subproblems. This decomposition enables parallel computation of collision avoidance constraints for each obstacle, significantly enhancing computation speed. **Key Features:** - **Shape-Aware Planning:** Handles robots and obstacles with arbitrary convex shapes, ensuring versatility across diverse scenarios. - **High-Precision Control:** Achieves accurate control trajectories through advanced optimization solvers, enhancing navigation reliability. - **Dynamic Obstacle Handling:** Supports both static and dynamic obstacles, enabling robust performance in ever-changing environments. - **Real-Time Performance:** Offers fast computation times suitable for real-time applications, ensuring timely decision-making and responsiveness. - **Versatile Kinematic Support:** Compatible with various types of robot kinematics, including differential drive, Ackermann steering, and omnidirectional systems, providing flexibility for different robotic platforms. ## News **10 December 2024:** We have uploaded the code implementation of the linearized OBCA algorithm in the [dev_lobca] branch to facilitate the comparison with the RDA planner. Run [path_track_lobca.py](https://github.com/hanruihua/RDA-planner/blob/dev_lobca/example/path_track/path_track_lobca.py) to see the performance. (Note: The linearized OBCA algorithm is not integrated with the DPP framework, resulting in additional problem formulation time for each iteration. Concentrating on problem-solving time is more appropriate for comparison purposes.) **25 September 2024:** The ROS wrapper of RDA planner is available at [rda_ros](https://github.com/hanruihua/rda_ros) ## Prerequisite - Python >= 3.9 ## Installation ``` git clone https://github.com/hanruihua/RDA_planner cd RDA_planner pip install -e . ``` ## Run examples ### Demonstrations on [ir-sim](https://github.com/hanruihua/ir-sim) Please install ir-sim by: ``` pip install ir-sim ``` **Path Track (example/path_track.py)** | |:-------------------------:|:-------------------------:| **Cross Corridor (example/corridor.py)** | **Reverse Parking (example/reverse.py)** | **Input Lidar points (example/lidar_path_track.py)** | **Dynamic obstacles avoidance (example/dynamic_obs.py)**| **Note:** You can customize the scenario by modifying the parameters in the corresponding yaml file as introduced in [ir-sim](https://github.com/hanruihua/ir-sim). For the polygon obstacles, please make sure the obstacles are convex (CCW order is not necessary now). ### Demonstrations of dynamic collision avoidance and autonomous driving Please see [rda_ros](https://github.com/hanruihua/rda_ros) for detail https://github.com/user-attachments/assets/94c40338-9e77-43c4-ad01-59b303f188c1 ## Citation If you find this code or paper is helpful, you can **star** this repository and cite our paper by the following **BibTeX** entry: ``` @ARTICLE{10036019, author={Han, Ruihua and Wang, Shuai and Wang, Shuaijun and Zhang, Zeqing and Zhang, Qianru and Eldar, Yonina C. and Hao, Qi and Pan, Jia}, journal={IEEE Robotics and Automation Letters}, title={RDA: An Accelerated Collision Free Motion Planner for Autonomous Navigation in Cluttered Environments}, year={2023}, volume={8}, number={3}, pages={1715-1722}, doi={10.1109/LRA.2023.3242138}} ```