dual_quaternions package from dual_quaternions repodual_quaternions 

Package Summary
Tags  No category tags. 
Version  0.3.2 
License  MIT 
Build type  CATKIN 
Use  RECOMMENDED 
Repository Summary
Checkout URI  https://github.com/Achllle/dual_quaternions.git 
VCS Type  git 
VCS Version  0.3.2 
Last Updated  20200612 
Dev Status  MAINTAINED 
CI status  No Continuous Integration 
Released  RELEASED 
Tags  No category tags. 
Contributing 
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) 
Package Description
Additional Links
Maintainers
 achille
Authors
 achille
Dual Quaternions
Dual quaternions are a way of representing rigid body transformations,
just like homogeneous transformations do. Instead of using a 4 by 4
matrix, the transformation is represented as two quaternions. This has
several advantages, which are listed under Why use dual
quaternions? The term \'dual\' refers to
dual number theory, which allows representing numbers (or in this case
quaternions) very similar to complex numbers with the difference being
that i
{.sourceCode} or j
{.sourceCode} becomes e
{.sourceCode}
(epsilon) and instead of i^2 = 1
{.sourceCode} we have
e^2 = 0
{.sourceCode}. This allows e.g. multiplication of two dual
quaternions to work in the same way as homogeneous matrix
multiplication.
For more information on dual quaternions, take a look at the References. For conversion from and to common ROS messages, see dual_quaternions_ros.
Why use dual quaternions?
 dual quaternions have all the advantages of quaternions including unambiguous representation, no gimbal lock, compact representation
 direct and simple relation with screw theory. Simple and fast Screw Linear Interpolation (ScLERP) which is shortest path on the manifold
 dual quaternions have an exact tangent / derivative due to dual number theory (higher order taylor series are exactly zero)
 we want to use quaternions but they can only handle rotation. Dual quaternions are the correct extension to handle translations as well.
 easy normalization. Homogeneous tranformation matrices are orthogonal and due to floating point errors operations on them often result in matrices that need to be renormalized. This can be done using the GramSchmidt method but that is a slow algorithm. Quaternion normalization is very fast.
 mathematically pleasing
Installation
pip
pip install dual_quaternions
ROS package
Release into apt is on its way. Until then you\'ll have to build the catkin package from source.
cd ~/catkin_ws/src
git clone https://github.com/Achllle/dual_quaternions
cd ..
catkin_make
Usage
Import using:
from dual_quaternions import DualQuaternion
References
 K. Daniilidis, E. BayroCorrochano, \"The dual quaternion approach to handeye calibration\", IEEE International Conference on Pattern Recognition, 1996
 Kavan, Ladislav & Collins, Steven & Zara, Jiri & O\'Sullivan, Carol. (2007). Skinning with dual quaternions. I3D. 3946. 10.1145/1230100.1230107.
 Kenwright, B. (2012). A Beginners Guide to DualQuaternions What They Are, How They Work, and How to Use Them for 3D Character Hierarchies.
 Furrer, Fadri & Fehr, Marius & Novkovic, Tonci & Sommer, Hannes & Gilitschenski, Igor & Siegwart, Roland. (2018). Evaluation of Combined TimeOffset Estimation and HandEye Calibration on Robotic Datasets. 145159. 10.1007/9783319673615_10.
Changelog for package dual_quaternions
0.3.2 (20200612)
 Use distutils iso setuptools for running on buildfarm
 Contributors: Achille
0.3.1 (20200528)
 Fix rst reference
 Initial commit: copy dual_quaternions over from dual_quaternions_ros
 Contributors: Achille
Wiki Tutorials
Package Dependencies
Deps  Name  

1  catkin  
1  pyquaternion 
System Dependencies
Dependant Packages
Name  Repo  Deps 

dual_quaternions_ros  githubAchllledual_quaternions_ros 
Launch files
Messages
Services
Plugins
Recent questions tagged dual_quaternions at Robotics Stack Exchange
dual_quaternions package from dual_quaternions repodual_quaternions 

Package Summary
Tags  No category tags. 
Version  0.3.2 
License  MIT 
Build type  CATKIN 
Use  RECOMMENDED 
Repository Summary
Checkout URI  https://github.com/Achllle/dual_quaternions.git 
VCS Type  git 
VCS Version  master 
Last Updated  20230915 
Dev Status  MAINTAINED 
CI status  Continuous Integration 
Released  RELEASED 
Tags  No category tags. 
Contributing 
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) 
Package Description
Additional Links
Maintainers
 achille
Authors
 achille
Dual Quaternions
Dual quaternions are a way of representing rigid body transformations,
just like homogeneous transformations do. Instead of using a 4 by 4
matrix, the transformation is represented as two quaternions. This has
several advantages, which are listed under Why use dual
quaternions? The term \'dual\' refers to
dual number theory, which allows representing numbers (or in this case
quaternions) very similar to complex numbers with the difference being
that i
{.sourceCode} or j
{.sourceCode} becomes e
{.sourceCode}
(epsilon) and instead of i^2 = 1
{.sourceCode} we have
e^2 = 0
{.sourceCode}. This allows e.g. multiplication of two dual
quaternions to work in the same way as homogeneous matrix
multiplication.
For more information on dual quaternions, take a look at the References. For conversion from and to common ROS messages, see dual_quaternions_ros.
Why use dual quaternions?
 dual quaternions have all the advantages of quaternions including unambiguous representation, no gimbal lock, compact representation
 direct and simple relation with screw theory. Simple and fast Screw Linear Interpolation (ScLERP) which is shortest path on the manifold
 dual quaternions have an exact tangent / derivative due to dual number theory (higher order taylor series are exactly zero)
 we want to use quaternions but they can only handle rotation. Dual quaternions are the correct extension to handle translations as well.
 easy normalization. Homogeneous tranformation matrices are orthogonal and due to floating point errors operations on them often result in matrices that need to be renormalized. This can be done using the GramSchmidt method but that is a slow algorithm. Quaternion normalization is very fast.
 mathematically pleasing
Installation
pip
pip install dual_quaternions
ROS1 package ~~~~~~~~~~~
apt install ros$ROSDISTROdualquaternions
Usage
Import using:
from dual_quaternions import DualQuaternion
References
 K. Daniilidis, E. BayroCorrochano, \"The dual quaternion approach to handeye calibration\", IEEE International Conference on Pattern Recognition, 1996
 Kavan, Ladislav & Collins, Steven & Zara, Jiri & O\'Sullivan, Carol. (2007). Skinning with dual quaternions. I3D. 3946. 10.1145/1230100.1230107.
 Kenwright, B. (2012). A Beginners Guide to DualQuaternions What They Are, How They Work, and How to Use Them for 3D Character Hierarchies.
 Furrer, Fadri & Fehr, Marius & Novkovic, Tonci & Sommer, Hannes & Gilitschenski, Igor & Siegwart, Roland. (2018). Evaluation of Combined TimeOffset Estimation and HandEye Calibration on Robotic Datasets. 145159. 10.1007/9783319673615_10.
Changelog for package dual_quaternions
0.3.2 (20200612)
 Use distutils iso setuptools for running on buildfarm
 Contributors: Achille
0.3.1 (20200528)
 Fix rst reference
 Initial commit: copy dual_quaternions over from dual_quaternions_ros
 Contributors: Achille
Wiki Tutorials
Package Dependencies
Deps  Name  

1  catkin  
1  pyquaternion 
System Dependencies
Dependant Packages
Name  Repo  Deps 

dual_quaternions_ros  githubAchllledual_quaternions_ros 
Launch files
Messages
Services
Plugins
Recent questions tagged dual_quaternions at Robotics Stack Exchange
dual_quaternions package from dual_quaternions repodual_quaternions 

Package Summary
Tags  No category tags. 
Version  0.3.2 
License  MIT 
Build type  CATKIN 
Use  RECOMMENDED 
Repository Summary
Checkout URI  https://github.com/Achllle/dual_quaternions.git 
VCS Type  git 
VCS Version  0.3.2 
Last Updated  20200612 
Dev Status  MAINTAINED 
CI status  No Continuous Integration 
Released  RELEASED 
Tags  No category tags. 
Contributing 
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) 
Package Description
Additional Links
Maintainers
 achille
Authors
 achille
Dual Quaternions
Dual quaternions are a way of representing rigid body transformations,
just like homogeneous transformations do. Instead of using a 4 by 4
matrix, the transformation is represented as two quaternions. This has
several advantages, which are listed under Why use dual
quaternions? The term \'dual\' refers to
dual number theory, which allows representing numbers (or in this case
quaternions) very similar to complex numbers with the difference being
that i
{.sourceCode} or j
{.sourceCode} becomes e
{.sourceCode}
(epsilon) and instead of i^2 = 1
{.sourceCode} we have
e^2 = 0
{.sourceCode}. This allows e.g. multiplication of two dual
quaternions to work in the same way as homogeneous matrix
multiplication.
For more information on dual quaternions, take a look at the References. For conversion from and to common ROS messages, see dual_quaternions_ros.
Why use dual quaternions?
 dual quaternions have all the advantages of quaternions including unambiguous representation, no gimbal lock, compact representation
 direct and simple relation with screw theory. Simple and fast Screw Linear Interpolation (ScLERP) which is shortest path on the manifold
 dual quaternions have an exact tangent / derivative due to dual number theory (higher order taylor series are exactly zero)
 we want to use quaternions but they can only handle rotation. Dual quaternions are the correct extension to handle translations as well.
 easy normalization. Homogeneous tranformation matrices are orthogonal and due to floating point errors operations on them often result in matrices that need to be renormalized. This can be done using the GramSchmidt method but that is a slow algorithm. Quaternion normalization is very fast.
 mathematically pleasing
Installation
pip
pip install dual_quaternions
ROS package
Release into apt is on its way. Until then you\'ll have to build the catkin package from source.
cd ~/catkin_ws/src
git clone https://github.com/Achllle/dual_quaternions
cd ..
catkin_make
Usage
Import using:
from dual_quaternions import DualQuaternion
References
 K. Daniilidis, E. BayroCorrochano, \"The dual quaternion approach to handeye calibration\", IEEE International Conference on Pattern Recognition, 1996
 Kavan, Ladislav & Collins, Steven & Zara, Jiri & O\'Sullivan, Carol. (2007). Skinning with dual quaternions. I3D. 3946. 10.1145/1230100.1230107.
 Kenwright, B. (2012). A Beginners Guide to DualQuaternions What They Are, How They Work, and How to Use Them for 3D Character Hierarchies.
 Furrer, Fadri & Fehr, Marius & Novkovic, Tonci & Sommer, Hannes & Gilitschenski, Igor & Siegwart, Roland. (2018). Evaluation of Combined TimeOffset Estimation and HandEye Calibration on Robotic Datasets. 145159. 10.1007/9783319673615_10.
Changelog for package dual_quaternions
0.3.2 (20200612)
 Use distutils iso setuptools for running on buildfarm
 Contributors: Achille
0.3.1 (20200528)
 Fix rst reference
 Initial commit: copy dual_quaternions over from dual_quaternions_ros
 Contributors: Achille
Wiki Tutorials
Package Dependencies
Deps  Name  

1  catkin  
1  pyquaternion 
System Dependencies
Dependant Packages
Name  Repo  Deps 

dual_quaternions_ros  githubAchllledual_quaternions_ros 