Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development branch, release 3.7.0 #295

Merged
merged 62 commits into from
Oct 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
ca3d1b2
Fix latexpdf build
AlexanderFabisch Sep 20, 2024
32b4305
Define author
AlexanderFabisch Sep 20, 2024
8c74192
Fix typo in Euler angle section and clean up ex.
AlexanderFabisch Sep 21, 2024
5b57e39
Fix grammar in modeling section
AlexanderFabisch Sep 21, 2024
9e89c62
Review section about time series transform manager
AlexanderFabisch Sep 21, 2024
be5efdb
Link examples
AlexanderFabisch Sep 21, 2024
2552596
Link example
AlexanderFabisch Sep 21, 2024
44bf5cb
Document iterative Gaussian estimation
AlexanderFabisch Sep 22, 2024
f455741
Fix broken link
AlexanderFabisch Sep 26, 2024
f39589e
Link tf paper
AlexanderFabisch Sep 27, 2024
634aa80
Link docstring to user guide
AlexanderFabisch Sep 27, 2024
eeb3135
adapted logos
savidini Sep 27, 2024
a249d97
Update README.md
savidini Sep 27, 2024
3a0e341
Revert "Update README.md"
savidini Sep 27, 2024
23fa4ea
Review UrdfTransformManager docstring
AlexanderFabisch Sep 28, 2024
544944e
Explain PPOE step by step
AlexanderFabisch Sep 28, 2024
725672a
Better view configuration
AlexanderFabisch Sep 28, 2024
726211f
Improve citation
AlexanderFabisch Sep 28, 2024
7e6a9e0
Link references
AlexanderFabisch Sep 29, 2024
dfe469b
Add references
AlexanderFabisch Sep 30, 2024
367fe1e
Math for quaternion conjugate
AlexanderFabisch Sep 30, 2024
1ecfee5
Explain application of quaternion to vector
AlexanderFabisch Sep 30, 2024
b24323a
Reference dq conjugates
AlexanderFabisch Sep 30, 2024
afcf898
Fix typo
AlexanderFabisch Oct 1, 2024
a0b5d5e
Explain banana distribution example
AlexanderFabisch Oct 1, 2024
5fe39e9
Fix typo
AlexanderFabisch Oct 1, 2024
32e6c35
Fix typo
AlexanderFabisch Oct 1, 2024
e9b9a1e
Use boldsymbol for rotation matrices
AlexanderFabisch Oct 2, 2024
4148917
Make frame order consistent
AlexanderFabisch Oct 2, 2024
6f15424
Add reference
AlexanderFabisch Oct 2, 2024
0689645
Notes on MPR
AlexanderFabisch Oct 2, 2024
838ad70
Pros and cons of transformation representations
AlexanderFabisch Oct 2, 2024
d0f80c9
Concatenation of MRPs
AlexanderFabisch Oct 3, 2024
5e0d34b
Update overview table
AlexanderFabisch Oct 3, 2024
2283f93
Float type
AlexanderFabisch Oct 3, 2024
9e5834e
Restructure rotation section
AlexanderFabisch Oct 3, 2024
fa709e2
Add overview table for transformations
AlexanderFabisch Oct 3, 2024
74c7a2a
Detailed explanation of quat. product
AlexanderFabisch Oct 6, 2024
b212747
Explain quaternion operations
AlexanderFabisch Oct 6, 2024
8a11c43
Pros of dual quaternions
AlexanderFabisch Oct 6, 2024
b2874ac
Correct dq normalization
AlexanderFabisch Oct 6, 2024
19c5363
Update documentation of dual quat. multiplication
AlexanderFabisch Oct 6, 2024
1ce3131
Explain transformation by dual quat.
AlexanderFabisch Oct 6, 2024
5f2470a
Rephrase dual quat text
AlexanderFabisch Oct 6, 2024
456ca0a
Extend citation
AlexanderFabisch Oct 6, 2024
42e41bb
Make intro of rotations and transf. similar
AlexanderFabisch Oct 7, 2024
ee96123
Fix typo
AlexanderFabisch Oct 8, 2024
ddd9fb3
Remove .
AlexanderFabisch Oct 8, 2024
ae3934e
Streamline pros and cons
AlexanderFabisch Oct 8, 2024
e812586
Correct docstring
AlexanderFabisch Oct 8, 2024
4227f69
Use bold font for MRP (psi)
AlexanderFabisch Oct 11, 2024
d93760a
Add remove_frame method
clungzta Oct 7, 2024
d862b27
Update the connection logic indices of remove_frame, add type hints i…
clungzta Oct 7, 2024
f87c249
Write a unit test for remove_frame
clungzta Oct 7, 2024
d720de2
Create _find_connected_transforms method, test the ij indices upon re…
clungzta Oct 13, 2024
2901dcf
Update README.md
savidini Sep 27, 2024
cce77fe
Revert "Update README.md"
savidini Sep 27, 2024
474bb44
Fix unit test
AlexanderFabisch Oct 15, 2024
2c228ec
PEP8
AlexanderFabisch Oct 15, 2024
4e4694a
Increase coverage
AlexanderFabisch Oct 15, 2024
eaa2d18
Update unit test for remove_frame
AlexanderFabisch Oct 15, 2024
8cbc70b
Version 3.7.0
AlexanderFabisch Oct 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified doc/source/_static/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
333 changes: 14 additions & 319 deletions doc/source/_static/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions doc/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,15 @@ Rotors
~rotor_apply
~rotor_slerp

Modified Rodrigues Parameters
-----------------------------

.. autosummary::
:toctree: _apidoc/
:template: function.rst

~concatenate_mrp

Plotting
--------

Expand Down
1 change: 1 addition & 0 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
language = 'en'
today_fmt = '%B %d, %Y'
add_function_parentheses = True
author = "Alexander Fabisch"
show_authors = True
pygments_style = 'sphinx'
html_logo = "_static/logo.png"
Expand Down
6 changes: 2 additions & 4 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,5 @@ If you use pytransform3d for a scientific publication, I would appreciate
citation of the following paper:

Fabisch, A. (2019). pytransform3d: 3D Transformations for Python.
Journal of Open Source Software, 4(33), 1159, |DOI|_

.. |DOI| image:: http://joss.theoj.org/papers/10.21105/joss.01159/status.svg
.. _DOI: https://doi.org/10.21105/joss.01159
Journal of Open Source Software, 4(33), 1159,
https://doi.org/10.21105/joss.01159
22 changes: 10 additions & 12 deletions doc/source/user_guide/euler_angles.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,12 @@ conventions that could be used. Furthermore, you have to find out whether
degrees or radians are used to express the angles (we will only use
radians in pytransform3d).

-------
Example
-------
.. figure:: ../_auto_examples/plots/images/sphx_glr_plot_euler_angles_001.png
:target: ../_auto_examples/plots/plot_euler_angles.html
:align: center

Here we rotate about the extrinsic (fixed) x-axis, y-axis, and z-axis by
90 degrees.

.. plot:: ../../examples/plots/plot_euler_angles.py
Here we rotate about the extrinsic (fixed) x-axis, y-axis, and z-axis by
90 degrees.

--------------
24 Conventions
Expand All @@ -44,22 +42,22 @@ rotation matrices).
Range of Angles
---------------

Euler angles rotate about three basis vectors with by the angles
Euler angles rotate about three basis vectors by the angles
:math:`\alpha`, :math:`\beta`, and :math:`\gamma`. If we want to find the
Euler angles that correspond to one rotation matrix :math:`R`, there is an
infinite number of solutions because we can always add or subtract
Euler angles that correspond to one rotation matrix :math:`\boldsymbol{R}`,
there is an infinite number of solutions because we can always add or subtract
:math:`2\pi` to one of the angles and get the same result. In addition,
for proper Euler angles

.. math::

R(\alpha, \beta, \gamma) = R(\alpha + \pi, -\beta, \gamma - \pi).
\boldsymbol{R}(\alpha, \beta, \gamma) = \boldsymbol{R}(\alpha + \pi, -\beta, \gamma - \pi).

For Cardan angles

.. math::

R(\alpha, \beta, \gamma) = R(\alpha + \pi, \pi - \beta, \gamma - \pi).
\boldsymbol{R}(\alpha, \beta, \gamma) = \boldsymbol{R}(\alpha + \pi, \pi - \beta, \gamma - \pi).

For this reason the proper Euler angles are typically restricted to

Expand Down
29 changes: 22 additions & 7 deletions doc/source/user_guide/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ Introduction to 3D Rigid Transformations
Basics
------

Following Waldron and Schmiedeler [1]_, we define the basic terms that we use
throughout this user guide.

.. list-table::
:widths: 15 35 15 35

Expand Down Expand Up @@ -53,6 +56,10 @@ its frame) is always expressed with respect to another frame.
Frame Notation
--------------

Notation is important for describing and understanding of physical quantities
in 3D. Furgale [2]_ [3]_ presents one of the most consistent and clear
approaches and we use it here.

For physical quantities we use the notation :math:`_{A}\boldsymbol{x}_{BC}`,
where :math:`\boldsymbol{x}` is a physical quantity of frame C with
respect to frame B expressed in frame A. For example,
Expand Down Expand Up @@ -108,12 +115,12 @@ representations on the following pages.
| Rotation matrix | (3, 3) | X | |
| :math:`\pmb{R}` | | | |
+----------------------------------------+---------------------+------------------+---------------+
| Compact axis-angle | (3,) | X | |
| :math:`\pmb{\omega}` | | | |
+----------------------------------------+---------------------+------------------+---------------+
| Axis-angle | (4,) | X | |
| :math:`(\hat{\pmb{\omega}}, \theta)` | | | |
+----------------------------------------+---------------------+------------------+---------------+
| Rotation vector | (3,) | X | |
| :math:`\pmb{\omega}` | | | |
+----------------------------------------+---------------------+------------------+---------------+
| Logarithm of rotation | (3, 3) | X | |
| :math:`\left[\pmb{\omega}\right]` | | | |
+----------------------------------------+---------------------+------------------+---------------+
Expand All @@ -127,7 +134,7 @@ representations on the following pages.
| :math:`(\alpha, \beta, \gamma)` | | | |
+----------------------------------------+---------------------+------------------+---------------+
| Modified Rodrigues parameters | (3,) | X | |
| :math:`\psi` | | | |
| :math:`\pmb{\psi}` | | | |
+----------------------------------------+---------------------+------------------+---------------+
| Transformation matrix | (4, 4) | X | X |
| :math:`\pmb{T}` | | | |
Expand All @@ -149,8 +156,16 @@ representations on the following pages.
References
----------

1. Waldron, K., Schmiedeler, J. (2008). Kinematics. In: Siciliano, B., Khatib,
.. [1] Waldron, K., Schmiedeler, J. (2008). Kinematics. In: Siciliano, B., Khatib,
O. (eds) Springer Handbook of Robotics. Springer, Berlin, Heidelberg.
https://doi.org/10.1007/978-3-540-30301-5_2
2. Representing Robot Pose: The good, the bad, and the ugly (slides): http://static.squarespace.com/static/523c5c56e4b0abc2df5e163e/t/53957839e4b05045ad65021d/1402304569659/Workshop+-+Rotations_v102.key.pdf
3. Representing Robot Pose: The good, the bad, and the ugly (blog): http://paulfurgale.info/news/2014/6/9/representing-robot-pose-the-good-the-bad-and-the-ugly

.. [2] Furgale, P. (2014). Representing Robot Pose: The good, the bad, and the
ugly (slides). In What Sucks in Robotics and How to Fix It: Lessons Learned
from Building Complex Systems (ICRA workshop). Note: these slides seem to be
lost, but the blog below conveys the same message.
http://static.squarespace.com/static/523c5c56e4b0abc2df5e163e/t/53957839e4b05045ad65021d/1402304569659/Workshop+-+Rotations_v102.key.pdf

.. [3] Furgale, P. (2014). Representing Robot Pose: The good, the bad, and the
ugly (blog).
https://web.archive.org/web/20220420162355/http://paulfurgale.info/news/2014/6/9/representing-robot-pose-the-good-the-bad-and-the-ugly
Loading
Loading