DDR-opt is a universal Trajectory Optimization Framework for Differential Drive Robot Class.
The paper is published in T-ASE!
Please visit our project website DDR-opt. If you find this work useful or interesting, please kindly give us a star ⭐, thanks! 😀
Compiling tests passed on ubuntu 18.04, and 20.04 with ros installed. You can just execute the following commands one by one.
sudo apt install ros-${ROS_DISTRO}-tf2-sensor-msgs # noetic or melodic
OSQP and OSQP-Eigen make it easier to modify parameters and are used to solve control problems under velocity and angular velocity control. You can download them from the following two links:
- Download osqp-v0.6.3-src.tar.gz or click here, and then follow the installation instructions
- Download OSQP-eigen v0.8.1.
cd osqp-eigen
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local ../
make
sudo make install
NOTE: We may have forgotten other dependencies 😟, sorry! If you could provide missing dependencies, we would greatly appreciate it.
mkdir -p DDRopt_ws/src
cd DDRopt_ws/src
git clone [email protected]:ZJU-FAST-Lab/DDR-opt.git
cd ..
catkin build
You can run any of the following:
roslaunch plan_manager planner_nmpc.launch # for robots controlled by wheel speeds
roslaunch plan_manager planner_sim_unknown.launch # for planning in unknown space
roslaunch plan_manager planner_sim.launch # for robots controlled by linear and angular velocity
You can use 2D Nav Goal
to set goal point.
25-07-25
- Enhanced the 'if_directly_constrain_v_omega' feature. Users can now select between: 1) Constraining linear (v) and angular (omega) velocities independently, or 2) Constraining the product (v * omega) considering wheel speed limits.
- Reduced the number of ROS messages in the code that do not use topic remapping.
- Fixed the bug reported in Issue 11. Thanks to SCUTBob for the report!
The method used in this software are described in the following paper (available on IEEE and arxiv)
@ARTICLE{zhang2024universaltrajectoryoptimizationframework,
author={Zhang, Mengke and Chen, Nanhe and Wang, Hu and Qiu, Jianxiong and Han, Zhichao and Ren, Qiuyu and Xu, Chao and Gao, Fei and Cao, Yanjun},
journal={IEEE Transactions on Automation Science and Engineering},
title={Universal Trajectory Optimization Framework for Differential Drive Robot Class},
year={2025},
volume={22},
number={},
pages={13030-13045},
keywords={Robots;Mobile robots;Kinematics;Trajectory optimization;Planning;Robot kinematics;Computational modeling;Dynamics;Wheels;Tracking;Motion planning;trajectory optimization;differential drive robot class;nonholonomic dynamics},
doi={10.1109/TASE.2025.3550676}}