MATLAB code to replicate the results of the paper titled "Distributed Trajectory Generation based on ADMM for Collaborative Workpiece Transport with Mobile Robots". Tested with MATLAB23a.
Requirements: CasADi Version 3.7.2 (Installation guide: https://web.casadi.org/get/)
Inputs: Scenario description (number of cases, beam length, number of obstacles, min/max radius of obstacles, clearance, min separation distance between obstacles, slack, start/goal/obstacle region)
Outputs: Trajectories (and evaluation metrics) for two mobile robots transporting a rigid beam from the desired start to goal position for the defined scenarios.
How to run the code: Run ADMM_eval.m
Project structure:
admm: description of the ADMM-related scripts and optimization routines.
run_one_admm.m: sets up the distributed optimization problem for one scenario to be solved with ADMM.
opti_admm.m: sets up the optimization problem for one ADMM iteration on one robot.
cache: saved scenarios for every type to avoid building them from scratch every time.
helperfunc: auxiliary helper functions used throughout the project.
libs: external libraries should be saved here (ex: CasADi).
plot: scripts for visualization and plotting of results.
results: final results and evaluation script used for the paper.
save: scripts for saving the results.
scenarios: scripts for building and running simulation scenarios.
stats: scripts for statistical evaluation and analysis.