Skip to content

jonarriza96/pfdq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PFDQ: Pose-Following with Dual Quaternions

A pose-following framework based on unit dual quaternions for simultaneously controlling the translation and rotation of a rigid body. Cover photo For the implementation details, please check the paper and/or watch the video. If you use this framework please cite our work:

@inproceedings{arrizabalaga2023pose,
  title={Pose-Following with Dual Quaternions},
  author={Arrizabalaga, Jon and Ryll, Markus},
  booktitle={2023 62nd IEEE Conference on Decision and Control (CDC)},
  pages={5959--5966},
  year={2023},
  organization={IEEE}
}

Requirements

Python environment

Install the specific versions of every package from requirements.txt. In a new conda environment:

conda create --name pfdq python=3.9
conda activate pfdq
pip install -r requirements.txt

Update the ~/.bashrc with

export PFDQ_PATH=/path_to_pfdq
export PYTHONPATH=$PYTHONPATH:/$PFDQ_PATH

Usage

Replicating the experiments

To replicate the two case studies of the paper, run this file. For example, to run experiment 2 with the conservative velocity profile, run:

python pose_following.py --case_study 1 --velocity_profile c

And if you want to compare it to the path tracking solution, run:

python pose_following.py --case_study 1 --pt

Similarly, to run experiment 1 from the 1st starting point:

python pose_following.py --case_study 2 --starting_point 1

The options are the following ones:

  • --case_study: 1 (experiment 2) or 2 (experiment 1).
  • --pt: Enables path-tracking instead of path-following.
  • --velocity_profile, only for path-following (without --pt):
    • Case study 1: c (conservative), m (medium), p (progressive).
    • Case study 2: s (slow), f (fast), v (variant) for case study 2.
  • --starting_point, only for case_study 2 : 0,1,2,3,4,5.
  • --save: Saves the results in the pfdq/results/data folder. It is recommended not to trigger this, since you will overwrite the results of the paper.

Visualizing the results

If you run the case studies as mentioned above and save the respective results, you can generate the same plots as in the paper:

  1. Case study 1 - Comparison to pose-tracking: Run this file.

  2. Case study2 - Almost global asymptotic stability on pose-following with velocity assignment: For the first column, run this file and, for the second column this other file.

Additional material

We also provide an additional script that replicates the results from the pose-tracking paper: Unit dual quaternion-based feedback linearization tracking problem for attitude and position dynamics, X.Wang and C.Yu, Systems &Control Letters, 2013

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages