A differential dynamic programming algorithm based on geometric algebra, considering the full dynamics of robots.
- First Version Physics Formula and Implementation
- ROS2 and MuJoCo Bridge
- Modified Formula Implementation
- GA-EKF Perception Module
GA-based DDP algorithm for robotic optimal control, offering a geometric perspective and computational efficiency. Validated in simulations and experiments.
Compiling tests passed on Ubuntu 22.04 with ROS2 Humble installed. You can just execute the following commands one by one.
sudo apt-get install libeigen3-dev
git clone git@github.com:Chen-WH/ga-ddp.git
colcon build
source install/setup.bash
ros2 run ga-ddp iLQR_linear_test
ros2 run ga-ddp iLQR_robot_testPlease cooperate with the repository mujoco-wrapper for mujoco simulation
git clone git@github.com:Chen-WH/mujoco-wrapper.git
ros2 run mujoco-wrapper positionThe program has been successfully run on the JAKA Zu 12 and UR10 robots. We also provide example scripts here.
- JAKA Zu 12
git clone git@github.com:Chen-WH/jaka-wrapper.git
ros2 run jaka-wrapper trajectory- UR10
git clone git@github.com:Chen-WH/ur-wrapper.git
ros2 run ur-wrapper trajectory- benchmark: Benchmark testing code for the proposed method and other algorithms (Note: The SVA algorithm requires downloading spatial_v2_extended).
- description: Robot description files.
- images: Some saved results.
- include: Header files for the ga-ddp library, with interfaces consistent with the MATLAB code.
- matlab: MATLAB implementation of basic GA functions (Note: the MATLAB implementation of the DDP algorithm requires downloading iLQG/DDP trajectory optimization).
- src: Source code files for the ga-ddp library.
- test: Test programs and some examples for the ga-ddp library.
|
|
GA element task: dual robot calibration |
|---|---|
![]() |
![]() |
Leveraging GA’s mathematical properties, our approach is compatible with Lie groups and Lie algebra, dual quaternion, and other geometric tools, making it applicable to various robotic problems.
The results indicate that the GA-based algorithm achieves speedup factors of 1.32×, 1.26×, and 1.10× over SVA for FD, FD-FO, and FD-SO, respectively, while achieving 2.32×, 1.73×, and 1.69× speedups over POE.





