Deployment and Implementation of RDA_planner

Deployment and Implementation of RDA_planner

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.

Abstract

RDA 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 Environments
RDA_ROS: GitHub - hanruihua/rda_ros: ROS Wrapper of RDA planner

Tags

limo态RDA_planner态path planning

Respositories

Environment Requirements

System:ubuntu 20.04

ROS Version:noetic

python Version:python3.9

Deployment Process

1态Download and Install Conda

Download Link

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
    
  • Anaconda:

    bash Anaconda-latest-Linux-x86_64.sh
    

2态Create and Activate Conda Environment

conda create -n rda python=3.9
conda activate rda

3态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-sim

5态Run Examples in RDA_planner

cd RDA_planner/example/lidar_nav
python lidar_path_track_diff.py

The running effect is consistent with the official README.

img_2

Deployment Process of rda_ros

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_pkg

2态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_ros 

3态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.sh

4态Run Gazebo Simulation

Run via Script

cd rda_ros/example/dynamic_collision_avoidance
sh run_rda_gazebo_scan.sh

Run via Individual Commands

Launch the simulation environment:

roslaunch rda_ros gazebo_limo_env10.launch

Launch RDA_planner

roslaunch rda_ros rda_gazebo_limo_scan.launch

img_3

4 Likes