We reproduce the RDA Planner project from the IEEE paper RDA: An Accelerated Collision-Free Motion Planner for Autonomous Navigation in Cluttered Environments. We provide a step-by-step guide to help you quickly reproduce the RDA path planning algorithm in this paper, enabling efficient obstacle avoidance for autonomous navigation in complex environments.
AbstractRDA Planner is a high-performance, optimization-based Model Predictive Control (MPC) motion planner designed for autonomous navigation in complex and cluttered environments. By leveraging the Alternating Direction Method of Multipliers (ADMM), RDA decomposes complex optimization problems into several simple subproblems.
This project is the open-source development of the RDA_ROS autonomous navigation project, proposed by researchers from the University of Hong Kong, Southern University of Science and Technology, University of Macau, Shenzhen Institutes of Advanced Technology of the Chinese Academy of Sciences, and Hong Kong University of Science and Technology (Guangzhou). It is developed based on the AgileX Limo simulator. Relevant papers have been published in IEEE Robotics and Automation Letters and IEEE Transactions on Mechatronics.
RDA planner: GitHub - hanruihua/RDA-planner: [RA-Letter 2023] RDA: An Accelerated Collision Free Motion Planner for Autonomous Navigation in Cluttered EnvironmentsRDA_ROS: GitHub - hanruihua/rda_ros: ROS Wrapper of RDA planner
Tagslimo、RDA_planner、path planning
Respositories- Navigation Repository: GitHub - agilexrobotics/Agilex-College: Agilex College
- Project Repository: https://github.com/agilexrobotics/limo/RDA_planner.git
System:ubuntu 20.04
ROS Version:noetic
python Version:python3.9
Deployment Process1、Download and Install Conda
Choose Anaconda or Miniconda based on your system storage capacity
After downloading, run the following commands to install:
Miniconda:
bash Miniconda3-latest-Linux-x86_64.sh- Miniconda:
bash Miniconda3-latest-Linux-x86_64.sh
Anaconda:
bash Anaconda-latest-Linux-x86_64.sh- Anaconda:
bash Anaconda-latest-Linux-x86_64.sh
2、Create and Activate Conda Environment
conda create -n rda python=3.9
conda activate rda3、Download RDA_planner
mkdir -p ~/rda_ws/src
cd ~/rda_ws/src
git clone https://github.com/hanruihua/RDA_planner
cd RDA_planner
pip install -e .4、Download Simulator
pip install ir-sim5、Run Examples in RDA_planner
cd RDA_planner/example/lidar_nav
python lidar_path_track_diff.pyThe running effect is consistent with the official README.
1、Install Dependencies in Conda Environment
conda activate rda
sudo apt install python3-empy
sudo apt install ros-noetic-costmap-converter
pip install empy==3.3.4
pip install rospkg
pip install catkin_pkg2、Download Code
cd ~/rda_ws/src
git clone https://github.com/hanruihua/rda_ros
cd ~/rda_ws && catkin_make
cd ~/rda_ws/src/rda_ros
sh source_setup.sh && source ~/rda_ws/devel/setup.sh && rosdep install rda_ros3、Download Simulation Components
This step will download two repositories: limo_ros and rvo_ros
limo_ros:Robot model for simulation
rvo_ros:Cylindrical obstacles used in the simulation environment
cd rda_ros/example/dynamic_collision_avoidance
sh gazebo_example_setup.sh4、Run Gazebo Simulation
Run via Script
cd rda_ros/example/dynamic_collision_avoidance
sh run_rda_gazebo_scan.shRun via Individual Commands
Launch the simulation environment:
roslaunch rda_ros gazebo_limo_env10.launchLaunch RDA_planner
roslaunch rda_ros rda_gazebo_limo_scan.launch




Comments